Agora iremos falar a respeito da ferramenta
macof, ela é um port em
C da ferramenta original (desenvolvida em Perl) por
Ian Vitek.
Como o próprio nome já diz, trata-se de uma ferramenta que funciona em cima do protocolo ARP (MAC), mais precisamentei, ela utiliza-se de pacotes com números MAC geralmente inválidos, "dançando" em broadcast pela rede, com intenção de obter uma sobrecarga da memória do aparelho alvo, forçando um Switch a tornar-se um simples Hub, ou interromper o serviço de rede por completo, como já havíamos visto.
Ela pode ser obtida no pacote
dsniff da sua distribuição favorita, em geral, vem num pacote bem leve, que está junto de outras ferramentas muito interessantes, tais como o próprio
dsniff, tcpkill, e o
arpspoof. Podendo ser instalado facilmente via gerenciador de pacotes.
No
Arch Linux:
# pacman -S dsniff
Em distribuições
Debian, Ubuntu, entre outras:
# apt-get install dsniff
Ainda quem quiser compilar direto do código fonte, ou se informar mais sobre o projeto, o site fica em:
Para chamar o comando, insira no terminal, logado como root:
# macof
Ou, faça uso do
sudo:
sudo macof
Serão mostradas várias entradas referentes aos pacotes gerados pelo terminal, correspondentes às entradas saindo de sua placa de rede para a rede do dispositivo em questão, que serão lidas pelo Hub ou quaisquer dispositivos presentes em sua rede.
O tempo de resposta de sua internet e/ou de sua Ethernet, poderá sofrer grandes variações, por isso, pause os downloads e demais acessos importantes antes, ou faça o teste uma outra hora!
Este foi só um exemplo inicial usando os parâmetros básicos do programa, sem nenhuma opção setada, neste modo, a ferramenta utiliza valores completamente aleatórios, e os pacotes ficam em sua rede local. No final, há um ataque que disparo contra minha própria rede, usando algumas opções como portas específicas de HTTP e DNS, além das demais portas aleatórias.
Para se ver as opções do programa:
macof -h
Version: 2.4
Usage: macof [-s src] [-d dst] [-e tha] [-x sport] [-y dport]
[-i interface] [-n times]
-i <interface> :: define qual será a interface por onde serão enviados os pacotes.
-s <endereço IP> :: define qual será o IP de origem do pacote.
-d <endereço IP> :: especifica o endereço IP de destino.
-e <endereço Mac> :: permite que você diga qual será o endereço MAC de destino no pacote a ser gerado.
-x <porta> :: define a porta TCP de origem.
-y <porta> :: define a porta TCP de destino.
-n <número> :: especifica quantos pacotes serão enviados.
Obtenha mais informações na
man page do programa:
man macof
Cada caso será necessário observar a reação da rede, bem como fazer uso de mais opções no programa para se obter algum resultado. Todavia, caso houver instabilidade de rede, basta reiniciar o aparelho e ele estará de volta com a memória e tabelas normais prontas para uso.
* Aviso para não abusar desta ferramenta, faça seu uso com moderação e em ambientes controlados!
Obs.: tive que reiniciar meu modem umas três vezes para testar algumas variações deste comando descritas neste tutorial, sendo mais eficaz em IPs e portas nulas, ou em floods variados, como na screenshot do post a seguir:
As sínteses usadas em cada terminal, foram respectivamente:
# macof -i eth0 -n 1000000 -y 80
# macof -n 1000000 -y 53
# macof
# macof
Em míseros 35 segundos, meu modem viu a Internet deixar seu Hardware e a luz no fim do túnel chegava para ele, mas bastou reiniciar o mesmo e ele voltou à vida, como no filme de Frankenstein...
Perturbador, não é mesmo? Bom, vamos às possíveis soluções a seguir:
Algumas marcas que implementam um controle mais rígido do protocolo ARP, possuem maior segurança na administração da tabela MAC, tendo mais opções para utilizarmos.
Infelizmente, em meu aparelho não constava nenhuma medida que pudesse evitar este transtorno, e não pude testar sua eficácia, mas em marcas como a Cisco, algumas políticas podem ser usadas para evitarmos este tipo de falha, diversos materiais podem ser encontrados no site da empresa e na Internet em geral.
O Switch pode reagir de três maneiras (caso possua esta opção) a essa violação de segurança:
- Modo Protect: todos os pacotes vindos de estações com o endereço desconhecido, serão descartados até que você libere um número suficiente de endereços MAC seguros, ou aumente o número de endereços seguros permitidos. Neste modo, você não será notificado das violações de segurança.
- Modo Restrict: exatamente igual ao modo Protect. Porém, neste modo, você é notificado das violações de segurança. É enviada uma trap SNMP, uma mensagem ao syslog e o contador de violações e incrementado.
- Modo Shutdown: neste modo, uma violação de segurança muda o estado da porta para "error-disabled", o que desativa a porta (até os LEDs). Também envia uma trap SNMP, uma mensagem ao syslog e incrementa o contador de violações.
Fonte:
Mac Flooding – Entendendo melhor o ataque. « Vida TI
Quem se interessar em saber como evitar estes ataques nos aparelhos da Cisco, siga:
Referências