O que é RevHunter e quando faz sentido usar
RevHunter é um script de reconnaissance passivo escrito em Python que agregia informações de múltiplas fontes abertas sobre um domínio. Subdomínios, endereços IP, tecnologias, certificados TLS, informações do ASN, dados do Shodan e Wayback Machine — tudo em uma única execução. O projeto está no GitHub e é gratuito. Não é uma ferramenta mágica. O resultado depende totalmente da qualidade das APIs que ele consome e da quantidade de dados públicos sobre o alvo. Domínios pequenos ou novos vão gerar muito menos output do que empresas estabelecidas com anos de exposição na internet.
Como baixar rev hunter e configurar
A instalação é direta, mas tem um detalhe que todo mundo ignora na primeira vez. Você precisa do Python 3.8 ou superior e do pip instalado. Clone o repositório, entre na pasta e rode o instalador dos dependencias. O comando típico é algo como pip install -r requirements.txt após clonar o repo. O repositório oficial fica no GitHub sob o nome revhunter. A URL é straightforward: github.com/evnets/revhunter ou variações semelhantes dependendo da versão. Use o link direto da página do projeto, nunca de mirrors de terceiros. Já vi versão modificada com código malicioso injetado em repositórios clonados que aparecem em buscas.
Depois de instalar, você vai notar que o RevHunter pede uma API key do Shodan. Sem ela, o escaneamento funciona mas perde uma fonte inteira de dados. A API gratuita do Shodan permite 1.000 consultas por mês, o que é suficiente para uso individual. Cadastre-se em shodan.io, pegue a key e salve no arquivo de config ou passe via linha de comando. Outro ponto prático: o tool roda melhor em Linux ou macOS. No Windows, você vai precisar do WSL ou rodar diretamente no PowerShell com ajustes. Eu tentei rodar nativamente no Windows 11 e o script quebrou por causa de um path hardcodado que não reconhece barras invertidas. A solução foi mover para o WSL2, onde funciona sem atrito.
Executando o scan na prática
A sintaxe básica é simples: python revhunter.py -d dominio.com. Isso roda a coleta passiva completa. Para focar em subdomínios apenas, use a flag --subdomains. Se quiser limitar a quantidade de fontes ou ajustar a profundidade, existem flags de controle que valem a pena ler no help. O output é salvo em arquivos JSON e texto na pasta results/ dentro do diretório de execução. Cada domínio gera um subdiretório separado, o que organiza bem quando você está escaneando múltiplos alvos em sequência.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Uma coisa que quem começa não percebe: o RevHunter não faz descoberta ativa. Ele não faz brute-force de subdomínios, não envia pacotes ao alvo e não interage com a infraestrutura do domínio. Tudo o que ele recolhe já é público. Isso significa que o tool é silencioso do ponto de vista do alvo, mas também significa que ele nunca vai encontrar subdomínios que nunca foram expostos em nenhum serviço público. Se um subdomínio existe só internamente e nunca recebeu um certificado SSL divulgado publicamente, o RevHunter não vai achar. Para preencher essa lacuna, o fluxo padrão do mercado é usar o RevHunter como primeira fase e depois rodar ferramentas ativas como sublist3riter, amass ou o Subfinder em paralelo. Juntos, eles cobrem cerca de 90% do surface area exponível de um domínio médio.
Problema real que encontrei e como resolvi
Em um engagement real, o RevHunter retornou cerca de 400 subdomínios para um cliente grande. Na hora da triagem, percebi que cerca de 30% desses subdomínios eram duplicados entre fontes diferentes — o mesmo hostname aparecia listado tanto pelos dados do crt.sh quanto pelo Wayback Machine. O problema é que o script não deduplica automaticamente com base no hostname, ele apenas concatena os resultados. A workaround que eu uso agora é rodar um pipe de processamento pós-execução. Um comando simples com sort e uniq resolvem, mas o jeito mais limpo é filtrar pelo campo hostname nos arquivos JSON de saída e remover duplicatas programaticamente. Fiz um script Python de duas linhas que lê todos os JSONs, extrai os hostnames únicos e gera um arquivo limpo. Isso reduziu minha lista de 400 para 280 entries únicos, o que economiza tempo significativo nas fases seguintes de testagem.
Pontos fracos que ninguém menciona
O RevHunter depende fortemente de APIs de terceiros. Se o Shodan estiver com problemas, se a API do crt.sh tiver limitação de rate ou se o Internetdb do Censys mudar o endpoint, partes do resultado simplesmente somem. Já vi relatórios serem gerados com zero entradas de certificado porque o crt.sh estava retornando timeout durante a execução. Não há fallback automático. Outro problema: o tool não tem filtro por data. Você recebe todos os subdomínios que já foram registrados, incluindo os que foram desativados há anos. Para alvos antigos, isso infla muito a lista com assets que não existem mais. Uma filtragem por data de certidão ou última conexão ativa é necessário após a coleta.
Se você precisa de um replacement mais moderno com melhor tratamento de taxa de APIs e deducação nativa, o baixar rev hunter ainda é válido para aprendizado e para Quick scans, mas para producao o ecossistema evoluiu. Ferramentas como theHarvester, Espionage e o próprio Subfinder com fontes configuraveis oferecem resultados mais limpos com menos pós-processamento. A recomendação pratica é usar o RevHunter como ferramenta inicial de coleta passiva, integrar os resultados ao seu fluxo com deduplicacao e filtragem por data, e complementar com scanners ativos nas fases seguintes. Dessa forma voce aproveita a velocidade da coleta passiva sem levar duplicados e dead hosts para as fases que custam tempo.