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.

Spoofing na lokálnej sieti za použitia protokolu IPv6

V mojich predchádzajúcich článkoch sme často zmieňovali informáciu o tom, že protokol IPv6 nebude potrebovať pre preklad IP adresy na linkovú adresu sieťový protokol ARP. Tento fakt skutočne platí. Avšak mechanizmus mapovania IP adries na adresy linkovej vrstvy za použitia protokolu IPv6, trpí žiaľ taktiež bezpečnostnými medzerami umožňujúcimi potenciálne útoky typu Man in the middle (MITM).

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.

IPv6 na LAN?

V praxi sa bežne s protokolom IPv6 v rámci lokálnej siete (LAN) ešte tak skoro nestretneme. V súčasnosti si zväčša začínajú ľudia uvedomovať potrebnosť tohto protokolu v globálnom aspekte internetu. Samozrejme zväčšujúce sa globálne nasadenie IPv6 bude v budúcnosti veľmi úzko z princípu súvisieť aj s aplikovaním IPv6 v rámci LAN. I keď ešte pretečie veľa vody, a možno je v súčasnosti skôr dobré upriamiť pohľad na súbežné a vzájomné používanie IPv4 a IPv6 za pomoci rôznych techník ako tunelovanie, tento článok vás oboznámi s problematikou a nebezpečenstvom odhaľovania susedov na IPv6 LAN.

Zbohom ARP, vitaj NDP!

Ako sme už spomenuli, v IPv6 nebude potrebný náš starý známy protokol ARP. Jeho funkciu plne prevezme protokol Neighbor Discovery Protocol (NDP, alebo len ND). Jeho definíciu nájdeme v RFC 2461. Pre svoju funkčnosť tento protokol využíva ďalší protokol - servisný ICMPv6, teda konkrétne niekoľko typov jeho správ.
Ešte pred začiatkom letmého oboznámenia s týmito protokolmi musíme čitateľov upozorniť, že článok predpokladá isté znalosti základných princípov protokolu IPv6. Hlavne adresovania. V nasledujúcich odsekoch zmienime už len stručné popisy istých skutočností. Taktiež je veľmi potrebné poznať spôsob práce protokolu ARP. Takže pokiaľ nedisponujete potrebnými znalosťami prečítajte si môj predchádzajúci článok, a tiež si vyhľadajte všeobecné informácie o IPv6.

Multicast a IPv6

Ako iste teda viete, IPv6 nepozná broadcast. Typ tohto vysielania známeho z IPv4 je nahradený niekoľkými multicastovými skupinami. Samozrejme dá sa povedať, že jeho originálnym náprotivkom je skupina s adresou FF02::1. Tá zahŕňa všetkých hostov na danom sieťovom segmente. Možné je však vyčleniť len všetky smerovače (FF02::2), v IPv4 ekvivalent 224.0.0.2, alebo určité smerovače OSPFv3 - DR (FF02::6), IPv4 ekvivalent 224.0.0.6 a pod. Multicastové vysielanie pracuje pri IPv6 so skupinou vyžiadaných uzlov, tiež niekedy označované ako „adresa požadujúceho uzla“ (solicited-node group). K tejto skupine sa musí pripojiť každý smerovač i všetci hostitelia s adresami spadajúcimi do unicastu i multicastu. (Každý hostiteľ sa po pripojení na LAN pripojí do tejto skupiny). Solicited-node multicast adresa má formát FF02::1:FF00:0/104. Prefix 104 definuje všetky bity adresy okrem posledných 24 bitov, ktoré odpovedajú konkrétnej unicatovej alebo anycastovej adrese. Do týchto 24 bitov sa tak doplní práve časť IPv6 adresy daného hostiteľa. Solicited-node je využívaný NDP protokolom.

Protokol NDP

