Na začiatok, však chcem povedať, že článok slúži výhradne k študijným účelom a za akékoľvek jeho zneužitie autor nie je zodpovedný.
Beginning
Takže, pre začiatok si musíme povedať, niečo o zapojení počítačov v klasickej Ethernetovej sieti a spôsobe akým medzi sebou komunikujú. V podstate poznáme dva základné zapojenia a to zapojenie cez Hub a zapojenie cez Switch... Už samotný názov týcho zariadení nám naznačuje, ako sa v sieti budú správať.
Hub (teda "rozbočovač"), je zariadenie, ktoré sa už dnes kôli "bezpečnosti" a vysokému zaťažovaniu siete ani nepoužíva... Jeho funkcia spočíva v tom, že dáta určené pre jeden konkrétny počítač, rozošle každému PC v sieti, ale sieťové karty, ktorím dané pakety nepatria, ich zahodia.. Teda
teoreticky by sa dalo povedať, že je zabezpečené, aby dáta spracoval iba určený počítač.
Switch (teda "prepínač"), je už o niečo rozumnejší a stará sa o to, aby dáta dostal iba ten PC, ktorému ich posielame.. Túto funkciu mu umožňuje tabuľka, v ktorej sú zapísané adresy / mená strojov a čísla portov, s ktorými sú na switch pripojené...
Sniffing
Sniffingom (z anglického sniff = ňuchať) sa označuje spôsob odchytávania dát putujúcich sieťou. Účely sú častokrát rôzne: môže ísť o adminovu snahu plne kontrolovať sieť, alebo môže ísť o nepochopiteľné nutkanie zasahovania do súkromia iných... Pomocou sniffingu máme totiž prehľad o celej sieťovej komunikácií =>vidíme, kto si čo posiela, aké navštevuje stránky, alebo aké má heslo na portáli pokec.sk... Stačí použiť nejaký program, určený pre tieto ciele (Cain & Abel, alebo Ethereal...) Heslá prúdia v sieti absolútne nešifrované, teda nie je vôbec problém ich odchytiť. Existujú síce aj šifrované formy spojenia, ako napr. HTTPS (pre prehliadanie stránok), ale aj tu je spôsob, ako heslo získať v "normálnej" podobe.. Takže, ak chceme praktickú ukážku, môžeme si nainštalovať a nakonfigurovať jeden z vyššie uvedeného softwaru, skúsiť prezrieť nejaké stránky a prípadne sa niekde poprihlasovať. Výsledky sa dostavia, po otvorení programu :) Ak sa nachádzame na sieti s hubom, sniffer nám bude sniffovať všetých pripojených userov.. Ak sme na sieti so switchom, musíme k tomuto statusu dopomôcť... Táto "dopomoc" sa odobrnejšie volá ARP Poison Routing, alebo aj APR....
Otrávenie MAC a prevedenie útoku
ARP, znamená Address Resolution Protocol a stará sa o odoslanie paketov na presne určenú MAC Adresu. Najprv ju však musí jednoznačne identifikovať a to vykonáva za pomoci IP adresy daného PC.
Majme klasický, učebnicový prílad s počítačom A + počítačom B... PC A, chce odoslať dáta pre PC B. K tomu je potrebné vedieť adresu sieťovej karty, takže ARP sa nám o to snaží postarať. Vláme sa do svojej ARP Cache. (Vyrovnávacia pamäť - sem sa ukladajú záznamy, ktoré už na sieti boli zistené - teda IP Adresy a k nim prislúchajúce MAC..) Ak sa tu požadovaná MAC adresa nenachádza, ARP vysiela do siete tzv. ARP Request. Tento request sa posiela každému stroju v sieti a pýta sa počítačov, ktorýže to je adresovaný hľadanou IP... (192.168.168.35, anyone? :p) Keď sa prihlási dotyčná mašina, vysiela naspäť tzv. ARP reply, ktoré v prílohe (:P) obsahuje aj prislúchajúcu MAC adresu. Počítač B, si už ale pre budúcnosť a ďalšie použitie, získanú informáciu ukladá do ARP Cache.
Teraz musíme zobrať do úvahy tretí PC (počítač C), ktorý bude reprezentovať útočníkov stroj. Keďže vieme, že switch zabezpečuje, že každý PC, je pripojený k inému portu, teoreticky, útočník nemá šancu prijímať pakety, ktoré mu nepatria. Avšak dá sa tu zneužiť spomínaný ARP Request, pretože sa posiela po celej sieti a nie je vôbec obmedzovaný + naviac ani nekontroluje prichádzajúce odpovede a je mu jedno, že či bol request poslaný, alebo nie... S kľudným svedomím si upravuje cache, podľa príchodzích opovedí.
K samotnému útoku, potrebujeme vedieť IP a MAC žiadaných počítačov.. Spôsob ich získania snáď netreba popisovať. Jednoducho použijeme nejaký port scanner, samotný sniffer, alebo nabehneme do miestnosti s hľadaným PC a v okamihu nepozornosti píšeme do CMD " ipconfig /all " =D Princíp útoku (zjednodušene) funguje tak, že počítačom A, B je odoslané špeciálne upravené ARP Reply. Keďže protok ARP nekontroluje, že či si to vlastne vyžiadal, pekne sa updatne ARP Cache a to je vlastne cieľom "hackerovho" útoku.
Situáciu si predstavíme: Počítaču A, je odoslané ARP reply, s tým, že pre IP adresu počítača B, prislúcha MAC Adresa počítača C. Platí to samozrejme aj naopak, takže PC B obdrží info o tom, že PC A má MAC addr PC C... Docielili sme teda, že počítač A, bude posielať štandardne dáta pre PC B, lenže v skutočnosti dojde k preposielaniu na "poisoned MAC", čiže na MAC adresu PC C... Rovnako to funguje aj keď je odosielateľom PC B. Aby sa zachovala funkčnosť siete a aby nebolo nič podozrivé, PC C prijaté pakety forwardne pre skutočného adresáta. Situácia v ktorej sa ocitol majiteľ počítača C, sa "odborne" nazýva MITM, teda "man in the middle" ... V takejto situácií máme možnosť absolútne kontrolovať komunikáciu medzi PC A a B.
Záver
Takže možností využitia sa ponúka naozaj dosť. Stači si už len nainštalovať a nakonfigurovať sniffer. Nesmieme zabudnúť na prepnutie do promiskuitného režimu.
Verím, že sa mi týmto článkom podarilo ozrejmiť spôsob komunikácie počítačov v sieti, dúfam, že som priniesol nejaké základné informácie o fungovaní protokolu ARP a hádam, že to bude niekomu aj užitočné... :)
Zopár linkov:
Lupa.cz
LinuxExpres.cz
English Wikipedia