STP (Spanning Tree Protocol) slúži na zabránenie vzniku slučky na druhej vrstve RM OSI. Tento protokol vytvorí zo switchov topológiu, v ktorej najdôležitejší bod je tzv. root bridge. V tomto článku si ukážeme STP útok, ktorý kompromituje topológiu tak, aby sa týmto root bridge stal útočníkov počítač.
Voľba root bridge
Switch, ktorý prevezme rolu Root bridge sa volí na základe hodnoty Bridge ID, pričom vyhráva zariadenie s najnižšou hodnotou. Hodnota Bridge ID sa určí na základe hodnoty Bridge priority (default 32768) + MAC adresy switcha (unikátna hodnota). Inými slovami, ak chce administrátor explicitne určiť, ktorý switch v sieti bude zastávať rolu Root bridge, nastaví Bridge priority na čo najnižšiu hodnotu. Ak by bola hodnota Bridge priority na všetkých switchoch rovnaká, rozhodne sa na základe MAC adresy.
Najnižšia možná hodnota Bridge priority je 4096 a môžeme ju nastaviť iba v ďalších násobkoch 4096, čiže 4096, 8192, 12288 atď. V Našom prípade nakonfigurujeme hodnotu Bridge priority na 4096.
SW1-NETVEL(config)#spanning-tree vlan 10 priority 4096
Keďže používame STP verziu PVST+, k výslednej hodnote Bridge priority sa pripočíta aj číslo VLAN. V našom prípade Bridge priority = 4096 +10 = 4106 . Na obrázku nižšie vidíme, že switch SW1-NETVEL sa vďaka tomu stal Root bridge.
STP útok – spustenie
Pointa STP útoku spočíva v tom, že zmanipulujeme Root bridge tak, aby si myslel, že útočná stanica má nižšiu hodnotu Bridge ID. 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 STP:
spustíme útok: Launch attack -> Claiming Root Role
vypneme útok: List attacks -> Cancel attack
Ak si na switchi zapneme debug, uvidíme, ako switch vyhodnotil útočnú stanicu za Root bridge. Útočná stanica podhodila rovnakú hodnotu Bridge ID (4106), avšak, prezentuje sa s nižšou MAC adresou. Originálny switch má hodnotu 00:14:69:86:94:00, ale útočná stanica sa prezentuje hodnotou 00:14:69:85:94:00. V tejto chvíli sa útočná stanica stala Root bridge.
Ako sa brániť proti STP útoku
Našťastie, túto zraniteľnosť vieme ošetriť. Slúži na to feature zvaná Root Guard. Keď ju povolíme na porte, switch nikdy nevyhodnotí tento port, ako cestu k Root bridge. Ide o odporúčané nastavenie napríklad pre porty, kam sa pripájajú užívatelia, servery, alebo iné periférne zariadenia. Podrobnosti o tejto feature nájdete tu.
Ak zapneme debug a port máme ošetrený, uvidíme, ako bude prevádzka cez tento port pozastavená.
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.