Základnou funkciou tohto protokolu je rozpoznávanie a sledovanie ostatných staníc na lokálnej sieti. NDP na tento účel využíva protokol ICMPv6. ICMv6 sa v rámci IPv6 stáva veľmi dôležitým a významným protokolom. Preberá hneď niekoľko funkcií protokolov známych z IPv4 ako už spomínané ARP, či IGMP. Nie je možné ho teda jednoducho zakázať, alebo výrazne filtrovať ako v prípade IPv4. NDP plní okrem rozpoznávania susedov aj ďalšie funkcie. Ide napríklad o detekciu duplicitných adries (DAD), bezstavovú automatickú konfiguráciu adries, rozpoznávanie prefixov, smerovačov, overovanie dosiahnutia susedov a pod.

Pri rozpoznávaní susedov NDP využíva nasledujúce správy: Oznámenie smerovača (Router Advertisement, RA), vyžiadanie smerovača (Router Solicitation, RS), Vyžiadanie suseda (Neighbor Solicitation, NS), Oznámenie suseda (Neighbor Advertisement, NA) a presmerovanie (Redirect). Ďalej v článku zmienime niektoré z nich.

Proces získania linkovej adresy na základe IPv6 adresy

Komunikácia so stanicou (medzi susedmi)

Majme hypotetickú situáciu. Na lokálnej sieti sa nachádza stanica A a stanica B. Stanica A pozná IPv6 adresu stanice B, ak chce so stanicou B reálne komunikovať potrebuje zistiť jej linkovú adresu (pri obmedzení sa na linkový protokol Ethernet ide o MAC adresu). Stanica A tak odosiela žiadosť o MAC adresu, konkrétne požiadavku NS. Zdrojovou adresou je stanici priradená adresa, pokiaľ priradená nie je, môže ísť o adresu :: (nešpecifikovaná IPv6 adresa). Cieľovou adresou je zvyčajne solicited-node multicast adresa, ktorú sme zmienili vyššie. Avšak na tomto mieste môže byť aj adresa cieľovej stanice, ak je už známa. Táto ICMPv6 správa nesie typ 135, kód 0.

Na túto správu by stanica v úlohe žiadateľa mala získať odpoveď NA, oznámenie o MAC adrese. Správa NA má ako zdrojovú adresu, explicitne, alebo automaticky priradenú adresu odosielajúceho rozhrania. Cieľovou je adresa stanice, ktorá odoslala požiadavku na získanie MAC adresy. Ide o ICMPv6 správu typu 136, kód 0. Tieto správy sú posielané i pravidelne, za použitia adresy FF02::1.

Dôležité je spomenúť, že správa NA obsahuje 3 bity R, S a O. Bit R je nastavený na hodnotu 1 ak je odosielateľom smerovač, bit S má hodnotu 1 ak sa jedná o odpoveď na žiadosť (teda odpovedi predchádzala ICMPv6 správa NS) a upriamme pozornosť na bit O. Tento bit je nastavený na hodnotu 1 ak chce odosielateľ zdôrazniť, že príjemca si má prepísať hodnoty uložené v pamäti. Ako zistíte ďalej v článku, tento bit je pre útočníka veľmi dôležitý. Žiadajúca stanica si po získaní MAC adresy, toto spojenie medzi IPv6 adresou a linkovou adresou uloží do pamäte. V systéme Windows možno vypísať uložené asociácie medzi IPv6 adresami a linkovými adresami za pomoci príkazu netsh interface ipv6 show neighbors.

modelmodel

Proces získavania linkovej adresy názorne

Dotaz a odpoveď na smerovač

Stanici zvyčajne nepostačuje len komunikácia v rámci LAN. Pre komunikáciu s vonkajším svetom tak musí poznať adresu smerovača resp. brány. Smerovače v pravidelných intervaloch rozširujú správu RA (Router Advertisement) o svojej prítomnosti na adresu FF02::1 pomocou ICMPv6 paketu s typom 134 a kódom 0. Avšak stanica nemusí čakať na príjem správy RA, alebo môže z nejakého iného dôvodu zaslať požiadavku na zistenie smerovača RS (Router Solicitation). Túto správu odošle na multicastovú adresu pre smerovače FF02::2. Zmapuje takto zvyčajne prítomnosť všetkých smerovačov na LAN. Smerovač(e) reaguje(ú) opäť správou RA, s tým, že cieľová adresa je v tomto prípade adresa žiadateľa, nie multicast FF02::1.

Na záver teoretického úvodu zmienime ešte testovanie dosiahnutia susedov na LAN. Cieľom je, aby stanica zistila, či je neustále platná linková adresa, ktorá sa viaže k sieťovej adrese. V prípade testovania vzájomného dosiahnutia susedov na LAN nemusí vždy stanica vykonať dotazovanie na prítomnosť druhej stanice a získať priamu odpoveď. Dostupnosť stanice sa tak dá získať okrem odoslania prieskumného dotazu na určitú multicastovú adresu a získania odpovede NA, či RA aj za pomoci protokolu vyššej vrstvy. Pomocnú správu môže v tejto situácií prebrať napr. TCP ACK, pri protokole UDP niečo podobné samozrejme nie je možné.

model

Dotaz na smerovač

Spoofing

Cieľom útočníka je presvedčiť obeť, že práve jeho počítač má MAC adresu patriacu IPv6 adrese, na ktorú sa práve dotazuje. Pri získaní obojsmernej komunikácie je potrebné podobne presvedčiť aj náprotivok. Pokiaľ sa jedná o vydávanie sa za smerovač je potrebné sfalšovať správu RA. V tom prípade útočník tvorí bránu, cez ktorú prechádza kompletná komunikácia od obete smerom z vnútra lokálnej siete do WAN siete, alebo internetu. Podobne pri potrebe sledovať prevádzku v smere od brány k obeti je potrebné oklamať i smerovač. Samozrejme je dôležité, aby útočník po odchytení prípadne pozmenení dátovej prevádzky tento obsah odoslal legitímnemu zariadeniu, pre ktoré bol originálne určený.

Podvrhnutie suseda - Fake neighbor advertisement (podvrhnutie správy NA útočníkom)

Pozrime sa na celý proces spoofingu resp. tohto MITM útoku podrobnejšie. Začnime vymedzením sa na komunikáciu medzi stanicami na LAN (obr.1). Stanica A vysiela ICMv6 paket NS a chce zistiť MAC adresu viažucu sa k IPv6 adrese, s ktorou má v pláne komunikovať. Rozpošle tento paket (tak ako je spomínané vyššie) a získa odpovede NA. Odpovedá jej totiž skutočná stanica, ale aj útočník. Skutočná stanica odošle správu NA s príznakom S (solicited), útočník pridá do správy i príznak O (override). Ich význam je spomenutý vyššie. Na základe tohto príznaku si obeť mylne prepíše existujúcu asociáciu medzi správnou IPv6 adresou a MAC adresou náprotivku s falošnou MAC adresou, ktorá patrí útočníkovi. Útočník v tejto chvíli vyhral. Má úplnú kontrolu nad komunikáciou medzi dvoma stanicami a ako je spomenuté vyššie tento fakt istotne aj náležite využije.

modelmodel

Podvrhnutie smerovača - Fake Router Advertisement (podvrhnutie správy RA útočníkom)

Tento útok využíva fakt, že oznámenie o smerovači (RA) je posielané periodicky. Vďaka tomu sa pri troche šikovnosti môže za smerovač vydávať na LAN ktokoľvek. Útočník odošle ICMv6 správu RA s najvyššou prioritou (resp. oznámením, že ide o „hlavný“ smerovač) a stanice na LAN si tak „poopravia“ svoje smerovacie tabuľky, defaultnou bránou sa zvyčajne stane adresa útočníka.

model

