Sociálne siete

SecIT.sk na Facebooku SecIT.sk na Google+ SecIT.sk na Twitteri

Podporte nás


V prípade, že Vám obsah nášho portálu niekedy nejakým spôsobom pomohol, či bol pre Vás prínosom prosím podporte jeho chod ľubovoľnou čiastkou. Ďakujeme!

Štítky

Vyhľadávanie

You are here

Domov
Upozornenie: Obsah je licenčne chránený a bez písomných súhlasov autora článku a vlastníka webovej stránky nesmie byť v žiadnej forme ďalej kopírovaný a šírený v pôvodnom, či v akokoľvek upravenom stave.

Bezpečnosť na LAN pod lupou: Port stealing a MAC flooding

V tejto časti sa zameriame na ďalšie dva populárne, no zároveň veľmi nebezpečné MITM útoky vyskytujúce sa v rámci lokálnych sieti. Pôjde o „ukradnutie portu na prepínači“ a o zaplnenie jeho CAM tabuľky. Pre plné pochopenie článku je potrebné naštudovať si teóriu z minulej časti.

Upozornenie: Všetky publikované informácie a postupy slúžia výhradne na študijné účely, prevádzané len na sieťach, ktoré patria pod vaše vlastníctvo, ak týmto konaním priamo, či nepriamo nezasiahnete ich používateľov. Vykonávanie týchto postupov na sieťach s reálnou prevádzkou môže byť ilegálne a v každom prípade ide o amorálne počínanie. Autor článku nenesie žiadnu zodpovednosť za škody, ktoré môžu vzniknúť v dôsledku realizácie týchto postupov.

Port stealing

Tento útok útočníci vykonávajú za rovnakým účelom ako ARP cache poisoning. Snažia sa získať dáta, ktoré im neparia a to štýlom sledovania sieťovej prevádzky. Útok však spočíva v „kradnutí“ portov na prepínači (switchi).

Základnou požiadavkou je, aby útočník poznal MAC adresu obete, to však nie je ťažké v rámci LAN siete zistiť, napr. ARP pingom. Následne musí zmiasť switch resp. pozmeniť záznamy v jeho CAM tabuľke. Pri tomto útoku sa už vyžaduje prepnutie sieťovej karty útočníka do promiskuitného režimu.

Princíp

Switch sa zvyčajne učí, ktorý port prislúcha akej MAC adrese počas bežnej prevádzky. Z rámca prichádzajúceho na určitý port, vyberie zdrojovú MAC adresu a zapíše si ju do CAM tabuľky k tomuto portu. Pokiaľ nebude v rámci prichádzajúcom z toho istého portu iná MAC adresa stále predpokladá, že za daným portom sa nachádza pôvodná stanica.

Útočník pošle na prepínač rámec, kde upraví zdrojovú MAC adresu na MAC adresu obete. Ako cieľovú uvedie svoju MAC adresu. Switch následne poopraví CAM tabuľku, podľa zdrojovej MAC adresy si bude myslieť, že obeť je pripojená k portu, za ktorým je v skutočnosti útočník. A keďže cieľová MAC adresa rámca sa nachádza na tom istom porte, rámec nebude odoslaný ďalej. Cieľová adresa môže byť nastavená aj na broadcast, čo útočník využije vtedy, ak je v sieti viac prepínačov a obeť je pripojená na niektorom ďalšom z nich.

Následne, ak prepínač pošle obeti akýkoľvek rámec dostaneme ho útočník. Ten ho môže ľahko analyzovať, pozmeniť, ale v každom prípade by ho mal opäť preposlať obeti. Aby to bolo možné musí znova prísť k oprave CAM tabuľky switcha. Útočník musí prestať posielať rámce so sfalšovanou zdrojovou MAC adresou. Po ukončení odošle paket ARP request a obeť by mala odpovedať paketom ARP reply. Switch logicky opäť poopraví svoju CAM tabuľku, obeti priradí správny port. Keď dorazí ARP reply paket od obete cez switch k útočníkovi, ten už má potvrdenú opravu CAM tabuľky a môže jej odoslať zachytené rámce. Následne tento postup opakuje.




Situácia na sieti pred a po útoku Port stealing.

Celý útok prináša aj nevýhody. Okrem nutnosti aktivácie promiskuitného módu, je tu riziko, že ak pošle obeť akýkoľvek rámec počas samotného trvania útoku rýchlejšie ako útočník, CAM tabuľka sa pozmení. Útočník tak musí zahlcovať sieť falošnými rámcami vo vysokej intenzite, ale aj vo veľmi krátkych časových intervaloch. Pravdepodobne však o isté rámce príde tým, že CAM tabuľka sa nestihne rýchlo upraviť v jeho prospech.

Príklad

Zariadenie Označenie Port MAC adresa
Switch SW1 - -
Obeť PC1 port1 MAC1
Útočník PC2 port2 MAC2

