MAC Flood! E agora?

px

Este artigo visa expor algo que, muitas vezes, passa despercebido por muitos usuários de rede, um switch ou modem, com configurações ou tabelas vulneráveis à MAC Flood, são comuns e podem estar em sua casa. Abordarei o princípio deste ataque desde o protocolo ARP às maneiras de prevenção desta praga virtual.

[ Hits: 20.744 ]

Por: Pedro em 13/09/2013


Introdução



Protocolo ARP

Iremos agora, falar sobre o Protocolo ARP, boa leitura!

O protocolo ARP, ou Address Resolution Protocol, é um padrão adotado pelo TCP/IP, definido pela RFC 826. Ele resolve o endereço IP usado por programas baseados em TCP/IP, para endereços MAC (Media Access Control) encontrados na camada de hardware ou Ethernet.

Este protocolo realiza o mapeamento dinâmico entre endereços IP de 32 bits e endereços de Hardware usados pelas várias tecnologias de enlace, presentes no modelo OSI.

Obs:. leia mais sobre camadas e modelos OSI antes de prosseguir, pode começar clicando no link abaixo:
Quando solicitado um pacote ARP, primeiramente, verifica-se a procura de entradas referentes ao IP/MAC em cache, caso o endereço não constar na tabela cache, é enviado em broadcast, um pacote contendo o endereço IP do outro host que espera uma resposta contendo um endereço MAC respectivo.

Cada máquina armazena uma tabela de resolução em cache a fim de reduzir a latência e carga na rede, esta tabela é limpa em determinado intervalo de tempo (questão de poucos minutos), o uso deste protocolo permite que o endereço IP seja independente do endereço da sua rede local, mas só funciona se todas as máquinas da rede o utilizarem.
"O ARP foi implementado em vários tipos de redes, não é um protocolo restrito à redes IP ou Ethernet e pode ser utilizado para resolver endereços de diferentes protocolos de rede. Porém, devido à prevalência de redes IPv4 e Ethernet, ARP é utilizado primordialmente para traduzir endereço IP para endereço MAC.

Também é utilizado em outras tecnologias de IP sobre LAN, como Token Ring, FDDI ou IEEE 802.11, e para redes IP sobre ATM."

Fonte: Address Resolution Protocol – Wikipédia, a enciclopédia livre

Experimente digitar no seu micro:

arp
Ou:
arp -a

Serão mostradas informações correspondentes aos dados locais armazenados em cache, como número MAC, tipo de Hardware e/ou nome do adaptador de rede. Para mais informações, use o comando:

arp -h

E leia as man pages:

man arp

Hub x Switch

Diferenças entre Hub e Switch.

Hub - este aparelho era muito utilizado em redes de pequenas empresas ou em ambientes domésticos.

Ele atua, simplesmente, como um replicador de sinal elétrico, situando-se na 1° camada do modelo OSI (camada física), ou seja, um pacote vindo do IP 10.0.0.1 com destino ao IP 10.0.0.2, seria enviado para todas as interfaces de rede conectadas ao Hub.

E elas, que tratariam de aceitar ou ignorar a transmissão. O que acontece, é que somente a máquina que solicitou os pacotes responderá aos mesmos, estabelecendo assim a conexão.

Isso fazia com que apenas uma transmissão pudesse ser efetuada por vez, já que este mesmo pacote seria replicado para todas as máquinas ligadas ao Hub, sendo toda a rede capaz de "escutar" o tráfego, bastando para tal, colocar a placa em modo promíscuo, ficaria fácil uma máquina de IP 10.0.0.5, capturar estes pacotes.

Isto se deve justamente por nosso equipamento não possuir uma tabela inteligente para guiar os pacotes ao seu destino corretamente, tornando este aparelho nem um pouco seguro e de baixo desempenho em grandes redes.

Switch - o Switch diferentemente dos Hubs, trabalham encaminhando os pacotes aos respectivos hosts de destino.

Isto se deve por ele possuir um cache da tabela de endereços MAC, o que lhe permite fazer diversas transmissões simultâneas, podendo trabalhar de forma alternada entre os hosts, aumentando bastante o desempenho e a segurança da nossa rede, pois agora, somente os hosts de destino receberão seu respectivo tráfego e não toda a rede, evitando as famosas perdas de pacotes e diminuindo nossa latência.

Na tabela, ele fica situado na segunda camada do modelo OSI (camada de enlace), camada esta que entende os bits e os converte para frame. Como já falado, utiliza-se dos endereços MAC, que são empregados na criação de "túneis" de conexão entre o dispositivo Ethernet e outro dispositivo na WEB.

Alguns Switchs de hoje, já atuam na 3ª camada, ou seja, eles são capazes de trabalhar com endereços IP usando de referência o MAC da Ethernet, transformando frames em pacotes e os despachando ao seu destino corretamente.

Introdução - MAC Flood

