Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
rapid-reset-check — CLI em Go que inventaria endpoints HTTPS que negociam HTTP/2 via ALPN para identificar sistemas que exigem revisão de mitigação da CVE-2023-44487. Verificações TLS não exploratórias, com verificação de certificado e padrões seguros. | Kitploit
Ferramentas/GitHubGitHub/ramonzx6/rapid-reset-check
Scanners de VulnerabilidadesAuditoria de ConfiguraçãoColeta de InformaçõesSegurança WebSegurança de Rede
GitHubramonzx6/rapid-reset-check

rapid-reset-check

CLI em Go que inventaria endpoints HTTPS que negociam HTTP/2 via ALPN para identificar sistemas que exigem revisão de mitigação da CVE-2023-44487. Verificações TLS não exploratórias, com verificação de certificado e padrões seguros.

Ver Repositório
há 1 diaAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Rapid Reset Check

rapid-reset-check é um pequeno CLI em Go para inventariar rapidamente endpoints HTTPS que expõem HTTP/2 e, portanto, precisam de uma revisão de mitigação para CVE-2023-44487.

O scanner é deliberadamente não exploratório. Ele resolve cada alvo, abre uma conexão TLS com verificação de certificado, oferece h2 e http/1.1 via ALPN, registra o que o par seleciona e fecha a conexão. Ele não envia nenhuma requisição HTTP, prefácio de conexão HTTP/2, stream, frame RST_STREAM ou tráfego de inundação.

[!IMPORTANT] Negociar h2 é uma observação de exposição, não uma prova de que um serviço está vulnerável ou sem correção. Um handshake remoto não pode verificar os limites de Rapid Reset de uma implementação HTTP/2, o nível de correção, a origem upstream ou os controles de DDoS.

Por que esta abordagem?

CVE-2023-44487 é uma técnica de negação de serviço que abusa da criação e do cancelamento rápidos de streams HTTP/2. Tentar comprovar a condição contra um serviço ativo exigiria, por si só, tráfego potencialmente disruptivo. Em vez disso, esta ferramenta responde à primeira pergunta segura:

quais endpoints TLS testados negociam atualmente HTTP/2 e, portanto, exigem que um operador verifique a mitigação?

HTTP/2 sobre TLS é anunciado usando o identificador ALPN h2, definido pelo RFC 9113. O Google recomenda verificar ou corrigir todos os servidores, proxies e balanceadores de carga compatíveis com HTTP/2 no caminho da requisição; consulte as orientações sobre CVE-2023-44487.

Instalar um binário de release

Go não é necessário para executar a ferramenta. Baixe o arquivo para sua plataforma na última release do GitHub:

PlataformaAsset da release
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

Extraia o arquivo e execute rapid-reset-check --version. No Windows, o executável é nomeado rapid-reset-check.exe.

Cada release inclui SHA256SUMS. No Linux, verifique um arquivo baixado a partir do mesmo diretório com:

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

No macOS, compare shasum -a 256 <arquivo> com a linha correspondente em SHA256SUMS. Os arquivos de release pública também recebem uma atestação de artefato (artifact attestation) do GitHub, que pode ser verificada com a GitHub CLI:

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

Compilar a partir do código-fonte

  • Go 1.22 ou mais recente

Não é necessária nenhuma instalação de Node.js, cURL, nghttp2 ou WHOIS.

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

Builds a partir do código-fonte relatam dev em --version; builds de release recebem sua versão pela tag da release.

Início rápido

Varra apenas endpoints que você possui ou está autorizado a avaliar.

Varra um ou mais endpoints públicos:

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

Nomes de host simples são normalizados para HTTPS na porta 443. URLs HTTPS somente com autoridade também são aceitas:

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

Varra a lista de alvos JSON do repositório:

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

Use a entrada padrão para automação:

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

Execute ./rapid-reset-check --help para ver todos os limites e opções de saída.

Entrada

--input aceita o formato original de array JSON:

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

As formas de objeto {"urls": [...]} e {"targets": [...]} também são suportadas. Alvos posicionais e --input são intencionalmente mutuamente exclusivos. Endpoints normalizados duplicados são varridos uma única vez, e cada execução é limitada a 4.096 alvos de entrada.

Apenas endpoints HTTPS estão no escopo. Credenciais, caminhos não raiz, consultas, fragmentos, esquemas não suportados, portas malformadas e nomes de host ambíguos são rejeitados em vez de serem reescritos silenciosamente.

Avaliações

AvaliaçãoSignificado
h2_observed_review_requiredPelo menos um peer TLS verificado selecionou h2. Revise todos os componentes HTTP/2 nesse caminho; isto não é um veredito de vulnerabilidade.
h2_not_observed_on_tested_pathCada endereço selecionado concluiu um handshake verificado sem selecionar h2. Esta é uma observação pontual do caminho, não uma garantia de segurança.
indeterminateUm problema de DNS, conexão, tempo limite, TLS, certificado ou limite de endereços impediu uma observação completa.
not_scanned_policyOs endereços resolvidos foram excluídos pela política de segurança de rede do scanner.
invalid_targetA entrada estava malformada ou fora do escopo de autoridade HTTPS suportado.

