Shodan é uma ferramenta muito conhecida no mundo da Segurança da Informação. Normalmente é utilizado como um buscador que agrega metadados de serviços coletados a partir do scaneamento massivo da Internet.

Com o Shodan é possível obter uma visão geral sobre os dispositivos conectados à Internet a partir de buscas por portas, protocolos, ou até mesmo em um nível mais alto, como “webcam” ou “default password”. Inclusive, o Shodan foi a ferramenta utilizada para fazer o levantamento de dados sobre o uso do protocol MQTT na pesquisa “Hacking the IoT – MQTT Protocol” (apenas para citar um possível uso do Shodan).

Categoria Malware Hunter

Ontem (02), o Shodan lançou uma nova categoria de busca chamada Malware Hunter, que permite procurar por servidores de C&Cs (Comando e Controle) de RATs (Remote Access Trojans), uma categoria de malware utilizada para acessar remotamente ao sistema das vítimas.

Para fazer esse levantamento, a engine de scaneamento do Shodan utiliza assinaturas de tráfego de rede de diferentes RATs ao se conectar aos hosts que estão sendo scaneados. Caso o host responda com os strings específicas do C&C, o host é indexado à nova categoria Malware Hunter das buscas do Shodan.

Um novo desafio para aqueles que são responsáveis pela segurança das empresas é separar os casos de falso e verdadeiro positivo nos alertas gerados em IDS/IPS. Essa questão foi um dos destaques do anúncio da nova categoria, uma vez que soluções de segurança podem apontar a existência de C&C de botnets dentro das organizações, mas que na realidade é devida à metodologia do scan, que se passa por um host zombie infectado por um RAT.

Na lista de RATs indexados nessa categoria fazem parte Black Shades, Dark Comet, njRAT, XtremeRAT, Poison Ivy e Net Bus. Essa é apenas uma pequena lista de diferentes famílias de RATs que existem e podem ser buscadas, no entanto já permite indexar uma lista que varia entre 400 e 600 novos C&Cs de RAT que surgem a cada dia – ressaltando que o número de vítimas para cada controlador de RAT é (virtualmente) ilimitado.

Caçando botnets

O campo de busca do Shodan é muito simples e parecido com o Google (mesmo assim há diversos tutoriais que detalham formas de realizar a busca). No entanto, para utilizar a categoria “malware” é necessário estar logado em uma conta do Shodan.

Combinando diferentes parâmetros é possível filtrar a busca para resultados mais específicos. Por exemplo, é possível buscar por C&Cs de RATs que estão hospedados no Brasil. Como exemplo de busca, os resultados obtidos trouxeram 19 C&Cs de (apenas) quatro famílias diferentes de RAT, sendo njRAT a mais popular.

Esse tipo de informação é interessante por alguns motivos. Primeiro, é uma maneira proativa de buscar por C&Cs, o que (como via de regra) é descoberto apenas após o ataque ser efetivado – no entanto, não quer dizer que necessariamente esse ataque foi bem-sucedido.

Outra característica importante é o fato desses C&Cs (muitas vezes) serem hospedados na própria residência dos operadores, uma vez que a degradação de tráfego ocasionada por proxies pode ser inviável para RATs que fazem streaming ao vivo de webcams das vítimas – uns dos motivos pelos quais encontra-se um grande número de DNS dinâmicos utilizados em RATs.

Por fim, o Shodan torna-se uma ferramenta ainda mais interessante para quem deseja fazer pesquisa em malware, mesmo que apenas por hobby.  Agora é possível buscar por C&C de maneira simples e começar a levantar diversas informações.

Por exemplo, um dos resultados da busca acima refere-se ao host 177.89.172.228. Trata-se de um IP pertencente à Cabo Telecom, cuja geolocalização indica a cidade de Natal.

No detalhamento, entre as informações, é possível verificar quatro serviços hospedados nesse host. Dois serviços web nas portas 80 e 8080, o C&C do RAT DarkComet na porta 1604 e um serviço de RDP na porta 3389 – com uma informação bastante instigante: o certificado digital utilizado pelo serviço de RDP foi emitido por “Allyson-PC”.

Para enriquecer os dados, é possível consultar esse IP em outros serviços. Por exemplo, no VirusTotal é possível levantar um histórico desse IP: no início de fevereiro estava sendo apontado por rijkaardd.ddns.net (DNS dinâmico) e foi categorizado como malicioso, e no mês de março foi resolvido por teaam21.ddns.net e xtreme21.ddns.net, sendo categorizado como malicioso pelo primeiro deles.

No PassiveTotal é possível verificar que: dentre os dias 01 e 05 de fevereiro deste ano, o IP estava sendo resolvido por rijkaardd.ddns.net (que vimos ser malicioso no VirusTotal), dentre os dias 09 de março e 21 de abril (também deste ano), resolvido por teaam21.ddns.net (também malicioso) – sendo que o xtreme21.ddns.net, que não foi caracterizado como malicioso na busca do VirusTotal, foi resolvido para esse IP apenas no último dia 28 de março.

A caça pela botnet pode continuar indefinidamente, buscando por amostras que contém esse IP, mais informação através da engenharia reversa dessas amostras, correlacionando-as com outras famílias, buscando por atividades semelhantes em outros hosts, enfim, a partir daí muita coisa pode ser feita.

O interessante é que rapidamente, sem necessitar de nenhuma ferramenta proprietária ou mesmo despender qualquer custo com licença, é possível fazer sua própria caçada por botnets de maneira rápida, simples e eficaz.