O que é o Shodan
Diferente do Google que indexa páginas web, o Shodan varre o espaço de endereços IP da internet e indexa os banners dos serviços que encontra — respostas HTTP, FTP, SSH, Telnet, HTTPS, etc. É completamente passivo para o pesquisador: você consulta o banco de dados, não o alvo.
Filtros Fundamentais
hostname:alvo.com -- por hostname
org:"Nome da Empresa" -- por organização (ASN)
net:200.10.1.0/24 -- por faixa de IP (CIDR)
city:"São Paulo" -- por cidade
country:BR -- por país
port:22 -- por porta
product:nginx -- por produto
version:"2.4.49" -- por versão específica
os:"Windows 10" -- por sistema operacional
before:2024-01-01 -- indexado antes de data
after:2024-01-01 -- indexado após data
ssl.cert.subject.cn:alvo.com -- por CN do certificado SSL
http.title:"Admin Panel" -- por título HTTP
http.status:200 -- por status HTTP
http.component:"wordpress" -- por componente webReconhecimento de Alvo Específico
-- Mapear toda infraestrutura de uma empresa
org:"Nome da Empresa"
ssl.cert.subject.cn:alvo.com
ssl.cert.issuer.cn:alvo.com
hostname:alvo.com
-- Encontrar serviços específicos
hostname:alvo.com port:22 -- SSH exposto
hostname:alvo.com port:3306 -- MySQL exposto
hostname:alvo.com port:5432 -- PostgreSQL exposto
hostname:alvo.com port:27017 -- MongoDB exposto
hostname:alvo.com port:6379 -- Redis exposto
hostname:alvo.com port:9200 -- Elasticsearch exposto
hostname:alvo.com port:8080 -- Serviço alternativo HTTP
hostname:alvo.com port:3389 -- RDP expostoBuscas por Vulnerabilidades Conhecidas
-- Sistemas com vulnerabilidades críticas
vuln:CVE-2021-44228 -- Log4Shell
vuln:CVE-2019-19781 -- Citrix ADC RCE
vuln:CVE-2021-26855 -- ProxyLogon (Exchange)
vuln:CVE-2022-30190 -- Follina (MSDT)
-- Apache com versão vulnerável
product:"Apache httpd" version:"2.4.49"
-- OpenSSL Heartbleed (legado)
port:443 "OpenSSL" version:"1.0.1"
-- EternalBlue (SMB)
port:445 os:"Windows" "SMBv1"Bancos de Dados Expostos Sem Autenticação
-- MongoDB sem auth (campo clássico de bug bounty)
port:27017 "MongoDB" -"authentication"
-- Elasticsearch sem auth
port:9200 http.title:"Elasticsearch"
-- Redis sem auth
port:6379 "redis_version"
-- Memcached
port:11211 "STAT"
-- CouchDB sem auth
port:5984 "couchdb" "version"
-- Cassandra
port:9042Câmeras e Dispositivos IoT
-- Câmeras Hikvision
product:"Hikvision" port:8080
http.title:"Network Camera"
-- Câmeras Axis
http.title:"AXIS" port:80
-- DVRs genéricos
http.title:"DVR Login"
http.title:"H.264 DVR"
-- Impressoras
product:"HP LaserJet"
http.title:"Printer"
-- Roteadores sem senha padrão
http.title:"TP-Link" http.favicon.hash:-1616143106
-- Dispositivos ICS/SCADA
port:502 -- Modbus
port:102 -- S7 (Siemens)
port:20000 -- DNP3
product:"SIMATIC HMI"
product:"GE Proficy"Shodan CLI
# Instalar
pip install shodan
# Configurar API key
shodan init SUA_API_KEY
# Busca básica
shodan search "nginx" --fields ip_str,port,org
# Contar resultados
shodan count "apache"
# Info de IP específico
shodan host 8.8.8.8
# Scan de host (usa créditos de scan)
shodan scan submit 1.2.3.4
# Baixar resultados em JSON
shodan search --limit 1000 --fields ip_str,port,org "nginx" > results.json
# Alertas de monitoramento (notifica quando novo host aparece)
shodan alert create "minha-empresa" net:200.10.0.0/24
shodan alert listShodan em Scripts Python
import shodan
api = shodan.Shodan('SUA_API_KEY')
# Buscar e iterar resultados
results = api.search('org:"Empresa Alvo" port:22')
for result in results['matches']:
print(f"{result['ip_str']}:{result['port']} - {result.get('org', 'N/A')}")
# Info de host
host = api.host('1.2.3.4')
print(f"Portas abertas: {[item['port'] for item in host['data'])}")
print(f"Hostnames: {host.get('hostnames', [])}")
print(f"CVEs: {host.get('vulns', [])}")Ferramentas Complementares
- Censys — search.censys.io — alternativa ao Shodan com foco em certificados e infraestrutura TLS
- FOFA — fofa.info — motor chinês com cobertura diferente, bom para alvos asiáticos
- ZoomEye — alternativa chinesa, focada em IoT
- Greynoise — distingue scanners de internet de atividade maliciosa direcionada
- BinaryEdge — alternativa com foco em dados de vulnerabilidade
Considerações Éticas
- Consultar o Shodan é passivo e legal — os dados já foram coletados
- Acessar sistemas encontrados sem autorização é crime em qualquer jurisdição
- Use o Shodan para encontrar sua própria exposição e corrigi-la
- Em pentest, Shodan é ferramenta de reconhecimento passivo permitida
Quer testar isso na prática?
A CyberZ realiza testes autorizados de segurança usando as técnicas descritas neste artigo — e muito mais. Identifique suas vulnerabilidades antes que os invasores o façam.
Falar com Especialista