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: DHCP spoofing

Útočník sa vďaka DHCP Spoofingu môže ľahko vydávať za bránu resp. smerovač, či DNS server. Prostredníctvom útoku totiž podvrhne ich sieťové adresy. Týmto spôsobom jednoducho zachytí sieťovú prevádzku, môže ju pozmeniť, ale aj presmerovať. Pre plné pochopenie článku je potrebné naštudovať si prvú časť seriálu.

Ide o veľmi zákerný sieťový útok. Vo svojom princípe nepotrebuje k realizácií switch, i keď v drvivej väčšine sieti ho dnes nájdeme ako samostatné zariadenie, alebo ako súčasť Access Pointu (AP) - router+switch+WiFi.

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.

Ako funguje protokol DHCP?

Protokol DHCP (Dynamic Host Configuration Protocol) priraďuje hostiteľom údaje potrebné pre sieťovú identifikáciu. Ide najmä o IP adresu, no spolu s ňou môžu klienti získať aj veľa ďalších údajov ako: sieťovú masku, doménový názov, predvolenú bránu, adresu DNS servera, WINS informácie a pod.

Protokol DHCP uľahčuje automatickým pridelením sieťových údajov prácu administrátorom pri konfigurácií koncových zariadení, umožňuje predchádzať vyčerpaniu dostupných IP adries, či odbremeňuje laikov od definovania nutných parametrov pre pripojenie sa na sieť. A tak svoje využitie nachádza v prostredí malých až veľmi rozľahlých sieti. Ako DHCP server možno použiť v podstate skoro ľubovoľný hardvér. Môže ísť o server, počítač, či smerovač (napr. Cisco).

Na jednej lokálnej sieti môže byť DHCP serverov niekoľko. Každý počítač, ktorý je do siete pripojený prvýkrát, vyšle DHCP discover paket na broadcastovú adresu, čím dá o sebe vedieť a čaká na odpoveď DHCP servera. Ak je DHCP serverov viac, rozhoduje rýchlosť a teoreticky aj to, či niektorý zo serverov nevyčerpal všetky IP adresy, ktoré môže prideliť žiadajúcim staniciam.

DHCP server reaguje na žiadosť paketom DHCP offer, ktorým ponúka potrebné sieťové údaje. Klient opäť pokračuje odoslaním paketu DHCP request a žiada tak o tieto údaje. Server ukončuje získanie údajov paketom DHCP ack. Klient tým obdrží všetky potrebné sieťové informácie, ako IP adresa, sieťová maska, adresa brány, či adresa DNS servera a pod.

IP adresa však ostáva pridelená stanici len istý čas - tzv. „lease time,“ potom je stanica nútená predĺžiť si jej prenájom, ak k tomu nedôjde, DHCP server ju považuje za voľnú a znova ju môže poskytnúť iným staniciam.

Pri procese získavania sieťových údajov z DHCP servera sa môžeme stretnúť aj s paketom DHCP decline. Každý klient by mal po pridelení IP adresy paketom DHCP ack overiť, či sa táto adresa už v sieti nepoužíva, napr. prostredníctvom protokolu ARP. Ak počas overovania klient zistí, že pridelená adresa je už v danej sieti používaná iným zariadením, odošle paket DHCP decline na broadcastovú adresu. Tým upozorní DHCP server. Proces sa tak začína nanovo.

Nastať môže aj situácia, keď sa na sieť chce pripojiť stanica, ktorá už má pridelenú a zapamätanú určitú IP adresu, no tá je mimo rozsah súčasnej siete, do ktorej sa práve pokúša pristúpiť. DHCP server zistí nezrovnalosť a informuje túto stanicu (teda klienta) paketom DHCP nack (nak). Žiadajúca stanica tak musí na predošlý záznam „zabudnúť“ a opäť vykonať celý prideľovací proces nanovo.

Pokiaľ stanica z nejakého dôvodu nepotrebuje IP adresu, alebo ju chce úmyselne uvoľniť, či sa jej „zbaviť“ použije paket DHCP release a informuje o tejto skutočnosti server, ktorý jej priradenú IP adresu uvoľní.

Ďalej sa môžeme stretnúť aj s paketom DHCP inform. Používa sa v prípade ak klientovi už bola pridelená IP adresa iným spôsobom ako DHCP serverom, najčastejšie manuálne. Server tak už nemusí alokovať novú IP adresu a pridelí iba ostatné lokálne parametre. Okrem iného neodošle ani hodnotu času prenájmu.



Priebeh získavania IP adresy zachytený vo Wiresharku.

Pokiaľ už bol počítač v tejto sieti niekedy pripojený, žiada konkrétny DHCP server o poslednú adresu, ktorú mu pridelil, resp. mu navrhuje jej opätovné priradenie paketom DHCP request. Server mu buď vyhovie (paketom DHCP ack), alebo pošle novú IP adresu, prípadne nemusí zareagovať (ak má už vyčerpané IP adresy na pridelenie). Celý postup sa tak začína nanovo.



