Ochrana pred človekom uprostred. Všetko o útoku Muža uprostred (MitM).

18. 10. 2016 | Vladimír Chazov

Plány FSB, ministerstva telekomunikácií a masových komunikácií a ministerstva priemyslu a obchodu implementovať ustanovenia zákona Yarovaya týkajúce sa odpočúvania a dešifrovania korešpondencie Rusov už nie sú len plánmi, ale už sa začínajú realizovať. do akcie príkazom na vypracovanie znaleckého posudku o možnosti odpočúvania správ WhatsApp, Viber, Facebook Messenger, Telegram, Skype pomocou útokov MITM a predvedenie prototypu takéhoto nástroja.

O schéme organizovania „legitímneho“ MITM útoku sme písali v predchádzajúcom článku. Dnes sa budeme podrobnejšie zaoberať samotným princípom takéhoto útoku a spôsobmi jeho implementácie.

Čo je útok MITM

Man In The Middle (MITM) sa prekladá ako „muž uprostred“. Tento výraz označuje sieťový útok, pri ktorom sa útočník nachádza medzi používateľom internetu a aplikáciou, ku ktorej pristupuje. Nie fyzicky, samozrejme, ale pomocou špeciálneho softvéru. Používateľovi sa prezentuje ako požadovaná aplikácia (môže to byť webová stránka alebo internetová služba), simuluje prácu s ňou a robí to tak, aby navodil dojem bežnej prevádzky a výmeny informácií.

Cieľom útoku sú osobné údaje používateľa, ako napríklad prihlasovacie údaje rôzne systémy, bankové údaje a čísla kariet, osobnú korešpondenciu a iné dôverné informácie. Vo väčšine prípadov sú napadnuté finančné aplikácie (klienti bánk, online banky, služby platieb a prevodu peňazí), služby SaaS spoločnosti, webové stránky elektronický obchod(internetové obchody) a iné stránky, kde sa vyžaduje autorizácia na prihlásenie.

Informácie, ktoré útočník získa, môžu byť použité na rôzne účely, vrátane nelegálnych prevodov peňazí, zmeny účtov, zachytávania osobnej korešpondencie, nakupovania na cudzie náklady, kompromitovania a vydierania.

Navyše, po krádeži poverení a hacknutí systému môžu zločinci nainštalovať škodlivý softvér do podnikovej siete. softvér organizovať krádeže duševného vlastníctva (patenty, projekty, databázy) a spôsobiť ekonomické škody vymazaním dôležitých údajov.

Útok MITM možno prirovnať k poštárovi, ktorý pri doručovaní vašej korešpondencie otvorí list, prepíše jeho obsah pre osobnú potrebu alebo dokonca sfalšuje rukopis, pridá niečo vlastné a potom zalepí obálku a doručí ju adresátovi. ako keby sa nic nestalo.. Navyše, ak ste text listu zašifrovali a chcete dešifrovací kód oznámiť osobne adresátovi, poštár sa predstaví ako adresát tak, že si zámenu ani nevšimnete.

Ako sa vykonáva útok MITM

Vykonanie útoku MITM pozostáva z dvoch fáz: odpočúvania a dešifrovania.

  • Odpočúvanie

Prvou fázou útoku je zachytenie prevádzky od používateľa k zamýšľanému cieľu a jej nasmerovanie do siete útočníka.

Najbežnejším a najjednoduchším spôsobom odpočúvania je pasívny útok, kedy útočník vytvorí Wi-Fi body s voľným prístupom (bez hesla alebo autorizácie). V momente, keď sa používateľ pripojí k takémuto bodu, útočník získa prístup k všetkej premávke, ktorá ním prechádza, a môže z nej extrahovať akékoľvek údaje na odpočúvanie.

Druhým spôsobom je aktívne odpočúvanie, ktoré možno vykonať jedným z nasledujúcich spôsobov:

IP spoofing– nahradenie adresy IP cieľa v hlavičke paketu adresou útočníka. Výsledkom je, že používatelia namiesto návštevy požadovanej adresy URL skončia na webovej lokalite útočníka.

ARP spoofing– nahradenie skutočnej MAC adresy hostiteľa za adresu útočníka v tabuľke ARP obete. Výsledkom je, že údaje odoslané používateľom na IP adresu požadovaného uzla skončia na adrese útočníka.

DNS spoofing Infekcia DNS cache, prienik do DNS server a nahradenie záznamu o zhode webovej adresy. V dôsledku toho sa používateľ pokúsi získať prístup k požadovanej lokalite, ale zo servera DNS dostane adresu lokality útočníka.

  • Dešifrovanie