Počiatočný stav CAM tabuľky:
Port 1 Port 2
Označenie obeť, PC1 útočník, PC2
MAC adresa MAC1 MAC2

CAM tabuľka po útoku:

Port 1 Port 2
Označenie obeť, PC1 obeť, PC2
MAC adresa MAC1 (v skutočnosti však útočník, MAC2)

Rámec počas útoku:
zdrojová MAC adresa: MAC1
cieľová MAC adresa: MAC2

Detekcia

Tento útok možno detegovať pasívnym sledovaním sieťovej prevádzky, veľkým množstvom ARP request paketov, ktoré sa dotazujú na preklad rovnakej IP adresy. Ak však útočník útočí na počítač pripojený k inému prepínaču, okrem spomínaných ARP request paketov možno zachytiť aj rámce určené priamo ku „krádeži“ portu. Zdrojovou MAC adresou bude v tomto prípade MAC adresa obeti. Na manažovateľných prepínačoch je možné port stealing detegovať aj vypísaním CAM tabuľky.

Obrana

Obrana proti tomuto sieťovému útoku je možná iba na prepínači. Tieto bezpečnostné funkcie ponúkajú len drahšie manažovateľné switche. Využíva sa technika DHCP Snoopingu a Port Security. DHCP Snooping tabuľka zaistí zahodenie rámcov, ktorých MAC a IP adresa sa nezhoduje s jej záznamami. A tak sú rámce s podvrhnutými MAC adresami jednoducho blokované. Zabezpečeniu Cisco prepínačov sa budeme venovať v osobitom článku.

Praktické prevedenie

K praktickému prevedeniu použijeme opäť program Ettercap. Po vykonaní všeobecných krokov, ktoré boli popísané v minulom článku spustíme konkrétny útok. V zozname staníc Targets - Current Targets, tabuľka Targets 1 pridáme obete. Potom cez menu Mitm - Port stealing zvolíme útok. V nasledujúcom dialógovom okne sú dve možnosti, zväčša zvolíme prvú a to Sniff remote connections. Pokiaľ je na lokálnej sieti viac prepínačov a naša obeť sa nachádza niekde za nimi aplikujeme voľbu Propagate to other switches. Pokiaľ ešte nie je spustený sniffing, treba tak spraviť Start - Start Sniffing.

Simulácia na virtuálnej sieti

Pre názornosť sme opäť previedli simuláciu na virtuálnej sieti. Počas priebehu simulácie sme použili 3 virtuálne počítače (VmWare) a switch pomocou programu GNS3. Podobne ako v minulom článku na jednom z počítačov bežal webový server a FTP server. Obeť pristupovala rovnako k webovej aplikácií a FTP serveru. Simulácia sa viaže na vyššie spomenutý postup, všetky MAC adresy sú fiktívne. Znázornenie použitých zariadení sa nachádza v tabuľke.

Počítač IP adresa MAC adresa Port Operačný systém Úloha Nástroje
PC1 192.168.1.1 000C-2967-B68C 3 Windows XP brána, server webová aplikácia, FTP server
PC2 192.168.1.2 000C-292A-A53F 1 Windows XP obeť prehliadač, FTP klient
PC3 192.168.1.3 000C-2952-4593 2 BackTrack 5 útočník Ettercap, Wireshark

Funkciu serveru N1 prevezme ďalej PC1.

Pred samotným zahájením útoku je podoba CAM tabuľky prepínača v tomto stave:



Ettercapom zahájime útok:



Vo Wiresharku môžeme sledovať obrovské množstvo ARP paketov:



CAM tabuľka prepínača sa zmenila:



Vo výsledku máme opäť potrebné dáta. Po ukončení útoku Ettercap navráti CAM tabuľke pôvodný rozmer.



MAC flooding

Účel tohto útoku je rovnaký, ako účel oboch predchádzajúcich.

Princíp

Princípom útoku je zaplniť CAM tabuľku prepínača odosielaním veľkého množstva rámcov. Ak totiž switch nemá v CAM cieľovú MAC adresu odošle rámec na všetky porty. CAM tabuľka switcha má obrovskú kapacitu, zvyčajne obsahuje miesto pre tisíce položiek. Po zaplnení CAM tabuľky sa najčastejšie switch prepne do stavu, v ktorom sa správa ako HUB. Začne tak odosielať všetky prichádzajúce rámce na všetky porty, okrem tých, z ktorých prišli. Útočník potom už vďaka promiskuitnému režimu svojej sieťovej karty ľahko zachytí cudzie rámce, pomocou nástrojov určených na sniffing, ako Wireshark. Často sa však vyskytuje jav, keď už existuje pre nejakú legitímnu MAC adresu v CAM tabuľke záznam. V tomto prípade zvyčajne rámce určené pre túto MAC adresu poputujú len na jeden a to správny port, útočník tak o túto sieťovú prevádzku príde.

