httpx: sondagem HTTP e fingerprinting web para recon

httpx · MIT

O httpx pega uma lista de hosts e diz quais realmente servem HTTP, e o que eles são. É a etapa que converte um monte de hostnames especulativos em uma superfície de ataque real — status codes, títulos, tecnologias, detalhes de TLS, cadeias de redirecionamento.

Não confunda com o httpx, o cliente HTTP Python no PyPI. Projeto diferente, mesmo nome.

Instalação

go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest

Se você também tiver o httpx Python instalado, os binários colidem. Renomeie um ou chame este pelo caminho absoluto.

Comandos principais

# sonda uma lista de hosts, mantém só o que responde
httpx -l hosts.txt -silent

# a passada de fingerprinting que vale rodar por padrão
httpx -l hosts.txt -silent -title -tech-detect -status-code -content-length

# detalhe completo em linhas JSON
httpx -l hosts.txt -json -o probe.jsonl -tls-grab -favicon -jarm

# portas fora do padrão
httpx -l hosts.txt -ports 80,443,8080,8443,8000,9000 -silent

O -tech-detect usa fingerprints do Wappalyzer e é a flag que justifica seu custo — é assim que você acha a instalação WordPress que ninguém mencionou. O -favicon retorna um hash mmh3, que é como você pivota para o Shodan e encontra todo outro host rodando a mesma aplicação.

Saída

{"timestamp":"2026-08-29T10:00:00Z","url":"https://api.example.com","status_code":200,
 "title":"Example API","tech":["nginx","OpenResty"],"webserver":"nginx",
 "content_length":1544,"favicon":"-1545961456","host":"93.184.216.34"}

Onde ele entra no Tandera

O httpx é a etapa de fingerprint em recon_web_lite, recon_web_full e recon_api — a única ferramenta agendada nos três fluxos voltados para web. Tudo depois dele depende do conjunto de hosts vivos que ele produz.

O Tandera também o roda uma segunda vez como httpx_screenshot na fase de enrich, capturando screenshots de página que viram evidência anexada a findings. Um screenshot é o que torna um painel admin exposto legível para um cliente lendo o relatório meses depois.

Usando em um pentest

Sonde além de 80 e 443. O comportamento padrão perde a aplicação na 8443 que ninguém documentou, que é exatamente onde estão as coisas interessantes.

Preste atenção nos status entediantes. Uma parede de 403s numa faixa de subdomínios geralmente significa um WAF ou um vhost padrão, não uma aplicação endurecida — e diz que o hostname resolve para infraestrutura compartilhada. Um 401 é mais interessante que um 200: há algo ali e quer credenciais.

Hashes de favicon são um pivô, não um finding. Colete-os com -favicon, depois busque o hash no Shodan para achar hosts irmãos que as fontes passivas perderam.

subfinder -d example.com -silent | dnsx -silent | 
  httpx -silent -title -tech-detect -status-code -favicon -json -o live.jsonl
acesso antecipado

Garanta a Tandera antes do próximo engagement.

Entre na waitlist para acesso antecipado. Estamos integrando times de pentest em ondas.

Onboarding prioritário para times de pentest.
Linha direta com quem está construindo.
Preço de acesso antecipado, garantido.

Sem spam, sem cartão. Cancele quando quiser.

enespt-br