CDP flooding je DoS útok využívajúci zraniteľnosť protokolu CDP, ktorý je od výroby zapnutý na väčšine Cisco zariadení. Po spustení útoku sa vyťaží CPU cieľového zariadenia na 100%, čím sa znemožní jeho chod. Ukážeme si, ako sa dá tento útok zahájiť a ako sa proti nemu brániť.
CDP je Cisco proprietárny protokol. Slúži na získavanie informácií o priamo pripojených zariadeniach, ako verzia IOS, model, IP adresa a pod. Tieto správy sú nešifrované, takže ak ich niekto odchytí, môže zistiť spomínané informácie.
Útok, ktorý si popíšeme, využíva inú zraniteľnosť. Aby si zariadenia mohli vymieňať spomínané informácie, musia nadviazať CDP susedstvo. Ak však na zariadenie príde veľké množstvo požiadaviek o susedstvo naraz, vyťaží sa procesor a prestane zvládať bežné úlohy.
Bežná prevádzka zariadenia
Nižšie môžeme vidieť, ako vyzerá stav routra pred zahájením útoku. Router nemá nadviazané žiadne CDP susedstvá a keďže cez neho neprechádza žiadna produkčná prevádzka, procesor má vyťažený takmer na 0%.
R1-NETVEL#show cdp traffic
R1-NETVEL#show cdp neighbors
R1-NETVEL#show processes cpu sorted | i CPU utilization|CDP Protocol
R1-NETVEL#show processes cpu history
Spustenie CDP flooding
Použijeme nástroj Yersinia, ktorý sa nachádza na linuxovej distribúcii KALI, rovnako, ako v ostatných návodoch, kde sme sa venovali penetračnému testovaniu a etickému hackingu.
Yersiniu spustíme nasledovným spôsobom:
root@kali:~#yersinia -G
Po kliknutí na záložku CDP:
spustíme útok: Launch attack -> flooding CDP table
vypneme útok: List attacks -> Cancel attack
Keď sa vrátime späť na router, uvidíme, že router nadviazal množstvo falošných susedstiev, vďaka čomu má vyťažené CPU stropom. V tomto okamihu už nie je schopný zvládať bežné prevádzkové úlohy.
R1-NETVEL#show cdp traffic
R1-NETVEL#show cdp neighbors
R1-NETVEL#show processes cpu sorted | i CPU utilization|CDP Protocol
R1-NETVEL#show processes cpu history
Ako vidíme, protokol CDP obsahuje veľmi nebezpečné zraniteľnosti, takže sa odporúča tento protokol vypnúť vždy, ak je to možné.
Ak chceme CDP vypnúť na celom routri, môžeme to urobiť v globálnom konfiguračnom móde nasledovným spôsobom:
R1-NETVEL(config)#no cdp run
Ak potrebujeme, môžeme ho vypnúť iba na vybraných interfacoch.
R1-NETVEL(config)#int fa0 R1-NETVEL(config-if)#no cdp enable
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.