Po zachytení sa obojsmerná prevádzka SSL musí dešifrovať takým spôsobom, aby si používateľ a zdroj, ktorý požaduje, nevšimli rušenie.

Existuje na to niekoľko metód:

HTTPS spoofing– falošný certifikát sa odošle do prehliadača obete, keď sa vytvorí spojenie so stránkou prostredníctvom protokolu HTTPS. Tento certifikát obsahuje digitálny podpis napadnutej aplikácie, vďaka ktorému prehliadač akceptuje spojenie s útočníkom ako spoľahlivé. Po nadviazaní takéhoto spojenia útočník získa prístup ku všetkým údajom zadaným obeťou pred ich prenosom do aplikácie.

SSL BEAST(využitie prehliadača proti SSL/TLS) – útok využíva zraniteľnosť SSL v TLS verzie 1.0 a 1.2. Počítač obete je infikovaný škodlivým JavaScriptom, ktorý zachytáva šifrované súbory cookie odoslané webovej aplikácii. To ohrozuje režim šifrovania „ciphertext block chaining“, takže útočník získa dešifrované súbory cookie a autentifikačné kľúče.

Únos SSL– prenos falošných autentifikačných kľúčov používateľovi a aplikácii na začiatku relácie TCP. To vytvára zdanie zabezpečeného spojenia, keď v skutočnosti reláciu riadi „muž v strede“.

Odizolovanie SSL– Downgrade pripojenia zo zabezpečeného HTTPS na obyčajný HTTP zachytením autentifikácie TLS odoslanej aplikáciou používateľovi. Útočník poskytuje používateľovi nešifrovaný prístup na stránku, pričom udržiava zabezpečenú reláciu s aplikáciou, čím získava možnosť vidieť prenášané údaje obete.\

Ochrana proti útokom MITM

Spoľahlivá ochrana pred útokmi MITM je možná, ak používateľ vykoná niekoľko preventívnych akcií a použije kombináciu metód šifrovania a autentifikácie zo strany vývojárov webových aplikácií.

Akcie používateľa:

  • Nepripájajte sa k bodom Wi-Fi, ktoré nemajú ochranu heslom. Vypnite funkciu automatického pripájania k známym prístupovým bodom – útočník môže zamaskovať svoju Wi-Fi ako legitímnu.
  • Venujte pozornosť upozorneniu prehliadača o prechode na nezabezpečenú stránku. Takáto správa môže naznačovať prechod na falošnú webovú stránku útočníka alebo problémy s ochranou legitímnej webovej stránky.
  • Ukončite reláciu s aplikáciou (odhláste sa), ak sa nepoužíva.
  • Nepoužívajte verejné siete (kaviarne, parky, hotely atď.) na vykonávanie dôverných transakcií ( Obchodná korešpondencia, finančné transakcie, nákupy v internetových obchodoch a pod.).
  • Na počítači alebo notebooku používajte antivírus s aktuálnymi databázami, pomôže vám chrániť sa pred útokmi pomocou škodlivého softvéru.

Vývojári webových aplikácií a webových stránok musia používať zabezpečené protokoly TLS a HTTPS, ktoré značne komplikujú spoofingové útoky šifrovaním prenášaných dát. Ich použitie tiež zabraňuje odpočúvaniu prevádzky za účelom získania parametrov autorizácie a prístupových kľúčov.

Za osvedčený postup sa považuje ochrana TLS a HTTPS nielen pre autorizačné stránky, ale aj pre všetky ostatné časti webu. Znižuje sa tak možnosť, že útočník ukradne používateľovi súbory cookie v momente, keď po autorizácii prechádza cez nechránené stránky.

Za ochranu pred útokmi MITM je zodpovedný používateľ a telekomunikačný operátor. Pre používateľa je najdôležitejšie nestratiť ostražitosť, používať len overené spôsoby prístupu na internet a pri prenose osobných údajov si vyberať stránky s HTTPS šifrovaním. Telekomunikačným operátorom možno odporučiť, aby používali systémy Deep Packet Inspection (DPI) na detekciu anomálií v dátových sieťach a zabránenie útokom spoofingu.

Vládne agentúry plánujú útok MITM využiť na ochranu občanov, nie na spôsobenie škôd, na rozdiel od útočníkov. Odpočúvanie osobných správ a iného užívateľského styku sa vykonáva v rámci platnej legislatívy, vykonávané rozhodnutím súdnych orgánov na boj proti terorizmu, obchodovaniu s drogami a iným zakázaným činnostiam. Bežní používatelia„legitímne“ útoky MITM nie sú nebezpečné.

