Footprinting e OSINT: A Primeira Fase do Ataque Ético
Todo ataque — seja ético ou malicioso — começa da mesma forma: com informação. Antes de explorar uma vulnerabilidade, antes de escalar privilégios, antes de qualquer linha de código malicioso, o atacante precisa entender quem é o alvo, o que ele possui e como se parece por fora. Essa fase inicial chama-se Footprinting, e é o tema central deste artigo da série CEH v13 Zero to Hero.
Um pentester que pula o footprinting é como um cirurgião que opera sem exames prévios. Pode até acertar, mas as chances de perder tempo, errar o alvo ou ignorar o vetor mais crítico são enormes. Vamos aprender como os profissionais fazem reconhecimento — e como você pode usar essas mesmas técnicas para proteger suas organizações.
1. O que é Footprinting?
Footprinting é a primeira fase do methodology de pentest (e do CEH). Consiste em coletar o máximo de informação possível sobre o alvo antes de qualquer interação direta. O objetivo é mapear a superfície de ataque: endereços IP, domínios, servidores, tecnologias, pessoas, e-mails, infraestrutura de rede, e qualquer outro dado que ajude a planejar as fases seguintes.
Reconhecimento Passivo vs. Ativo
- Passivo: Não há interação direta com os sistemas do alvo. Pesquisas em motores de busca, registros públicos WHOIS, redes sociais, DNS queries usando servidores de terceiros. O alvo não consegue detectar que está sendo reconhecido.
- Ativo: Envolvem comunicação direta com os sistemas do alvo — scans de porta, zone transfers, banners grabbing. O alvo pode detectar a atividade (logs, IDS/IPS).
Por que é a fase mais importante? Porque as informações coletadas aqui definem todo o ataque seguinte. Um email corporativo encontrado no footprinting pode ser a entrada para spear phishing. Um servidor desatualizado descoberto via Shodan pode ser o caminho mais fácil para comprometimento. O footprinting é o mapa da mina — sem ele, você está pisando no escuro.
2. OSINT (Open Source Intelligence)
OSINT é a coleta e análise de informações a partir de fontes públicas e abertamente disponíveis. Não envolve hacking, engenharia social ou qualquer técnica que viole leis — é pesquisa pura, usando dados que estão (consciente ou inconscientemente) expostos na internet.
Fontes Principais de OSINT
- Redes sociais: LinkedIn (estrutura organizacional), Twitter/X (opiniões, ferramentas), GitHub (código, credenciais acidentais)
- Registros públicos: WHOIS, registros de domínios, certificados SSL (crt.sh)
- DNS público: Zone transfers, subdomínios expostos
- Motores de busca: Google, Bing, Shodan, Censys
- Repositórios de código: GitHub, GitLab, Bitbucket — vazamentos de credenciais, configurações, chaves API
- Documentos públicos: PDFs, planilhas, apresentações corporativas (muitas vezes com metadados reveladores)
- Dark web: Marketplaces, fóruns, vazamentos de dados
Ferramentas de OSINT
| Ferramenta | Tipo | Uso Principal |
|---|---|---|
| theHarvester | CLI | Coleta de emails, domínios, subdomínios |
| Maltego | GUI | Visualização de relações entre entidades |
| Recon-ng | Framework CLI | Módulos de reconhecimento modular |
| Sherlock | CLI | Busca usernames em +300 sites |
| Shodan | Web/CLI/API | Descoberta de dispositivos conectados |
| SpiderFoot | Web/CLI | OSINT automatizado com 200+ módulos |
3. Google Dorking Avançado
Google Dorking (ou Google Hacking) é a arte de usar operadores avançados de busca para encontrar informações que normalmente estariam enterradas em milhares de resultados. Para um pentester, é uma das ferramentas mais poderosas — e mais subestimadas — de OSINT.
Operadores Essenciais
| Operador | Descrição | Exemplo |
|---|---|---|
site: |
Restringe resultados a um domínio | site:exemplo.com admin |
inurl: |
Busca texto na URL | inurl:admin login |
intitle: |
Busca texto no título da página | intitle:"index of" /backup |
intext: |
Busca texto no corpo da página | intext:"password" filetype:log |
filetype: |
Busca por extensão de arquivo | filetype:pdf relatório financeiro |
cache: |
Versão em cache do Google | cache:exemplo.com |
related: |
Sites relacionados | related:exemplo.com |
link: |
Páginas que linkam para o alvo | link:exemplo.com |
info: |
Informações que o Google tem sobre a URL | info:exemplo.com |
numrange: |
Busca por intervalo numérico | numrange:1-100 |
before:/after: |
Filtro por data | exemplo before:2024-01-01 |
Dorks Práticos para Pentest
Páginas de login/admin:
inurl:admin inurl:login site:alvo.com
intitle:"index of /admin" site:alvo.com
inurl:"/wp-admin" site:alvo.com
Arquivos sensíveis:
site:alvo.com filetype:pdf
site:alvo.com filetype:xlsx "confidential"
site:alvo.com filetype:doc "password"
site:alvo.com filetype:env
site:alvo.com filetype:config
site:alvo.com filetype:sql
site:alvo.com filetype:bak
Diretórios expostos:
intitle:"index of" site:alvo.com
intitle:"directory listing" site:alvo.com
Bancos de dados expostos:
inurl:"phpmyadmin" site:alvo.com
inurl:"adminer.php" site:alvo.com
intitle:"phpMyAdmin" site:alvo.com
GHDB — Google Hacking Database
A Google Hacking Database (GHDB), mantida pela Offensive Security, é um repositório com milhares de dorks categorizados e testados. Encontra-se em https://www.exploit-db.com/google-hacking-database. As categorias incluem: Files containing usernames, Files containing passwords, Sensitive directories, Vulnerable servers, entre outras. É uma mina de ouro para reconhecimento.
4. WHOIS e DNS Enumeration
WHOIS: O Registro Público de Domínios
Toda vez que alguém registra um domínio, informações básicas ficam disponíveis publicamente via WHOIS. Esse protocolo revela dados como:
- Registrante: Nome, organização, e-mail, telefone, endereço
- Registrar: Empresa onde o domínio foi registrado
- Datas: Criação, expiração, última atualização
- Nameservers: Servidores DNS do domínio
- Status: Se o domínio está bloqueado, em transferência, etc.
Comando WHOIS via CLI:
whois exemplo.com
# Focando em registrante:
whois exemplo.com | grep -i "registrant\|email\|name server"
# WHOIS reverso — encontrar todos os domínios de um registrante:
whois -h whois.arin.net NET-IP-DO-SERVIDOR
Ferramentas WHOIS:
whois— CLI nativa do Linux- DomainTools (
whois.domaintools.com) — WHOIS reverso, histórico, IP resolve - Reverse WHOIS — descobre todos os domínios registrados pelo mesmo email/nome
DNS Enumeration
DNS é o sistema de nomes da internet — o “catálogo telefônico” que traduz domínios em IPs. Enumerar registros DNS de um alvo revela sua infraestrutura:
| Registro | Função |
|---|---|
| A | Mapeia nome para IPv4 |
| AAAA | Mapeia nome para IPv6 |
| MX | Servidores de email |
| NS | Servidores DNS autoritativos |
| TXT | Registros de texto (SPF, DKIM, DMARC, verify) |
| SOA | Start of Authority — info do domínio |
| CNAME | Alias para outro domínio |
| PTR | Reverse DNS — IP para nome |
# Consultas DNS com dig
dig exemplo.com A
dig exemplo.com MX
dig exemplo.com NS
dig exemplo.com TXT
dig exemplo.com ANY
# Consultas completas
dig exemplo.com +short A # IP limpo
dig exemplo.com MX +short # Servidores de email
# Reverse DNS
dig -x 203.0.113.50
# Zone transfer (se permitido — muito raro hoje)
dig axfr exemplo.com @ns1.exemplo.com
# Enumeração de subdomínios com brute force
dig +noall +answer exemplo.com @ns1.exemplo.com
Ferramentas de DNS Enumeration:
# DNSRecon — ferramenta completa
dnsrecon -d exemplo.com
dnsrecon -d exemplo.com -t brte -D /usr/share/wordlists/dns.txt
dnsrecon -d exemplo.com -t axfr
# Fierce — combina DNS + subdomínio brute force
fierce --domain exemplo.com
# dnsenum — enumeração multi-etapa
dnsenum exemplo.com
dnsenum --dnsserver 8.8.8.8 --enum -f /usr/share/wordlists/dns.txt exemplo.com
5. Email Harvesting
Emails corporativos são ouro para o atacante. Com uma lista de emails válidos, é possível montar campanhas de spear phishing ultra-direcionadas, tentar brute force em portais web, e mapear a estrutura organizacional (joao.silva, maria.santos — padrão primeiro.ultimo).
theHarvester
A ferramenta mais usada para coleta de emails e subdomínios. Trabalha com múltiplas fontes (Google, Bing, LinkedIn, Twitter, etc.).
# Instalação (Kali já vem com ela)
sudo apt install theharvester
# Busca básica por email e subdomínios
theHarvester -d exemplo.com -b google
# Usando múltiplas fontes
theHarvester -d exemplo.com -b google,bing,linkedin,twitter
# Busca em todas as fontes disponíveis
theHarvester -d exemplo.com -b all
# Limitando resultados e usando proxy
theHarvester -d exemplo.com -b google -l 500 -x "socks5://127.0.0.1:9050"
# DNS brute force
theHarvester -d exemplo.com -b google -c -n
Saída típica:
[*] Target: exemplo.com
[*] Searching Google...found 25 results.
[*] Emails found: 12
- joao.silva@exemplo.com
- maria.santos@exemplo.com
- admin@exemplo.com
- suporte@exemplo.com
[*] Hosts found: 8
- mail.exemplo.com
- vpn.exemplo.com
- portal.exemplo.com
Outras Fontes de Email
- Hunter.io (
hunter.io) — Busca emails por domínio com validação. Mostra padrão de nomenclatura da empresa. Gratuito até 25 buscas/mês. - Snov.io — Similar ao Hunter, com extensão de navegador e API.
- LinkedIn — Busca por empresa + “trabalha em” revela padrão de emails.
- GitHub — Busca por
@exemplo.comno GitHub encontra commits, issues, configs com emails reais.
primeiro.ultimo@empresa.com? Se a empresa tem 500 funcionários no LinkedIn e 12 emails confirmados via theHarvester, você pode inferir centenas de emails válitos combinando nomes do LinkedIn com o padrão. Ferramentas como username-anarchy automatizam essa geração.
6. Shodan: O Google da Internet das Coisas
Enquanto o Google indexa páginas web, o Shodan (shodan.io) indexa dispositivos conectados à internet: câmeras, roteadores, servidores, dispositivos industriais (SCADA), databases, sistemas IoT. É essencialmente um scanner de banner que catalogou bilhões de dispositivos.
Como Funciona
O Shodan faz conexões com endereços IP na internet e captura os banners — as respostas que os serviços enviam quando alguém se conecta. Esses banners contêm informações como software, versão, portas abertas e até localização geográfica.
Filtros Úteis
| Filtro | Descrição | Exemplo |
|---|---|---|
port: |
Porta específica | port:3389 country:BR |
country: |
País | country:PT |
city: |
Cidade | city:"Lisboa" |
org: |
Organização/ASN | org:"Target Corp" |
product: |
Software/produto | product:"Apache httpd" |
vuln: |
Código CVE | vuln:CVE-2021-44228 |
has_screenshot: |
Tem screenshot | has_screenshot:true |
Exemplos de Buscas
# Webcams expostas
port:554 has_screenshot:true country:BR
# Servidores RDP no Brasil
port:3389 country:BR
# Sistemas SCADA/ICS expostos
port:502 country:US
# Servidores MongoDB sem autenticação
port:27017 product:"MongoDB"
# Roteadores com senha padrão
product:"TP-Link" port:80
# Servidores com Apache vulnerável
product:"Apache httpd" vuln:CVE-2021-41773
# Dispositivos IoT em Portugal
country:PT has_screenshot:true
Shodan CLI
# Instalação
pip install shodan
# Inicializar com API key
shodan init SUA_API_KEY
# Buscar
shodan search "port:22 country:PT"
# Informações sobre IP específico
shodan host 203.0.113.50
# Contar resultados
shodan count "port:443 country:BR"
# Monitorar sua própria rede
shodan myip
Shodan Exploits
O Shodan também indexa exploits conhecidos. O Shodan Exploits (exploits.shodan.io) cruza dados de dispositivos com vulnerabilidades conhecidas, permitindo encontrar, por exemplo, todos os dispositivos Apache afetados por um CVE específico. É uma ferramenta poderosa para priorização de remediação.
7. Maltego: Visualização de Inteligência
O Maltego é uma ferramenta de visualização que transforma dados OSINT em grafos interativos. Em vez de ler listas de emails e IPs em texto, você vê a relação entre todos eles visualmente — quem é quem, o que se conecta a quê, onde estão os pontos de convergência.
Conceitos Fundamentais
- Entities (Entidades): Nós no grafo — Person, Domain, Email, Phone, IP, Company, DNS Name, Location, etc.
- Transforms: Operações que buscam dados sobre uma entidade e criam novas entidades conectadas. Exemplo: aplicar um transform “To DNS Name” em um domínio descobre subdomínios; aplicar “To Email” em uma pessoa descobre seus endereços de email.
- Graph (Grafo): A visualização final com todas as entidades conectadas por seus relacionamentos.
Workflow Básico
- Crie um new graph
- Adicione uma entidade Domain com o alvo
- Aplique transforms: To DNS Name → To IP Address → To Email → To Person
- Analise o grafo resultante — concentreções de conexões geralmente indicam ativos críticos
# Exemplo de uso via Maltego CE (Community Edition)
# 1. Adicionar entidade Domain → "exemplo.com"
# 2. Transform: "To DNS Name in Domain" (descobre subdomínios)
# 3. Transform: "To Email Address" (em cada subdomínio)
# 4. Transform: "To Person" (em cada email)
# 5. Transform: "To Social Media Profile" (em cada pessoa)
Maltego Community vs CE
A versão Community é gratuita (100 runs/mês, transforms limitados). A versão CE (Commercial Edition) oferece transforms ilimitados, integrações com APIs pagas (Shodan, VirusTotal, etc.) e exportação de relatórios. Para reconhecimento básico, a Community Edition resolve.
8. Social Media Recon
Redes sociais são uma fonte riquíssima de informação. Pessoas compartilham voluntariamente detalhes que um atacante não conseguiria de outra forma: tecnologias que usam, eventos da empresa, horários de trabalho, estrutura hierárquica, e até fotos do escritório (que podem revelar equipamentos, layout de rede, displays com informações sensíveis).
O que Procurar
- Tecnologias: Postagens sobre “migrando para AWS” ou “novo firewall Fortinet” são dicas diretas de stack
- Estrutura: Organograma implícito via LinkedIn — quem reporta pra quem, departamentos
- Horários e eventos: Viagens, conferências, home office — oportunidade de ataque físico/social
- Informações pessoais: Pets, hobbies, anniversaries — material para engenharia social e password guessing
- Metadados de fotos: Geolocalização, dispositivos usados, timestamps
Ferramentas
# Sherlock — encontra contas de uma pessoa em +300 sites
sherlock joaosilva
# Namechk — verifica disponibilidade de username
# Web: namechk.com
# Recon-ng (módulo social)
recon-ng
marketplace install all
modules load recon/profiles/profiles
options set SOURCE joao.silva
run
# Busca manual no LinkedIn
# google: site:linkedin.com/in "exemplo.com" "trabalha em"
9. Recon-ng Framework
O Recon-ng é um framework modular de reconhecimento inspirado no Metasploit. Funciona como um console interativo onde você carrega módulos específicos para cada tipo de coleta de dados.
Estrutura de Módulos
recon/domains-hosts/— Descoberta de hosts/subdomíniosrecon/domains-contacts/— Contatos associados a domíniosrecon/hosts-hosts/— Relações entre hostsrecon/contacts-contacts/— Relações entre contatosrecon/profiles-profiles/— Perfis em redes sociais
Workflow Completo
# Iniciar
recon-ng
# Definir workspace (organiza os dados)
workspaces create alvo_recon
workspaces select alvo_recon
# Adicionar o domínio alvo ao banco
marketplace install all
modules load recon/domains-hosts/hackertarget
options set SOURCE exemplo.com
run
# Buscar emails
modules load recon/domains-contacts/hackertarget
options set SOURCE exemplo.com
run
# Enumeração DNS
modules load recon/domains-hosts/bing_site_web
options set SOURCE exemplo.com
run
# Exportar resultados
modules load reporting/csv
options set SOURCE /root/.openclaw/workspace/results.csv
run
# Ver todos os dados coletados
show hosts
show contacts
show domains
O Recon-ng salva tudo em um banco SQLite interno. Você pode consultar e cruzar dados entre módulos, o que o torna muito mais poderoso que ferramentas isoladas.
10. Hands-on: Recon Completo de um Alvo
Vamos juntar tudo em um walkthrough prático. Imagine que você foi contratado para fazer footprinting da empresa alvoexemplo.com (domínio fictício). Aqui está o fluxo completo:
Passo 1 — WHOIS
$ whois alvoexemplo.com
Domain Name: ALVOEXEMPLO.COM
Registrar: GoDaddy.com, LLC
Creation Date: 2019-03-15T10:00:00Z
Expiry Date: 2026-03-15T10:00:00Z
Name Server: ns1.alvoexemplo.com
Name Server: ns2.alvoexemplo.com
Registrant Organization: Alvo Exemplo LTDA
Registrant State/Province: São Paulo
Registrant Country: BR
Descobertas: Domínio registrado em 2019, expira em 2026, nameservers próprios (sugerem infraestrutura interna), empresa baseada em São Paulo.
Passo 2 — DNS Enumeration
$ dig alvoexemplo.com ANY +noall +answer
alvoexemplo.com. 300 IN A 203.0.113.50
alvoexemplo.com. 300 IN MX 10 mail.alvoexemplo.com.
alvoexemplo.com. 300 IN NS ns1.alvoexemplo.com.
alvoexemplo.com. 300 IN NS ns2.alvoexemplo.com.
alvoexemplo.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all"
$ dig alvoexemplo.com TXT +short
"v=spf1 include:_spf.google.com ~all"
"google-site-verification=abc123..."
$ dnsrecon -d alvoexemplo.com -t std
[*] Performing STD Enumeration...
[*] 203.0.113.50 - alvoexemplo.com
[*] 203.0.113.51 - mail.alvoexemplo.com
[*] 203.0.113.52 - vpn.alvoexemplo.com
[*] 203.0.113.53 - staging.alvoexemplo.com
[*] 203.0.113.54 - dev.alvoexemplo.com
Descobertas: Usam Google Workspace (SPF aponta para Google), servidores de email, VPN, ambiente de staging e dev expostos.
Passo 3 — theHarvester
$ theHarvester -d alvoexemplo.com -b google,bing,linkedin -l 200
[*] Emails found: 8
- joao.silva@alvoexemplo.com
- maria.santos@alvoexemplo.com
- carlos.oliveira@alvoexemplo.com
- ti@alvoexemplo.com
- rh@alvoexemplo.com
- admin@alvoexemplo.com
- suporte@alvoexemplo.com
- fernanda.lima@alvoexemplo.com
[*] Hosts found: 5
- portal.alvoexemplo.com
- extranet.alvoexemplo.com
- api.alvoexemplo.com
- cloud.alvoexemplo.com
- backup.alvoexemplo.com
Descobertas: Padrão de email é primeiro.ultimo. Encontrados subdomínios adicionais: portal, extranet, API, cloud e backup.
Passo 4 — Shodan
$ shodan host 203.0.113.50
203.0.113.50
Organization: Alvo Exemplo LTDA
Port: 443/tcp
Product: Apache httpd 2.4.51
Title: Alvo Exemplo - Portal Corporativo
Port: 80/tcp
Product: Apache httpd 2.4.51
Port: 22/tcp
Product: OpenSSH 8.2
Descobertas: Apache 2.4.51 (possivelmente vulnerável), SSH aberto, servidor web com título identificável.
Passo 5 — Google Dorking
site:alvoexemplo.com filetype:pdf
site:alvoexemplo.com filetype:xlsx
site:alvoexemplo.com intitle:"index of"
inurl:admin site:alvoexemplo.com
"alvoexemplo.com" filetype:env
Relatório de Footprinting
| Categoria | Item | Detalhes |
|---|---|---|
| Domínio | alvoexemplo.com | Reg. 2019, expira 2026 |
| IP Principal | 203.0.113.50 | Apache 2.4.51, SSH, HTTP/HTTPS |
| Google Workspace | SPF confirma infra Google | |
| Subdomínios | 10 encontrados | VPN, staging, dev, API, backup… |
| Emails | 8 confirmados | Padrão: primeiro.ultimo@ |
| Tecnologias | Apache, OpenSSH, Google | Apache 2.4.51 — verificar CVEs |
| Risco | Staging/Dev expostos | Ambientes de dev acessíveis publicamente |
11. Contra-medidas: Protegendo-se contra Footprinting
A melhor defesa contra footprinting é minimizar a exposição de informações. Aqui estão as contra-medidas mais eficazes:
- WHOIS Privacy: Ative WHOIS privacy protection no registrador. Em cenários com GDPR, é obrigatório para pessoas físicas na UE. Empresas também deveriam usar.
- Desabilitar Zone Transfers: Configure o DNS para aceitar AXFR apenas de servidores secundários autorizados. Teste com
dig axfrpara confirmar. - Robots.txt e Meta Tags: Use
robots.txtpara bloquear indexação de diretórios sensíveis. Adicione<meta name="robots" content="noindex,nofollow">em páginas internas. - Security Headers: Implemente headers como
X-Frame-Options,Content-Security-Policy,X-Content-Type-Options. Isso reduz a exposição a Google Dorking e clickjacking. - Remover Metadados: Ferramentas como
exiftoolemat2removem metadados de documentos e imagens antes da publicação. - Monitorar OSINT: Configure alertas no Google Alerts, Shodan Monitor, e Have I Been Pwned para saber quando informações da sua organização aparecem publicamente.
- Minimizar Footprint Digital: Política clara para funcionários sobre o que pode ser compartilhado em redes sociais. Treinamento de segurança awareness.
- Restringir Informação de Erro: Customize páginas de erro 404/500 para não revelar tecnologia. Remova server headers com
ServerTokens Prodno Apache ouserver_tokens offno Nginx. - Auditoria Periódica: Faça footprinting da própria organização regularmente. O que você encontra é o que um atacante encontra.
12. Próximo Artigo
No próximo artigo da série, vamos entrar em Nmap Masterclass — a ferramenta definitiva de scanning de redes e portas. Vamos do básico (nmap target) ao avançado (NSE scripts, evasion techniques, OS fingerprinting), cobrindo tudo o que você precisa para mapear a superfície de ataque descoberta durante o footprinting.
Depois de coletar todas essas informações passivas, o Nmap é o primeiro passo da fase ativa — e é onde as coisas começam a ficar realmente interessantes. Acompanhe.
Série CEH v13 Zero to Hero — Artigo 06 de 30. Veja os artigos anteriores em ciberseguranca.org/seguranca.