Os ataques de MAC Flooding usam um conceito bastante simples: enviar milhares de pacotes adulterados para um Switch (que tem uma memória de armazenamento finita), logo um número grande de requisições inválidas faz com que o Switch sobreponha os números válidos e tenha duas opções, ignorar completamente a tabela e replicar os pacotes (sinais elétricos, frames) para toda rede, transformando-lhe num simples Hub, ou simplesmente, parar o serviço por completo!

Isso mesmo! Mas a maioria dos fabricantes utilizam-se da primeira opção, pois um Switch que não funciona, nunca sairia dos depósitos das lojas. Isso favorece o atacante que, geralmente, visa comprometer a integridade da rede para obter informações ou, simplesmente, burlar alguma regra interna, ao invés de derrubar a rede.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Testando nossa teoria - Ferramenta macof
Outros artigos deste autor

Administrando Memória SWAP no GNU/Linux

Leitura recomendada

O MP3 player e o Ogg Vorbis

Criando um serviço de monitoramento de vídeo e detector de presença com sua WebCam no Linux

Ajustando o desempenho de discos rígidos

Como instalar um display LCD em seu servidor Linux

Utilizar cabo de dados USB LG MG105 (Vibecam) no Linux

  
Comentários
[1] Comentário enviado por cruzeirense em 13/09/2013 - 09:42h

Muito bom artigo, uniu bem a teoria e a pratica. Parabéns...

[2] Comentário enviado por Buckminster em 13/09/2013 - 11:47h

"Os ataques de MAC Flooding usam um conceito bastante simples: enviar milhares de pacotes adulterados para um Switch (que tem uma memória de armazenamento finita), logo um número grande de requisições inválidas faz com que o Switch sobreponha os números válidos e tenha duas opções, ignorar completamente a tabela e replicar os pacotes (sinais elétricos, frames) para toda rede, transformando-lhe num simples Hub, ou simplesmente, parar o serviço por completo! "

É assim também em Switchies gerenciáveis?

Bom artigo, parabéns.

[3] Comentário enviado por px em 13/09/2013 - 15:45h


[2] Comentário enviado por Buckminster em 13/09/2013 - 11:47h:

"Os ataques de MAC Flooding usam um conceito bastante simples: enviar milhares de pacotes adulterados para um Switch (que tem uma memória de armazenamento finita), logo um número grande de requisições inválidas faz com que o Switch sobreponha os números válidos e tenha duas opções, ignorar completamente a tabela e replicar os pacotes (sinais elétricos, frames) para toda rede, transformando-lhe num simples Hub, ou simplesmente, parar o serviço por completo! "

É assim também em Switchies gerenciáveis?

Bom artigo, parabéns.


Então Buck os Switch em geral quando mal configurados (ou quase não configurados) ficam bastante a merce desses "ataques" até na sua própria rede interna, como disse no final tem algumas escapatórias, caso o aparelho apresente esses recursos (infelizmente não pude testa-los em minha rede), os gerenciáveis como você disse, contam com mais recursos ainda, o que nos possibilita uma melhor configuração/adaptação da rede em questão, para se evitar tais transtornos, como os Ciscos que friso que possuem uma boa qualidade nessa área em geral.

[4] Comentário enviado por leonardoortiz em 14/09/2013 - 09:49h

"Os ataques de MAC Flooding usam um conceito bastante simples: enviar milhares de pacotes adulterados para um Switch (que tem uma memória de armazenamento finita), logo um número grande de requisições inválidas faz com que o Switch sobreponha os números válidos e tenha duas opções, ignorar completamente a tabela e replicar os pacotes (sinais elétricos, frames) para toda rede, transformando-lhe num simples Hub, ou simplesmente, parar o serviço por completo! "


Achei meio estrnho essa explicação :/
O MAC Flood envia vários pacotes invalidos COM endereços fisicos alatórios(tanto de origem quanto destino), o swith pega e armazana esses MAC's em sua tabela CAM(tabela de mac's), a tabela CAM de um swith tem um limite, estourando esse limite acontece o que vc comentou ali. Um swtich 3com 4210 por exemplo, tem o limite de 8192 MAC's.
Segue algumas imagens que tirei como exemplo, fique a vontade para publica-las caso deseje:

Tabela CAM antes de um ataque:
http://s9.postimg.org/na5ht2ei7/Sem_t_tulo.jpg

Tabela CAM após o ataque:
http://s23.postimg.org/u9bjoymt7/Sem_t_tulo3.jpg
Fiquei menos de 10 segundos executando o macof(lol)

Estatisticas de uma tabela de mac's de um switch dps de um ataque:
http://s23.postimg.org/jqglwwqgr/Sem_t_tulo5.jpg


No mais, parabéns pelo artigo.

[5] Comentário enviado por px em 14/09/2013 - 23:32h


[4] Comentário enviado por leonardoortiz em 14/09/2013 - 09:49h:

"Os ataques de MAC Flooding usam um conceito bastante simples: enviar milhares de pacotes adulterados para um Switch (que tem uma memória de armazenamento finita), logo um número grande de requisições inválidas faz com que o Switch sobreponha os números válidos e tenha duas opções, ignorar completamente a tabela e replicar os pacotes (sinais elétricos, frames) para toda rede, transformando-lhe num simples Hub, ou simplesmente, parar o serviço por completo! "


