quarta-feira, 29 de maio de 2013

Olá pessoal!

Ontem criei um post sobre como hackear um facebook, mas não tinha me ligado que antes disso eu tinha que explicar um pouco melhor o que é o ponto chave daquele ataque, o arp spoofing.

O que é o ARP

Antes de mais nada, o ARP (Address Resolution Protocol) é um protocolo muito usado, com a função de resolver os endereços da camada Network para a camada Link do modelo OSI. Para os que não entenderam, basicamente tudo isso quer dizer transformar IP em MAC Address. Para mais informações ou informações mais precisas de uma estudada em Redes de Computadores, isso é muito importante, ou simplesmente olhe na Wikipedia.

O Spoofing

Spoof é o ato de se mascarar e fingir ser quem não é, falsificar minha identidade, origem ou função, dependendo da situação que estamos lidando. Por exemplo, se eu spoofar meu MAC Address eu vou estar fingindo ser um hardware totalmente diferente, uma máquina totalmente diferente, e provavelmente com um IP diferente, assim em alguns casos, zoando toda a tabela ARP.

O Ataque

Neste exemplo que vou mostrar a seguir, eu vou fazer um arp spoof, para conseguir algumas credenciais. Vou dizer para um computador específico da rede que eu sou o roteador e vou dizer para o roteador que eu sou aquela máquina específica. Este ataque é conhecido como Man in The Middle, porque, estou literalmente no meio da comunicação, e como tudo passa por mim vou poder ver as credenciais passando e assim que passarem capturá-las.

Outra coisa bem interessante que é necessário destacar é que para esse ataque funcionar você precisa estar na mesma rede que seu alvo, porque como eu comentei antes, você tem que ficar entre a máquina e o roteador. Se não estou falando besteira, tem como fazer algo similar remotamente, mas é um pouco mais complicado e envolve mais fatores, então vamos deixar isso de lado por em quanto.

Então vamos lá. Primeiro de tudo temos que descobrir algumas coisas básicas, tipo o nosso gateway e o IP do alvo. Para descobrir o nosso gateway vou utilizar o comando route.


Pronto! Já tenho uma das informações, só rodar o comando e ele já me mostrou o que eu precisava. Agora vou rodar o nmap para descobrir o ip do alvo. Como tenho poucas máquinas ligadas aqui no lab, um ping scan já resolve meu problema, mas caso seja necessário, use algo mais elaborado.

nmap -sP range_de_ip


Neste caso 4 máquinas foram encontradas, descobri anteriormente que a primeira delas é o gateway, meu roteador. O segundo tem como marca do hardware, baseado no MAC Address, Apple. Como não estou tentando atacar meu MacBook e sim um Windows do lado só me resta a 4º opção.

Dica: Eu poderia ter rodado um ifconfig para ver meu ip, mas como nesse caso só um não apresentou a marca então esse é a máquina que rodou o nmap.

Agora de posse dessas duas informações vamos seguir em frente. O próximo passo é descomentar algumas linhas do arquivo etter.conf, para que minha presença no meio dos dois seja imperceptível e funcional.

As linhas que vem ser descomentadas são as seguintes:


No meu caso 168 e 169, pode ser que não seja o mesmo número para você, baseie-se pelas linhas Linux e if you use iptables.

Assim que remover a tralha (#) salve e saia do editor de texto e vamos seguir em frente. O próximo passo é adicionar mais um comando do iptables para fazer o redirecionamento de pacotes.

iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000


OBS: não tem a mínima relação (acho!) mas sempre que eu uso uma porta diferente de 10000 neste redirecionamento da errado. ;)

Agora falta pouco, só precisamos enviar um "1" para o arquivo ip_forwarding para ativar o redirecionamento de pacotes, para isso use o comando abaixo:

echo 1 > /proc/sys/net/ipv4/ip_forward



Agora sim, tudo pronto, podemos iniciar os comandos que realmente vão fazer o negócio acontecer. Vamos iniciar a captura com o comando abaixo:
ettercap -T -i eth0 -q -M arp:remote /gateway/ /vitima/

Feito isso, agora precisamos para finalizar iniciar o sslstrip para "quebrar" o ssl das páginas. Mas não feche o terminal anterior, deixe o comando rodando e abra um outro terminal para esse:
sslstrip -a -k -f


Agora, assim que alguém naquela máquina conectar em algum site (com auto login marcando aquele "mantenha-me conectado" pode ser que não funcione) qualquer você vai receber no seu terminal as credenciais da pessoa:


E era isso por hoje! Agora você tem o conhecimento básico para por em prática o post de ontem.

Bons estudos!

10 comentários:

  1. Esse ataque pode ser realizado em roteadores?

    ResponderExcluir
  2. Em qual navegador foi testado? testei no IE e foi de boa, mas no chrome da erro de certificado

    ResponderExcluir
    Respostas
    1. Se não me engano, testei no Chrome no mac e não funcionou, mas nos 3 navegadores tinha funcionado no windows.

      Ele vai dar erro de certificado sim, já que é isso que estamos fraudando. Se a pessoa continuar ela está ferrada :D

      Excluir
  3. Porque toda vez que aplico a conexao da vitima cai e nao volta?

    ResponderExcluir
    Respostas
    1. Olá!

      Quando isso acontece é porque sua máquina não está funcionando como o switch, pode ser que tenha faltado um comando ou o switch que a vítima está usando tem algum tipo de proteção contra spoofing.

      Valeu

      Excluir
  4. tem como fazer esse processo por uma maquina virtual (virtual box) ?

    ResponderExcluir
    Respostas
    1. Sim, eu usei uma vm para fazer este tuto por sinal.

      Só que você tem que ter a interface de rede configurada como bridge.

      Excluir
  5. comigo apareceu isso , quando pedi para fazer o sniffer "GROUP 2 : ANY (all the hosts in the list)
    " o que poderá ser? funciona com https ou com os dois?
    Bruno

    ResponderExcluir
    Respostas
    1. Não entendi sua duvida direito, mas isso quer dizer que todo o trafego da rede vai passar pela sua rede, o que as vezes pode não funcionar muito bem. E sim, ele pega tudo que é HTTP e redireciona HTTPS para HTTP.

      Excluir

Subscribe to RSS Feed Follow me on Twitter!