O Recon-ng é um framework de reconhecimento web escrito em Python que oferece ambiente estruturado para coleta de inteligência de fontes abertas. Desenvolvido por Tim Tomes, conhecido na comunidade como lanmaster53, a ferramenta combina módulos independentes, banco de dados integrado e interface de linha de comando inspirada no Metasploit Framework. O projeto é distribuído de forma gratuita e vem pré-instalado no Kali Linux, a distribuição de testes de penetração da Offensive Security.
A ferramenta preenche uma lacuna entre diretórios estáticos de recursos OSINT e plataformas comerciais de automação. Em vez de listar links para consulta manual, o Recon-ng executa a coleta programaticamente por meio de módulos que consultam APIs, raspam páginas web e cruzam resultados em um banco de dados local. O analista interage com a ferramenta por comandos estruturados, semelhantes à sintaxe do Metasploit.
Pontos-chave
- Estrutura modular: módulos independentes cobrem DNS, rede, OSINT, contacts e exploração de credenciais.
- Banco de dados integrado: armazena hosts, contatos, credenciais e vulnerabilidades em workspaces isolados.
- Interface estilo Metasploit: comandos como use, set e run facilitam a adoção por pentestadores.
- Marketplace de módulos: sistema de repositório permite instalar novos módulos desenvolvidos pela comunidade.
- Gratuito e open-source: código disponível no GitHub sob licença GPL.
O que é o Recon-ng
O Recon-ng é um framework de reconhecimento projetado para automatizar a coleta de informações sobre alvos web. A ferramenta difere de scripts de reconhecimento isolados por oferecer um ambiente completo: cada módulo alimenta um banco de dados compartilhado, e os resultados de um módulo servem de entrada para outro, criando fluxos de descoberta encadeados.
Tim Tomes lançou o projeto em 2013 com o objetivo de oferecer uma alternativa Python ao Metasploit para tarefas de reconhecimento. A semelhança não é casual: a interface de comando replica o fluxo de trabalho do framework de exploração, com comandos para selecionar módulos, configurar parâmetros e executar operações. Pentestadores familiarizados com o Metasploit adotam o Recon-ng sem curva de aprendizado significativa.
A partir da versão 5, o framework adotou um sistema de marketplace para distribuição de módulos. Os módulos deixaram de ser distribuídos no repositório principal e passaram a ser instalados sob demanda, o que permite atualizações independentes e reduz o tamanho da instalação base. Cada módulo pode ter dependências próprias e chaves de API configuradas individualmente.
Funcionalidades e arquitetura
A arquitetura do Recon-ng organiza-se em torno de cinco componentes: interface de comando, banco de dados, módulos, chaves de API e relatórios. A interface aceita comandos interativos e suporta execução de scripts em lote para automação. O banco de dados, baseado em SQLite por padrão com suporte opcional a PostgreSQL, armazena tabelas para hosts, domínios, contatos, credenciais, vulnerabilidades e portfólios de dados coletados.
Os módulos são classificados por categoria. Módulos de recon/domains-hosts enumeram subdomínios a partir de fontes como HackerTarget, ThreatCrowd e certificados de transparência. Módulos de recon/hosts-hosts resolvem endereços IP e executam varredura reversa de DNS. Módulos de recon/contacts-credentials buscam credenciais vazadas associadas a endereços de e-mail em bases como HaveIBeenPwned. Módulos de recon/profiles-profiles coletam informações de perfis em redes sociais e plataformas profissionais.
O sistema de chaves de API centraliza a configuração de credenciais para serviços que exigem autenticação. O comando keys add armazena chaves de provedores como Shodan, Censys, GitHub e Bing, que são consumidas automaticamente pelos módulos correspondentes. O sistema de relatórios gera saídas em HTML, CSV e JSON, prontas para inclusão em relatórios de pentest ou ingestão por ferramentas de análise.
A funcionalidade de workspaces permite isolar investigações distintas em bancos de dados separados. Cada workspace mantém seu próprio conjunto de hosts, contatos e credenciais, o que evita contaminação entre projetos e facilita a organização de campanhas de reconhecimento paralelas.
Casos de uso
Equipes de red team utilizam o Recon-ng na fase inicial de operações ofensivas. A enumeração de subdomínios revela hosts expostos, ambientes de homologação e serviços esquecidos que servem como pontos de entrada para exploração posterior. O encadeamento de módulos permite partir de um domínio corporativo, descobrir hosts, resolver IPs, identificar serviços e coletar contatos de funcionários em um único fluxo automatizado.
Caçadores de bug bounty configuram pipelines de descoberta que alimentam ferramentas como o Nmap e o Nikto. Os hosts descobertos pelo Recon-ng são exportados em CSV e consumidos por scripts de varredura, que verificam portas abertas e vulnerabilidades web em larga escala. Essa integração reduz o tempo entre descoberta de ativos e identificação de falhas exploráveis.
Analistas de inteligência de ameaças usam o framework para investigar infraestrutura maliciosa. A consulta de registros DNS, certificados TLS e dados de passive DNS ajuda a mapear campanhas de phishing e identificar servidores de comando e controle associados a grupos de ameaça. O cruzamento de dados de múltiplas fontes no banco de dados integrado revela conexões que análises isoladas não detectariam.
Mercado e ecossistema
O Recon-ng opera em um ecossistema de ferramentas OSINT que inclui plataformas comerciais como Maltego, SpiderFoot e Reconnaissance. O Maltego diferencia-se pela visualização em grafo de relacionamentos e pela integração com transforms pagos. O SpiderFocus automatiza a coleta com centenas de módulos pré-configurados. O Recon-ng disputa espaço por meio da gratuidade, da flexibilidade e da familiaridade da interface para usuários do Metasploit Framework.
A adoção do Recon-ng é forte entre profissionais que valorizam o controle granular sobre cada etapa da coleta. Diferentemente de plataformas que operam como caixa-preta, o framework permite auditar exatamente quais fontes são consultadas, quais parâmetros são enviados e quais dados são retornados. Essa transparência é valorizada em auditorias formais e relatórios técnicos que exigem rastreabilidade de metodologia.
A manutenção dos módulos depende de contribuições da comunidade. Fontes online mudam de endereço, APIs são descontinuadas e novos serviços surgem, o que torna parte dos módulos obsoletos sem atualização. O sistema de marketplace mitigou esse problema ao permitir que mantenedores publiquem versões corrigidas independentemente do release principal do framework.
Considerações e limites
O Recon-ng exige configuração prévia para alcançar resultados completos. A maioria dos módulos úteis requer chaves de API, algumas gratuitas e outras pagas. Sem chaves configuradas, a cobertura de fontes reduz-se a um subconjunto limitado de consultas não autenticadas. A instalação de dependências de módulos pode gerar conflitos de versão em ambientes Python não isolados.
A interpretação dos resultados demanda critério analítico. Dados de fontes OSINT podem estar desatualizados, incompletos ou incorretos. Hosts descobertos podem apontar para infraestrutura descomissionada, e contatos coletados podem não corresponder mais à organização alvo. A validação cruzada entre fontes e a confirmação manual são etapas necessárias antes de tomar decisões operacionais com base nos achados. O código-fonte e a documentação estão disponíveis no GitHub, com guias de instalação e exemplos de uso para todos os níveis.