Dosiahnuť požadovaný výsledok Takmer vždy existuje niekoľko spôsobov. To platí aj pre oblasť informačnej bezpečnosti. Niekedy na dosiahnutie cieľa môžete použiť hrubú silu, hľadať diery a vyvíjať exploity sami, alebo počúvať, čo sa prenáša cez sieť. Navyše posledná možnosť je často optimálna. Preto si dnes povieme niečo o nástrojoch, ktoré nám pomôžu zachytiť cenné informácie sieťová prevádzka, priťahuje na to útoky MITM.

MITMf

Začnime jedným z najzaujímavejších kandidátov. Toto je celý rámec na vedenie útokov typu man-in-the-middle, postavený na báze sergio-proxy. Nedávno zahrnuté v Kali Linux. Ak si ho chcete nainštalovať sami, stačí naklonovať úložisko a spustiť niekoľko príkazov:

# setup.sh # pip install -r requirements.txt

# pip install -r requirements.txt

Má architektúru, ktorá je rozšíriteľná pomocou pluginov. Medzi hlavné patria tieto:

  • Spoof – umožňuje presmerovať prevádzku pomocou spoofingu ARP/DHCP, presmerovaní ICMP a modifikovať požiadavky DNS;
  • Sniffer - tento plugin sleduje pokusy o prihlásenie pre rôzne protokoly;
  • BeEFAutorun - umožňuje automaticky spúšťať moduly BeEF na základe typu OS a klientskeho prehliadača;
  • AppCachePoison - vykoná útok otravy cache;
  • SessionHijacking - unesie relácie a uloží výsledné súbory cookie do profilu Firefly;
  • BrowserProfiler – pokúša sa získať zoznam pluginov používaných prehliadačom;
  • FilePwn - umožňuje nahradiť správy odoslané cez HTTP súbory pomocou Backdoor Factory a BDFProxy;
  • Vložiť - vloží ľubovoľný obsah do stránky HTML;
  • jskeylogger - vkladá JavaScript keylogger do klientskych stránok.

Ak sa vám táto funkcionalita zdá nedostatočná, vždy si môžete pridať vlastnú implementáciou príslušného rozšírenia.

PuttyRider

Ďalší nástroj, ktorý si zaslúži pozornosť. Je pravda, že na rozdiel od všetkých ostatných nástrojov, o ktorých sa dnes uvažuje, je veľmi úzko špecializovaný. Ako sám autor projektu hovorí, k vytvoreniu takejto utility ho inšpirovalo to, že pri penetračných testoch sa najdôležitejšie dáta nachádzali na Linux/UNIX serveroch, ku ktorým sa administrátori pripájali cez SSH/Telnet/rlogin. Navyše vo väčšine prípadov bolo oveľa jednoduchšie získať prístup k počítaču administrátorov ako k cieľovému serveru. Po preniknutí do stroja správcu systému zostáva len uistiť sa, že PuTTY beží a pomocou tohto nástroja vybudovať spätný most k útočníkovi.

Nástroj vám umožňuje nielen zachytiť „komunikáciu“ medzi správcom a vzdialeným serverom (vrátane hesiel), ale aj vykonávať ľubovoľné príkazy shellu v rámci danej relácie. Navyše to všetko prebehne úplne transparentne pre užívateľa (správcu). Ak vás zaujímajú technické detaily, napríklad ako je PuTTY implementovaný do procesu, odporúčam vám prečítať si prezentáciu autora.

Pomerne starý nástroj, ktorý sa narodil pred viac ako ôsmimi rokmi. Určené na klonovanie relácií ukradnutím súborov cookie. Pre únos relácie má základné zručnosti detekcie hostiteľa (v prípade pripojenia k otvorenému bezdrôtová sieť alebo hub) a vykonaním otravy ARP. Jediným problémom je, že dnes, na rozdiel od pred ôsmimi rokmi, takmer všetky veľké spoločnosti ako Yahoo alebo Facebook používajú šifrovanie SSL, vďaka čomu je tento nástroj úplne zbytočný. Napriek tomu je na internete stále dostatok zdrojov, ktoré nepoužívajú SSL, takže je príliš skoro odpisovať utilitu. Medzi jeho výhody patrí aj to, že sa automaticky integruje do Firefoxu a pre každú zachytenú reláciu vytvorí samostatný profil. Zdroj je k dispozícii v úložisku a môžete si ho vytvoriť sami pomocou nasledujúcej postupnosti príkazov:

