Como um criminoso pode criar uma botnet em apenas 10 minutos

Fala ae galera tudo tranquilo? gostaria de mostrar pra vocês o risco que muitas empresas correm por não realizar atualizações de segurança em seus servidores, e como criminosos podem rapidamente explorar diversas empresas no mundo todo com apenas uma tecla.

Basicamente o que vou demonstrar é o seguinte, a exploração da vulnerabilidade Shell Shock(Pode até não ser uma 0day mas ainda assim faz um estrago imenso), que basicamente permite enviar comandos para o bash através de scripts CGI’s, que nada mais são do que scripts que geram informações dinâmicas para paginas web.

Mas como funciona o Ataque?

 
A unica coisa que precisamos fazer é enviar um User-Agent TUNADO para o servidor como no exemplo abaixo,
CALMA AI!! O QUE É User-Agent?
 
Jovem é o seguinte, sempre que você entra em qualquer serviço web, faz parte da comunicação entre o cliente(você) e o servidor(Ex.:Facebook), enviar de qual agente você esta se conectando, por exemplo,
Quando você abre o Facebook utilizando o Google Chrome, ele envia esse user-agent para o servidor do Facebook,
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36
 
Que nada mais é uma simples string que identifica para o servidor que a conexão foi realizada utilizando o Google Chrome, mas no nosso caso vamos utilizar essa informação, pra realizar uma PoC de como um criminoso pode criar uma botnet modesta em apenas 10 minutos.
Então agora que você já sabe o que é user-agent, segue abaixo o user-agent TUNADO que vamos utilizar nessa PoC,

() { ignored; }; echo Content-Type: text/plain ; echo  ; echo ; /usr/bin/id

No nosso exemplo iremos utilizar um comando simples e que não vai impactar e nem prejudicar nenhum servidor encontrado, ele ira apenas retornar informações sobre o usuario que esta executando o serviço Web, e sobre o SO. Porem vale reforçar que qualquer tipo de exploração de vulnerabilidade é crime, até mesmo algo como “simples” como o que foi utilizado na PoC.

Vamos realizar um teste, utilizando o modo interativo do python, pra verificar se o User-Agent esta realmente efetivo.

Observação para executar os comandos abaixo, deve ter instalado o python e a lib requests

No terminal do Linux/Mac/Window$ entre no modo interativo do python utilizando o comando python,

>>>import requests
>>>user_agent = {‘User-Agent’:”() { ignored; }; echo Content-Type: text/plain ; echo  ; echo ; /usr/bin/id”}
>>>url = ‘http://sitevulneravel.com.br/cgi-bin/test.cgi
>>>r = requests.get(url, headers=user_agent)
>>>r.content

‘\nuid=48(apache) gid=48(apache) groups=48(apache)…’
 
Ps.: O resto do r.content foi omitido pois era muito grande, o site também foi omitido para evitar que a empresa seja exposta.
Como foi descrito acima o comando que utilizamos é bem simples e não é prejudicial ao host, porem um criminoso pode tranquilamente, executar um comando para realizar o download de uma backdoor/shell, e acabar se apoderando desse host.
 
Mas como o criminoso consegue criar uma botnet em dez minutos?
 
Bom pra fazer isso vamos usar 3 coisas, anota ai a receita
– Python
– Censys
– Google
– Shell/backdoor
Recentemente foi lançado um serviço chamado Censys, que trabalha de forma parecida com o Shodan, ele consegue rastrear inúmeros serviços na internet ajudando assim muito o trabalho de pentesters e analistas de segurança, mas também acaba facilitando a vida de criminosos, com apenas uma busca simples no site, posso fazer uma pesquisa global de todos os servidores web que ele conseguiu mapear, possibilitando assim um ataque em massa.
O pessoal do hacking com tapioca fez um ótimo video explicando sobre essa ferramenta, aconselho darem uma olhada no video deles,
Mas vamos ao foco principal, o código fonte de como é possível realizar um ataque desse tipo, após algumas horas de coding, vos apresento a PoC desse ataque, a EvilTool, que trabalha com base na API que o Censys disponibiliza, dessa forma, é possível realizar busca de servidores com scripts CGI’s e executar esse teste que fizemos manualmente de forma automatica.
LEIA-ME
SOURCE CODE
Bacana! Mas como funciona esse monte de código?
A ferramenta trabalha de duas formas, uma forma passiva onde você passa uma url para ela, e ela identifica se o servidor esta vulnerável,  que é o Single URL test. E a forma mais ativa que é o que chamo de “hack the planet”, pois ele realiza todas as buscas sozinho e só entrega qual host é vulnerável
Vamos agora para uma explicação sobre o funcionamento da forma de ataque ativa.
A primeira função é a search, onde  utilizando as “dorks” do Censys a ferramenta faz uma busca por servidores que estão executando scripts CGI,
1.JPG

Caso ele encontre servidores ele vai chamar a função build_url que realiza a construção da URL a qual ele vai se conectar e executar o teste da vulnerabilidade,

1.JPG
Após a construção da URL, ele envia essa URL, para função test_conn, que vai verificar se esse link é valido e esta funcionando, e nesse momento ele já esta também enviando tambem nosso User_Agent TUNADO

1.JPG

E é claro que não poderia esquecer do Google, o maior concentrador de informações, utilizando uma biblioteca simples para buscas, com 10 linhas de código é possível capturar todos as URL em uma busca utilizando a dork que você desejar como por exemplo,

filetype:cgi

2.JPG
Agora é simples, ele só recebe o response do servidor e identifica se o comando enviado foi executado com sucesso, caso tenha sido, a URL completa é salva em um arquivo .txt
3.JPG
\0
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s