مشروع تعليمي لاستغلال ثغرة CVE-2018-7600 يجمع بين PoC لتنفيذ الأوامر عن بُعد (RCE) بلغة Python، ومختبر Drupal معزول عبر Docker، وبحث في الحمولات، وتوثيق لإجراءات التخفيف، لاختبار آمن للتطبيقات المعرّضة للثغرات.
يبحث هذا المشروع في CVE-2018-7600 (Drupalgeddon2) — وهي ثغرة حرجة (CVSS 9.8) لتنفيذ التعليمات البرمجية عن بُعد دون مصادقة في نظام إدارة المحتوى Drupal، وتؤثر على الإصدارات الأقدم من 7.58 و8.5.1 (صدرت في مارس 2018).
توجد الثغرة في Form API الخاصة بـ Drupal، التي فشلت في تعقيم المدخلات المقدمة من المستخدم قبل دمجها في خصائص عرض عناصر النموذج — مما سمح للمهاجمين بحقن دوال PHP قابلة للاستدعاء تقوم Render API بتنفيذها لاحقًا.
⚠️ للاستخدام التعليمي فقط. يجب إجراء جميع الاختبارات حصريًا على بيئة معمل Docker المعزولة. لا تختبر أبدًا على الأنظمة الحية أو أنظمة الإنتاج.
| العضو | الدور | المخرجات |
|---|
| العضو 1 | بيئة المعمل والتحقق من CVE | Dockerfile, docker-compose, SETUP.md |
| العضو 2 | تطوير الاستغلال | إطار عمل exploit.py, payloads.txt |
| العضو 3 | تحليل السبب الجذري والبحث | root_cause_analysis.md, references.md, mitigation.md |
| العضو 4 | جمع الأدلة والتقرير النهائي | terminal_logs.txt, screenshots, التقرير النهائي |
CVE-2018-7600-Project/
│
├── README.md ← you are here
│
├── lab/ ← Member 1
│ ├── Dockerfile ← builds Drupal 7.57 image
│ ├── docker-compose.yml ← orchestrates all services
│ ├── entrypoint.sh ← DB wait + auto-config script
│ ├── SETUP.md ← step-by-step setup guide
│ └── config_notes.md ← vulnerability verification
│
├── exploit/ ← Member 2
│ ├── exploit.py ← PoC Python framework
│ └── payloads.txt ← payload research notes
│
├── docs/ ← Member 3
│ ├── root_cause_analysis.md ← technical deep-dive
│ ├── references.md ← all sources & links
│ └── mitigation.md ← patch & hardening guide
│
├── proof/ ← Member 4
│ ├── screenshots/ ← exploitation screenshots
│ └── terminal_logs.txt ← command output logs
│
└── report/
└── CVE-2018-7600_Report.docx ← Member 4: final report
cd lab/
docker compose up -d --build
افتح http://localhost:8080/install.php واتبع الخطوة 3 من SETUP.md.
curl -s http://localhost:8080/CHANGELOG.txt | head -3
# Expected: Drupal 7.57, 2018-02-21
cd .. # project root
python exploit/exploit.py --target http://localhost:8080 --safe-mode
python exploit/exploit.py --target http://localhost:8080 --cmd "id"
python exploit/exploit.py --target http://localhost:8080 --cmd "id" \
--output proof/terminal_logs.txt
cd lab/
docker compose down -v && docker compose up -d --build
| الخاصية | القيمة |
|---|---|
| CVE ID | CVE-2018-7600 |
| اللقب | Drupalgeddon2 |
| نشرة البائع | SA-CORE-2018-002 |
| CVSS v3 | 9.8 حرجة |
| الإصدارات المتأثرة | Drupal < 7.58, < 8.3.9, < 8.4.6, < 8.5.1 |
| تم الإصلاح في | 7.58, 8.3.9, 8.4.6, 8.5.1 |
| يتطلب مصادقة | لا |
| النوع | تنفيذ التعليمات البرمجية عن بُعد |
تدريب الفريق الأحمر في ITSOLERA — صيف 2026