Achei meio estrnho essa explicação :/
O MAC Flood envia vários pacotes invalidos COM endereços fisicos alatórios(tanto de origem quanto destino), o swith pega e armazana esses MAC's em sua tabela CAM(tabela de mac's), a tabela CAM de um swith tem um limite, estourando esse limite acontece o que vc comentou ali. Um swtich 3com 4210 por exemplo, tem o limite de 8192 MAC's.
Segue algumas imagens que tirei como exemplo, fique a vontade para publica-las caso deseje:

Tabela CAM antes de um ataque:
http://s9.postimg.org/na5ht2ei7/Sem_t_tulo.jpg

Tabela CAM após o ataque:
http://s23.postimg.org/u9bjoymt7/Sem_t_tulo3.jpg
Fiquei menos de 10 segundos executando o macof(lol)

Estatisticas de uma tabela de mac's de um switch dps de um ataque:
http://s23.postimg.org/jqglwwqgr/Sem_t_tulo5.jpg


No mais, parabéns pelo artigo.


Valeu, mas pra min você disse o mesmo que eu, só que com outras palavras...

[6] Comentário enviado por nicolo em 16/09/2013 - 13:24h

o Artigo é nota dez, já está nos favoritos, mas só uma observação:

A rede que sustenta a informática está se tornando cada vez mais o caminho do banditismo, desde roubos de cpf, roubos de senhas, ataques a bancos, comunicação do terror e espionagem dos anjinhos americanos.

Se continuar assim, vai espantar as pessoas de bem e então se aplicará o teorema das batatas:

"De uma cesta de batatas, quando se retiram as boas, só ficam as batatas podres."


[7] Comentário enviado por px em 16/09/2013 - 19:03h


[6] Comentário enviado por nicolo em 16/09/2013 - 13:24h:

o Artigo é nota dez, já está nos favoritos, mas só uma observação:

A rede que sustenta a informática está se tornando cada vez mais o caminho do banditismo, desde roubos de cpf, roubos de senhas, ataques a bancos, comunicação do terror e espionagem dos anjinhos americanos.

Se continuar assim, vai espantar as pessoas de bem e então se aplicará o teorema das batatas:

"De uma cesta de batatas, quando se retiram as boas, só ficam as batatas podres."



Valeu pelo apoio, mas não é culpa da rede esses roubos de cpf, ataque a bancos... e sim das pessoas que fazem os ataques, nenhum computador se programa sozinho...

E principalmente culpa das pessoas que não se protegem desses ataques, pois não é difícil conseguir se safar, usar uma senha de 15 dígitos com caracteres especiais e números aleatórios não é nada de mais, comprar em sites seguros também, fora que a maioria dos ataques a banco, devem-se a própria sociedade e sua supervalorização da moeda de papel, e criminalização/descriminação das minorias assim como antigamente, só que hoje em vez de capataz, somos escravos do sistema e de suas leis que favorecem à poucos no poder.

[8] Comentário enviado por thyagobrasileiro em 20/09/2013 - 06:51h

Como vc mesmo disse, "Tudo depende dos Recursos", Existem Switchs com muita memoria para armazenar um grande volume de dados na tabela CAM.

Alguns recursos observados num 3COM Baseline Switch 2226-SFP Plus, Foram:
- ACL
- QoS em cada porta
- Demais meios de Autenticação como 802.1x (http://pt.wikipedia.org/wiki/IEEE_802.1X)

Parabens pelo artigo.

[9] Comentário enviado por px em 05/10/2013 - 10:11h


[8] Comentário enviado por thyagobrasileiro em 20/09/2013 - 06:51h:

Como vc mesmo disse, "Tudo depende dos Recursos", Existem Switchs com muita memoria para armazenar um grande volume de dados na tabela CAM.

Alguns recursos observados num 3COM Baseline Switch 2226-SFP Plus, Foram:
- ACL
- QoS em cada porta
- Demais meios de Autenticação como 802.1x (http://pt.wikipedia.org/wiki/IEEE_802.1X)

Parabens pelo artigo.


Exatamente! ainda como disse, tem Switchs que aplicam um limite de entrada/requisições na CAM table, uma proteção básica/miníma que deveria ser a padrão em qualquer dispositivo.

OBS: pena que isso não acontece, só fabricantes de produtos "top de linha" implementam isto, em alguns modelos mais caros.

[10] Comentário enviado por marcosrodrigues em 06/10/2013 - 19:58h

Testei e o comando funcionou perfeitamente !
Realmente para geral a rede.

[11] Comentário enviado por pietro_scherer em 04/02/2015 - 17:35h

Muito legal o artigo. Parabéns!

[12] Comentário enviado por removido em 05/06/2015 - 02:22h

ADD+ Parabéns.
Só não sei se funciona prá IPv6.
--
Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts