Ochrana před člověkem uprostřed. Vše o útoku Muže uprostřed (MitM).

18. 10. 2016 | Vladimír Chazov

Plány FSB, ministerstva telekomunikací a masových komunikací a ministerstva průmyslu a obchodu implementovat ustanovení zákona Yarovaya týkající se odposlechu a dešifrování korespondence Rusů již nejsou jen plány, ale již se začínají realizovat do akce příkazem k vypracování znaleckého posudku k možnosti odposlechu zpráv WhatsApp, Viber, Facebook Messenger, Telegram, Skype pomocí útoků MITM a předvedení prototypu takového nástroje.

O schématu organizace „legitimního“ MITM útoku jsme psali v předchozím článku. Dnes se podrobněji pozastavíme nad samotným principem takového útoku a způsoby jeho provedení.

Co je útok MITM

Man In The Middle (MITM) se překládá jako „muž uprostřed“. Tento termín označuje síťový útok, kdy se útočník nachází mezi uživatelem internetu a aplikací, ke které přistupuje. Ne samozřejmě fyzicky, ale pomocí speciálního softwaru. Uživateli se prezentuje jako požadovaná aplikace (může to být webová stránka nebo internetová služba), simuluje práci s ní a dělá to tak, aby navozoval dojem běžného provozu a výměny informací.

Cílem útoku jsou osobní údaje uživatele, jako jsou přihlašovací údaje různé systémy, bankovní údaje a čísla karet, osobní korespondence a další důvěrné informace. Ve většině případů jsou napadeny finanční aplikace (bankovní klienti, online banky, platební a převodní služby), firemní služby SaaS, webové stránky elektronický obchod(internetové obchody) a další stránky, kde je pro přihlášení vyžadována autorizace.

Informace, které útočník získá, mohou být použity pro různé účely, včetně nelegálních převodů peněz, změn účtů, zachycování osobní korespondence, nákupů na cizí náklady, kompromitování a vydírání.

Po krádeži přihlašovacích údajů a hacknutí systému navíc mohou zločinci instalovat škodlivý software do podnikové sítě. software organizovat krádeže duševního vlastnictví (patenty, projekty, databáze) a způsobit ekonomické škody mazáním důležitých dat.

Útok MITM lze přirovnat k pošťákovi, který při doručování vaší korespondence otevře dopis, přepíše jeho obsah pro osobní potřebu nebo dokonce zfalšuje rukopis, přidá něco vlastního a poté zalepí obálku a doručí ji adresátovi. jako by se nic nestalo.. Pokud jste navíc text dopisu zašifrovali a chcete dešifrovací kód sdělit osobně adresátovi, pošťák se jako adresát představí tak, že si záměny ani nevšimnete.

Jak se provádí útok MITM

Provedení útoku MITM se skládá ze dvou fází: zachycení a dešifrování.

  • Zachycení

První fází útoku je zachycení provozu od uživatele k zamýšlenému cíli a jeho nasměrování do sítě útočníka.

Nejběžnějším a nejjednodušším způsobem zachycení je pasivní útok, kdy útočník vytvoří Wi-Fi body s volným přístupem (bez hesla nebo autorizace). V okamžiku, kdy se uživatel k takovému bodu připojí, získá útočník přístup k veškerému provozu, který jím prochází, a může z něj extrahovat jakákoli data pro zachycení.

Druhým způsobem je aktivní odposlech, který lze provést jedním z následujících způsobů:

IP spoofing– nahrazení IP adresy cíle v hlavičce paketu adresou útočníka. Výsledkem je, že uživatelé místo toho, aby navštívili požadovanou adresu URL, skončí na webu útočníka.

ARP spoofing– náhrada skutečné MAC adresy hostitele za adresu útočníka v tabulce ARP oběti. Výsledkem je, že data odeslaná uživatelem na IP adresu požadovaného uzlu skončí na adrese útočníka.

DNS spoofing Infekce DNS cache, průnik do DNS server a nahrazení záznamu o shodě webové adresy. V důsledku toho se uživatel pokusí získat přístup k požadovanému webu, ale ze serveru DNS obdrží adresu webu útočníka.

  • Dešifrování