Týmto sme popísali dva najzákladnejšie MITM útoky v rámci používania NDP protokolu na IPv6 LAN sieťach. Samozrejme existujú i mnohé ďalšie ako využitie ICMPv6 redirect, útoky na mobilné využitie IPv6, podvrhnutie DHCPv6 servera, či rôzne typy DoS a DDoS útokov.

Ako sa chrániť?

Podobne ako pri ARP spoofingu za použitia IPv4 existuje aj pri používaní IPv6 na LAN niekoľko účinných spôsobov ochrany pred MITM útokmi.
Podobne ako je možné monitorovať ARP cache, je možné monitorovať aj položky systémovej neigbor cache, prípadne nasadiť isté mechanizmy upozorňovaní na podozrivé zmeny. Otvára sa i možnosť zavedenia permanentných položiek (najmä defaultnej brány). Túto problematiku by v budúcnosti mohli bežne riešiť i personálne firewally. Tiež možno šifrovať komunikáciu (napríklad IPSec), a tak v prípade, že útočník zachytí sieťovú prevádzku nebude mu zvyčajne na nič platná. IPSec nájde istotne veľké opodstatnenie i pri mobilnom využívaní protokolu IPv6. Chrániť sa dá i na aktívnych zariadeniach použitím prepínačov a smerovačov s funkciou RA-Guard, ktorá blokuje napríklad podvodné správy RA, ďalej nasadením switch port security, či IEEE 802.1x. Možné je detegovať i podvodné DHCPv6 servery. Vo väčších sieťach je tiež ideálne použiť VLAN technológiu, ktorá úspešne redukuje riziko MITM útokov. Najzásadnejšie riešenie je však použitie zabezpečeného NDP protokolu Secure Neighbor Discovery (SEND), ktoré využíva šifrovanie a protokol je založený na kryptograficky generovaných adresách CGA a certifikátoch pre smerovače. S nasadením pokročilejších bezpečnostných opatrení však vznikajú ešte nemalé komplikácie, a tak nám v tomto smere ostáva skôr očakávať svetlejšiu budúcnosť.

Praktická časť

Praktickú časť sme realizovali na sieti, ktorá je znázornená nasledujúcou topológiou. V úlohe útočníka a obete je použitý operačný systém Microsoft Windows XP SP3. Útočník využíva penetračnú distribúciu BackTrack 5 R2 a konkrétne nástroj parasite6, ten je súčasťou komplexného balíka THC-IPv6-Attack-Toolkit.

model

Jeho použitie je veľmi jednoduché a pre bežný útok mu stačí zadať ako parameter len sieťové rozhranie, na ktorom má byť aktívny. Následne môžete sledovať zmenu NDP tabuliek v dotknutých systémoch.

tabulka

Je samozrejmé, že po presmerovaní prevádzky môže útočník zachytávať, analyzovať, ale i meniť legitímnu komunikáciu a následne by ju mal poslať korektnému cieľu.
NDP tabuľka asociácií IPv6 adries a MAC adries pred útokom:

model

Obeť pred útokom

model

Server pred útokom

Zahájenie útoku:

model

NDP tabuľky po zahájení útoku:

model

Obeť po útoku

model

Server po útoku

Záver

Ako možno vidieť žiaľ ani pri bežnom nasadení sieťového protokolu budúcnosti IPv6 sa nemôžeme cítiť úplne bezpečne. Realizácia útoku je veľmi jednoduchá, jednoduchšia ako jeho principiálne pochopenie. Môže ho tak realizovať ktokoľvek schopný dohľadať si dané postupy na internete. Preto je dôležité a nevyhnutné chrániť sa spôsobmi, ktoré boli spomenuté vyššie a zabúdať netreba ani na ďalšie útoky hroziace na IPv6 LAN, o nich niečo nabudúce.


Podporte nás


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


ITC manažer Security-portal.cz Soom.cz
Hoax.cz Antivirove centrum Crypto-world.info