Existe um tipo de buscador que não indexa páginas web, mas dispositivos — servidores, câmeras, roteadores, sistemas industriais, qualquer coisa com um endereço IP exposto à internet. O Shodan (e seu primo Censys) varre continuamente a internet inteira, conecta-se às portas abertas de cada dispositivo que encontra, coleta os banners que esses serviços anunciam (lembra do banner grabbing da aula Python para pentest I: construindo seu próprio scanner de portas?) e indexa tudo num mecanismo pesquisável. O resultado é uma ferramenta que, na primeira vez que se usa com seriedade, causa um misto de fascínio e desconforto: você percebe o quanto do mundo está exposto e pesquisável. E, como consulta o banco de dados do Shodan e não o alvo diretamente, é reconhecimento passivo.

Indexa serviços, não páginas

A diferença fundamental para o Google é o objeto da busca. O Google indexa conteúdo de páginas; o Shodan indexa metadados de serviços de rede — que software roda em que porta, qual versão, em que país, em que organização, com quais características de configuração. Isso o torna uma ferramenta de reconhecimento técnico poderosíssima. Enquanto o Google te diz o que uma organização publica, o Shodan te diz o que ela expõe na camada de infraestrutura, muitas vezes sem saber que está exposto. A busca funciona por filtros que miram justamente essas propriedades técnicas:

port:22                    dispositivos com a porta SSH aberta
product:"Apache"           rodando o servidor web Apache
country:"BR"               localizados no Brasil
org:"Nome da Empresa"      pertencentes a uma organização
os:"Windows"               rodando determinado sistema operacional
"200 OK"                   com determinada resposta no banner

Uma lista de alvos sem enviar um pacote

Combinados, permitem consultas cirúrgicas — encontrar, por exemplo, todos os dispositivos de uma organização específica rodando uma versão específica de um software específico. Se essa versão tiver uma vulnerabilidade conhecida, o Shodan acabou de te entregar uma lista de alvos potenciais sem você ter enviado um único pacote a nenhum deles.

O retrato assustador da exposição global

E é aqui que o Shodan se torna, ao mesmo tempo, uma ferramenta valiosa e um retrato assustador da segurança global. Ele é famoso por revelar quão massivamente dispositivos ficam expostos por descuido: bancos de dados sem autenticação abertos à internet, painéis de controle industrial acessíveis, câmeras de segurança transmitindo publicamente, roteadores com credenciais padrão, sistemas com vulnerabilidades notórias sem correção. Existem buscas conhecidas que revelam categorias inteiras de exposição — e o ponto pedagógico não é te dar essas buscas para abusar, mas fazer você entender a dimensão do problema: uma quantidade imensa de dispositivos está conectada à internet com pouca ou nenhuma proteção, indexada e encontrável por qualquer um. Para o pentester, isso significa que parte do reconhecimento de infraestrutura pode ser feita antes de qualquer contato ativo; para o mundo, significa que a superfície de ataque global é vasta e mal cuidada.

Do reconhecimento direto à exploração

O Shodan também cruza sua base com vulnerabilidades conhecidas: para muitos serviços indexados, ele associa CVEs (as identificações de vulnerabilidades que veremos na aula CVE, CVSS e CWE: a linguagem das vulnerabilidades) aplicáveis àquela versão de software. Isso conecta diretamente reconhecimento com exploração — você não só descobre que um alvo autorizado roda determinada versão de um serviço, como já vê apontadas as falhas conhecidas daquela versão. É a fase de reconhecimento entregando, de bandeja, o insumo da fase de análise de vulnerabilidades. Vale notar que o Censys oferece capacidade semelhante com algumas diferenças de abordagem e profundidade de dados; na prática, profissionais costumam usar ambos, pois cada um enxerga a internet de um jeito e um pode revelar o que o outro não indexou.

Pesquisar é lícito; conectar não é

O enquadramento ético se repete e se refina aqui, e pesa ainda mais porque o Shodan lida com infraestrutura diretamente. Pesquisar no Shodan é passivo e lícito — você consulta um banco de dados de terceiro. Mas conectar-se a um dispositivo que você encontrou, acessar uma câmera exposta, entrar num banco de dados sem autenticação de uma organização que não te autorizou — isso é acesso não autorizado, o crime da aula A lei que separa a carreira do processo criminal, independentemente de o Shodan ter facilitado a localização. A tentação é grande justamente porque o Shodan mostra coisas escancaradamente abertas, e é fácil racionalizar que "estava sem senha, então não é invasão". É invasão. Num pentest, você usa o Shodan para mapear a superfície exposta dentro do escopo autorizado, e o que estiver fora do escopo você não toca, por mais convidativo que pareça.

Pesquisar a si mesma regularmente

Do lado defensivo, o Shodan é uma dádiva para quem sabe usá-lo a favor. Toda organização deveria pesquisar a si mesma no Shodan regularmente, para descobrir o que está expondo à internet sem saber — o servidor que alguém subiu e esqueceu, o dispositivo com porta aberta indevidamente, o serviço com versão vulnerável. É asset discovery e attack surface management de graça, feito com a mesma ferramenta que o atacante usaria. As contramedidas que essa auto-inspeção habilita são as de sempre, aplicadas ao que se descobre exposto: fechar portas desnecessárias, colocar autenticação onde falta, atualizar versões vulneráveis, e — princípio geral — não expor à internet o que não precisa estar exposto. A maioria dos achados chocantes do Shodan são dispositivos que jamais deveriam estar acessíveis publicamente.

Fontes e leituras recomendadas

  • Shodan (shodan.io) — a plataforma; vale explorar a documentação de filtros
  • Censys (censys.io) — alternativa complementar com abordagem própria
  • OSINT Techniques — Michael Bazzell (seções sobre busca de dispositivos)
  • Shodan Blog e relatórios de exposição — para dimensionar o problema global

Exercícios

  1. Qual a diferença fundamental entre o que o Google indexa e o que o Shodan indexa?

    ✓ Resposta:

    O Google indexa o conteúdo de páginas web; o Shodan indexa metadados de serviços de rede — qual software e versão rodam em qual porta de cada dispositivo exposto, além de organização, país e características de configuração.

  2. Como o Shodan coleta a informação que indexa sobre cada dispositivo, e a que técnica já vista isso se relaciona?

    ✓ Resposta:

    Ele varre a internet, conecta-se às portas abertas dos dispositivos e coleta os banners que os serviços anunciam, indexando essas informações. Relaciona-se ao banner grabbing (aula Python para pentest I: construindo seu próprio scanner de portas), em que se lê o texto de identificação que um serviço envia ao conectar.

  3. Explique como o Shodan pode entregar uma lista de alvos potencialmente vulneráveis sem que o pentester envie um único pacote ao alvo.

    ✓ Resposta:

    Filtrando por organização, produto e versão, o Shodan lista dispositivos de um alvo rodando um software específico; se essa versão tiver vulnerabilidade conhecida (e o Shodan chega a associar CVEs), obtém-se uma lista de alvos potenciais a partir apenas da base do Shodan, sem contato ativo.

  4. Repita a distinção ética central: o que é lícito e o que não é ao usar o Shodan? Por que "estava sem senha" não é justificativa?

    ✓ Resposta:

    Pesquisar no Shodan é lícito (consulta a um banco de dados de terceiro, passivo); conectar-se, acessar ou entrar em dispositivos encontrados de organizações não autorizadas é acesso não autorizado, crime da Lei 12.737. "Estava sem senha" não justifica porque a ausência de proteção não constitui autorização para acessar.

  5. Como uma organização pode usar o Shodan defensivamente, e que tipo de achado essa auto-inspeção tipicamente revela?

    ✓ Resposta:

    Pesquisando a si mesma para descobrir o que expõe à internet sem saber (asset discovery / attack surface management). Tipicamente revela servidores esquecidos, portas abertas indevidamente e serviços com versões vulneráveis — dispositivos que não deveriam estar acessíveis publicamente.