Proyecto educativo de exploit CVE-2018-7600 que combina un PoC de RCE en Python, un laboratorio Docker aislado de Drupal, investigación de payloads y documentación de mitigación para pruebas seguras de aplicaciones vulnerables.
Este proyecto investiga, replica y documenta CVE-2018-7600 (Drupalgeddon2) — una vulnerabilidad crítica (CVSS 9.8) de Ejecución Remota de Código no autenticada en Drupal CMS, que afecta a versiones anteriores a 7.58 y 8.5.1 (publicadas en marzo de 2018).
La vulnerabilidad reside en la Form API de Drupal, que no saneaba la entrada suministrada por el usuario antes de fusionarla con las propiedades de renderizado de los elementos del formulario — permitiendo a los atacantes inyectar callables de PHP que la Render API ejecutaba posteriormente.
⚠️ Solo con fines educativos. Todas las pruebas deben realizarse exclusivamente contra el entorno de laboratorio Docker aislado. Nunca probar en sistemas en vivo o de producción.
| Miembro | Rol | Entregables |
|---|
| Miembro 1 | Entorno de Laboratorio y Verificación de CVE | Dockerfile, docker-compose, SETUP.md |
| Miembro 2 | Desarrollo de Exploit | framework exploit.py, payloads.txt |
| Miembro 3 | Análisis de Causa Raíz e Investigación | root_cause_analysis.md, references.md, mitigation.md |
| Miembro 4 | Recopilación de Evidencias y Reporte Final | terminal_logs.txt, capturas de pantalla, reporte 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
Abrir http://localhost:8080/install.php y seguir el Paso 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
| Propiedad | Valor |
|---|---|
| ID de CVE | CVE-2018-7600 |
| Apodo | Drupalgeddon2 |
| Aviso del Proveedor | SA-CORE-2018-002 |
| CVSS v3 | 9.8 Crítico |
| Afectados | Drupal < 7.58, < 8.3.9, < 8.4.6, < 8.5.1 |
| Corregido en | 7.58, 8.3.9, 8.4.6, 8.5.1 |
| Autenticación requerida | No |
| Tipo | Ejecución Remota de Código |
Pasantía Red Team ITSOLERA — Verano 2026