Arp Cache Poisoning and Packet Sniffing

em um ambiente de rede comutado, os pacotes são enviados para sua porta de destino pelo endereço MAC. Esse processo requer que os sistemas na rede mantenham uma tabela associando endereços MAC a portas. Em um ambiente comutado, os pacotes são enviados apenas para dispositivos para os quais são destinados. Mesmo neste ambiente comutado, existem maneiras de farejar os pacotes de outros dispositivos. Uma dessas maneiras é falsificar seu endereço MAC e envenenar a tabela arp. Como o arp não mantém nenhuma informação de Estado, o cache do arp pode ser substituído (a menos que uma entrada seja explicitamente marcada como permanente).

o envenenamento por cache Arp coloca o invasor em posição de interceptar as comunicações entre os dois computadores. O computador a acredita que está se comunicando com o computador B, mas por causa da mesa ARP envenenada, a comunicação realmente vai para o computador do invasor. O invasor pode então responder ao computador a (fingindo ser o computador B) ou simplesmente encaminhar os pacotes para o destino pretendido, mas somente depois que as informações do pacote forem capturadas e registradas para uso posterior pelo invasor. Da mesma forma, a resposta do computador B pode ser capturada e registrada pelo invasor, que também usou envenenamento por Arp para fazer o computador b pensar que o computador do invasor é o computador a. Esse tipo de ataque é conhecido como homem no ataque do meio.

este artigo cobre uma série de ferramentas usadas em ataques de envenenamento por cache arp, incluindo ettercap, arpspoof, nemesis, p0f, dsniff e scapy.

executando Ettercap

para que ocorra envenenamento por cache arp, o invasor precisa estar no mesmo segmento de rede que os sistemas sob ataque. O primeiro passo é obter uma lista de endereços IP e seus endereços MAC associados. Várias ferramentas ajudarão você a obter essas informações; um exemplo é uma ferramenta chamada ettercap (http://ettercap.sourceforge.net/). Ettercap é uma suíte para ataques man in the middle a uma LAN local. Possui sniffing de conexões ao vivo, filtragem de conteúdo em tempo real e muito mais. Ettercap suporta dissecção ativa e passiva de muitos protocolos alguns dos vários protocolos. O seguinte comando:

# ettercap -T -M arp:remote //

farejará rapidamente todos os hosts dentro de sua sub-rede; para visualizar os resultados, digite L ou pressione h para o menu Ajuda e você verá uma lista de comandos.

Arp Cache DOS

para ARP envenenar um determinado endereço IP e derrubar o sistema offline para que ele não possa se comunicar com ninguém, use arpspoof do dsniff suite (http://monkey.org/~dugsong/dsniff/), uma coleção gratuita de ferramentas para auditoria de rede e testes de penetração. O dsniff suite inclui ferramentas como dsniff, filesnarf, mailsnarf, nsgsnarf, urlsnard e webspy, que monitoram passivamente uma rede para dados interessantes. (As ferramentas Arpspoof, dnsspoof e macof facilitam a interceptação do tráfego de rede normalmente indisponível para um invasor devido à troca de camada 2.)

Arpspoof (http://arpspoof.sourceforge.net/) é muito mais simples do que o ettercap para redirecionar pacotes:

# arpspoof-I eth0-t <target> host

especificar a interface é opcional, mas necessária se mais de uma interface estiver presente. A opção-t especifica o host específico para ARP poison; se o host não for especificado, todos os hosts na LAN serão envenenados. O host pode ser o gateway padrão, e isso impedirá que o destino se comunique além do segmento local. Arpspoof redireciona pacotes de um host de destino ou todos os hosts na LAN forjando respostas ARP. A beleza deste programa vem da função arp_send (), que também usa libnet para falsificar pacotes. arp_send() envia um pacote arp com endereços de hardware IP e Ethernet de origem/destino fornecidos pelo Usuário. Libnet é uma API de rede genérica que fornece acesso a vários protocolos.

para entender melhor o processo de envenenamento do cache arp, considere uma ferramenta alternativa chamada Nemesis. Se você tiver o IP e o MAC do alvo e do host pretendidos,poderá usar Nemesis para envenenar o alvo. Nemesis (http://nemesis.sourceforge.net/) é um utilitário de elaboração e injeção de pacotes de rede de linha de comando. Nemesis pode criar e injetar pacotes ARP, DNS, ETHERNET, ICMP, IGMP, IP, OSPF, RIP, TCP e UDP. Ao criar seu próprio pacote usando Nemesis, você pode ver como funciona o envenenamento por cache arp:

$ sudo nemesis arp -v -r -d eth0 -S 192.168.1.2 \-D 192.168.1.133 -h 00:22:6E:71:04:BB -m 00:0C:29:B2:78:9E \-H 00:22:6E:71:04:BB -M 00:0C:29:B2:78:9E

então você cria um pacote para enviar na outra direção:

$ sudo nemesis arp -v -r -d eth0 -S 192.168.1.133 \-D 192.168.1.2 -h 00:22:6E:71:04:BB -m 00:22:6B:7E:AD:7C \-H 00:22:6E:71:04:BB -M 00:22:6B:7E:AD:7C

esses dois comandos falsificam as respostas do ARP de 192.168.1.2 a 192.168.1.133 e depois de 192.168.1.33 a 192.168.1.2. A opção Nemesis arp-s especifica o endereço IP de origem, – d especifica o endereço IP de destino, – h especifica o endereço MAC do remetente, – m mostra o endereço MAC de destino, -h o endereço MAC de origem e-M o endereço MAC de destino. Esses dois comandos enviam falsas respostas ARP para manter os caches ARP envenenados e o tráfego redirecionado.

para garantir que o cache permaneça envenenado, repita os comandos a cada 10 segundos com um loop.

$ while true>do> sudo nemesis arp -v -r -d eth0 -S 192.168.1.2 \-D 192.168.1.133 -h 00:22:6E:71:04:BB -m 00:0C:29:B2:78:9E \-H 00:22:6E:71:04:BB -M 00:0C:29:B2:78:9E> sudo nemesis arp -v -r -d eth0 -S 192.168.1.133 \ -D 192.168.1.2 -h 00:22:6E:71:04:BB -m 00:22:6B:7E:AD:7C \-H 00:22:6E:71:04:BB -M 00:22:6B:7E:AD:7C> echo "Redirecting"> sleep 10> done

uma vez feito isso, a caixa de destino será off-line e incapaz de se comunicar com o resto da rede. Fiz um vídeo no meu site que demonstra esse ataque e está disponível em http://pbnetworks.net.

farejando a LAN

um objetivo do envenenamento por cache arp é colocar o invasor em posição de capturar e registrar informações de rede. Os intrusos têm várias ferramentas para ouvir na LAN e registrar dados para análise posterior.

o modo bridge do Ettercap permite interceptar pacotes que você pode ler, farejar ou alterar antes de enviar para a vítima. O modo Bridge requer duas interfaces que são colocadas no segmento de rede. Se você configurar em linha com o modo de Ponte de rede, será muito difícil detectar.

# ettercap -Tq -i eth0 -B eth1

o -I define a interface primária como eth0, o-B define a segunda interface de Ponte. Se você executar o ettercap na interface do Usuário GTK+, selecione Sniff | Bridged sniffing.

Deixe uma resposta

O seu endereço de email não será publicado.