Po zachycení musí být obousměrný provoz SSL dešifrován takovým způsobem, aby uživatel a zdroj, který požaduje, nezaznamenali rušení.

K tomu existuje několik metod:

HTTPS spoofing– falešný certifikát je odeslán do prohlížeče oběti, když je navázáno připojení k webu prostřednictvím protokolu HTTPS. Tento certifikát obsahuje digitální podpis napadené aplikace, díky kterému prohlížeč akceptuje spojení s útočníkem jako spolehlivé. Jakmile je takové spojení navázáno, útočník získá přístup ke všem datům zadaným obětí před jejich přenosem do aplikace.

SSL BEAST(využití prohlížeče proti SSL/TLS) – útok využívá zranitelnost SSL v TLS verze 1.0 a 1.2. Počítač oběti je infikován škodlivým JavaScriptem, který zachycuje šifrované soubory cookie odeslané webové aplikaci. To ohrozí režim šifrování „zřetězení bloků šifrovaného textu“, takže útočník získá dešifrované soubory cookie a ověřovací klíče.

SSL únos– přenos falešných ověřovacích klíčů uživateli a aplikaci na začátku relace TCP. To vytváří zdání zabezpečeného připojení, i když je relace ve skutečnosti řízena „mužem uprostřed“.

Odstraňování SSL– Downgrade připojení ze zabezpečeného HTTPS na prostý HTTP zachycením ověřování TLS odeslaného aplikací uživateli. Útočník poskytuje uživateli nešifrovaný přístup na stránku, přičemž udržuje zabezpečenou relaci s aplikací, čímž získává možnost vidět přenášená data oběti.\

Ochrana proti útokům MITM

Spolehlivá ochrana proti útokům MITM je možná, pokud uživatel provede několik preventivních akcí a použije kombinaci šifrovacích a autentizačních metod vývojářů webových aplikací.

Akce uživatele:

  • Nepřipojujte se k bodům Wi-Fi, které nemají ochranu heslem. Vypněte funkci automatického připojování ke známým přístupovým bodům – útočník může svou Wi-Fi maskovat jako legitimní.
  • Věnujte pozornost upozornění prohlížeče o přechodu na nezabezpečený web. Taková zpráva může naznačovat přechod na falešnou webovou stránku útočníka nebo problémy s ochranou legitimní webové stránky.
  • Ukončete relaci s aplikací (odhlášení), pokud se nepoužívá.
  • Nepoužívejte veřejné sítě (kavárny, parky, hotely atd.) k provádění důvěrných transakcí ( obchodní korespondence, finanční transakce, nákupy v internetových obchodech atd.).
  • Používejte antivirus s aktuálními databázemi na vašem počítači nebo notebooku, pomůže vám chránit se před útoky pomocí škodlivého softwaru.

Vývojáři webových aplikací a webů musí používat zabezpečené protokoly TLS a HTTPS, které značně komplikují spoofingové útoky šifrováním přenášených dat. Jejich použití také zabraňuje odposlechu provozu za účelem získání autorizačních parametrů a přístupových klíčů.

Považuje se za dobrou praxi chránit TLS a HTTPS nejen pro autorizační stránky, ale také pro všechny ostatní části webu. Snižuje se tak možnost, že útočník ukradne soubory cookie uživatele v okamžiku, kdy po autorizaci prochází nechráněné stránky.

Ochrana před útoky MITM je odpovědností uživatele a telekomunikačního operátora. Pro uživatele je nejdůležitější neztrácet ostražitost, používat pouze osvědčené způsoby přístupu na internet a při přenosu osobních údajů volit stránky s HTTPS šifrováním. Telekomunikačním operátorům lze doporučit, aby používali systémy Deep Packet Inspection (DPI) k detekci anomálií v datových sítích a prevenci spoofingových útoků.

Vládní agentury plánují útok MITM využít k ochraně občanů, nikoli ke způsobení škod, na rozdíl od útočníků. Odposlouchávání osobních zpráv a jiného uživatelského provozu je prováděno v rámci platné legislativy na základě rozhodnutí soudních orgánů v boji proti terorismu, obchodu s drogami a jiným zakázaným činnostem. Běžní uživatelé„legitimní“ útoky MITM nejsou nebezpečné.

Dosáhnout kýžený výsledek Téměř vždy existuje několik způsobů. To platí i pro oblast informační bezpečnosti. Někdy můžete k dosažení cíle použít hrubou sílu, hledat díry a vyvíjet exploity sami, nebo poslouchat, co se přenáší přes síť. Navíc poslední možnost je často optimální. Proto si dnes povíme něco o nástrojích, které nám pomohou zachytit cenné informace síťový provoz, což přitahuje útoky MITM.

MITMf

Začněme jedním z nejzajímavějších kandidátů. Toto je celý rámec pro provádění útoků typu man-in-the-middle, postavený na bázi sergio-proxy. Nedávno zahrnuto v Kali Linux. Chcete-li jej nainstalovat sami, stačí naklonovat úložiště a spustit několik příkazů:

# setup.sh # pip install -r požadavky.txt

# pip install -r požadavky.txt

Má architekturu, která je rozšiřitelná pomocí pluginů. Mezi hlavní patří následující:

  • Spoof – umožňuje přesměrovat provoz pomocí spoofingu ARP/DHCP, přesměrování ICMP a úpravu požadavků DNS;
  • Sniffer - tento plugin sleduje pokusy o přihlášení pro různé protokoly;
  • BeEFAutorun - umožňuje automaticky spouštět moduly BeEF na základě typu OS a klientského prohlížeče;
  • AppCachePoison - provede útok otravy mezipamětí;
  • SessionHijacking – unese relace a uloží výsledné soubory cookie do profilu Firefly;
  • BrowserProfiler – pokusí se získat seznam pluginů používaných prohlížečem;
  • FilePwn - umožňuje nahradit zprávy odeslané přes HTTP soubory pomocí Backdoor Factory a BDFProxy;
  • Vložit - vloží libovolný obsah do stránky HTML;
  • jskeylogger - vloží JavaScript keylogger do klientských stránek.

Pokud se vám tato funkce zdá nedostatečná, můžete si vždy přidat vlastní implementací příslušného rozšíření.

PuttyRider

Další nástroj, který stojí za pozornost. Pravda, na rozdíl od všech ostatních dnes uvažovaných nástrojů je velmi úzce specializovaný. Jak sám autor projektu říká, k vytvoření takové utility ho inspirovala skutečnost, že při penetračních testech byla nejdůležitější data umístěna na serverech Linux/UNIX, ke kterým se administrátoři připojovali přes SSH/Telnet/rlogin. Navíc ve většině případů bylo mnohem snazší získat přístup k počítači administrátorů než k cílovému serveru. Po proniknutí do počítače správce systému zbývá pouze ujistit se, že PuTTY běží a pomocí tohoto nástroje vybudovat zadní most k útočníkovi.

Nástroj vám umožňuje nejen zachytit „komunikaci“ mezi správcem a vzdáleným serverem (včetně hesel), ale také provádět libovolné příkazy shellu v rámci dané relace. To vše navíc proběhne naprosto transparentně pro uživatele (administrátora). Pokud vás zajímají technické detaily, například jak je PuTTY implementován do procesu, doporučuji si přečíst autorovu prezentaci.

Docela starý nástroj, narozený před více než osmi lety. Určeno pro klonování relací krádeží souborů cookie. Pro únos relace má základní dovednosti detekce hostitele (v případě připojení k otevřenému bezdrátová síť nebo hub) a provádění otravy ARP. Jediným problémem je, že dnes, na rozdíl od doby před osmi lety, téměř všechny velké společnosti jako Yahoo nebo Facebook používají šifrování SSL, díky čemuž je tento nástroj zcela zbytečný. Navzdory tomu je na internetu stále dostatek zdrojů, které nepoužívají SSL, takže je příliš brzy na odepisování nástroje. Mezi jeho výhody patří skutečnost, že se automaticky integruje do Firefoxu a pro každou zachycenou relaci vytvoří samostatný profil. Zdroj je k dispozici v úložišti a můžete jej vytvořit sami pomocí následující sekvence příkazů:

# 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 zloděj sezení

# 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á nic společného přímo s prováděním útoků MITM. Jak můžete uhodnout z názvu, nástroj je určen pro fuzzing. Jedná se o malý nedeterministický síťový fuzzer implementovaný v Pythonu, který náhodně mění obsah paketů síťového provozu. Podporuje protokoly TCP a UDP. Můžete jej nakonfigurovat tak, aby rozmazával pouze jednu stranu. Užitečné, když potřebujete něco rychle zkontrolovat síťová aplikace(nebo protokol) a vyvinout PoC. Příklad použití:

Python proxyfuzz -l -r -p

python proxyfuzz -l -r -p

Seznam možností zahrnuje:

  • w - udává počet požadavků odeslaných před zahájením fuzzingu;
  • c - fuzz pouze klienta (jinak obě strany);
  • s - fuzz pouze server (jinak obě strany);
  • u - protokol UDP (jinak se používá TCP).

Prostředník

Utilita pro provádění MITM útoků na různé protokoly prezentovaná na konferenci DEF CON. Alfa verze podporovala protokol HTTP a měla ve svém arzenálu tři skvělé pluginy:

  • plugin-beef.py - vloží Browser Exploitation Framework (BeEF) do jakéhokoli HTTP požadavku přicházejícího z lokální sítě;
  • plugin-metasploit.py - vkládá IFRAME do nešifrovaných (HTTP) požadavků, které načítají exploity prohlížeče z Metasploitu;
  • plugin-keylogger.py – vkládá obslužnou rutinu události onKeyPress JavaScript pro všechna textová pole, která budou odeslána přes HTTPS, což způsobí, že prohlížeč odešle heslo zadané uživatelem znak po znaku na server útočníka před odesláním celého formuláře.

Middler nejen automaticky analyzuje síťový provoz a nachází v něm soubory cookie, ale také je nezávisle požaduje od klienta, to znamená, že proces je maximálně automatizován. Program garantuje sběr všech nechráněných účtů v počítačové síti (nebo veřejném hotspotu), k jejichž provozu má přístup. Aby program správně fungoval, musí být v systému nainstalovány následující balíčky: Scapy, libpcap, readline, libdnet, python-netfilter. Bohužel úložiště nebylo dlouho aktualizováno, takže si budete muset přidat novou funkcionalitu sami.

Nástroj konzoly, který umožňuje interaktivně zkoumat a upravovat provoz HTTP. Díky takovým dovednostem utilitu využívají nejen pentesteri/hackeři, ale i běžní vývojáři, kteří ji využívají například k ladění webových aplikací. S jeho pomocí můžete získat podrobné informace o tom, jaké požadavky aplikace vznáší a jaké odpovědi dostává. Také mitmproxy může pomoci při studiu zvláštností fungování některých REST API, zejména těch, která jsou špatně zdokumentována.

Instalace je velmi jednoduchá:

$ sudo aptitude install mitmproxy

Za zmínku stojí, že mitmproxy také umožňuje zachytit HTTPS provoz vydáním certifikátu s vlastním podpisem klientovi. Dobrý příklad Můžete se naučit, jak nakonfigurovat zachycení a úpravu provozu.

Dsniff

Tato utilita je obecně jednou z prvních věcí, které by vás měly napadnout, jakmile uslyšíte
„útok MITM“. Nástroj je poměrně starý, ale stále se aktivně aktualizuje, což je dobrá zpráva. O jeho schopnostech nemá cenu podrobně mluvit, za čtrnáct let existence se na internetu probral nejednou. Například v průvodci, jako je tento:

nebo pokyny z našeho webu:

Konečně..