O relatório inclui cada endereço resolvido tentado, ALPN negociado, versão e cifra TLS, dados limitados de identidade/validade do certificado, tempo, decisões de política, contagens de endereços omitidos, uma flag explícita de completude e um resumo. Ele não coleta corpos de resposta, cabeçalhos de resposta, cookies ou certificados brutos.

Padrões seguros

  • Certificados TLS e nomes de host são verificados. Use --ca-file para adicionar uma CA privada; não há modo de verificação inseguro.
  • Endereços loopback, privados, link-local, multicast, não especificados, CGNAT, de documentação, benchmark e outros reservados são bloqueados por padrão. Use --allow-private somente para endpoints internos que você está autorizado a avaliar.
  • Os resultados de DNS são fixados para cada conexão, mantendo o nome de host original para SNI e verificação de certificado.
  • A concorrência de conexões, os tempos limite por endereço e os endereços por alvo são limitados.
  • O scanner não tenta novamente automaticamente e não segue redirecionamentos, pois nunca envia uma requisição HTTP. Envie cada autoridade HTTPS que você precisa avaliar.

Exemplo de opções:

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

Para um endpoint autorizado com PKI privada:

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

O código de saída 0 significa que cada alvo produziu uma observação ALPN completa. O código de saída 1 significa que pelo menos um alvo foi inválido, bloqueado por política ou indeterminado; o relatório ainda é gravado. Erros de uso da CLI e de configuração retornam 2. Observar h2 não muda por si só o código de saída, pois é um sinal de inventário, não um veredito de vulnerabilidade.

Interpretando e agindo sobre os resultados

Para cada resultado h2_observed_review_required:

  1. Identifique o terminador TLS visível externamente e todos os proxies, balanceadores de carga, gateways e servidores de origem compatíveis com HTTP/2 por trás dele.
  2. Verifique cada produto e versão contra o aviso de CVE-2023-44487 do respectivo fornecedor.
  3. Aplique as correções atuais e as orientações de reset/limitação de taxa do fornecedor.
  4. Confirme que os controles de DDoS na borda protegem a origem e não podem ser contornados por meio de um nome de host, endereço ou porta alternativos.
  5. Valide a configuração e o estado de correção a partir de inventário ou telemetria confiáveis. Não use o resultado de ALPN deste scanner como evidência de remediação.

Limitações

Os resultados são específicos ao nome de host, às respostas de DNS, ao caminho de rede, ao endpoint TLS e ao momento da varredura. CDNs, anycast, DNS split-horizon, balanceamento de carga, portas alternativas e endereços não testados podem produzir resultados diferentes. O scanner não:

  • determina se um servidor está vulnerável, corrigido, mitigado ou seguro;
  • testa o comportamento de Rapid Reset ou envia qualquer frame de reset;
  • inspeciona HTTP/2 em texto claro (h2c), QUIC/HTTP/3, redirecionamentos, origens ocultas atrás de uma borda ou serviços não HTTPS;
  • infere o estado de correção a partir de cabeçalhos Server falsificáveis ou impressões digitais de CDN;
  • substitui a revisão de configuração, o inventário de ativos, as orientações do fornecedor ou os testes de carga autorizados em um ambiente isolado.

Desenvolvimento

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

A suíte de testes usa fixtures TLS locais e não varre serviços públicos.

Releases automatizadas

O Release Please gerencia as versões de release e as tags vX.Y.Z a partir de mensagens de Conventional Commit. O desenvolvimento normal não exige criar ou enviar tags:

  1. Commits mesclados em main fazem o Release Please abrir ou atualizar um PR de release contendo a versão e as alterações de changelog.
  2. Mesclar esse PR de release cria a tag de versão e uma release draft no GitHub.
  3. O mesmo workflow testa o código-fonte da tag, faz a compilação cruzada dos seis arquivos, cria somas de verificação e proveniência, envia os assets e publica o rascunho.

Use fix: para alterações de correção, feat: para alterações menores e um marcador de mudança incompatível (!) ou rodapé BREAKING CHANGE: para alterações principais. Os mantenedores devem habilitar Settings > Actions > General > Workflow permissions > Allow GitHub Actions to create and approve pull requests uma vez para que o Release Please gerencie seu PR.

Se a publicação de assets falhar depois que o Release Please criar uma tag, a release permanece como draft. Execute novamente o workflow Release manualmente com essa tag vX.Y.Z existente após corrigir a falha. Não crie nem envie uma tag substituta.

Baixar ferramenta