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
PNGboomer-CVE-2026-77622 — Sliver HTTP(S) C2 PNG bomb DoS exploit — GHSA-663m-7x7m-g4fw (CVE-2026-77622) | Kitploit
Herramientas/GitHubGitHub/squ1shification/pngboomer-cve-2026-77622
Análisis de VulnerabilidadesExplotaciónPruebas de PenetraciónComando y ControlRed Teaming
GitHubsqu1shification/pngboomer-cve-2026-77622

PNGboomer-CVE-2026-77622

Sliver HTTP(S) C2 PNG bomb DoS exploit — GHSA-663m-7x7m-g4fw (CVE-2026-77622)

Ver Repositorio
1hace 18h 28mAú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

PNGboomer — CVE-2026-77622

Exploit de denegación de servicio para el listener HTTP(S) de Sliver C2. Fuerza bruta el nonce de codificación PNG por sesión y entrega una bomba de descompresión que agota la memoria del servidor.

Publicado como GHSA-663m-7x7m-g4fw.

Resumen

El canal C2 HTTP(S) de Sliver envuelve los mensajes dentro de imágenes PNG. A cada sesión se le asigna un nonce aleatorio en el rango [1, 65537), y el servidor solo decodifica datos PNG de solicitudes cuyo parámetro de consulta ?n= coincida con el nonce de la sesión. Esto es un mecanismo de enrutamiento, no una verificación de autenticación: el espacio de claves es de 16 bits.

El servidor decodifica el PNG con image.Decode() de Go, que asigna ancho × alto × bytes_por_pixel en memoria. Un archivo PNG con dimensiones declaradas de 32767×32767 RGBA se comprime a aproximadamente 3 KB en la red, pero se descomprime a más de 4 GB en memoria. El servidor no impone ningún límite en las dimensiones decodificadas.

El exploit funciona en tres fases:

  1. Calibrar — enviar nonces que no coinciden con un PNG de sonda moderadamente grande y medir los tiempos de respuesta base.
  2. Escanear — enviar el PNG de sonda a lo largo de todo el rango de nonces. Un nonce coincidente activa la decodificación PNG, que tarda notablemente más que una solicitud rechazada. Los candidatos se verifican con múltiples re-sondas.
  • Matar — enviar el PNG de bomba de descompresión con el nonce descubierto. El servidor asigna varios gigabytes y o es eliminado por el OOM killer o lleva al host a swap hasta quedar sin respuesta.
  • Versiones Afectadas

    Versiones de Sliver C2 anteriores a la corrección referenciada en GHSA-663m-7x7m-g4fw. Cualquier servidor Sliver que ejecute un listener HTTP o HTTPS está expuesto.

    Compilación

    root@kitploit:~
    go build -o pngboomer
    

    Sin dependencias externas. Solo biblioteca estándar.

    Uso

    root@kitploit:~
    ./pngboomer -url http://target:8080/ [opciones]
    

    Opciones

    FlagPredeterminadoDescripción
    -urlhttp://127.0.0.1:8080/URL base C2 HTTP de Sliver
    -workers8Concurrencia de escaneo
    -probe-w2000Ancho del PNG de sonda
    -probe-h2000Alto del PNG de sonda
    -probe-color2Tipo de color de sonda (2=RGB, 6=RGBA)
    -kill-w32767Ancho del PNG de kill
    -kill-h32767Alto del PNG de kill
    -kill-color6Tipo de color de kill (2=RGB, 6=RGBA)
    -threshold-ms50Umbral mínimo de tiempo de respuesta para la detección de nonce
    -outlier-mult15.0Umbral adaptativo = p99 base × este valor
    -calibrate16Número de muestras de calibración
    -verify3Recuento de re-sondas por nonce candidato
    -max-nonce65537Límite superior del rango de nonces (módulo de Sliver)
    -probe-timeout5sTiempo de espera HTTP por sonda
    -kill-timeout180sTiempo de espera HTTP de la solicitud de kill
    -target-cap-mb10240Límite de memoria declarado del objetivo (verificación de seguridad)
    -nonce0Omitir escaneo, usar este nonce directamente
    -scan-onlyfalseEncontrar el nonce e imprimirlo sin enviar el kill
    -no-confirmfalseOmitir el sondeo TCP para la muerte del objetivo después del kill

    Ejemplos

    Escaneo y kill predeterminados contra un objetivo Docker local:

    root@kitploit:~
    ./pngboomer -url http://127.0.0.1:8080/ -target-cap-mb 10240
    

    Solo escaneo (encontrar el nonce sin matar):

    root@kitploit:~
    ./pngboomer -url https://c2.target.com/ -scan-only
    

    Omitir el escaneo cuando ya conoces el nonce:

    root@kitploit:~
    ./pngboomer -url http://target:8080/ -nonce 41337
    

    Seguridad

    La bomba de kill provoca una decodificación PNG de varios GB en el objetivo. Al realizar pruebas, ejecuta el servidor Sliver dentro de un contenedor Docker con --memory=<N>g y pasa -target-cap-mb N para que la herramienta rechace combinaciones peligrosas de worker/sonda que excederían la memoria del objetivo.

    Cómo Funciona el Escaneo de Nonces

    El PNG de sonda es lo suficientemente grande como para que su decodificación tarde notablemente más que el rechazo de ruta rápida del servidor ante un nonce incorrecto. El escaneo baraja el rango de nonces y lo distribuye entre goroutines de trabajo. Cada worker envía el PNG de sonda con un nonce candidato y mide el tiempo de respuesta.

    Cuando una respuesta supera el umbral adaptativo (el mayor entre -threshold-ms y p99_base × outlier-mult), el candidato se re-sondea -verify veces. Si la mayoría de las re-sondas también superan el umbral, el nonce se confirma. Si no, el candidato se incluye en la lista negra y el escaneo continúa. Se toleran hasta 8 "parpadeos" de falsos positivos antes de que el escaneo se rinda.

    Divulgación

    Reportado a Bishop Fox a través del proceso de asesoría privada de GitHub. CalebKingan escribió el parche.

    Descargar herramienta
    -no-color
    false
    Deshabilitar la salida de color ANSI
    -silentfalseSolo imprimir el nonce descubierto en stdout