Jako obvykle jsme se nepodívali na všechny nástroje, ale pouze na ty nejoblíbenější; existuje také mnoho málo známých projektů, o kterých bychom mohli někdy mluvit. Jak vidíte, nástroje pro provádění MITM útoků nechybí, a což se nestává příliš často, jeden ze skvělých nástrojů je implementován pro Windows. O nixových systémech není co říci - celá řada. Takže si myslím, že vždy můžete najít ten správný nástroj pro krádež
pověření jiných lidí. Jejda, tedy na testování.

Man in the middle attack (MitM útok) je termín v kryptografii, který označuje situaci, kdy je útočník schopen číst a upravovat dle libosti zprávy vyměňované mezi korespondenty a nikdo z nich nemůže uhodnout jeho identitu přítomnost v kanálu .

Způsob kompromitování komunikačního kanálu, při kterém útočník po připojení ke kanálu mezi protistranami aktivně zasahuje do přenosového protokolu, maže, zkresluje informace nebo vnucuje nepravdivé informace.

Princip útoku:

Předpokládejme, že objekt "A" plánuje přenést nějaké informace do objektu "B". Objekt "C" má znalosti o struktuře a vlastnostech použitého způsobu přenosu dat, stejně jako o skutečnosti plánovaného přenosu skutečných informací, které "C" plánuje zachytit.

K provedení útoku se „C“ jeví jako objekt „A“ jako „B“ a objekt „B“ jako „A“. Objekt "A", mylně se domnívající, že posílá informace "B", je posílá do objektu "C".

Objekt „C“ po obdržení informací a provedení některých akcí s nimi (například zkopírováním nebo úpravou pro vlastní účely) odešle data samotnému příjemci – „B“; objekt "B" se zase domnívá, že informace byla přijata přímo od "A".

Příklad útoku MitM:

Řekněme, že Alice má finanční problémy a pomocí programu pro rychlé zasílání zpráv se rozhodne požádat Johna o částku peněz zasláním zprávy:
Alice: Johne, ahoj!
Alice: Pošlete mi prosím šifrovací klíč, mám malou prosbu!
John: Ahoj! Počkej!

Ale v tu chvíli si pan X, který při analýze provozu pomocí čichacího nástroje všiml této zprávy, a slova „šifrovací klíč“ vzbudila zvědavost. Proto se rozhodl zachytit následující zprávy a nahradit je údaji, které potřeboval, a když obdržel následující zprávu:
John: Zde je můj klíč: 1111_D

Změnil Johnův klíč za svůj a poslal Alici zprávu:
John: Zde je můj klíč: 6666_M

Alice, která si neuvědomuje a myslí si, že je to Johnův klíč, používá soukromý klíč 6666_M, posílá zašifrované zprávy Johnovi:
Alice: Johne, mám problémy a naléhavě potřebuji peníze, převeďte prosím 300 $ na můj účet: Z12345. Děkuji. p.s. Můj klíč: 2222_A

Po obdržení zprávy ji pan X dešifruje pomocí svého klíče, přečte si ji a s radostí změní Alicino číslo účtu a šifrovací klíč na své vlastní, zašifruje zprávu klíčem. 1111_D a pošle Johnovi zprávu:
Alice: Johne, mám problémy a naléhavě potřebuji peníze, převeďte prosím 300 $ na můj účet: Z67890. Děkuji. p.s. Můj klíč: 6666_A

Po obdržení zprávy ji John dešifruje pomocí klíče 1111_D a bez váhání převede peníze na účet Z67890...

A tak pan X pomocí útoku muže uprostřed vydělal 300 dolarů, ale Alice teď bude muset vysvětlit, že peníze nedostala... A John? John musí Alici dokázat, že je poslal...

Implementace:

Tento typ útoku se používá v některých softwarových produktech pro síťové odposlouchávání, například:
NetStumbler- program, pomocí kterého můžete shromáždit mnoho užitečných dat o bezdrátové síti a vyřešit některé problémy spojené s jejím provozem. NetStumbler vám umožňuje určit dosah vaší sítě a pomáhá vám přesně nasměrovat vaši anténu pro komunikaci na dlouhé vzdálenosti. U každého nalezeného přístupového bodu lze zjistit MAC adresu, odstup signálu od šumu, název služby a stupeň jejího zabezpečení. Pokud provoz není šifrován, bude užitečná schopnost programu detekovat neoprávněná připojení.

