Esse post ensina a basicamente cometer um ato de vandalismo. Então seja responsável e, caso faça isso em alguma rede que não lhe pertença, esqueça que foi esta postagem que te ensinou. E, claro que preciso dizer, esse conhecimento que passo agora deve ser usado para fins pacíficos e tem a intenção de mostrar como se proteger ao exibir a forma que ocorre o ataque. Blá, blá, bla.
Então vamos lá.
Antes de tudo, o que é o DHCP?
Agindo na camada de aplicação do TCP/IP, o Protocolo de Configuração Dinâmica de Endereços de Rede (em inglês Dynamic Host Configuration Protocol, formando a sigla DHCP) é responsável pela distribuição automática e gerência de endereços ip em uma rede.
De uma forma simplificada, pode-se dizer que o seu funcionamento consiste nessas etapas:
1. Determinado computador é ligado dentro da rede e precisa de um endereço ip válido e único e outras informações para poder se comunicar (estamos supondo que suas configurações de IP não são estáticas e que, claro, há um servidor DHCP na rede). Então essa máquina irá enviar um pacote DHCPDISCOVER do tipo UDP em broadcast (todos na rede recebem, mas apenas o servidor responde).
2. O servidor DHCP responde com um pacote DHCPOFFER que oferece ao cliente um determinado ip e outras informações como máscara e gateway.
3. Então, um DHCPREQUEST é enviado ao servidor pelo cliente com a função de comunicar que aceita o ip e as informações oferecidas pelo servidor.
4. Enviando um pacote DHCPACK como resposta, o servidor confirma e atribui o determinado endereço ip ao endereço MAC do cliente.
Tentei não entrar em tantos detalhes e acabar fugindo do ponto central, mas se quiser saber mais, segue alguns links: http://support.microsoft.com/kb/169289/pt-br http://www.rnp.br/newsgen/9911/dhcp.html
Agora vamos entender como funciona esse ataque de negação de serviço que é conhecido como DHCP Starvation.
Como em computação a criatividade não tem limites, alguém pensou: “se o servidor DHCP atribui um ip a cada endereço MAC diferente, o que aconteceria se, usando vários endereços MAC (MAC Spoofing), eu enviasse toneladas de requisições fazendo com que o servidor atribua vários ips a endereços MAC fantasmas?”
Esse alguém que pensou nisso foi lá e fez. E viu o servidor DHCP ficar saturado e sem nenhum endereço ip disponível para atribuir a clientes que fizessem requisições legítimas.
E ninguém mais conseguiu se conectar a rede enquanto esse alguém continuou com o ataque.
Agora vamos ver na prática usando a ferramenta Yersinia (já incluida no Kali Linux) que permite cometer um ataque desse tipo com poucos cliques no mouse. Hora de descrever os passos no estilo receita de bolo:
1. Após instalado, inicie o Yersinia com o comando yersinia -G.
2. É isso aí, há até uma interface gráfica. Coisa de criança.
3. Agora basta clicar em Launch Attack, DHCP e selecionar a opção sending DISCOVER packet.
4. Clique em OK e observe a quantidade absurda de pacotes enviados. Essa é a hora que o servidor DHCP deve estar enlouquecendo e não conseguindo atender as requisições de outros usuários da rede.
5. Clicando em List Attacks você terá a opção de para-lo.
6. Beba uma cerveja.