
مختبر محاكاة هجوم متعدد المراحل قائم على Docker يوضح استغلال CVE-2017-5638 وCVE-2021-41773، والحركة الجانبية، واكتشاف Suricata IDS عبر شبكة واقعية من 10 حاويات.
مختبر محاكاة هجمات قائم على Docker يحتوي على 7 مضيفات، مصمم لتوضيح سلسلة قتل متعددة المراحل، والحركة الجانبية، واكتشاف IDS متعدد النقاط.
يحاكي هذا المختبر بيئة شبكة واقعية يتقدم فيها المهاجم من الاستطلاع الأولي إلى نقطة ارتكاز، وأخيرًا إلى هدف عالي القيمة عبر التنقل (Pivoting). يتضمن مثيلين مستقلين لـ Suricata IDS يعملان كمرافقين (sidecars) للمضيفين الحرجين، مما يوفر "منظور المدافع" لدورة الهجوم بأكملها.
172.28.0.0/24.web-struts) عبر حقن OGNL في ترويسة Content-Type.web-struts، يطلق المهاجم استغلالًا ثانويًا ضد هدف داخلي.web-vuln) للحصول على صلاحيات الجذر.يتكون المختبر من 10 حاويات في المجمل:
web-struts (172.28.0.11): Apache Struts 2.3.28 (قابل للاستغلال عبر S2-045).web-vuln (172.28.0.10): Apache httpd 2.4.49 (قابل للاستغلال عبر اجتياز المسار/RCE).db-mysql (172.28.0.12): قاعدة بيانات داعمة.ssh-server (172.28.0.13): هدف ارتكاز قديم.ftp-server, smb-server, dns-server: خدمات بنية تحتية لزيادة الواقعية.ids-suricata-struts: يراقب مساحة شبكة web-struts.ids-suricata-web: يراقب مساحة شبكة web-vuln.شغّل سكريبت الإعداد لبناء البيئة وتشغيلها:
./scripts/setup.sh
سيؤدي ذلك إلى تهيئة الشبكة، وسحب/بناء الصور، وتشغيل جميع الحاويات العشر.
يوفر المختبر سكريبت موزّعًا (dispatcher) لتشغيل مراحل مختلفة من الهجوم.
./scripts/attack.sh full
./scripts/attack.sh recon./scripts/attack.sh struts-foothold./scripts/attack.sh struts-pivot./scripts/attack.sh directيمكنك تمرير أمر مخصص ليتم تنفيذه على الهدف النهائي:
./scripts/attack.sh full "whoami; cat /etc/os-release"
تُكتب التنبيهات في ملفات eve.json منفصلة لكل مثيل IDS:
./alerts/web-struts/eve.json./alerts/web-vuln/eve.jsonيمكنك متابعة كلا التدفقين مباشرة باستخدام:
./scripts/tail-alerts.sh
لإيقاف وإزالة جميع مكونات المختبر:
./scripts/teardown.sh