dsniff- je sada programů pro síťový audit a penetrační testování, poskytující pasivní monitorování sítě pro vyhledávání požadovaných dat (hesla, adresy E-mailem, soubory atd.), zachycování síťového provozu, který by za normálních okolností byl pro analýzu nepřístupný (například v přepínané síti), stejně jako schopnost organizovat útoky MITM za účelem zachycení relací SSH a HTTPS využitím chyb PKI.

Kain a Ábel - volný program, který vám umožňuje obnovit ztracená hesla pro operační systémy Rodina Windows. Je podporováno několik režimů obnovy: hackování hrubou silou, výběr slovníku, zobrazení hesel skrytých hvězdičkami atd. K dispozici jsou také možnosti identifikace hesla zachycením informačních paketů a jejich následnou analýzou, záznamem síťové konverzace, analýzou mezipaměti a dalšími.

Ettercap- je sniffer, zachycovač paketů a záznamník pro lokální ethernetové sítě, který podporuje aktivní i pasivní analýzu více protokolů a je také možné „nahodit“ vlastní data do stávajícího připojení a filtrovat „za běhu“ bez přerušení spojení synchronizace. Program umožňuje zachytit SSH1, HTTPS a další zabezpečené protokoly a poskytuje možnost dešifrovat hesla pro následující 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 utilit pro hodnocení bezpečnosti bezdrátových klientů, je bezdrátový sniffer, který pasivním nasloucháním rámcům 802.11 Probe Request umožňuje detekovat klienty a jejich preferované/důvěryhodné sítě. Pro jednu z požadovaných sítí pak lze vytvořit falešný přístupový bod, ke kterému se automaticky připojí. Falešné služby na vysoké úrovni lze použít ke krádeži osobních údajů nebo zneužití zranitelnosti klienta na hostiteli.

AirJack- sada programů, která je podle odborníků v oblasti WiFi hackingu tím nejlepším nástrojem pro generování různých 802.11 rámců. AirJack obsahuje řadu utilit určených k detekci skrytého ESSID, odesílání rámců ukončení relace s falešným MAC, provádění útoků MitM a jeho modifikace.

Protistrana:

Aby se zabránilo útokům tohoto typu, předplatitelé „A“ a „B“ si potřebují pouze přenášet digitální podpisy veřejných šifrovacích klíčů pomocí spolehlivého kanálu. Poté při porovnávání podpisů klíčů v šifrovacích relacích bude možné určit, který klíč byl použit k šifrování dat a zda byly klíče nahrazeny.

V tomto článku se pokusíme pochopit teorii útoků typu man-in-the-middle a některé praktické body, které pomohou těmto typům útoků předcházet. To nám pomůže porozumět riziku, které takové narušení představuje pro naše soukromí, protože útoky MitM nám umožňují narušovat komunikaci a odposlouchávat naše konverzace.

Pochopení toho, jak funguje internet

Abychom pochopili princip útoku typu man-in-the-middle, stojí za to nejprve pochopit, jak funguje samotný internet. Hlavní body interakce: klienti, routery, servery. Nejběžnějším komunikačním protokolem mezi klientem a serverem je Hypertext Transfer Protocol (HTTP). Surfování na internetu pomocí prohlížeče, e-mailu, instant messagingu – to vše probíhá přes HTTP.

Když zadáte do adresního řádku prohlížeče, klient (vy) odešle serveru požadavek na zobrazení webové stránky. Paket (požadavek HTTP GET) je přenášen přes několik směrovačů na server. Server poté odpoví webovou stránkou, která je odeslána klientovi a zobrazena na jeho monitoru. Zprávy HTTP musí být odeslány na bezpečný režim zajistit důvěrnost a anonymitu.

Obrázek 1. Interakce klient-server

