subfinder: descoberta passiva de subdomínios para recon de pentest

subfinder · MIT

O subfinder enumera subdomínios de forma passiva. Ele nunca toca no alvo: consulta fontes públicas — logs de certificate transparency, provedores de DNS passivo, índices de busca — e devolve os hostnames que essas fontes já conhecem. É essa propriedade que o torna seguro para rodar primeiro, antes do escopo ser confirmado e antes de qualquer coisa ativa ser autorizada.

Instalação

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

Há releases binários na página de releases do repositório, caso você prefira não compilar. Em Kali e derivados do Debian o apt install subfinder também funciona, embora a versão empacotada fique atrás do upstream.

A maioria das fontes passivas precisa de chaves de API para ser útil. Sem elas o subfinder ainda roda, mas sobre uma fração dos dados:

mkdir -p ~/.config/subfinder
$EDITOR ~/.config/subfinder/provider-config.yaml

Comandos principais

# um domínio, lista simples de hosts no stdout
subfinder -d example.com -silent

# linhas JSON, com a fonte que produziu cada host
subfinder -d example.com -oJ -o subs.jsonl -cs

# muitas raízes de uma vez, todas as fontes, recursivo
subfinder -dL roots.txt -all -recursive -o subs.txt

Flags que valem conhecer: -silent suprime o banner para a saída fluir limpa em pipe, -all habilita todas as fontes configuradas (mais lento, mais amplo), -cs registra qual fonte encontrou cada host, e -nW descarta resultados de wildcard.

Saída

Com -oJ cada linha é um objeto JSON:

{"host":"api.example.com","input":"example.com","source":"crtsh"}

Sem isso você recebe um hostname por linha, que é o que você quer ao encadear direto em dnsx ou httpx.

Onde ele entra no Tandera

O subfinder roda na fase de discovery tanto do recon_web_lite quanto do recon_web_full. É um dos três produtores passivos de subdomínio que o Tandera agenda — findomain e cero são os outros — e seus resultados são combinados e deduplicados antes de qualquer etapa seguinte vê-los. Rodar três produtores é deliberado: fontes passivas divergem, e a união é significativamente maior do que a saída de qualquer ferramenta isolada.

Por ser não intrusivo, o subfinder é permitido dentro do recon_web_lite, que tem teto de risco NonIntrusive.

Usando em um pentest

Enumeração passiva é a primeira coisa que você faz e a última em que você confia. Dois hábitos importam:

Tudo que ele retorna é uma alegação, não um ativo. Certificate transparency lembra de hostnames desativados há anos. Resolva a lista (dnsx) e sonde-a (httpx) antes de tratar qualquer coisa como dentro do escopo.

Confira os resultados contra seu documento de escopo antes de sondar. A descoberta passiva rotineiramente traz hostnames de outra unidade de negócio, de um parceiro ou de uma aquisição que nunca esteve no engajamento. Encontrá-los é normal. Escaneá-los não é.

A cadeia de abertura padrão:

subfinder -d example.com -silent 
  | dnsx -silent -a -resp 
  | httpx -silent -title -tech-detect -status-code
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