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