Lehrreiches Exploit-Projekt zu CVE-2018-7600, das einen Python-RCE-PoC, ein isoliertes Docker-Drupal-Lab, Payload-Forschung und Dokumentation zu Gegenmaßnahmen für sicheres Testen verwundbarer Anwendungen kombiniert.
Dieses Projekt untersucht, repliziert und dokumentiert CVE-2018-7600 (Drupalgeddon2) — eine kritische (CVSS 9.8) Remote-Code-Ausführungsschwachstelle ohne Authentifizierung im Drupal-CMS, die Versionen vor 7.58 und 8.5.1 (veröffentlicht im März 2018) betrifft.
Die Schwachstelle liegt in Drupals Form API, die benutzergelieferte Eingaben nicht bereinigte, bevor sie in die Render-Eigenschaften von Formularelementen eingefügt wurden — wodurch Angreifer PHP-Callables injizieren konnten, die die Render API anschließend ausführte.
⚠️ Nur für Bildungszwecke. Sämtliche Tests müssen ausschließlich gegen die isolierte Docker-Lab-Umgebung durchgeführt werden. Testen Sie niemals an Live- oder Produktionssystemen.
| Mitglied | Rolle | Ergebnisse |
|---|
| Mitglied 1 | Laborumgebung & CVE-Verifizierung | Dockerfile, docker-compose, SETUP.md |
| Mitglied 2 | Exploit-Entwicklung | exploit.py-Framework, payloads.txt |
| Mitglied 3 | Ursachenanalyse & Recherche | root_cause_analysis.md, references.md, mitigation.md |
| Mitglied 4 | Beweissicherung & Abschlussbericht | terminal_logs.txt, Screenshots, Abschlussbericht |
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
Öffnen Sie http://localhost:8080/install.php und befolgen Sie Schritt 3 in 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
| Eigenschaft | Wert |
|---|---|
| CVE ID | CVE-2018-7600 |
| Spitzname | Drupalgeddon2 |
| Herstellerhinweis | SA-CORE-2018-002 |
| CVSS v3 | 9.8 Kritisch |
| Betroffen | Drupal < 7.58, < 8.3.9, < 8.4.6, < 8.5.1 |
| Behoben in | 7.58, 8.3.9, 8.4.6, 8.5.1 |
| Authentifizierung erforderlich | Nein |
| Typ | Remote-Code-Ausführung |
ITSOLERA Red-Team-Praktikum — Sommer 2026