DHCP starvation

A cura di: Alessandro Molinari (team hackerhood)

Premessa: Il “DHCP starvation attack” è un pericolo reale per la nostra rete. 

Capire come un attaccante possa “ingannare” il server DHCP al fine di obbligare i clients a connettersi ad un punto di accesso malevolo è importante al fine mantenere sicura la rete.

Spiegheremo in questo breve articolo le basi del DHCP e dimostreremo come avviene un attacco  “starvation” utilizzando Yersynia per questo semplice ma potente attacco e Wireshark per l’analisi dei pacchetti e come proteggersi da esso.

Il nostro DHCP sarà una macchina “zeroshell” ed ovviamente Kali sarà l’attaccante. 

D.O.R.A.

Quando un client si connette alla rete per poter comunicare ha bisogno di un indirizzo ip che il server DHCP deve fornire (in ambiente domestico normalmente il nostro router).

In linea generale la negoziazione avviene tramite la sequenza detta “DORE”, acronimo che denomina le fasi della richiesta e successiva assegnazione dell’indirizzo di rete.

Vediamo qui  la comunicazione tra DHCP client e server :

  1. DHCP Discover : Il client manda una richiesta di indirizzo IP al server.
  2. DHCP Offer: Il server risponde con  l’offerta di un  IP valido per il client, tale indirizzo fa parte di un pool di indirizzi prestabilito  da quale attingere .
  3. DHCP Request: Il client risponde al server che vorrebbe utilizzare l’indirizzo offerto
  4. DHCP Ack: il server comunica al cliente ed al resto dei dispositivi in rete che quel client da ora in poi userà quel determinato indirizzo.

Qui Zeroshell in grado di offrire una moltitudine si servizi di rete per il nostro laboratorio:

Qui prima dell’attacco, il nostro DHCP ha assegnato un solo indirizzo IP (in questo caso la macchina Kali).

 L’ATTACCO

Tramite il tool Yersynia è possibile inviare una grande quantità di DHCP Offer e se il server risponde assegnando ad ogni richiesta un IP valido, in poco tempo il pool di indirizzi liberi termina e di fatto rendendo impossibile la connessiona a qualsiasi altro nuovo client.

A questo punto un l’attaccante ha provocato un attacco Denial Of Service affliggendo quindi il lato  disponibilità  della triade della sicurezza informatica disponibilità confidenzialità integrità.

Il DHCP risponde ai pacchetti DHCP discover assegnando tutti gli IP disponibili del pool.

Questo tipo di attacco può essere ancora più distruttivo se l’attore malevolo offre a sua volta un server DHCP che distribuisce indirizzi IP  oltre a default gateway e DNS.

Se un client si connette infatti ad uno di questi IP il traffico viene filtrato per intero dalla macchina dell’attaccante permettendo di svolgere un attacco “On path” (precedentemente chiamato MITM –  Man In The Middle) affliggendo ora anche la confidenzialità.

MITIGAZIONE

Vi sono vari modi con cui mitigare questo tipo di attacco che dipendono anche dal tipo di ambiente in cui ci troviamo, le soluzioni adottabili in ambienti domestici o di piccoli uffici (chiamate S.O.H.O.) possono differire molto da quelle adottabili in ambito impresariale in cui i settaggi possono essere molto più complessi.

La cosa più semplice sarebbe chiaramente  assegnare solo IP statici ai dispositivi di rete di fatto non utilizzando il DHCP. 

Se questo non è possibile bisogna configurare sul nostro router  “DHCP Snooping” e/o “port security” tramite l’interfaccia web o tramite la riga di comando su router aziendali. 

Port security agisce limitando il numero di indirizzi MAC che si possono collegare ad una porta di rete ma di solito non è un’opzione disponibile in piccoli router commerciali.

Il DHCP snooping invece non fa affidamento sugli indirizzi MAC, ma determina se i messaggi DHCP provengano o meno da un dispositivo configurato come sicuro o meno, limitando il traffico DHCP proveniente dagli ultimi.

Tags:

Comments are closed