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
rapid-reset-check — CLI en Go que inventaría endpoints HTTPS que negocian HTTP/2 mediante ALPN para identificar sistemas que requieren revisión de mitigación de CVE-2023-44487. Comprobaciones TLS no explotables, con verificación de certificados y valores predeterminados seguros. | Kitploit
Herramientas/GitHubGitHub/ramonzx6/rapid-reset-check
Escáneres de VulnerabilidadesAuditoría de ConfiguraciónRecopilación de InformaciónSeguridad WebSeguridad de Redes
GitHubramonzx6/rapid-reset-check

rapid-reset-check

CLI en Go que inventaría endpoints HTTPS que negocian HTTP/2 mediante ALPN para identificar sistemas que requieren revisión de mitigación de CVE-2023-44487. Comprobaciones TLS no explotables, con verificación de certificados y valores predeterminados seguros.

Ver Repositorio
hace 1 díaAú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

Rapid Reset Check

rapid-reset-check es un pequeño CLI en Go para inventariar rápidamente endpoints HTTPS que exponen HTTP/2 y, por lo tanto, necesitan una revisión de mitigación para CVE-2023-44487.

El escáner es deliberadamente no explotativo. Resuelve cada objetivo, abre una conexión TLS verificada por certificado, ofrece h2 y http/1.1 mediante ALPN, registra lo que selecciona el peer y cierra la conexión. No envía ninguna petición HTTP, prefacio de conexión HTTP/2, stream, frame RST_STREAM ni tráfico de inundación.

[!IMPORTANT] Negociar h2 es una observación de exposición, no una prueba de que un servicio sea vulnerable o no esté parcheado. Un handshake remoto no puede verificar los límites de Rapid Reset de una implementación de HTTP/2, su nivel de parche, el origin aguas arriba ni los controles anti-DDoS.

¿Por qué este enfoque?

CVE-2023-44487 es una técnica de denegación de servicio que abusa de la creación y cancelación rápida de streams HTTP/2. Intentar demostrar la condición contra un servicio en vivo requeriría por sí mismo tráfico potencialmente disruptivo. Esta herramienta, en cambio, responde a la primera pregunta segura:

¿qué endpoints TLS probados negocian actualmente HTTP/2 y, por lo tanto, requieren que un operador verifique la mitigación?

HTTP/2 sobre TLS se anuncia mediante el identificador ALPN h2 definido por RFC 9113. Google recomienda verificar o parchear todo servidor, proxy y balanceador de carga compatible con HTTP/2 en la ruta de la petición; consulte su guía sobre CVE-2023-44487.

Instalar un binario de lanzamiento

No se necesita Go para ejecutar la herramienta. Descargue el archivo comprimido para su plataforma desde la última versión de GitHub:

PlataformaRecurso de la versión
Linux x86-64rapid-reset-check_<version>_linux_amd64.tar.gz
Linux ARM64rapid-reset-check_<version>_linux_arm64.tar.gz
macOS Intelrapid-reset-check_<version>_darwin_amd64.tar.gz
macOS Apple siliconrapid-reset-check_<version>_darwin_arm64.tar.gz
Windows x86-64rapid-reset-check_<version>_windows_amd64.zip
Windows ARM64rapid-reset-check_<version>_windows_arm64.zip

Extraiga el archivo y, a continuación, ejecute rapid-reset-check --version. En Windows, el ejecutable se llama rapid-reset-check.exe.

Cada versión incluye SHA256SUMS. En Linux, verifique un archivo descargado desde el mismo directorio con:

root@kitploit:~
sha256sum --ignore-missing --check SHA256SUMS

En macOS, compare shasum -a 256 <archive> con la línea correspondiente en SHA256SUMS. Los archivos publicados en versiones públicas también reciben una attestation de artefacto de GitHub, que puede comprobarse con la GitHub CLI:

root@kitploit:~
gh attestation verify <archive> --repo ramonzx6/http-script-json

Compilar desde el código fuente

  • Go 1.22 o superior

No se requiere instalación de Node.js, cURL, nghttp2 ni WHOIS.

root@kitploit:~
go test ./...
go build -o rapid-reset-check ./cmd/rapid-reset-check

Las compilaciones desde el código fuente muestran dev en --version; las compilaciones de lanzamiento reciben su versión de la etiqueta de la versión.

Inicio rápido

Escaneé únicamente endpoints que usted posee o está autorizado a evaluar.

Escaneé uno o más endpoints públicos:

root@kitploit:~
./rapid-reset-check example.com api.example.com:8443

Los nombres de host simples se normalizan a HTTPS en el puerto 443. También se aceptan URLs HTTPS únicamente con autoridad:

root@kitploit:~
./rapid-reset-check https://example.com https://api.example.com:8443

Escaneé la lista de objetivos JSON del repositorio:

root@kitploit:~
./rapid-reset-check --input json/urls.json

Use la entrada estándar para automatización:

root@kitploit:~
printf '["example.com", "api.example.com"]' | ./rapid-reset-check --input -

Ejecute ./rapid-reset-check --help para ver todos los límites y opciones de salida.

Entrada

--input acepta el formato original de array JSON:

root@kitploit:~
[
  "example.com",
  "api.example.com:8443",
  "https://www.example.net"
]

También se admiten las formas de objeto {"urls": [...]} y {"targets": [...]}. Los objetivos posicionales y --input son intencionadamente mutuamente excluyentes. Los endpoints normalizados duplicados se escanean una sola vez, y cada ejecución está limitada a 4.096 objetivos de entrada.

Solo los endpoints HTTPS están dentro del alcance. Las credenciales, rutas no raíz, consultas, fragmentos, esquemas no admitidos, puertos malformados y nombres de host ambiguos se rechazan en lugar de reescribirse silenciosamente.

Evaluaciones

EvaluaciónSignificado
h2_observed_review_requiredAl menos un peer TLS verificado seleccionó h2. Revise cada componente HTTP/2 en esa ruta; esto no es un veredicto de vulnerabilidad.
h2_not_observed_on_tested_pathCada dirección seleccionada completó un handshake verificado sin seleccionar h2. Esta es una observación puntual de la ruta, no una garantía de seguridad.
indeterminateUn problema de DNS, conexión, tiempo de espera, TLS, certificado o límite de direcciones impidió una observación completa.
not_scanned_policyLas direcciones resueltas fueron excluidas por la política de seguridad de red del escáner.
invalid_targetLa entrada estaba malformada o fuera del alcance de autoridad HTTPS admitido.

El informe incluye cada dirección resuelta probada, ALPN negociado, versión y cifrado TLS, datos limitados de identidad/validez del certificado, tiempos, decisiones de política, conteos de direcciones omitidas, un indicador explícito de completitud y un resumen. No recopila cuerpos de respuesta, cabeceras de respuesta, cookies ni certificados sin procesar.

Valores predeterminados seguros

  • Los certificados TLS y los nombres de host se verifican. Use --ca-file para agregar una CA privada; no existe un modo de verificación inseguro.
  • Las direcciones loopback, privadas, link-local, multicast, no especificadas, CGNAT, de documentación, de benchmark y otras direcciones reservadas están bloqueadas por defecto. Use --allow-private solo para endpoints internos que esté autorizado a evaluar.
  • Los resultados de DNS se fijan para cada conexión mientras se conserva el nombre de host original para SNI y verificación de certificado.
  • La concurrencia de conexiones, los tiempos de espera por dirección y las direcciones por objetivo están acotados.
  • El escáner no reintenta automáticamente y no sigue redirecciones porque nunca envía una petición HTTP. Envíe cada autoridad HTTPS que necesite evaluar.

Opciones de ejemplo:

root@kitploit:~
./rapid-reset-check \
  --format json \
  --timeout 5s \
  --concurrency 4 \
  --max-addresses 8 \
  example.com > report.json

Para un endpoint autorizado con PKI privada:

root@kitploit:~
./rapid-reset-check \
  --allow-private \
  --ca-file ./internal-root-ca.pem \
  service.internal:8443

El código de salida 0 significa que cada objetivo produjo una observación ALPN completa. El código de salida 1 significa que al menos un objetivo fue inválido, bloqueado por política o indeterminado; el informe aún se escribe. Los errores de uso y configuración de CLI devuelven 2. Observar h2 no cambia por sí solo el código de salida porque es una señal de inventario, no un veredicto de vulnerabilidad.

Interpretar y actuar sobre los resultados

Para cada resultado h2_observed_review_required:

  1. Identifique el terminador TLS visible externamente y todos los proxies, balanceadores de carga, pasarelas y servidores de origen compatibles con HTTP/2 detrás de él.
  2. Compruebe cada producto y versión contra el aviso de CVE-2023-44487 de su proveedor.
  3. Aplique los parches actuales y las directrices de reset/límite de velocidad del proveedor.
  4. Confirme que los controles anti-DDoS del borde protegen el origin y no pueden omitirse mediante un nombre de host, dirección o puerto alternativos.
  5. Valide la configuración y el estado de los parches desde inventario o telemetría de confianza. No use el resultado ALPN de este escáner como evidencia de remediación.

Limitaciones

Los resultados son específicos del nombre de host, las respuestas DNS, la ruta de red, el endpoint TLS y el momento del escaneo. Las CDN, el anycast, el DNS split-horizon, el balanceo de carga, los puertos alternativos y las direcciones no probadas pueden producir resultados diferentes. El escáner no:

  • determina si un servidor es vulnerable, está parcheado, mitigado o es seguro;
  • prueba el comportamiento de Rapid Reset ni envía ningún frame de reset;
  • inspecciona HTTP/2 en claro (h2c), QUIC/HTTP/3, redirecciones, origins ocultos detrás de un borde ni servicios no HTTPS;
  • infiere el estado de los parches a partir de cabeceras Server falsificables ni huellas de CDN;
  • reemplaza la revisión de configuración, el inventario de activos, las directrices del proveedor ni las pruebas de carga autorizadas en un entorno aislado.

Desarrollo

root@kitploit:~
gofmt -w ./cmd ./internal
go vet ./...
go test ./...
go test -race ./...
go build ./...

La suite de pruebas utiliza fixtures TLS locales y no escanea servicios públicos.

Lanzamientos automatizados

Release Please gestiona las versiones de lanzamiento y las etiquetas vX.Y.Z a partir de los mensajes de Conventional Commits. El desarrollo normal no requiere crear ni enviar etiquetas:

  1. Los commits fusionados en main hacen que Release Please abra o actualice un PR de lanzamiento que contiene los cambios de versión y changelog.
  2. Fusionar ese PR de lanzamiento crea la etiqueta de versión y un draft de lanzamiento en GitHub.
  3. El mismo flujo de trabajo prueba el código fuente etiquetado, compila de forma cruzada los seis archivos, crea sumas de verificación y procedencia, sube los recursos y publica el draft.

Use fix: para cambios de parche, feat: para cambios menores y un marcador de cambio disruptivo (!) o un pie de página BREAKING CHANGE: para cambios mayores. Los mantenedores deben habilitar Settings > Actions > General > Workflow permissions > Allow GitHub Actions to create and approve pull requests una vez para que Release Please gestione su PR.

Si la publicación de recursos falla después de que Release Please cree una etiqueta, el lanzamiento permanece como draft. Vuelva a ejecutar manualmente el flujo de trabajo Release con esa etiqueta vX.Y.Z existente después de corregir el fallo. No cree ni envíe una etiqueta de reemplazo.

Descargar herramienta