MAC flooding je útok, ktorým sa dá manipulovať správanie switcha tak, aby bolo možné odpočúvať prevádzku, ktorá cez neho prechádza. V tomto článku si ukážeme, ako takýto útok vyzerá a ako sa proti nemu efektívne brániť.
MAC flooding využíva zraniteľnosť, ktorá vyplýva zo základnej funkcionality switcha. Switch si zaznamenáva do tzv. CAM tabuľky MAC adresy zariadení, ktoré cez neho komunikujú a porty, z ktorých mu dané MAC adresy prichádzjú. Na základe tejto tabuľky sa switch rozhoduje, ktorým portom pošle prevádzku.
Zraniteľnosť spočíva v tom, že veľkosť tejto tabuľky je obmedzená. Akonáhle sa táto tabuľka naplní, nebude si mať kam zapisovať MAC adresy nových zariadení, ktoré sa pokúšajú o komunikáciu.
Následne sa switch začne voči tejto komunikácii správať ako ethernetový HUB, čiže ju začne preposielať na všetky fyzické porty. Útočník môže túto komunikáciu ľahko odchytiť a analyzovať jej obsah napríklad vo Wiresharku.
Na obrázku nižšie môžete vidieť, ako vyzerá CAM tabuľka switcha, do ktorého je pripojený jeden počítač. Posledná položka v tejto tabuľke hovorí, že zariadenie s MAC adresou 5c:26:0a:19:dc:c6, je dostupné cez port Fa0/1, patrí do Vlan1 a switch sa o tomto zariadení dozvedel dynamicky.
Na ďalšom obrázku vidíme, že switch pozná 1 MAC adresu (naša útočná stanica), ktorú sa naučil dynamicky a že má kapacitu 8189 vstupov.
MAC flooding – zahájenie útoku
Na zahájenie útoku MAC flooding použijeme nástroj MACOF, ktorý je súčasťou balíčku DSNIFF. Jeho súčasťou je napríklad aj nástroj ARPSPOOF, ktorý sa používa pri útoku ARP spoofing. Použijeme útočnú stanicu s operačným systémom KALI Linux, rovnako, ako v ostatných návodoch, kde sme sa venovali penetračnému testovaniu a etickému hackingu.
Port switcha, kde je pripojený náš počítač, z ktorého zahájime útok, nemá nastavenú žiadnu ochranu.
Útok spustíme nasledovným príkazom z CLI. Jediná premenná je názov portu, z ktorého budeme posielať útok. V našom prípade eth0.
#macof –i eth0
Ako vidíme, zaplnili sme celú CAM tabuľku a switch si už nemá kam zapisovať nové vstupy.
Keď si pozrieme tabuľku s MAC adresami, môžeme vidieť množstvo podhodených vstupov, ktoré prišli z portu fa0/1 od našej útočnej stanice.
Ako sa brániť proti MAC flooding útoku
Ukážeme si, ako konfiguračne ošetriť port switcha proti útoku MAC flooding. Aby sme odstránili túto zraniteľnosť, mali by sme na všetky porty, kde to dáva zmysel, definovať, koľko MAC adries môže z daného portu prichádzať a čo sa má stať, keď bude tento prah prekročený. Tieto možnosti sa môžu medzi jednotlivými výrobcami líšiť.
Takto môže vyzerať konfigurácia portu na Cisco switchi, ktorý je ošetrený proti útoku MAC flooding. Definovali sme, že z portu Fa0/1 môže prichádzať maximálne 5 MAC adries a keď tento prah bude prekročený, začne zahadzovať neželanú prevádzku. Viac informácii ohľadne konfigurácie tejto ochrany na Cisco switchi nájdete tu.
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.