Princíp útoku

Princípom útoku je zneužitie procesu prideľovania sieťových informácií DHCP protokolom.

Útočník musí dosiahnuť to, aby klient dostal sieťové údaje od jeho DHCP servera a nie tie korektné od toho legitímneho. Jednou z možností je byť najrýchlejší, na čo sa však nedá spoľahnúť a obzvlášť nie, ak už počítač v sieti bol niekedy pripojený. A tak sú jeho možnosťami: Buď zámerne vyčerpať všetky IP adresy, ktoré ponúka legitímny DHCP server, ten následne už na požiadavky klientov nereaguje. A tak môže bez problémov útočníkov falošný DHCP server poskytnúť klientom podvrhnuté sieťové údaje. Niekedy je ešte potrebné, aby útočník počkal na uplynutie času prenájmu niektorých, už pridelených IP adries. Druhou možnosťou je zahltiť a vyradiť legitímny DHCP server pomocou DoS útoku.

Ak útočník pomocou DHCP Spoofingu podstrčí obeti iba falošnú adresu brány resp. smerovača, útok má zásadnú nevýhodu. Útočník môže kontrolovať len pakety smerujúce na bránu a nie pakety smerujúce z brány na počítač. Deje sa tak preto, lebo oklamaná je iba obeť. V domnienke, že útočník je bránou posiela všetky pakety cez jeho počítač, avšak skutočný smerovač posiela pakety už priamo obeti.

Existuje niekoľko možností ako sledovať aj obojsmernú prevádzku. Jednou z nich je zobrať na seba úlohu NATu a vykonávať preklad pre dáta, ktoré budú cez nás pretekať oboma smermi. Ďalšou možnosťou je podstrčenie falošného DNS servera. Z útočníckeho počítača sa tak stane akýsi proxy server.



Topológia siete pred a po útoku DHCP Spoofing. Zelená znázorňuje legitímne DHCP pakety, žltá komunikáciu od obete k smerovaču, oranžová komunikáciu od smerovača k obeti, červená DHCP pakety od útočníka a hnedá preposielanú komunikáciu obete od útočníka (čiže prostredníka). Uvažujeme tu však, že IP adresa smerovača nie je prideľovaná protokolom DHCP a DHCP server je samotné zariadenie.

Detekcia

Výskyt falošného DHCP servera je možné odhaliť niekoľkými spôsobmi.
Prvým z nich je pasívne sledovanie siete. Tento spôsob je však efektívny iba vtedy, ak cez administrátora prechádza kompletná sieťová prevádzka. Útočníci totiž veľmi často neodosielajú odpovede DHCP offer z ich falošného servera na broadcast. Znakmi výskytu falošného servera sú v tomto prípade dva javy:

Prvým je situácia ak na jeden paket DHCP Discover zareaguje viac DHCP serverov, a teda obdrží niekoľko odpovedí DHCP offer.
Druhá situácia nastáva vtedy, ak má paket DHCP offer inú IP a MAC adresu ako legitímny DHCP server. V tomto prípade je vysoká pravdepodobnosť, že útočník už vyčerpal kapacitu skutočného serveru, alebo ho zahltil, a ten už na žiadosti DHCP Discover nereaguje.

Druhým spôsobom je aktívne generovanie paketov DHCP Discover (najčastejšie v pravidelných intervaloch) a kontrolovanie odpovedí DHCP offer. No tento spôsob je veľmi nápadný. Útočník si ľahko všimne veľkú intenzitu DHCP Discover paketov z jednej MAC adresy a ľahko ju môže zablokovať. Následne bude už falošný DHCP server administrátorské dotazy ignorovať.

Obrana

Obrana môže byť jednoduchá v podobe nepoužívania DHCP servera a spoliehania sa len na statickú konfiguráciu, čo však nie je vždy efektívnym a realizovateľným riešením. Pokiaľ je DHCP server nevyhnutný (čo vo firemnom prostredí zväčša je), môžeme nastaviť dobu prenájmu IP adries - lease time na čo najdlhší čas (týždne, mesiac), to útočníkovi dostatočne sťaží situáciu. Sieť sa vtedy javí akoby používala statickú konfiguráciu. Toto riešenie však nie je možné aplikovať vo veľkých sieťach, ak sa pripájajú často rôzne stanice, resp. ak dochádza k ich striedaniu. Hrozilo by, že nebudú postačovať IP adresy.