# apt-get install build-essential libwxgtk2.8-dev libgtk2.0-dev libpcap-dev # g++ $(wx-config --cppflags --libs) -lpcap -o sessionthief *.cpp # setcap cap_net_raw,cap_net_admin=eip sessionthief

# apt-get install build-essential libwxgtk2.8-dev libgtk2.0-dev libpcap-dev

# g++ $(wx-config --cppflags --libs) -lpcap -o sessionthief *.cpp

# setcap cap_net_raw,cap_net_admin=eip sessionthief

ProxyFuzz

ProzyFuzz nemá nič spoločné priamo s vykonávaním útokov MITM. Ako už z názvu tušíte, nástroj je určený na fuzzovanie. Toto je malý nedeterministický sieťový fuzzer implementovaný v Pythone, ktorý náhodne mení obsah paketov sieťovej prevádzky. Podporuje protokoly TCP a UDP. Môžete ho nakonfigurovať tak, aby rozmazával iba jednu stranu. Užitočné, keď potrebujete niečo rýchlo skontrolovať sieťová aplikácia(alebo protokol) a vytvoriť PoC. Príklad použitia:

Python proxyfuzz -l -r -p

python proxyfuzz -l -r -p

Zoznam možností obsahuje:

  • w - určuje počet odoslaných požiadaviek pred začatím fuzzingu;
  • c - fuzz iba klienta (inak obe strany);
  • s - fuzz iba server (inak obe strany);
  • u - protokol UDP (inak sa používa TCP).

Stredný

Pomôcka na vykonávanie MITM útokov na rôzne protokoly prezentovaná na konferencii DEF CON. Verzia alfa podporovala protokol HTTP a vo svojom arzenáli mala tri skvelé doplnky:

  • plugin-beef.py - vloží Browser Exploitation Framework (BeEF) do akejkoľvek HTTP požiadavky prichádzajúcej z lokálnej siete;
  • plugin-metasploit.py - vloží IFRAME do nešifrovaných (HTTP) požiadaviek, ktoré načítajú exploity prehliadača z Metasploitu;
  • plugin-keylogger.py – vkladá obslužný program udalosti JavaScript onKeyPress pre všetky textové polia, ktoré budú odoslané cez HTTPS, čo spôsobí, že prehliadač odošle heslo zadané používateľom znak po znaku na server útočníka pred odoslaním celého formulára.

Middler nielen automaticky analyzuje sieťovú prevádzku a nachádza v nej súbory cookie, ale ich aj nezávisle od klienta požaduje, to znamená, že proces je maximálne automatizovaný. Program garantuje zber všetkých nechránených účtov v počítačovej sieti (alebo verejnom hotspote), ku ktorej premávke má prístup. Aby program správne fungoval, musia byť v systéme nainštalované nasledujúce balíky: Scapy, libpcap, readline, libdnet, python-netfilter. Bohužiaľ, úložisko nebolo dlho aktualizované, takže nové funkcie si budete musieť pridať sami.

Nástroj konzoly, ktorý vám umožňuje interaktívne skúmať a upravovať prenos HTTP. Vďaka takýmto zručnostiam utilitu využívajú nielen pentesteri/hackeri, ale aj bežní vývojári, ktorí ju využívajú napríklad na ladenie webových aplikácií. S jeho pomocou môžete získať podrobné informácie o tom, aké požiadavky aplikácia robí a aké odpovede dostáva. Tiež mitmproxy môže pomôcť pri štúdiu zvláštností fungovania niektorých REST API, najmä tých, ktoré sú zle zdokumentované.

Inštalácia je mimoriadne jednoduchá:

$ sudo aptitude install mitmproxy

Stojí za zmienku, že mitmproxy vám tiež umožňuje zachytiť prenos HTTPS vydaním certifikátu s vlastným podpisom klientovi. Dobrý príklad Môžete sa naučiť, ako nakonfigurovať odpočúvanie a úpravu premávky.

Dsniff

No, táto pomôcka je vo všeobecnosti jednou z prvých vecí, ktoré by vás mali napadnúť hneď, ako to budete počuť
„útok MITM“. Nástroj je pomerne starý, ale naďalej sa aktívne aktualizuje, čo je dobrá správa. O jeho schopnostiach nemá zmysel podrobne rozprávať, za štrnásť rokov existencie sa na internete prevalil viackrát. Napríklad v sprievodcovi, ako je tento:

alebo pokyny z našej webovej stránky:

Nakoniec..

