Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Felix_Poison

ArpWatch - Defesa Contra ARP Poisoning

Mensagens Recomendadas

Felix_Poison

Arpwatch é uma ferramenta que monitora a atividade em uma rede ethernet, mantendo atualizada uma tabela com endereços ethernet (MAC) e seus respectivos endereços IP. Essa ferramenta tem a capacidade de reportar via email certas mudanças.

O Arpwatch é uma ferramenta importante na monitoração da rede contra ataques de Arp Poisoning ou Arp Spoofing, usados para realizar ataques mais sofisticados como o Man-in-the-Middle(MITM).

Instalação

Tomando-se como base a distribuição Fedora, para a instalação do arpwatch, basta executar o comando abaixo:

[root@vpn01 fred]# yum install arpwatch

Obs: Será necessário a instalação da libpcap.

Configuração

O arquivo de configuração está localizado em /etc/sysconfig/arpwatch. Sua base de dados é armazenada em /var/arpwatch. Neste diretório, estão os arquivos arp.dat que é a base de dados propriemanete dita e o ethercodes.dat que possui o bloco de endereços MAC atribuídos aos fabricantes.

Abaixo, vemos a configuração padrão do arpwatch:

# -u : defines with what user id arpwatch should run

1. -e : the where to send the reports

2. -s : the -address

OPTIONS="-u pcap -e root -s 'root (Arpwatch)'"

Vamos configurá-lo para que envie as mensagens para o nosso e-mail. Altere a linha de forma que se pareça coma linha abaixo:

OPTIONS="-u pcap -e usuario@dominio.com.br -s 'root (Arpwatch Servidor XXX Rede 192.168.0.0/24)'"

Algumas opções possíveis são:

-d: Utilizada para debugging. Essa opção inibe o envio de relatórios via email. Eles são enviados para a saida de erro padrão (stderr)

-f: Informa qual o arquivo da base de dados deve ser usado. O valor padrão é arp.dat

-i: Usada para sobrescrever a interface padrão

-n: Especifica redes locais adicionais. É útil se na mesma rede física, estiver rodando mais de um endereçamento de rede.

-u: define qual usuário executará o arpwatch. Rodá-lo com um usuário diferente de root é extremamente recomendado para melhorar a segurança.

-e: Envia mensagens de e-mail para o endereço especificado. O padrão é para o usuário root. Se apenas o caractere '-' for definido, o envio de alertas via e-mail será suspenso, no entanto, o logging via syslog continuará ativo (Útil quando for executado pela primeira vez na rede, evita o recebimento de muitas mensagens).

-s: Envia mensagens de email com endereço de retorno, ao contrário do valor padrão do root.

Obs: Antes de ser rodado pela primeira vez, é necessário que o arquivo da base de dados exista (em branco) e que o usuário especificado em -u seja o dono do diretório /var/arpwatch

Vamos colocá-lo para iniciar no boot:

[root@vpn01 sysconfig]# /sbin/chkconfig --level 2345 arpwatch on

Iniciando o arpwatch:

[root@vpn01 sysconfig]# /etc/init.d/arpwatch start

Através do comandos abaixo, confirma-se que o arpwatch já está sendo executado:

[root@vpn01 log]# tail -f messages

Jan 4 10:41:04 vpn01 arpwatch: new station 192.168.0.222 0:10:c6:b9:69:2b

Jan 4 10:41:14 vpn01 arpwatch: new station 192.168.0.176 0:d:f4:3:2:d8

Jan 4 10:41:20 vpn01 arpwatch: new station 192.168.0.224 0:11:25:8a:87:9b

Exemplo de alerta

Ex1:

Subject: new station

hostname:

ip address: 192.168.0.185

ethernet address: 0:d:f4:3:3:1e

ethernet vendor: Watertek Co.

timestamp: Friday, January 4, 2008 10:40:44 -0300

Ex2:

Subject: new station

hostname:

ip address: 192.168.0.245

ethernet address: 0:30:a:5b:73:24

ethernet vendor: AZTECH SYSTEMS LTD.

timestamp: Friday, January 4, 2008 10:40:56 -0300

Entendendo as mensagens

new activity

Esse par de endereço MAC e endereço IP já foi utilizado a seis meses ou mais.

new station

Esse endereço ethernet (MAC) nunca foi visto antes.

flip flop

O endereço ethernet foi foi alterado do primeiro mais recente para o segundo mas recente.

changed ethernet address

O Host mudou para um novo endereço ethernet (MAC)

Testando

A forma de testarmos é rodarmos um ataque de arp spoofing em nossa própria rede. Para o teste, foi utilizado o aplicativo ettercap.

Os seguintes hosts foram utilizados:

Endereço IP Endereço MAC Descrição

192.168.0.224 00:11:25:8A:87:9B Host do Atacante

192.168.0.3 00:10:C6:B9:68:F5 Gateway da rede, host a ser realizado o spoof

Após o inicio do ataque, foram recebidos os seguintes alertas:

MSG1: Arpwatch detecta a mudança do PAR MAC/IP

Subject: changed ethernet address

hostname:

ip address: 192.168.0.3

ethernet address: 0:11:25:8a:87:9b

ethernet vendor: IBM Corporation

old ethernet address: 0:10:c6:b9:68:f5

old ethernet vendor: USI

timestamp: Friday, January 4, 2008 11:16:06 -0300

previous timestamp: Friday, January 4, 2008 11:16:06 -0300

delta: 0 seconds

MSG2:Arpwatch detecta que o par está oscilando, característica do ataque de arp spoofing. Ele recebe pacotes ARP do com o MAC correto e em seguida, vários outros como MAC errado.

Subject: flip flop

hostname:

ip address: 192.168.0.3

ethernet address: 0:10:c6:b9:68:f5

ethernet vendor: USI

old ethernet address: 0:11:25:8a:87:9b

old ethernet vendor: IBM Corporation

timestamp: Friday, January 4, 2008 11:16:22 -0300

previous timestamp: Friday, January 4, 2008 11:16:21 -0300

delta: 1 second

MSG3: Arpwatch detecta que o par está oscilando, característica do ataque de arp spoofing. Ele recebe pacotes ARP do com o MAC correto e em seguida, vários outros como MAC errado.

Subject:flip flop

hostname:

ip address: 192.168.0.3

ethernet address: 0:11:25:8a:87:9b

ethernet vendor: IBM Corporation

old ethernet address: 0:10:c6:b9:68:f5

old ethernet vendor: USI

timestamp: Friday, January 4, 2008 11:16:31 -0300

previous timestamp: Friday, January 4, 2008 11:16:22 -0300

delta: 9 seconds

Conclusão

Dessa forma, demonstramos como utilizar o arpwatch para monitorar o tráfego ARP de sua rede, e provamos sua eficiência na detecção de ataques de Arp Spoofing/Arp Poisoning. A quantidade de alertas depende de alguns fatores. Um deles é se a rede está configurada com ip estático ou dinâmico. Se for via DHCP, é importante verificar o tempo em que o servidor mantém o endereço IP para o MAC. Se esse tempo for pequeno, é possível que a cada renovação de endereço, você recebe um alerta. Vale a pena ficar atento a esse detalhe.

Abraços.

AUTOR: Frederico Madeira

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
herakty

mas é um copy-paste integral deste post... só difere quem assina, o autor... eu tambem faço copy-pastes, pois não vale a pena reiventar a roda mas há que manter os créditos... e como este é de 2008 suponho que  ;)

http://rui-linux.blogspot.com/2008/03/arpwatch-detecte-em-sua-rede-ataques-de.html

e lamento informar mas isso apenas faz monitorização e não bloqueia... e claro que é facilmente enganado como todos os sistemas de logging e monitorização (ou não havia cracking)

a ideia do APR é passar por regras para se chegar a certos locais dentro de uma grande rede interna segmentada por regras de routing e afins... conhecendo o que faz disparar o arpwatch pode-se "contorna-lo" como se faz com as IDS/IPS

se fizermos snifing conseguimos saber os MAC autorizados... conseguindo falsificar um pacote ao nivel do MAC... tá tudo dito não?

é curioso que o tuning de um IDS e IPS segue a metadologia do tunning do "passar invisivel"... que já "viveu" os dois lados entende bem o que estou a dizer

ArpWorks is an utility for sending customized 'ARP announce' packets over the network. All ARP parameters, including the Ethernet Source MAC address (the phisical address of your network card) can be changed as you like. Other features are: IP to MAC resolver, subnet MAC discovery, host isolation, packets redirection, general IP confict.

http://www.oxid.it/arpworks.html

mas da-lhe

teckV

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Felix_Poison

huum.. nao, eu nao gosto de 'copy-pastes'. prefiro eu mesmo fazer meus propios textos ;)

mas como o tempo nao me permite, e queria postar sobre isso, já que postaram aqui um artigo sobre ARP poisoning, achei interesante complementa-lo.

sobre os creditos, eu postei o autor. se o autor se basiou em algum outro artigo e nao postou isso no texto dele, é coisa dele, e nao de quem compartilha o texto :D eu nao modifiquei o texto, e deixei como estava, postando apenas o nome do autor.

agradeço a complementação sobre o mesmo e as informações novas :D

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.