Sofistikovanejšia obrana je možná, ak sa použijú pokročilé, no samozrejme značne drahšie aktívne zariadenia. Spoločnosť Cisco ponúka hneď niekoľko mechanizmov, ktoré dokážu zabrániť DHCP spoofingu. Prvým je odpočúvanie protokolu DHCP - DHCP snooping. Prepínač v tomto prípade skúma správy protokolu DHCP a tie, ktoré vyhodnotí, ako rizikové blokuje. Pri odpočúvaní je vytváraná väzobná tabuľka, ktorá mapuje IP adresy a porty. Zostavuje ju podľa právoplatných DHCP správ. Z tejto tabuľky ťažia aj ďalšie bezpečnostné mechanizmy, ako DAI a IP Source Guard. Prepínač podľa zadefinovania dôveryhodných portov, za ktorými predpokladá existenciu DHCP servera prijíma tomu zodpovedajúce správy. Ak by prišla správa, ktorá má pochádzať iba od DHCP servera z portu označeného ako nedôveryhodný, teda nachádza sa za ním bežná stanica, prepínač paket zablokuje. IP Source Guard sa v tomto prípade zameriava na kontrolu zdrojových IP, prípade aj MAC adries, podľa väzobnej tabuľky. Viac podrobností uvedieme v osobitom článku.

Praktické prevedenie

Pri tomto útoku je výhodné opäť použiť program Ettercap. V ponuke Mitm tento raz zvolíme DHCP spoofing. V ďalšom okne sa program pýta na niekoľko vstupných údajov. Položka IP Pool udáva rozsah z ktorého bude obetiam pridelená IP adresa. Tento parameter nie je povinný. Netmask definuje použitú sieťovú masku a DNS Server IP je zväčša IP adresa brány. Samozrejme je možné ju podvrhnúť.

Pokiaľ chceme vyčerpať všetky IP adresy, ktoré prideľuje legitímny DHCP server je efektívne použiť nástroj Irpas a jeho súčasť dhcpx. Syntax pre spustenie je: dhcpx -vv (podrobnosť výpisu -v/vv/vvv) -i rozhranie -A -D IP_adresa_legitímneho DHCP servera. Viac možností ponúka aj program Wesley.

Simulácia na virtuálnej sieti

Aj pri tomto type útoku použijeme virtualizačný softvér od VmWare a emulátor GNS3. Na úvod tabuľka popisujúca použité zariadenia:

Zariadenie IP adresa Systém Úloha Nástroje
Virtuálny prepínač - GNS3 switch -
Smerovač 192.168.1.1; 10.0.0.1 Cisco IOS router -
PC1 10.0.0.2 Windows XP server webová aplikácia, FTP server
PC2 192.168.1.4 Windows XP obeť prehliadač, FTP klient
PC3 192.168.1.3 BackTrack 5 útočník Ettercap, Wireshark, Wesley
PC4 192.168.1.254 Ubuntu Server DHCP server -



Náčrt topológie virtuálnej siete.

Útočník na našej virtuálnej sieti najskôr túto sieť preskúmal. Zistil adresu legitímneho DHCP servera a keďže sieť nedisponuje žiadnymi špecifickými bezpečnostnými opatreniami, nechal si priradiť patričné sieťové údaje. Po úvodných krokoch nasleduje zneškodnenie známeho resp. legitímneho DHCP servera. Na tento účel použil aplikáciu dhcpx. Vyčerpal tak celkovú kapacitu IP adries, ktoré mohol server priradiť.



Obeť pred útokom.



DHCP server postupne priraďuje IP adresy fiktívnym klientom.

Útočník má šťastie, lease time je v rámci simulovanej siete nastavený iba na dobu 5 minút.
Vyčká tak časové obdobie, počas ktorého klientovi vyprší doba prenájmu IP adresy od „dobrého“ DHCP servera. Následne spustí svoj vlastný podvodný DHCP server pomocou Ettercapu, čo môže vykonať aj súčasne s nástrojom dhcpx. Obeti podstrčí falošné sieťové údaje: IP adresu, bránu, ale i DNS server.



Zadávanie údajov v programe Ettercap.



Širšie možnosti pri realizácií ponúka program Wesley.

Obeť automaticky požiada o prenájom IP adresy, ako prvý a jediný sa jej ozve podvodný DHCP server. Obeť však nemá ako tušiť, že nejde o legitímny server a podobne tak nerozozná ani pridelenú podvodnú IP adresu a ostatné údaje.



Obeť po útoku. Lease time vypršal, obeť nevedomky požiadala o prenájom IP adresy od podvodného DHCP servera.

A tak môže útočník veľmi ľahko odchytiť, analyzovať, meniť, či presmerovať jej sieťovú prevádzku. Väčšinou ju však odošle aj do skutočného cieľa, teda na legitímnu bránu resp. smerovač.

Záver

DHCP spoofing je veľmi nebezpečný útok. Možno ním podvrhnúť okrem adresy brány aj adresu DNS servera. Nepriamo sa tak dá dospieť k DNS spoofingu. Obeť je možné presmerovať na podvodné webové stránky, aj mimo lokálnu sieť, ktoré môžu obsahovať malware, alebo využiť prvky sociálneho inžinierstva. Útočníkovi tak poskytuje ďalšie, oveľa širšie možnosti, ako len monitoring sieťovej komunikácie.


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