Zabezpečení komunikačního protokolu

Zabezpečený komunikační protokol musí mít každou z následujících vlastností:

  1. Soukromí- zprávu si může přečíst pouze určený příjemce.
  2. Pravost- byla prokázána totožnost spolupracujících stran.
  3. Integrita- potvrzení, že zpráva nebyla při přenosu změněna.

Pokud není dodrženo některé z těchto pravidel, je ohrožen celý protokol.

Man-in-the-middle útok přes HTTP protokol

Útočník může snadno provést útok typu man-in-the-middle pomocí techniky zvané ARP spoofing. Kdokoli ve vašem Wi-Fi sítě vám může poslat podvržený paket ARP, což způsobí, že nevědomky pošlete veškerý provoz přes útočníka místo vašeho routeru.

Poté má útočník plnou kontrolu nad provozem a může sledovat požadavky odeslané oběma směry.

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


Aby se takovým útokům zabránilo, byla vytvořena zabezpečená verze protokolu HTTP. Transport Layer Security (TLS) a jeho předchůdce Secure Socket Layer (SSL) jsou kryptografické protokoly, které poskytují zabezpečení přenosu dat po síti. Proto se zabezpečený protokol bude nazývat HTTPS. Jak funguje zabezpečený protokol, můžete vidět zadáním do adresního řádku prohlížeče (všimněte si S v https).

Man-in-the-Middle útok na špatně implementované SSL

Moderní SSL používá dobrý šifrovací algoritmus, ale to nevadí, pokud není implementován správně. Pokud se hackerovi podaří požadavek zachytit, může jej upravit odstraněním písmene „S“ z požadované adresy URL, a tím obejít SSL.

Takové zachycení a úprava požadavku lze zaznamenat. Pokud například požadujete https://login.yahoo.com/ a odpověď je http://login.yahoo.com/ , mělo by to vyvolat podezření. V době psaní tento útok skutečně funguje na e-mailové službě Yahoo.

Obrázek 3. Žádost o zachycení a úpravu


Aby se takovému útoku zabránilo, mohou servery implementovat HTTP Strict Transport Security (HSTS), mechanismus, který umožňuje vynucené zabezpečené připojení přes protokol HTTPS. V tomto případě, pokud útočník upraví požadavek odstraněním „S“ z adresy URL, server stále přesměruje uživatele pomocí přesměrování 302 na stránku se zabezpečeným protokolem.

Obrázek 4. Schéma činnosti HSTS


Tento způsob implementace SSL je zranitelný vůči jinému typu útoku – útočník vytvoří SSL spojení se serverem, ale pomocí různých triků donutí uživatele použít HTTP.

Obrázek 5. Vzor útoku HSTS


Aby se takovým útokům zabránilo, moderní prohlížeče jako Chrome, Firefox a Tor monitorují stránky pomocí HSTS a vynucují si k nim připojení na straně klienta přes SSL. V tomto případě by útočník provádějící útok typu man-in-the-middle musel vytvořit SSL spojení s obětí.

Obrázek 6. Vzor útoku, kdy útočník naváže spojení SSL s obětí


Aby mohl útočník poskytnout uživateli připojení SLL, musí vědět, jak se chovat jako server. Pojďme pochopit technické aspekty SSL.

Porozumění SSL

Z pohledu hackera kompromitace jakéhokoli komunikačního protokolu spočívá v nalezení slabého článku mezi výše uvedenými komponentami (soukromí, autenticita a integrita).

SSL používá asymetrický šifrovací algoritmus. Problém symetrického šifrování spočívá v tom, že k šifrování a dešifrování dat se používá stejný klíč, tento přístup není platný pro internetové protokoly, protože útočník může tento klíč vysledovat.

Asymetrické šifrování obsahuje 2 klíče pro každou stranu: veřejný klíč, který se používá pro šifrování, a soukromý klíč, který se používá k dešifrování dat.

Obrázek 7. Veřejné a soukromé klíče fungují

