ARP Poisoning: compreenda os princípios e defenda-se

Este é o meio mais eficiente de executar o ataque conhecido por Man-In-The-Middle, que permite que o atacante intercepte informações confidenciais posicionando-se no meio de uma conexão entre duas ou mais máquinas.

[ Hits: 125.766 ]

Por: Luiz Vieira em 03/03/2009 | Blog: http://hackproofing.blogspot.com/


Conceitos básicos sobre ARP (Address Resolution Protocol)



O Address Resolution Protocol (ARP) [2] é um protocolo para mapear um endereço IP de um endereço de uma máquina física (MAC) [3] que é reconhecida na rede local. Por exemplo, um IP versão 4 (IPv4), o tipo de IP mais comumente usado hoje em dia, um endereço IP tem 32 bits de tamanho.

Em uma rede local Ethernet, entretanto, os endereços de dispositivos conectados possuem 48 bits de tamanho. Para aumentar a eficiência da rede e não engargalar a conexão realizando o broadcast do ARP, cada computador mantém uma tabela de endereços IP e endereços Ethernet na memória. Isto é chamado de cache ARP. Antes de enviar um broadcast para toda a rede, o computador transmissor verificará se a informação existe em seu cache ARP. Se existir, ele completará os dados Ethernet sem enviar um broadcast ARP e evitando de engargalar a conexão.

Cada entrada dura normalmente 20 minutos (mas depende do sistema operacional). A RFC 1122 especifica que é possível configurar o valor do tempo de expiração do cache ARP no host. Para examinar o cache em um computador com Windows, UNIX ou Linux, digite "arp -a" no console ou prompt de comando. O ARP provê as regras do protocolo realizando esta correlação e possibilitando a conversão de endereços em ambas as direções.

Como o ARP Funciona

Quando um pacote destinado a uma máquina de uma rede local particular chega no gateway, o gateway solicita ao programa ARP que encontre um host físico ou endereço MAC que esteja de acordo com o endereço IP. O programa ARP olha no ARP cache e, se encontra o endereço, retorna o mesmo e assim o pacote pode ser convertido ao formato e tamanho corretos e enviado à máquina. Se nenhuma entrada é encontrada para o endereço IP, o ARP faz um broadcast de um pacote de requisição especial para todas as máquinas na rede para ver se uma das máquinas sabe qual delas tem o IP associado. Uma máquina reconheça o endereço IP como o seu, retorna uma resposta indicando isso.

Assim, o ARP atualiza seu cache para futura referência e então envia o pacote de dados para o endereço MAC que respondeu. Aqui está um exemplo simples de comunicação por ARP. Uma recepcionista de uma empresa, solicita ao editor de texto de seu computador que imprima a lista de contatos atualizada da companhia. Esta é sua primeira impressão de arquivo hoje. Seu computador (endereço IP 192.168.0.16) quer encontrar o serviço de impressão da impressora HP LaserJet do escritório (endereço IP 192.168.0.45). Desse modo, o computador da recepcionista faz o broadcast de uma requisição ARP para toda a rede local perguntando: Quem tem o endereço IP 192.168.0.45?, como visto na figura 1.

Todos os dispositivos da rede ignoram esta requisição ARP (ARP Request), exceto a impressora HP LaserJet. A impressora reconhece seu próprio IP na requisição e envia uma resposta (ARP Reply):

Oi, meu endereço IP é 192.168.0.45. Aqui está meu endereço MAC: 00:90:7F:12:DE:7F como na figura 2. Agora o computador da recepcionista sabe o endereço MAC da impressora. Ele envia o pedido de impressão para o dispositivo correto, e também associa o endereço MAC da impressora 00:90:7F:12:DE:7F com o endereço IP da mesma 192.168.0.45 em sua tabela ARP.
Linux: Figura 1 Funcionamento do ARP
Figura 1 - Funcionamento do ARP

Figura 2 - Funcionamento do ARP
Este é o caso quando o host receptor está na mesma rede. Se o host receptor está em outra rede, computador transmissor passará por sua tabela de roteamento e determinará o roteador correto ( um roteador deve estar entre duas ou mais redes) para enviar os dados e substituirá o endereço Ethernet pelo do roteador no cabeçalho ethernet. O endereço IP encapsulado deve ainda possuir o endereço IP que receberá o pacote de dados. Quando o roteador recebe a mensagem, ele procura nas informações do IP para dizer para onde enviar os dados no próximo passo. Se o receptor está na rede onde o roteador está conectado, ele irá realizar a resolução de endereço do ARP, ou utilizando o buffer de cache ARP ou realizando um broadcasting.

Página anterior     Próxima página

Páginas do artigo
   1. ARP Poisoning
   2. Conceitos básicos sobre ARP (Address Resolution Protocol)
   3. Definição de ARP-Poisoning
   4. Ataques ARP
   5. Ferramentas e utilitários ARP
   6. Defesa contra ARP-Poisoning e sua Detecção
   7. Referências & Terminologia
Outros artigos deste autor

A Arte de HACKEAR Pessoas

Segurança da Informação no Brasil, qual é nossa realidade?

Bypass de firewall com tunelamento por DNS

Distribuição CAINE Linux para forense digital: em Live-CD, pendrive, máquina virtual ou direto em seu Ubuntu 10.04

Resenha do livro: Praticando a Segurança da Informação

Leitura recomendada

Cacti - Monitorar é preciso

O Kerberos não é um cachorro de 3 cabeças!

Personalizando o HLBR - IPS invisível

Instalação e configuração do Snort Inline (modo IPS), Baynard2, Mysql e PulledPork no Debian Squeeze

Nessus Portscanner

  
Comentários
[1] Comentário enviado por pbrito81 em 03/03/2009 - 17:40h

Só um adendo: o envenenamento ARP não necessariamente é feito como resposta à uma solicitação. Um atacante pode enviar respostas ARP a qualquer momento - mesmo que o computador atacado não tenha as pedido - que o computador atacado as aceitará e atualizará sua tabela ARP.

[2] Comentário enviado por luizvieira em 04/03/2009 - 07:59h

Olá pbrito, seu adendo está correto: não precisa haver uma requisição inicial. Valeu!

[3] Comentário enviado por pogo em 05/03/2009 - 11:20h

excelente texto! parabéns!

[4] Comentário enviado por psychokill3r em 14/04/2009 - 21:25h

Obrigado Prof.

mais 100 pontos (este autor tem 5 artigos simplesmente essenciais(ate agora)) todos no favoritos com certeza.
vi no seu perfil que voce "trabalha como psicoterapeuta com especialização em Hipnose, PNL, Regressão, EFT, Sedona Method, Coaching. "
poderia nos dar um perecer sobre esse programa de mensagens subliminares que foi postado aqui no vol.
http://www.vivaolinux.com.br/artigo/Mentis-Reprogramese/
se tiver tempo ok.
valeuw desde já pelas aulas e espero mais .

[5] Comentário enviado por luizvieira em 14/04/2009 - 22:11h

Valeu pelo comentário elogioso psychokill3r (e pelos 100 pts tbm...rs)!

Quanto ao prograna, não conheço esse, mas conheço outros que já usei no Windoze há anos atrás. No entanto, pelo que pude ver, a utilização e o modus operandis são os mesmos. O lance da msg subliminar é que ela pode ocorrer atrvés de vários canais: o visual e o auditivo são os mais comuns. Para que o programa funcione vc precisa ser uma pessoa do tipo visual. Para quem é auditivo o ideal é gravar msgs subliminares junto com músicas e ouvi-las enquanto estuda, trabalha ou faz alguma atividade onde sua mente não está concentrada na música diretamente.

Para descobrir qual seu canal principal de representatividade (visual, auditivo, cinestésico), faça o teste que há nesse link:
http://www.pnl.med.br/site/artigos/12.htm

Em breve postarei um artigo sobre PNL para Hacking aqui no VOL (se a moderação liberar, é claro).
[ ]'s



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts