Projet éducatif d'exploitation de la CVE-2018-7600 combinant un PoC RCE en Python, un laboratoire Docker Drupal isolé, la recherche de payloads et une documentation d'atténuation pour tester en toute sécurité des applications vulnérables.
Ce projet recherche, reproduit et documente CVE-2018-7600 (Drupalgeddon2) — une vulnérabilité critique (CVSS 9.8) d'exécution de code à distance sans authentification dans le CMS Drupal, affectant les versions antérieures à 7.58 et 8.5.1 (publiées en mars 2018).
La vulnérabilité se situe dans la Form API de Drupal, qui n'assainissait pas les entrées fournies par l'utilisateur avant de les fusionner dans les propriétés de rendu des éléments de formulaire — permettant aux attaquants d'injecter des callables PHP que la Render API exécutait ensuite.
⚠️ Réservé à un usage éducatif uniquement. Tous les tests doivent être effectués exclusivement contre l'environnement de laboratoire Docker isolé. Ne testez jamais sur des systèmes réels ou en production.
| Membre | Rôle | Livrables |
|---|
| Membre 1 | Environnement de laboratoire et vérification de la CVE | Dockerfile, docker-compose, SETUP.md |
| Membre 2 | Développement de l'exploit | framework exploit.py, payloads.txt |
| Membre 3 | Analyse des causes racines et recherche | root_cause_analysis.md, references.md, mitigation.md |
| Membre 4 | Collecte de preuves et rapport final | terminal_logs.txt, captures d'écran, rapport final |
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
Ouvrez http://localhost:8080/install.php et suivez l'étape 3 de 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
| Propriété | Valeur |
|---|---|
| ID CVE | CVE-2018-7600 |
| Surnom | Drupalgeddon2 |
| Avis du fournisseur | SA-CORE-2018-002 |
| CVSS v3 | 9.8 Critique |
| Versions affectées | Drupal < 7.58, < 8.3.9, < 8.4.6, < 8.5.1 |
| Corrigée dans | 7.58, 8.3.9, 8.4.6, 8.5.1 |
| Authentification requise | Non |
| Type | Exécution de code à distance |
Stage Red Team ITSOLERA — Été 2026