Ako obvykle, nepozreli sme sa na všetky nástroje, ale iba na tie najpopulárnejšie; existuje aj veľa málo známych projektov, o ktorých by sme sa mohli niekedy rozprávať. Ako vidíte, nástroje na vykonávanie útokov MITM nechýbajú a, čo sa nestáva príliš často, jeden zo skvelých nástrojov je implementovaný aj pre Windows. Nie je čo povedať o nixových systémoch - o celej škále. Takže si myslím, že vždy sa dá nájsť ten správny nástroj na krádež
poverenia iných ľudí. Ups, teda na testovanie.

Man in the middle attack (MitM útok) je termín v kryptografii, ktorý označuje situáciu, keď je útočník schopný čítať a upravovať podľa ľubovôle správy vymieňané medzi korešpondentmi a nikto z nich nemôže uhádnuť jeho identitu. prítomnosť v kanáli .

Spôsob kompromitovania komunikačného kanála, pri ktorom útočník po pripojení na kanál medzi protistranami aktívne zasahuje do prenosového protokolu, vymazáva, skresľuje informácie alebo zavádza nepravdivé informácie.

Princíp útoku:

Predpokladajme, že objekt „A“ plánuje preniesť nejaké informácie do objektu „B“. Objekt "C" má znalosti o štruktúre a vlastnostiach použitej metódy prenosu údajov, ako aj o skutočnosti plánovaného prenosu skutočných informácií, ktoré "C" plánuje zachytiť.

Na uskutočnenie útoku sa zdá, že "C" objekt "A" ako "B" a objekt "B" ako "A". Objekt "A", mylne sa domnievajúci, že posiela informácie do "B", ich posiela do objektu "C".

Objekt „C“ po prijatí informácií a vykonaní niektorých akcií s nimi (napríklad skopírovaním alebo úpravou na vlastné účely) odošle údaje samotnému príjemcovi – „B“; objekt "B" sa zase domnieva, že informácie boli prijaté priamo od "A".

Príklad útoku MitM:

Povedzme, že Alice má finančné problémy a pomocou programu na odosielanie okamžitých správ sa rozhodne požiadať Johna o sumu peňazí odoslaním správy:
Alice: John, ahoj!
Alice: Pošlite mi prosím šifrovací kľúč, mám malú prosbu!
John: Ahoj! Počkaj!

V tom čase si však pán X, ktorý si pri analýze prevádzky pomocou sniffer všimol túto správu, a slová „šifrovací kľúč“ vzbudili zvedavosť. Preto sa rozhodol zachytiť nasledujúce správy a nahradiť ich údajmi, ktoré potreboval, a keď dostal nasledujúcu správu:
John: Tu je môj kľúč: 1111_D

Zmenil Johnov kľúč za svoj a poslal Alici správu:
John: Tu je môj kľúč: 6666_M

Alice, ktorá si to neuvedomuje a myslí si, že je to Johnov kľúč, používa súkromný kľúč 6666_M, posiela zašifrované správy Jánovi:
Alice: John, mám problémy a súrne potrebujem peniaze, preveďte 300 USD na môj účet: Z12345. Ďakujem. p.s. Môj kľúč: 2222_A

Po prijatí správy ju pán X dešifruje pomocou svojho kľúča, prečíta si ju a s radosťou zmení Alicino číslo účtu a šifrovací kľúč na svoje vlastné, zašifruje správu kľúčom. 1111_D a pošle Johnovi správu:
Alice: John, mám problémy a súrne potrebujem peniaze, preveďte 300 USD na môj účet: Z67890. Ďakujem. p.s. Môj kľúč: 6666_A

Po prijatí správy ju John dešifruje pomocou kľúča 1111_D, a bez váhania prevedie peniaze na účet Z67890...

A tak pán X pomocou útoku typu man-in-the-middle zarobil 300 dolárov, ale Alice teraz bude musieť vysvetliť, že peniaze nedostala... A John? John musí Alici dokázať, že ich poslal...

Implementácia:

Tento typ útoku sa používa v niektorých softvérových produktoch na odpočúvanie siete, napríklad:
NetStumbler- program, pomocou ktorého môžete zhromaždiť množstvo užitočných údajov o bezdrôtovej sieti a vyriešiť niektoré problémy spojené s jej prevádzkou. NetStumbler vám umožňuje určiť dosah vašej siete a pomáha vám presne nasmerovať vašu anténu pre komunikáciu na veľké vzdialenosti. Pre každý nájdený prístupový bod môžete zistiť MAC adresu, odstup signálu od šumu, názov služby a stupeň jej zabezpečenia. Ak prenos nie je šifrovaný, bude užitočná schopnosť programu odhaliť neoprávnené pripojenia.

