Ako oklamať router, aby neprideľoval zariadeniam IP adresy, čím sa úplne znefunkční pripojenie? Ide o DoS útok zvaný „DHCP starvation attack„. Ukážeme si, ako je možné ho spraviť a ako sa brániť.
DoS útok na DHCP server
DHCP je protokol, ktorý slúži na automatickú konfiguráciu zariadení. Typicky ide o koncové zariadenia ako počítač, telefón, alebo tlačiareň, ktoré vďaka DHCP dostanú pridelenú IP adresu, masku, default gateway, DNS a podobne.
Čo sa však stane, keď niekto zabráni tomu, aby tento mechanizmus fungoval? Nebude fungovať pripojenie v rámci siete, ani do internetu. Tento typ útoku nazývame DoS útok (Denial of Service attack).
Útok zvaný „DHCP starvation attack“ spočíva v tom, že každý DHCP server má presne definovaný a konečný počet IP adries, ktoré vie zariadeniam prideliť. Môže ísť napríklad o rozsah 192.168.0.0/24, čo predstavuje maximálne 253 použiteľných adries pre klientov.
Keď si však útočník jedným počítačom vypýta všetky voľné IP adresy, ktoré má server k dispozícii, tým, že podvrhne veľké množstvo falošných MAC adries, nebude mať server voľné IP adresy pre nové zariadenia.
Tento útok dokonca otvára hackerovi možnosť odpočúvať prevádzku. Po vyradení produkčného DHCP servera, môže jeho úlohy prevziať na seba. Tým vám môže podvrhnúť napríklad falošný DNS server. Vidíme, že ide o pomerne nebezpečný útok.
Simulácia útoku
Ukážeme si, ako jednoducho sa dá takýto útok realizovať. Na test použijeme Cisco router a notebook s linuxovou distribúciou KALI, ako v ostatných návodoch. Použijeme tool s názvom Yersinia.
Základná konfigurácia DHCP servera na CISCO routri
ip dhcp excluded-address 192.168.0.1 ! ip dhcp pool LAN network 192.168.0.0 255.255.255.0 default-router 192.168.0.1 dns-server 8.8.8.8
Po pripojení prvej stanice, vidíme jednu pridelenú IP adresu.
R1-NETVEL#show ip dhcp binding
Tiež vidíme malé množstvo DHCP requestov, ktoré prichádzajú na router.
R1-NETVEL#show ip dhcp server statistics
A iba jednu pridelenú IP adresu
R1-NETVEL#show ip dhcp pool
Zahájenie útoku
Použijeme nástroj Yersinia. Je možné pracovať aj cez CLI, ale v tomto prípade uprednostníme GUI, ktoré spustíme nasledovným príkazom.
root@kali:~#yersinia -G
Zapnutie útoku spočíva iba v jednoduchom preklikaní v grafickom rozhraní.
Zapnutie: Launch attack -> sending DISCOVER packet
Vypnutie: List attacks -> Cancel attack
Za okamih príde na DHCP server viac požiadaviek, ako dokáže obslúžiť a náš DoS útok je na svete.
R1-NETVEL#show ip dhcp binding
R1-NETVEL#show ip dhcp server statistics
R1-NETVEL#show ip dhcp pool
Ako vidíme, útok je pomerne jednoduchý, ale veľmi nebezpečný. Dá sa proti nemu brániť viacerými spôsobmi, ako napríklad tým, že obmedzíme počet MAC adries, ktoré prichádzajú z portov (port security), alebo ak chceme zabrániť tomu, aby nám útočník nepodvrhol vlastný DHCP server, môžeme implementovať DHCP snooping.
Ak vás tento článok zaujal a chcete dostávať mailovú notifikáciu, pri publikovaní podobných článkov o hackingu, sieťovej bezpečnosti, Linux serveroch, Cisco zariadeniach, či o programovaní, môžete sa prihlásiť na odber článkov.