
Entorno de prueba basado en Docker para validar templates de Nuclei para CVE-2024-23113 contra instancias simuladas vulnerables de FortiOS, con soporte para múltiples versiones y endpoints de API.
Un entorno de prueba basado en Docker para validar plantillas Nuclei de CVE-2024-23113 contra instancias simuladas vulnerables de FortiOS.
Este entorno simula interfaces HTTP vulnerables de FortiOS para probar las capacidades de detección de las plantillas Nuclei de CVE-2024-23113. Proporciona respuestas realistas de FortiOS que incluyen páginas de inicio de sesión, endpoints de API e información de versión adecuada.
git clone <this-repository>
cd cve-2024-23113-test-env
docker-compose up -d
curl http://localhost:8080/
# Probar contra instancia vulnerable
nuclei -t CVE-2024-23113.yaml -u http://localhost:8080 -v
# Probar con salida de depuración
nuclei -t CVE-2024-23113.yaml -u http://localhost:8080 -debug
fortios-vulnerable8080http://localhost:8080# Iniciar versión parcheada para comparación
docker-compose --profile patched up -d
# Iniciar múltiples versiones vulnerables
docker-compose --profile multiple up -d
| Variable | Descripción | Valor predeterminado |
|---|---|---|
FORTIOS_VERSION | Versión de FortiOS a simular | 7.2.5 |
PORT | Puerto interno del contenedor | 8080 |
# Ejecutar una versión específica
docker run -p 8080:8080 -e FORTIOS_VERSION=7.4.2 cve-2024-23113-test
El FortiOS simulado proporciona estos endpoints:
| Endpoint | Descripción | Content-Type |
|---|---|---|
/ | Página de inicio de sesión principal | text/html |
/login | Formulario de inicio de sesión | text/html |
/remote/login | Portal de acceso remoto | text/html |
/api/v2/monitor/system/status | API de estado del sistema | application/json |
/api/v2/cmdb/system/global | API de configuración global | application/json |
{
"version": "v7.2.5",
"hostname": "TEST-FORTIGATE",
"serial": "FGTVM1234567890",
"build": 1396,
"model": "FortiGate-VM64"
}
# Probar versiones vulnerables
nuclei -t CVE-2024-23113.yaml -u http://localhost:8080 # v7.2.5
nuclei -t CVE-2024-23113.yaml -u http://localhost:8082 # v7.4.1
nuclei -t CVE-2024-23113.yaml -u http://localhost:8083 # v7.0.10
# Probar versión parcheada (no debería detectar)
nuclei -t CVE-2024-23113.yaml -u http://localhost:8081 # v7.2.7
# Probar todas las instancias
echo -e "http://localhost:8080\nhttp://localhost:8081\nhttp://localhost:8082\nhttp://localhost:8083" | nuclei -t CVE-2024-23113.yaml -l /dev/stdin
# Conectividad básica
curl -v http://localhost:8080/
# Endpoint de API
curl -s http://localhost:8080/api/v2/monitor/system/status | jq .
# Verificar encabezados
curl -I http://localhost:8080/
FortiOS v7.2.5FortiGate-HTTP/v7.2.5"version": "v7.2.5"# Verificar qué está usando el puerto
netstat -tlnp | grep 8080
# Usar un puerto diferente
docker-compose up -d --scale fortios-vulnerable=0
docker run -p 8090:8080 cve-2024-23113-test
# Verificar registros
docker-compose logs fortios-vulnerable
# Reconstruir imagen
docker-compose build --no-cache
# Verificar estado del contenedor
docker ps
docker exec cve-2024-23113-vulnerable curl -f http://localhost:8080/
# Ver registros en tiempo real
docker-compose logs -f
# Shell interactivo
docker exec -it cve-2024-23113-vulnerable /bin/bash
# Probar desde dentro del contenedor
docker exec cve-2024-23113-vulnerable curl localhost:8080
Este entorno puede simular cualquiera de estas versiones vulnerables:
# Probar diferentes versiones vulnerables
docker run -p 8080:8080 -e FORTIOS_VERSION=7.4.0 cve-2024-23113-test
docker run -p 8081:8080 -e FORTIOS_VERSION=7.0.13 cve-2024-23113-test
# Construir imagen
docker build -t cve-2024-23113-test .
# Ejecutar manualmente
docker run -p 8080:8080 cve-2024-23113-test
Edite server.py para modificar:
Esto es solo un entorno de prueba:
Para problemas con este entorno de prueba:
Recuerde: Este entorno es solo para pruebas de seguridad autorizadas. Asegúrese siempre de tener permiso antes de probar cualquier sistema.