Cílem této laboratorní úlohy je analyzovat zranitelnosti na úrovni linkové vrstvy referenčního modelu ISO/OSI a demonstrovat možná rizika a útoky.
V první části úkolu provedete s využitím vhodných nástrojů ve virtuálním stroji Kali Linux simulaci síťového útoku ARP spoofing. Během tohoto útoku se pokusíte podvrhnout falešné záznamy do ARP tabulky
klienta, přesměrovat síťovou komunikaci přes zařízení útočníka a analyzovat její obsah. Kromě samotné realizace útoku, při které si osvojíte práci s nástroji
arpspoof a Ettercap, se zároveň naučíte analyzovat a vhodně interpretovat zachycená síťová data
v prostředí síťového analyzátoru Wireshark. Následně implementujete ochranná opatření (statické ARP záznamy, monitorování ARP záznamů) a otestujete jejich účinnost.
V rámci tohoto laboratorního úkolu se seznámíte s protokolem ARP, který slouží k překladu logických adres zařízení na adresy fyzické. Následující část je zaměřena na problematiku bezpečnostních hrozeb na úrovni linkové vrstvy referenčního modelu ISO/OSI. Bude vysvětlen princip útoku ARP Spoofing, který si rovněž prakticky vyzkoušíte.
ARP protokol (z angl. Address Resolution Protocol) je protokol pracující na úrovni linkové vrstvy referenčního modelu ISO /OSI,který zajišťuje mapování (tzv. „preklad“) logické IP adresy zařízení na jeho fyzickou adresu (obvykle MAC adresu). Protokol ARP tedy slouží zařízením k vyhledání odpovídající adresy druhé vrstvy (tj. fyzické adresy) jiného zařízení na základě jeho síťové IP adresy (tj. adresy třetí úrovně). (viď [1] alebo [2])
Když zařízení potřebuje odeslat IP paket jinému uzlu ve stejné lokální síti, nejprve prostřednictvím ARP požadavku zjistí, jaká MAC adresa odpovídá požadované IP adrese. Po získání odpovědi odešle odesílatel ethernetový rámec s příslušnou cílovou MAC adresou, kterou mu zařízení sdělilo v odpovědi na ARP požadavek, a přenese ho na úrovni linkové vrstvy.
Protokol ARP má několik známých nedostatků, které jej činí zranitelným vůči různým typům síťových útoků. Mezi nejvýznamnější zranitelnosti ARP protokolu patří:
Každé zařízení v síti si ve své paměti udržuje aktivní tabulku obsahující záznamy o dvojicích odpovídajících si logických IP adres a fyzických (MAC) adres, tzv. ARP tabuľku (ARP cache). Záznamy v ARP tabulce mají obvykle krátkou životnost (např. 5 minut) a v definovaných intervalech se pravidelně aktualizujíPokud záznam v ARP tabulce není v daném časovém intervalu aktualizován, dochází k jeho trvalému odstranění z překladové ARP tabulky v paměti zařízení. . Záznamy o dvojicích IP adres a příslušných fyzických adresách jednotlivých zařízení v dané síti se do ARP tabulky ukládají buď automaticky na základě činnosti samotného ARP protokolu, nebo je možné potřebné informace do tabulky zadat ručně.
ARP zprávy jsou přenášeny na linkové vrstvě modelu ISO/OSI, tzn. nevyužívají žádný protokol vyšší vrstvy (IP nebo TCP) a jsou přímo zapouzdřeny do ethernetového rámce. Protokol ARP funguje nezávisle na vyšších vrstvách, a právě díky tomu mohou být ARP zprávy odesílány i v situaci, kdy zatím neznáme MAC adresu cílového zařízení – protože úvodní zpráva ARP Request, jak bude popsáno dále, je vysílána na všesměrovou (broadcastovou) MAC adresu v příslušné lokální síti.
Protokol ARP definuje dva základní typy zpráv:
Každá z těchto ARP zpráv (request alebo reply) obsahuje následující pole. Jejich struktura je schematicky znázorněna na obr. 1.
Zpráva ARP je následně na linkové vrstvě vložena do ethernetového rámce, přičemž pole EtherType je nastaveno na hodnotu 0x0806 – tím se identifikuje, že datová část rámce obsahuje ARP zprávu.
ARP spoofing je typ síťového útoku využívaný útočníky k přesměrování komunikace v rámci lokální sítě (LAN) prostřednictvím manipulace s ARP protokolem (Address Resolution Protocol). Tento
protokol slouží k mapování IP adres na fyzické adresy zařízení v rámci dané sítě. Útok ARP spoofing patří do skupiny tzv. MitM (
Základní princip ARP spoofingu spočívá v tom, že útočník po zachycení ARP Request žádostí od jiných zařízení rozesílá do sítě podvržené ARP odpovědi. V těchto odpovědích uvádí falešné mapování požadované
IP adresy na MAC adresu svého zařízení, čímž se vydává za důvěryhodný uzel (například za výchozí bránu nebo server). Cílové zařízení, které původní ARP žádost o mapování odeslalo, si následně tento podvržený údaj
uloží do své ARP tabulky – a veškerá další komunikace směřující na danou IP adresu je pak ve skutečnosti přesměrována na zařízení útočníka. Tímto způsobem může útočník komunikaci a zachytávat
a manipulovat síťový provoz.
Při útoku ARP spoofing útočník nejprve identifikuje cílová zařízení v síti, například klienta a výchozí bránu (gateway). Následně začne do sítě rozesílat podvržené ARP odpovědi, ve kterých informuje oběť (klienta), že jeho MAC adresa patří bráně, a zároveň druhému zařízení – tedy bráně – oznamuje, že jeho MAC adresa náleží klientovi. Tímto způsobem dochází k přesměrování veškeré síťové komunikace přes útočníkovo zařízení.
Pokud se útočníkovi podaří takto popsaný útok úspěšně realizovat, jeho zařízení se dostává do pozice MitM, tedy prostředníka, přes kterého je přeposílána veškerá legitimní komunikace mezi klientem a bránou.
Díky tomu je útočník schopen tuto komunikaci zachytávat, modifikovat nebo zcela blokovat. V závislosti na dalších použitých nástrojích může útočník dále například monitorovat přihlašovací údaje, odposlouchávat
nešifrovaná data, přesměrovávat probíhající datové přenosy na jiný cílový server nebo provádět útoky typu DoS (Denial of Service) s cílem narušit celkovou dostupnost sítě.
Útoky typu ARP spoofing lze do značné míry omezit, resp. zmírnit jejich dopad prostřednictvím implementace vhodných bezpečnostních opatření.
Jedním ze základních preventivních kroků je statické nastavenie ARP záznamov na důležitých zařízeních v síti, čímž se zabrání jejich přepsání v důsledku přijetí nevyžádaných ARP odpovědí
s falešně přiřazeným párem IP ↔ MAC adresa.
Mezi doplňková bezpečnostní opatření, která lze nasadit proti útokům typu ARP spoofing, patří mechanismus filtrování MAC adres, tzv. MAC filtering, a to především v menších nebo staticky konfigurovaných
sítích. Jedná se o bezpečnostní techniku, při níž síťové zařízení (například přepínač nebo směrovač) povoluje připojení pouze těm zařízením, jejichž MAC adresy jsou předem uvedeny v seznamu povolených. Tímto
způsobem lze zabránit neoprávněnému zařízení (například útočníkovi) v přístupu do sítě, čímž se snižuje riziko manipulace s obsahem ARP tabulek.
V síťové infrastruktuře podporující pokročilejší bezpečnostní funkce lze nasadit mechanizmus Dynamic ARP Inspection (DAI) na sieťových prvkoch (typicky prepínačoch), který bývá dostupný na síťových prvcích
(zejména přepínačích). Ten porovnává přijaté ARP odpovědi s databází důvěryhodných údajů a v případě nesouladu zablokuje podezřelý provoz, resp. povolí pouze odpovědi, které odpovídají známým a legitimním
záznamům.
Další možností je segmentace sítě a využití technologie VLAN, která umožní oddělení jednotlivých částí sítě a tím výrazně omezí působnost potenciálního útočníka v rámci konkrétního segmentu. Doporučuje
se rovněž nasazení nástrojů pro detekci podezřelé činnosti, mezi které patří například nástroj arpwatch, jenž dokáže správce sítě upozornit na náhlé změny MAC adres v ARP tabulkách. Pravidelné monitorování
a analýza síťového provozu pomocí nástroje Wireshark rovněž významně přispívá k rychlé identifikaci potenciálních hrozeb a nežádoucích událostí v síti.
Útok ARP spoofing není jedinou známou hrozbou, která se v počítačových sítích vyskytuje na úrovni linkové vrstvy. Existuje celá řada dalších typů útoků, které mohou být na této vrstvě provedeny. Níže jsou uvedeny některé z nich.
MAC Flooding je útok zaměřený na síťové přepínače (switche), jehož cílem je „zaplavení“ MAC tabulky přepínače velkým množstvím falešných MAC adres. Vzhledem k tomu, že přepínač má omezenou paměťovou kapacitu pro uložení záznamů mapujících MAC adresy na konkrétní porty, dojde při jejím překročení ke ztrátě původní funkčnosti přepínače. V takovém případě začne přepínač fungovat podobně jako hub – přijaté ethernetové rámce budou přeposílány na všechny porty. To umožňuje útočníkovi odposlouchávat síťový provoz a potenciálně získávat citlivé informace.
Vhodnou obranou proti tomuto typu útoku je nasazení a správná konfigurace mechanizmu Port Security na síťovém přepínači. Ta umožňuje omezit počet MAC adres, které mohou být aktivní na konkrétním portu, a definovat seznam povolených MAC adres, jejichž přítomnost na portu je považována za legitimní.
VLAN Hopping je typ útoku, který umožňuje útočníkovi neoprávněný přístup do jiných VLAN segmentů v rámci jedné fyzické sítě. VLAN (Virtual Local Area Network) je technologie umožňující logické oddělení síťového provozu – a to buď na jednom přepínači, nebo v rámci propojené infrastruktury více síťových prvků. Každá VLAN představuje samostatný logický segment, přičemž zařízení v různých VLAN spolu nemohou přímo komunikovat bez použití směrovače nebo jinak speciálně definovaných pravidel. VLAN se často používají za účelem zvýšení bezpečnosti, usnadnění správy sítě a rozdělení síťového provozu a zátěže, což umožňuje předcházet přetížení sítě nebo vzniku nežádoucí kolize.
Útok VLAN Hopping obchází tuto segmentaci a umožňuje útočníkovi komunikovat s VLAN, ke které by běžně neměl mít přístup. Během útoku dochází ke zneužití nesprávné konfigurace síťového přepínače, jehož úkolem je zajišťovat přenos dat mezi jednotlivými VLAN. VLAN Hopping může být proveden dvěma hlavními způsoby: switch spoofing, , kdy se útočník vydává za důvěryhodný, legitimní přepínač a tím získává přístup k více VLAN, a tzv. double tagging, při kterém útočník manipuluje se značkami VLAN (tzv. VLAN tagy) v hlavičce ethernetových rámců, což vede k tomu, že jsou pakety chybně přesměrovány do jiné VLAN.
Ochrana proti VLAN Hoppingu spočívá ve správné konfiguraci přepínačů, zákazu automatického vyjednávání trunkových spojení a omezení VLAN taggingu pouze na ověřená zařízení.
Spanning Tree Protocol (STP) je síťový protokol, jehož použití umožňuje zabránit vzniku síťových smyček v ethernetových sítích s redundantními spoji. Nesprávná konfigurace přeposílání rámců, v jejímž důsledku dochází k využívání záložních cest pro komunikaci, může vést k zahlcení sítě, opakovanému přeposílání paketů a celkově nežádoucímu ovlivnění komunikace v dané síti. Protokol STP umožňuje zařízením (přepínačům), aktivně identifikovat redundantní cesty v síti a dočasně deaktivovat některé porty, aby se zabránilo vzniku směrovacích smyček.
Protokol STP využívá pro výměnu informací mezi síťovými přepínači speciální zprávy nazývané BPDU (Bridge Protocol Data Unit). BPDU zprávy pomáhají určit hierarchii přepínačů a zvolit tzv. root bridge, tedy hlavní přepínač, který představuje referenční bod pro výpočet nejefektivnějších cest v síti s redundantními spoji a pro vytvoření tzv. páteřní sítě, sloužící k přenosu dat mezi uzly, a tím k eliminaci směrovacích smyček.
Útočník může tento mechanismus zneužít odesíláním falešných BPDU zpráv s nižší prioritou, v důsledku čehož bude jeho zařízení ostatními přepínači považováno za root bridge. Následně může ovlivnit strukturu páteřní sítě a docílit toho, že veškerá komunikace bude procházet jeho zařízením, čímž získá neoprávněnou možnost odposlouchávat, a případně i manipulovat s přenášenými daty. Kromě toho může útočník opakovaně měnit topologii sítě neustálým zasíláním podvržených BPDU zpráv, což může vést k narušení provozu, celkové nestabilitě sítě, častým změnám v propojeních mezi porty a v krajním případě až k fatálním výpadkům nebo úplnému přerušení síťové komunikace.
V rámci této laboratorní úlohy budou pro útok typu ARP spoofing a analýzu komunikace postupně využity následující nástroje:
Arpspoof je jednoduchý nástroj integrovaný v distribuci Kali Linux, který může být vhodným prostředkem pro realizaci útoku typu ARP spoofing. S pomocí tohoto nástroje lze docílit přesměrování síťového provozu (komunikace) mezi zařízeními v síti tím, že útočník předstírá identitu jiného zařízení (obvykle výchozí brány) a rozesílá falešné ARP odpovědi s cílem upravit záznamy v ARP tabulkách dotčených zařízení. Nástroj arpspoof může být využit pro testování zranitelností ARP protokolu a pro analýzu síťové komunikace.
V systému Kali Linux je nástroj arpspoof integrován jako součást balíčku dsniff. Instalace do prostředí Kali Linux se provádí následujícím příkazem:
Struktura příkazu nástroje arpspoof je následující:
kde přepínač -i specifikuje síťové rozhraní, které bude použito pro ARP spoofing (např. rozhraní eth0 u ethernetu), dále přepínač -t určuje IP adresu „oběti“, tj. cílového zařízení, jemuž má být odeslána falešná ARP odpověď. A poslední parametr host označuje IP adresu zařízení, vůči kterému útočník podvrhne falešné údaje, a jehož komunikaci chce na dané lince zachytit.
Příklad použitého příkazu pro simulaci útoku ARP spoofing:
což značí, že útok bude proveden na síťovém rozhraní eth0, přičemž falešné ARP odpovědi budou odesílány zařízení s IP adresou <cílová_IP> a útočník bude zachytávat komunikaci určenou pro výchozí bránu s IP adresou <IP_brány> dané (lokální) sítě.
Ettercap je komplexní nástroj taktéž obsažený v Kali Linux, vhodný pro analýzu síťového provozu a realizaci MITM útoků včetně útoku ARP spoofing. Nabízí širší spektrum funkcí než nástroj a umožňuje interaktivní sledování i manipulaci s pakety v reálném čase. Lze jej používat přes příkazovou řádku, nebo – výhodněji – pomocí uživatelsky přívětivého grafického rozhraní. Mezi hlavní funkce nástroje ettercap patří:
V praktické části této laboratorní úlohy budou použity oba výše uvedené nástroje pro simulaci útoku ARP spoofing. Zásadní rozdíly mezi nimi shrnuje následující tabulka:
| Funkce | arpspoof | ettercap |
|---|---|---|
| Úroveň komplexnosti | Jednoduchý nástroj vhodný pro simulaci útoku ARP spoofing. | Komplexní nástroj poskytující pestré možnosti, jako např.: analýza síťových parametrů, dostupnost zařízení, ... |
| Podpora filtrů | Ne | Ano |
| Grafické rozhraní | Ne | Ano |
| Typy útoků | Iba ARP spoofing | ARP spoofing, DNS spoofing, generování vlastních paketu, možnost neoprávněné manipulace s obsahem, ... |
Wireshark je jedním z nejpoužívanějších nástrojů pro zachytávání a analýzu síťových paketů. Používá se pro sledování probíhající datové komunikace s cílem diagnostiky problémů v síti, odhalování podezřelé aktivity a zkoumání možných bezpečnostních incidentů v monitorovaném síťovém prostředí. Tento nástroj umožňuje uživateli detailně sledovat síťovou komunikaci a analyzovat datové jednotky jednotlivých protokolů na všech vrstvách referenčního modelu ISO/OSI.
Pro účely této laboratorní úlohy bude nástroj Wireshark využit pro monitorování ARP komunikace, identifikaci podvržených ARP odpovědí během útoku ARP spoofing a pro ověření správnosti implementace ochranných opatření a posouzení jejich účinnosti vůči tomuto typu útoku.
Nástroj Wireshark umožňuje:
Wireshark je možné používat také v textové verzi zvané TShark, která umožňuje sledovat a analyzovat síťovou komunikaci přímo z terminálu v systému Kali Linux. Zde jsou uvedeny užitečné příkazy:
Pro potřeby této laboratorní úlohy bude použitá grafická verze nástroje Wireshark, která umožňuje využít všechny jeho funkcionality prostřednictvím uživatelského rozhraní. Podrobnější popis možností nástroje a jeho využití bude uveden později v praktické části tohoto návodu.
Nástroj ARPwatch slouží k monitorování změn a detekci anomálií v ARP tabulkách na síťových rozhraních zařízení a aktivních síťových prvcích. Umožňuje vytvářet upozornění (alerts) v případě výskytu nežádoucích nebo neočekávaných změn. Jeho použití je obzvlášť výhodné v prostředí s velkým množstvím zařízení, kde může být cenným nástrojem pro rychlou detekci potenciálních útoků typu ARP spoofing.
V rámci praktické části bude realizován útok typu MitM, konkrétně ARP spoofing. Simulovaný útok proběhne ve virtuální síti sestávající ze tří virtuálních strojů s Kali Linux (klient, server a útočník), jejíž topologie je schematicky znázorněna níže na obrázku. Komunikace mezi uvedenými virtuálními stroji probíhá prostřednictvím virtuálního přepínače VMware virtual switch, jak je znázorněno na uvedeném obrázku. Cílem úspěšné realizace útoku ARP spoofing je modifikovat síť tak, aby veškerá komunikace mezi virtuálními stroji klienta a serveru probíhala výhradně přes zařízení útočníka.
Všechny virtuální stroje budou připojeny do stejné virtuální sítě (nastavení síťového adaptéru v režimu např. Bridged nebo Host-Only), aby bylo možné na VM představujícím „útočníka“ realizovat zachytávání datových přenosů (komunikace) mezi klientem a serverem.
Spuštění virtuálních strojů
Přihlašovací údaje:
Ověření síťové konektivity
Spuštění Wiresharku a sledování ARP paketů
Cílem simulace útoku je dosáhnout „otravu“ ARP tabulek na klientském zařízení a na serveru prostřednictvím podvržených falešných ARP odpovědí od útočníka. Tyto odpovědi budou oznamovat, že server s IP adresou 192.168.126.130 má přiřazenou fyzickou MAC adresu odpovídající MAC adrese útočníkova zařízení [cc:cc:cc:cc:cc:cc]. Obdobně bude serveru poskytnuta informace, že klient s IP adresou 192.168.126.129 má také fyzickou MAC adresu útočníkova zařízení [cc:cc:cc:cc:cc:cc] (jak je znázorněno na obr. 3).
Podvržení ARP odpovědí oběma komunikujícím zařízením způsobí, že veškerá komunikace v směru server → klient a taky v opačném směru klient → server na zařízení útočníka. Útočník může zachycené zprávy modifikovat a následně je v upravené podobě přeposlat koncovému adresátovi, čímž dojde k narušení integrity komunikace.
Použití nástroje arpspoof
Přesměrování komunikace – ověření útoku
Ověření změn v ARP tabulce klienta
Detekce změn v ARP tabulce pomocí nástroje arpwatch
Zachytávání a analýza dat ve Wiresharku
V rámci této laboratorní úlohy bude nástroj Wireshark využit především za účelem monitorování probíhající ARP komunikace ve vytvořené virtuální síti a k následné analýze zachycených zpráv (žádostí a odpovědí) protokolu ARP.
ARP spoofing pomocí nástroje Ettercap
Ověření úspešnosti MitM útoku pomocí Ettercap
V závěrečné části laboratorní úlohy si prakticky vyzkoušíte možnosti ochrany proti útoku typu ARP spoofing.
Poznámka: Některé otázky mohou mít více než jednu správnou odpověď. Pro správné zodpovězení otázky je nutné označit všechny správné odpovědi.
V tomto laboratorním úkolu jste se seznámili s problematikou bezpečnosti linkové vrstvy počítačových sítí. Prakticky jste si ověřili průběh útoku ARP spoofing, při kterém útočník podvržením falešných ARP odpovědí dosáhne zavedení nesprávných informací o fyzických MAC adresách do překladových ARP tabulek komunikujících zařízení, což může mít za následek přesměrování komunikace právě přes zařízení útočníka.
Účinnou ochranou proti útokům založeným na „otrave“ ARP tabulky je konfigurace statických záznamů pro mapování mezi síťovými a fyzickými adresami. Tato konfigurace zabrání získávání informací o MAC adresách prostřednictvím ARP protokolu mezi zařízeními v síti, a tím i nežádoucímu zneužití ARP odpovědí k podvržení falešné fyzické (MAC) adresy.
Kompletní seznam použitých zdrojů naleznete na samostatné stránce: Seznam literatury