dsniff- je súbor programov pre sieťový audit a penetračné testovanie, ktoré poskytujú pasívne monitorovanie siete na vyhľadávanie požadovaných údajov (heslá, adresy Email, súbory atď.), zachytenie sieťovej prevádzky, ktorá by za normálnych okolností bola neprístupná na analýzu (napríklad v prepínanej sieti), ako aj schopnosť organizovať útoky MITM na zachytenie relácií SSH a HTTPS využívaním nedostatkov PKI.

Kain a Ábel - voľný program, ktorý vám umožňuje obnoviť stratené heslá pre operačné systémy Rodina Windows. Podporovaných je niekoľko režimov obnovy: hackovanie hrubou silou, výber slovníka, prezeranie hesiel skrytých hviezdičkami atď. K dispozícii sú aj možnosti identifikácie hesla zachytením informačných paketov a ich následnou analýzou, zaznamenávaním sieťových konverzácií, analýzou vyrovnávacej pamäte a podobne.

Ettercap- je sniffer, zachytávač a záznamník paketov pre lokálne ethernetové siete, ktorý podporuje aktívnu a pasívnu analýzu viacerých protokolov a je tiež možné „nahodiť“ vlastné dáta do existujúceho pripojenia a filtrovať „za behu“ bez prerušenia spojenia synchronizácia. Program vám umožňuje zachytiť SSH1, HTTPS a ďalšie zabezpečené protokoly a poskytuje možnosť dešifrovať heslá pre nasledujúce protokoly: TELNET, ftp, POP, RLOGIN, SSH1, icq, SMB, Mysql, HTTP, NNTP, X11, NAPSTER, IRC , RIP, BGP, SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, HALF LIFE, QUAKE 3, MSN, YMSG.

KARMA– sada nástrojov na hodnotenie bezpečnosti bezdrôtových klientov, je bezdrôtový sniffer, ktorý pasívnym počúvaním rámcov 802.11 Probe Request umožňuje detekovať klientov a ich preferované/dôveryhodné siete. Pre jednu z požadovaných sietí je potom možné vytvoriť falošný prístupový bod, ku ktorému sa môže automaticky pripojiť. Falošné služby na vysokej úrovni možno použiť na odcudzenie osobných údajov alebo zneužitie zraniteľnosti klienta na hostiteľovi.

AirJack- súbor programov, ktoré sú podľa odborníkov v oblasti WiFi hackingu najlepším nástrojom na generovanie rôznych 802.11 rámcov. AirJack obsahuje množstvo nástrojov určených na detekciu skrytého ESSID, odosielanie rámcov ukončenia relácie s falošným MAC, vykonávanie útokov MitM a jeho úpravu.

Protiakcia:

Aby sa predišlo útokom tohto typu, predplatitelia „A“ a „B“ si musia navzájom prenášať digitálne podpisy verejných šifrovacích kľúčov pomocou spoľahlivého kanála. Potom pri porovnávaní podpisov kľúčov v šifrovacích reláciách bude možné určiť, ktorý kľúč bol použitý na šifrovanie údajov a či boli kľúče nahradené.

V tomto článku sa pokúsime pochopiť teóriu útokov typu man-in-the-middle a niektoré praktické body, ktoré pomôžu predchádzať týmto typom útokov. Pomôže nám to pochopiť riziko, ktoré takéto narušenie predstavuje pre naše súkromie, keďže útoky MitM nám umožňujú zasahovať do komunikácie a odpočúvať naše konverzácie.

Pochopenie, ako funguje internet

Aby sme pochopili princíp útoku typu man-in-the-middle, stojí za to najprv pochopiť, ako funguje samotný internet. Hlavné body interakcie: klienti, smerovače, servery. Najbežnejším komunikačným protokolom medzi klientom a serverom je Hypertext Transfer Protocol (HTTP). Surfovanie na internete pomocou prehliadača, e-mailu, okamžitých správ – to všetko prebieha cez HTTP.

Keď zadáte do panela s adresou prehliadača, klient (vy) odošle serveru požiadavku na zobrazenie webovej stránky. Paket (požiadavka HTTP GET) sa prenáša cez niekoľko smerovačov na server. Server potom odpovie webovou stránkou, ktorá sa odošle klientovi a zobrazí sa na jeho monitore. Správy HTTP musia byť odoslané na bezpečnostný mód zabezpečiť dôvernosť a anonymitu.

Obrázok 1. Interakcia klient-server

Zabezpečenie komunikačného protokolu

Zabezpečený komunikačný protokol musí mať každú z nasledujúcich vlastností:

  1. Ochrana osobných údajov- správu si môže prečítať iba určený príjemca.
  2. Autenticita- bola preukázaná totožnosť zúčastnených strán.
  3. bezúhonnosť- potvrdenie, že správa nebola zmenená počas prepravy.

Ak niektoré z týchto pravidiel nie je dodržané, celý protokol je ohrozený.

Útok typu Man-in-the-middle cez protokol HTTP

Útočník môže ľahko vykonať útok typu man-in-the-middle pomocou techniky nazývanej ARP spoofing. Ktokoľvek vo vašom Wi-Fi siete vám môže poslať sfalšovaný paket ARP, čo spôsobí, že všetku svoju prevádzku nevedomky pošlete cez útočníka namiesto vášho smerovača.

Potom má útočník plnú kontrolu nad prevádzkou a môže sledovať požiadavky odoslané oboma smermi.

Obrázok 2. Vzor útoku typu Man-in-the-middle


Aby sa takýmto útokom zabránilo, bola vytvorená bezpečná verzia protokolu HTTP. Transport Layer Security (TLS) a jeho predchodca Secure Socket Layer (SSL) sú kryptografické protokoly, ktoré poskytujú bezpečnosť prenosu dát cez sieť. Preto sa zabezpečený protokol bude nazývať HTTPS. Ak chcete zistiť, ako funguje zabezpečený protokol, zadajte ho do panela s adresou prehliadača (všimnite si S v https).

Útok človeka uprostred na zle implementované SSL

Moderné SSL používa dobrý šifrovací algoritmus, ale na tom nezáleží, ak nie je implementovaný správne. Ak hacker dokáže požiadavku zachytiť, môže ju upraviť odstránením písmena „S“ z požadovanej adresy URL, čím obíde SSL.

Takéto zachytenie a úpravu žiadosti možno zaznamenať. Ak napríklad požadujete https://login.yahoo.com/ a odpoveď je http://login.yahoo.com/ , malo by to vyvolať podozrenie. V čase písania tohto článku tento útok skutočne funguje na e-mailovej službe Yahoo.

Obrázok 3. Žiadosť o odpočúvanie a úpravu


Na zabránenie takémuto útoku môžu servery implementovať HTTP Strict Transport Security (HSTS), mechanizmus, ktorý umožňuje vynútené bezpečné pripojenie cez protokol HTTPS. V tomto prípade, ak útočník upraví požiadavku odstránením „S“ z adresy URL, server stále presmeruje používateľa pomocou presmerovania 302 na stránku so zabezpečeným protokolom.

Obrázok 4. Schéma činnosti HSTS


Tento spôsob implementácie SSL je zraniteľný voči inému typu útoku - útočník vytvorí SSL spojenie so serverom, ale používa rôzne triky, aby prinútil používateľa použiť HTTP.

Obrázok 5. Vzor útoku HSTS


Aby sa takýmto útokom zabránilo, moderné prehliadače ako Chrome, Firefox a Tor monitorujú stránky pomocou HSTS a vynucujú si k nim pripojenie na strane klienta cez SSL. V tomto prípade by útočník vykonávajúci útok typu man-in-the-middle musel vytvoriť spojenie SSL s obeťou.

Obrázok 6. Vzor útoku, pri ktorom útočník nadviaže spojenie SSL s obeťou


Aby mohol útočník poskytnúť používateľovi pripojenie SLL, musí vedieť, ako sa správať ako server. Poďme pochopiť technické aspekty SSL.

Pochopenie protokolu SSL

Z pohľadu hackera ohrozenie akéhokoľvek komunikačného protokolu spočíva v nájdení slabého článku medzi komponentmi uvedenými vyššie (súkromie, autentickosť a integrita).

SSL používa asymetrický šifrovací algoritmus. Problém symetrického šifrovania je, že rovnaký kľúč sa používa na šifrovanie a dešifrovanie údajov, tento prístup nie je platný pre internetové protokoly, pretože útočník môže tento kľúč vystopovať.

Asymetrické šifrovanie obsahuje 2 kľúče pre každú stranu: verejný kľúč, ktorý sa používa na šifrovanie, a súkromný kľúč, ktorý sa používa na dešifrovanie údajov.

Obrázok 7. Verejný a súkromný kľúč fungujú

Ako SSL poskytuje tri vlastnosti potrebné na zabezpečenú komunikáciu?

  1. Pretože sa na šifrovanie údajov používa asymetrická kryptografia, SSL poskytuje súkromné ​​pripojenie. Toto šifrovanie nie je také ľahké prelomiť a zostať neodhalené.
  2. Server potvrdí svoju oprávnenosť zaslaním SSL certifikátu klientovi vydaného certifikačnou autoritou - dôveryhodnou treťou stranou.

Ak sa útočníkovi nejakým spôsobom podarí získať certifikát, mohli by otvoriť dvere útoku typu man-in-the-middle. Vytvorí teda 2 spojenia – so serverom a s obeťou. Server si v tomto prípade myslí, že útočníkom je obyčajný klient a obeť nemá ako identifikovať útočníka, keďže poskytol certifikát, ktorý dokazuje, že je serverom.

Vaše správy prichádzajú a prichádzajú v zašifrovanej forme, ale sledujú reťazec cez počítač kyberzločinca, kde má úplnú kontrolu.

Obrázok 8. Vzor útoku, ak má útočník certifikát


Certifikát nemusí byť sfalšovaný, ak má útočník možnosť kompromitovať prehliadač obete. V tomto prípade môže vložiť certifikát s vlastným podpisom, ktorý bude štandardne dôveryhodný. Takto sa vykonáva väčšina útokov typu man-in-the-middle. V zložitejších prípadoch musí hacker ísť inou cestou – sfalšovať certifikát.

Problémy certifikačnej autority

Certifikát odoslaný serverom bol vydaný a podpísaný certifikačnou autoritou. Každý prehliadač má zoznam dôveryhodných certifikačných autorít a môžete ich pridať alebo odstrániť. Problém je v tom, že ak sa rozhodnete odstrániť veľké oprávnenia, nebudete môcť navštíviť stránky, ktoré používajú certifikáty podpísané týmito oprávneniami.

Certifikáty a certifikačné autority boli vždy najslabším článkom HTTPS pripojenia. Aj keď bolo všetko implementované správne a každá certifikačná autorita má solídnu autoritu, stále je ťažké vyrovnať sa s tým, že musíte dôverovať mnohým tretím stranám.

Dnes existuje viac ako 650 organizácií schopných vydávať certifikáty. Ak by útočník hackol ktorýkoľvek z nich, získal by certifikáty, ktoré by chcel.

Aj keď existovala iba jedna certifikačná autorita, VeriSign, vyskytol sa problém – ľudia, ktorí mali zabrániť útokom typu man-in-the-middle, predávali odpočúvacie služby.

Mnoho certifikátov bolo tiež vytvorených kvôli hackovaniu certifikačných autorít. Na oklamanie cieľového používateľa, aby dôveroval podvodným certifikátom, sa použili rôzne techniky a triky.

Forenzná

Keďže útočník posiela sfalšované pakety ARP, útočníkovu IP adresu nemožno vidieť. Namiesto toho musíte venovať pozornosť MAC adrese, ktorá je špecifická pre každé zariadenie v sieti. Ak poznáte adresu MAC svojho smerovača, môžete ju porovnať s adresou MAC predvolenej brány a zistiť, či je to skutočne váš smerovač alebo útočník.

Napríklad v operačnom systéme Windows môžete použiť príkaz ipconfig v príkazový riadok(CMD), aby ste videli svoju predvolenú IP adresu brány (posledný riadok):

Obrázok 9. Použitie príkazu ipconfig


Potom pomocou príkazu arp –a zistite MAC adresu tejto brány:

Obrázok 10. Použitie príkazu arp –a


Existuje však aj iný spôsob, ako si útok všimnúť – ak ste sledovali sieťovú aktivitu v čase jeho spustenia a sledovali pakety ARP. Na tento účel môžete použiť napríklad Wireshark, tento program vás upozorní, ak sa zmenila MAC adresa predvolenej brány.

Poznámka: Ak útočník správne spoofuje MAC adresy, jeho sledovanie sa stane veľkým problémom.

Záver

SSL je protokol, ktorý núti útočníka vykonať veľa práce na vykonanie útoku. Ale neochráni vás pred útokmi podporovanými štátom ani pred skúsenými hackerskými organizáciami.

Úlohou používateľa je chrániť svoj prehliadač a počítač, aby sa zabránilo vloženiu falošného certifikátu (veľmi častá technika). Tiež stojí za to venovať pozornosť zoznamu dôveryhodných certifikátov a odstrániť tie, ktorým nedôverujete.

Publikácie na danú tému