Položky v CAM tabuľke vydržia iba určitú (krátku) dobu. Útočník tak musí rýchlo zaplniť uvoľnené miesta v tabuľke. Môže sa však stať, že nejaký iný počítač bude rýchlejší a zaplní miesto ešte pred ním. V takom prípade stratí kontrolu nad komunikáciou smerujúcou k tomuto počítaču.

Záplavové rámce môžu mať zdrojovú a cieľovú MAC adresu generovanú spolu s IP adresami náhodne. Prepínač vyhotoví pre náhodne vygenerovanú MAC adresu záznam a rámec poputuje na všetky porty, pretože cieľovú MAC adresu prepínač nepozná. Takto útočník ľahko otrávi CAM tabuľky všetkých prepínačov na lokálnej sieti. Pokiaľ nastaví v rámcoch cieľovú MAC adresu na svoju a zdrojová sa bude naďalej generovať náhodne, switch spraví záznam v CAM tabuľke, no zistí, že príjemca je na rovnakom porte ako odosielateľ a rámec ďalej nepošle. Ďalších prepínačov sa tak útok nedotkne.




Odosielanie dát pred a po útoku.

Detekcia

Útok možno detegovať najlepšie a najspoľahlivejšie vypísaním CAM tabuľky na manažovateľných prepínačoch. Detegovať ho však možno tiež pasívnym monitorovaním siete, pri prepnutí sieťovej karty do promiskuitného režimu. Pripojení však musíte byť na rovnaký switch ako útočník. Ak zaregistrujete príjem rámcov, ktoré sú určené iným MAC adresám, ako je tá vaša, ide s vysokou pravdepodobnosťou o MAC flooding. Tento spôsob detekcie je možný až vtedy, keď je už CAM tabuľka zaplnená. No v prípade ak prebieha útok na všetky prepínače nachádzajúce sa v rámci lokálnej siete, dá sa pasívnym odposluchom detegovať aj pred samotným zaplnením CAM tabuľky. Spoznali by ste ho prijímaním veľkého množstva rámcov s inými cieľovými MAC adresami.

Obrana

Obrana je opäť možná iba na manažovateľných switchoch, prevádza sa v podstate rovnako ako bolo spomenuté pri Port stealingu.

Praktické prevedenie

Na prevedenie tohto útoku sa dá použiť aplikácia Macoff, súčasť nástroja Dsniff. Útok sa dá riadiť parametrami, bez ich použitia program generuje MAC aj IP adresy náhodne. Počas práce tejto aplikácie si pustíme analyzátor sieťovej prevádzky Wireshark a ak je naša sieťová karta v promiskuitnom móde uvidíme cudzie rámce. Spolu s týmito rámcami však uvidíme aj množstvo rámcov programu Macof, ideálne je ich vo Wiresharku hneď filtrovať. Množstvo vygenerovaných záplavových rámcov je závislých od výkonu počítača.

Simulácia na virtuálnej sieti

Útok je veľmi závislý od používaného prepínača na vašej lokálnej sieti. Každý switch sa pri MAC floodingu môže správať trocha inak. Ide najmä o odosielanie rámcov po zaplnení CAM tabuľky.

Topológia testovacej siete je v tomto prípade rovnaká ako pri Port stealingu a rovnaký by mal byť aj výsledný efekt.




Program Macof generuje rámce s náhodnými adresami.

Rámce možno zachytiť i vo Wiresharku:



CAM tabuľka prepínača sa zapĺňa fiktívnymi, náhodne vygenerovanými MAC adresami:



Záver

Môžeme vidieť, že oba spomínané útoky - Port stealing i MAC flooding majú po úspešnom aplikovaní veľmi podobný efekt ako ARP cache poisoning. Port stealing a MAC flooding však z pohľadu útočníka disponujú výhodou v ťažšej detekcii a je oveľa komplikovanejšie i nákladnejšie praktizovať voči nim účinnú obranu. Proti týmto dvom útokom sa nemožno chrániť inak, ako na manažovateľnom prepínači. Na bežných lokálnych sieťach, kde sa zväčša nepoužívajú tieto citeľne drahšie prepínače, v podstate nemožno ich prevedeniu nijako zabrániť. Ideálne je na zmiernenie negatívneho dopadu šifrovať dátovú komunikáciu použitím protokolov SSL a SSH. Útočník tak síce prevádzku zachytí, no bude šifrovaná, a tak nebude môcť spracovať údaje, ako prihlasovacie mená a heslá. Drvivej väčšine útočníkov tak kvalitné šifrovanie sieťovej komunikácie znemožní odposuch lokálnej siete.


Podporte nás


Páčil sa Vám tento článok? Ak áno, prosím podporte nás ľubovoľnou čiastkou. Ďakujeme!


Security-portal.cz Hoax.cz Soom.cz