web-threat-mitigation
Laboratorio práctico sobre detección y mitigación de amenazas web utilizando OWASP ZAP, Burp Suite y ModSecurity WAF (con OWASP CRS). Caso de estudio: Spring4Shell (CVE-2022-22965). Configuración local basada en Docker.
Laboratorio de Mitigación de Amenazas Web – OWASP ZAP, ModSecurity y Explotación de CVE
Este repositorio documenta un laboratorio enfocado en simular, analizar y mitigar amenazas comunes en aplicaciones web. Incluye instalación de objetivos vulnerables, herramientas de escaneo, despliegue de un WAF (ModSecurity con OWASP CRS) y una explotación en vivo de CVE-2022-22965 (Spring4Shell).
Objetivos del Laboratorio
- Desplegar una aplicación web vulnerable (WebGoat) usando Docker
- Realizar escaneo de vulnerabilidades usando OWASP ZAP y Burp Suite
- Configurar un proxy inverso usando Nginx + ModSecurity + OWASP CRS 4.9.0
- Analizar resultados antes y después de la implementación del WAF
- Explotar Spring4Shell y verificar la efectividad del WAF
Herramientas Utilizadas
- Docker + Docker Compose
- OWASP ZAP y Burp Suite
- ModSecurity (vía libnginx-mod-http-modsecurity)
- OWASP Core Rule Set (CRS 4.9.0)
- Kali Linux con Metasploit Framework
- CentOS 9 Stream y Debian 12
Flujo de Trabajo del Laboratorio
- Despliegue de WebGoat en CentOS usando Docker, expuesto en el puerto 8080.



- Escaneo Inicial desde Kali Linux usando OWASP ZAP:
- Alertas de alto riesgo: SQL Injection, Spring4Shell
- Medio: falta de CSP, tokens CSRF, manipulación de parámetros
- Información: fugas de versión, posible XSS, problemas de sesión


- Despliegue del Proxy Inverso en Debian 12 usando nginx.

- Configuración del WAF con OWASP CRS y reglas cargadas desde:
/etc/nginx/coreruleset-4.9.0/crs-setup.conf
/etc/nginx/coreruleset-4.9.0/rules/*.conf
Las reglas fueron probadas y habilitadas verificando los registros de ModSecurity.



- Escaneo Posterior al WAF usando OWASP ZAP mostró:
- Alertas reducidas (respuestas bloqueadas o enmascaradas)
- Confirmación de la protección del WAF en funcionamiento


- Pruebas de Explotación usando Metasploit contra Spring4Shell:
- Sin WAF: RCE exitoso (payload de reverse shell)
- Con WAF: Exploit bloqueado gracias a la detección del CRS


Conclusión
El laboratorio muestra la importancia de la seguridad por capas:
- Una aplicación vulnerable puede quedar expuesta fácilmente sin protección
- ZAP/Burp ayudan a identificar y categorizar vulnerabilidades
- ModSecurity y OWASP CRS reducen efectivamente la superficie de ataque
- Los WAF pueden bloquear CVEs del mundo real como Spring4Shell con una configuración adecuada
Autor
Bruno Paolo Huamán Vela (Lima, Perú)
Estudiante de Ciberseguridad – Universidad Federal de los Urales (UrFU)