
Laboratorio Docker educativo para Apache HTTP Server 2.4.49 path traversal y RCE (CVE-2021-41773) con investigación de CVE, exploit PoC, evidencia de pruebas y guía de mitigación.
⚠️ Solo para uso educativo y en laboratorio aislado. Este repositorio construye un servidor Apache deliberadamente vulnerable. Nunca lo ejecutes en un host real, de producción o expuesto a Internet.
Proyecto de prácticas de Red Team (ITSOLERA — Seguridad Ofensiva / Desarrollo de Exploits para un CVE conocido). El trabajo está dividido en seis carpetas de tareas para que cada miembro pueda contribuir mediante su propia pull request.
Apache 2.4.49 decodifica un punto codificado en %2e después de su comprobación de normalización
de rutas, por lo que /files/.%2e/.%2e/.%2e/.%2e/etc/passwd escapa de la raíz del documento (document root). Con
mod_cgi habilitado, el mismo truco contra /bin/sh permite la ejecución remota de código.
El objetivo vulnerable se encuentra en 02-lab-setup/. Desde dentro de esa carpeta:
docker build -t cve-2021-41773-lab:2.4.49 .
docker run -d --name apache-2449-vuln -p 127.0.0.1:8080:80 cve-2021-41773-lab:2.4.49
Consulta 02-lab-setup/SETUP.md para obtener la guía completa de configuración,
verificación, recopilación de evidencias y resolución de problemas.
Actualiza a Apache HTTP Server 2.4.51 o posterior. Como defensa en profundidad, mantén
<Directory /> en Require all denied por defecto y solo concede acceso donde sea necesario.
| Carpeta | Responsable | Entregable |
|---|
01-cve-research/ | Miembro 1 | Resumen del CVE, versiones afectadas, causa raíz, CVSS, referencias |
02-lab-setup/ | Miembro 2 | Laboratorio Docker de Apache 2.4.49 vulnerable + documentación de configuración ✅ |
03-vulnerability-analysis/ | Miembro 3 | Verificación de la vulnerabilidad y análisis de configuración |
04-exploit-poc/ | Miembro 4 | PoC en Python/Bash + lógica del exploit |
05-testing-evidence/ | Miembro 5 | Capturas de pantalla, salida de terminal, registros |
06-final-report/ | Miembro 6 | Informe final recopilado + mitigación |