Jak SSL poskytuje tři vlastnosti potřebné pro zabezpečenou komunikaci?

  1. Protože se k šifrování dat používá asymetrická kryptografie, SSL poskytuje soukromé připojení. Toto šifrování není tak snadné prolomit a zůstat neodhaleno.
  2. Server potvrdí svou legitimitu zasláním SSL certifikátu klientovi vydaného certifikační autoritou - důvěryhodnou třetí stranou.

Pokud se útočníkovi nějakým způsobem podaří certifikát získat, mohl by otevřít dveře útoku typu man-in-the-middle. Vytvoří tedy 2 spojení – se serverem a s obětí. Server si v tomto případě myslí, že útočníkem je obyčejný klient, a oběť nemá jak útočníka identifikovat, protože poskytla certifikát prokazující, že je serverem.

Vaše zprávy přicházejí a přicházejí v zašifrované podobě, ale sledují řetězec přes počítač kyberzločince, kde má plnou kontrolu.

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


Certifikát není nutné zfalšovat, pokud má útočník možnost kompromitovat prohlížeč oběti. V takovém případě může vložit certifikát s vlastním podpisem, který bude ve výchozím nastavení důvěryhodný. Takto se provádí většina útoků typu man-in-the-middle. Ve složitějších případech se musí hacker vydat jinou cestou – zfalšovat certifikát.

Problémy s certifikační autoritou

Certifikát zaslaný serverem byl vystaven a podepsán certifikační autoritou. Každý prohlížeč má seznam důvěryhodných certifikačních autorit a můžete je přidat nebo odebrat. Problém je v tom, že pokud se rozhodnete odebrat velké autority, nebudete moci navštěvovat stránky, které používají certifikáty podepsané těmito autoritami.

Certifikáty a certifikační autority byly vždy nejslabším článkem HTTPS připojení. I když bylo vše správně implementováno a každá certifikační autorita má solidní autoritu, je stále těžké smířit se s tím, že musíte důvěřovat mnoha třetím stranám.

Dnes existuje více než 650 organizací schopných vydávat certifikáty. Pokud by některý z nich útočník hacknul, získal by certifikáty, které by chtěl.

I když existovala pouze jedna certifikační autorita, VeriSign, nastal problém – lidé, kteří měli zabránit útokům typu man-in-the-middle, prodávali odposlechové služby.

Také mnoho certifikátů bylo vytvořeno kvůli hackování certifikačních autorit. Byly použity různé techniky a triky, aby přiměly cílového uživatele, aby důvěřoval podvodným certifikátům.

Forenzní

Protože útočník posílá falešné pakety ARP, útočníkovu IP adresu nelze vidět. Místo toho je třeba věnovat pozornost MAC adrese, která je specifická pro každé zařízení v síti. Pokud znáte MAC adresu svého routeru, můžete ji porovnat s MAC adresou výchozí brány a zjistit, zda je to skutečně váš router nebo útočník.

Například v operačním systému Windows můžete použít příkaz ipconfig v příkazový řádek(CMD), abyste viděli IP adresu výchozí brány (poslední řádek):

Obrázek 9. Použití příkazu ipconfig


Poté pomocí příkazu arp –a zjistěte MAC adresu této brány:

Obrázek 10. Použití příkazu arp –a


Existuje ale ještě jeden způsob, jak si útoku všimnout – pokud jste sledovali síťovou aktivitu v době, kdy začal, a sledovali pakety ARP. K tomuto účelu můžete použít například Wireshark, tento program vás upozorní, pokud se změnila MAC adresa výchozí brány.

Poznámka: Pokud útočník správně podvrhne MAC adresy, bude jeho sledování velkým problémem.

Závěr

SSL je protokol, který nutí útočníka k provedení útoku. Ale neochrání vás před státem podporovanými útoky ani před zkušenými hackerskými organizacemi.

Úkolem uživatele je chránit svůj prohlížeč a počítač, aby se zabránilo vložení falešného certifikátu (velmi častá technika). Vyplatí se také věnovat pozornost seznamu důvěryhodných certifikátů a odstranit ty, kterým nedůvěřujete.

Publikace na dané téma