Muž v strede si stiahnite program. Podmienky. Som bezpečnostný expert a myslím si, že váš protokol nie je bezpečný

Označuje situáciu, keď je útočník schopný čítať a ľubovoľne upravovať správy vymieňané korešpondentmi a nikto z nich nemôže hádať o jeho prítomnosti v kanáli.


Nadácia Wikimedia. 2010.

Pozrite sa, čo je „Muž v strede (útok)“ v iných slovníkoch:

    Man in the middle attack, MITM útok (angl. Man in the middle) je termín v kryptografii, ktorý označuje situáciu, keď je kryptoanalytik (útočník) schopný čítať a upravovať správy vymieňané podľa ľubovôle ... ... Wikipedia

    - ... Wikipedia

    Kryptoanalýza (z gréckeho κρυπτός skryté a analýza) je veda o metódach na získanie pôvodnej hodnoty zašifrovaných informácií bez toho, aby ste mali prístup k utajovaných skutočností(kľúč) potrebný na to. Vo väčšine prípadov to znamená ... ... Wikipedia

    Hackerský útok v užšom zmysle slova je v súčasnosti chápaný pod pojmom „Útok na bezpečnostný systém“ a má tendenciu pripomínať význam nasledujúceho pojmu Crackerský útok. Stalo sa tak v dôsledku skreslenia významu slova „hacker“ ... Wikipedia

    - (z iného gréckeho κρυπτός skrytý a rozbor) náuka o metódach dešifrovania zašifrovaných informácií bez kľúča určeného na takéto dešifrovanie. Termín zaviedol americký kryptograf William F. Friedman v roku 1920. Neformálne ... ... Wikipedia

Takmer vždy môžete dosiahnuť požadovaný výsledok niekoľkými spôsobmi. To platí aj pre oblasť informačnej bezpečnosti. Niekedy, aby ste dosiahli svoj cieľ, môžete surovo, nezávisle hľadať diery a rozvíjať sploity alebo počúvať, čo sa prenáša cez sieť. Posledná možnosť je často najlepšia. Preto si dnes povieme niečo o nástrojoch, ktoré nám pomôžu zachytiť pre nás cenné informácie zo sieťovej prevádzky pomocou útokov MITM.

MITMf

Začnime jedným z najzaujímavejších kandidátov. Toto je celý rámec pre útoky typu man-in-the-middle, postavený na sergio-proxy. Nedávno zahrnuté do Kali Linuxu. 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 možné rozšíriť pomocou zásuvných modulov. Medzi hlavné patria tieto:

  • Spoof - umožňuje presmerovať prevádzku pomocou spoofingu ARP / DHCP, presmerovaní ICMP a modifikovať dotazy DNS;
  • Sniffer - tento plugin monitoruje 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 vyrovnávacou pamäťou;
  • SessionHijacking - unesie relácie a uloží prijaté súbory cookie do profilu firelis;
  • BrowserProfiler – pokúša sa získať zoznam pluginov používaných prehliadačom;
  • FilePwn - umožňuje nahradiť súbory odoslané cez HTTP pomocou Backdoor Factory a BDFProxy;
  • Vložiť - vloží ľubovoľný obsah do stránky HTML;
  • jskeylogger - Vloží JavaScript keylogger do klientskych stránok.

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

tmelový jazdec

Ďalšia pozoruhodná pomôcka. 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špirovala skutočnosť, že pri penetračných testoch sa najdôležitejšie dáta nachádzali na serveroch Linux / UNIX, ku ktorým sa admini pripájali cez SSH / Telnet / rlogin. A vo väčšine prípadov bol prístup k počítaču administrátorov oveľa jednoduchší ako prístup k cieľovému serveru. Po preniknutí do počítača správcu systému zostáva len uistiť sa, že PuTTY beží a použiť tento nástroj na vytvorenie spätného mosta k útočníkovi.

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

Pomerne starý nástroj, ktorý sa zrodil pred viac ako ôsmimi rokmi. Navrhnuté na klonovanie relácií ukradnutím súborov cookie. V prípade únosu relácie má základné zručnosti v detekcii hostiteľov (v prípade pripojenia k otvorenej bezdrôtovej sieti alebo rozbočovaču) a vykonávaní 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 webe stále dostatok zdrojov, ktoré nepoužívajú SSL, takže je priskoro nástroj odpisovať. Medzi jeho výhody patrí aj to, že sa automaticky integruje do Firefoxu a pre každú zachytenú reláciu vytvorí samostatný profil. Zdrojový kód je dostupný 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

Proxy Fuzz

ProzyFuzz nemá nič spoločné priamo s útokmi 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. Dá sa nakonfigurovať tak, aby rozčesávala iba jednu stranu. Užitočné, keď potrebujete rýchlo otestovať nejakú sieťovú aplikáciu (alebo protokol) a vyvinúť PoC. Príklad použitia:

Python proxyfuzz -l -r -p

python proxyfuzz -l -r -p

Zoznam možností zahŕňa:

  • w - nastavuje počet odoslaných požiadaviek pred spustení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ý

Na konferencii DEF CON bol predstavený nástroj na vykonávanie útokov MITM na rôzne protokoly. 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ží do nešifrovaných (HTTP) požiadaviek IFRAME, ktorý načíta exploity prehliadača z Metasploitu;
  • plugin-keylogger.py - Vloží obslužný program udalosti onKeyPress JavaScript pre všetky textové polia, ktoré budú odoslané cez HTTPS, čo spôsobí, že prehliadač odošle heslo používateľa znak po znaku na server útočníka ešte 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 prevádzke má prístup. Pre správna prevádzka programy v systéme musia mať 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 penetrační testeri / 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ť detailné informácie o tom, aké požiadavky aplikácia robí a aké odpovede dostáva. Mitmproxy vám tiež môže pomôcť zistiť, ako fungujú niektoré REST API, najmä tie 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 ako nastaviť odpočúvanie a úpravu dopravy, môžete.

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 svojej existencie bol na sieti pokrytý viackrát. Napríklad v sprievodcovi, ako je tento:

alebo pokyny z našej webovej stránky:

Nakoniec..

Ako obvykle, nezohľadnili sme všetky nástroje, ale iba tie najpopulárnejšie, stále existuje veľa málo známych projektov, o ktorých by sme niekedy mohli hovoriť. Ako vidíte, nástroje na vykonávanie útokov MITM nechýbajú a, čo sa nestáva tak často, jeden zo skvelých nástrojov je implementovaný pod Windows. Nie je čo povedať o nixových systémoch - o celej škále. Takže myslím, že vždy nájdete ten správny nástroj na únos.
poverenia niekoho iného. Ups, teda na testovacie účely.

Princíp útoku

Útok zvyčajne začína počúvaním komunikačného kanála a končí tým, že sa kryptoanalytik pokúša nahradiť zachytenú správu, extrahovať z nej užitočné informácie a presmerovať ju na nejaký externý zdroj.

Predpokladajme, že objekt A plánuje poslať nejaké informácie objektu B. Objekt C má znalosti o štruktúre a vlastnostiach použitej metódy prenosu údajov, ako aj o tom, že plánovaný prenos skutočných informácií, ktoré C plánuje zachytiť. Na vykonanie útoku sa C „predstaví“ objektu A ako B a objektu B ako A. Objekt A, ktorý sa mylne domnieva, že posiela informácie B, ich pošle objektu C. Objekt C po prijatí informácií a vykonaním niektorých akcií s ním (napríklad kopírovanie alebo úprava pre vlastné účely) odosiela údaje samotnému príjemcovi - B; objekt B sa zasa domnieva, že informácie dostal priamo od A.

Príklad útoku

Vloženie škodlivého kódu

Útok typu man-in-the-middle umožňuje kryptoanalytikovi vložiť jeho kód e-maily, SQL výrazy a webové stránky (t. j. umožňujúce SQL vstrekovanie, HTML/script vstrekovanie alebo XSS útoky) a dokonca aj úpravu nahraných používateľmi binárne súbory za účelom prístupu k používateľskému účtu alebo zmeny správania programu stiahnutého používateľom z internetu.

Útok na nižšiu verziu

Pojem „downgrade Attack“ označuje taký útok, pri ktorom kryptoanalytik núti používateľa používať menej bezpečné funkcie, protokoly, ktoré sú stále podporované z dôvodu kompatibility. Tento typ útoku je možné vykonať na protokoloch SSH, IPsec a PPTP.

SSH V1 namiesto SSH V2

Útočník sa môže pokúsiť zmeniť parametre pripojenia medzi serverom a klientom, keď sa medzi nimi vytvorí spojenie. Podľa prejavu na konferencii Blackhat Conference Europe 2003 môže kryptoanalytik „prinútiť“ klienta začať reláciu SSH1 namiesto relácie SSH2 zmenou čísla verzie „1.99“ relácie SSH na „1.51“, čo znamená použitie SSH V1. Protokol SSH-1 má zraniteľné miesta, ktoré môže kryptoanalytik zneužiť.

IPsec

V tomto scenári útoku kryptoanalytik zavádza svoju obeť, aby si myslela, že relácia IPsec nemôže začať na druhom konci (serveri). To spôsobí, že správy budú posielané explicitne, ak je hostiteľský počítač v režime rollback.

PPTP

Vo fáze vyjednávania parametrov relácie PPTP môže útočník prinútiť obeť, aby použila menej bezpečnú autentifikáciu PAP, MSCHAP V1 (to znamená „vrátiť sa“ z MSCHAP V2 na verziu 1), alebo nepoužíva šifrovanie vôbec.

Útočník môže prinútiť svoju obeť, aby zopakovala fázu vyjednávania parametrov relácie PPTP (odoslanie paketu Terminate-Ack), ukradla heslo z existujúceho tunela a zopakovala útok.

Zachráni šifrovanie?

Zvážte prípad štandardnej transakcie HTTP. V tomto prípade môže útočník celkom jednoducho rozbiť pôvodné TCP spojenie na dve nové: jedno medzi sebou a klientom, druhé medzi ním a serverom. Je to pomerne jednoduché, pretože spojenie medzi klientom a serverom je len veľmi zriedka priame a vo väčšine prípadov sú prepojené cez množstvo medziľahlých serverov. Útok MITM môže byť vykonaný na ktoromkoľvek z týchto serverov.

Ak však klient a server komunikujú cez HTTPS – protokol, ktorý podporuje šifrovanie – môže dôjsť aj k útoku typu man-in-the-middle. Pri tomto type pripojenia sa na šifrovanie požiadaviek používa TLS alebo SSL, čo, ako sa zdá, robí kanál bezpečným pred sniffovaním a útokmi MITM. Útočník môže vytvoriť dve nezávislé relácie SSL pre každé pripojenie TCP. Klient vytvorí spojenie SSL s útočníkom, ktorý následne vytvorí spojenie so serverom. Prehliadač v takýchto prípadoch zvyčajne varuje, že certifikát nie je podpísaný dôveryhodnou certifikačnou autoritou, ale bežný používateľ môže toto upozornenie ľahko ignorovať. Okrem toho môže mať útočník certifikát podpísaný certifikačnou autoritou. Protokol HTTPS teda nemožno považovať za bezpečný pred útokmi MITM.

Detekcia útokov MITM

Na zistenie útoku typu man-in-the-middle musí byť analyzovaná sieťová prevádzka. Ak chcete napríklad zistiť útok SSL, mali by ste venovať pozornosť nasledujúcim parametrom:

  • IP servera
  • DNS server
  • Certifikát servera X.509
    • Je certifikát vlastnoručne podpísaný?
    • Je certifikát podpísaný?
    • Bol certifikát zrušený?
    • Zmenil sa certifikát nedávno?
    • Dostali rovnaký certifikát aj iní klienti na internete?

Implementácie útokov MITM

Uvedené programy možno použiť na vykonávanie útokov typu man-in-the-middle, ako aj na ich detekciu a testovanie zraniteľnosti systému.

Príklad v literatúre

Jasný literárny príklad môžeme vidieť v Rozprávke o cárovi Saltanovi od A. S. Puškina, kde vystupujú traja „muži v strede“: tkáč, kuchár a Babarikha. Práve oni nahrádzajú listy adresované kráľovi a jeho korešpondenciu.

pozri tiež

  • Aspidistra (anglicky) – britský rádiový vysielač používaný počas „invázií“ druhej svetovej vojny, variant útoku MITM.
  • The Babington Plot (anglicky) – sprisahanie proti Alžbete I., počas ktorého Walsingham zachytával korešpondenciu.

Iné útoky

  • Man in the Browser je typ útoku, pri ktorom je útočník schopný okamžite zmeniť parametre transakcie, zmeniť stránky úplne transparentne pre obeť.
  • „Meet-in-the-middle attack“ – kryptografický útok, ktorý podobne ako narodeninový útok využíva kompromis medzi časom a pamäťou.
  • "Strata v strede" (útok slečna v strede) je efektívna metóda takzvanej nemožnej diferenciálnej kryptoanalýzy.
  • Relay attack – Variant útoku MITM založený na preposielaní zachytenej správy platnému príjemcovi, ale nie zamýšľanému príjemcovi.
  • Rootkit je program určený na skrytie stôp po prítomnosti narušiteľa.

Literatúra

Odkazy


Nadácia Wikimedia. 2010.

Pozrite sa, čo je „Muž uprostred“ v iných slovníkoch:

    Útok „man in the middle“ (angl. Man in the middle, MitM attack) 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 nič z .. ... Wikipedia

Takmer vždy môžete dosiahnuť požadovaný výsledok niekoľkými spôsobmi. To platí aj pre oblasť informačnej bezpečnosti. Niekedy, aby ste dosiahli svoj cieľ, môžete surovo, nezávisle hľadať diery a rozvíjať sploity alebo počúvať, čo sa prenáša cez sieť. Posledná možnosť je často najlepšia. Preto si dnes povieme niečo o nástrojoch, ktoré nám pomôžu zachytiť pre nás cenné informácie zo sieťovej prevádzky pomocou útokov MITM.

MITMf

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

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

Má architektúru, ktorú je možné rozšíriť pomocou zásuvných modulov. Medzi hlavné patria tieto:

  • Spoof - umožňuje presmerovať prevádzku pomocou spoofingu ARP / DHCP, presmerovaní ICMP a modifikovať dotazy DNS;
  • Sniffer - tento plugin monitoruje 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 vyrovnávacou pamäťou;
  • SessionHijacking - unesie relácie a uloží prijaté súbory cookie do profilu firelis;
  • BrowserProfiler – pokúša sa získať zoznam pluginov používaných prehliadačom;
  • FilePwn - umožňuje nahradiť súbory odoslané cez HTTP pomocou Backdoor Factory a BDFProxy;
  • Vložiť - vloží ľubovoľný obsah do stránky HTML;
  • jskeylogger - Vloží JavaScript keylogger do klientskych stránok.

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

tmelový jazdec

Ďalšia pozoruhodná pomôcka. 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špirovala skutočnosť, že pri penetračných testoch sa najdôležitejšie dáta nachádzali na serveroch Linux / UNIX, ku ktorým sa admini pripájali cez SSH / Telnet / rlogin. A vo väčšine prípadov bol prístup k počítaču administrátorov oveľa jednoduchší ako prístup k cieľovému serveru. Po preniknutí do počítača správcu systému zostáva len uistiť sa, že PuTTY beží a použiť tento nástroj na vytvorenie spätného mosta k útočníkovi.


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


Pomerne starý nástroj, ktorý sa zrodil pred viac ako ôsmimi rokmi. Navrhnuté na klonovanie relácií ukradnutím súborov cookie. V prípade únosu relácie má základné zručnosti v detekcii hostiteľov (v prípade pripojenia k otvorenej bezdrôtovej sieti alebo rozbočovaču) a vykonávaní 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 webe stále dostatok zdrojov, ktoré nepoužívajú SSL, takže je priskoro nástroj odpisovať. Medzi jeho výhody patrí aj to, že sa automaticky integruje do Firefoxu a pre každú zachytenú reláciu vytvorí samostatný profil. Zdrojový kód je dostupný 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

Proxy Fuzz

ProzyFuzz nemá nič spoločné priamo s útokmi 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. Dá sa nakonfigurovať tak, aby rozčesávala iba jednu stranu. Užitočné, keď potrebujete rýchlo otestovať nejakú sieťovú aplikáciu (alebo protokol) a vyvinúť PoC. Príklad použitia:

Python proxyfuzz -l -r -p

Zoznam možností zahŕňa:

  • w - nastavuje počet odoslaných požiadaviek pred spustení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ý

Na konferencii DEF CON bol predstavený nástroj na vykonávanie útokov MITM na rôzne protokoly. 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ží do nešifrovaných (HTTP) požiadaviek IFRAME, ktorý načíta exploity prehliadača z Metasploitu;
  • plugin-keylogger.py - Vloží obslužný program udalosti onKeyPress JavaScript pre všetky textové polia, ktoré budú odoslané cez HTTPS, čo spôsobí, že prehliadač odošle heslo používateľa znak po znaku na server útočníka ešte 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 prevádzke 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 penetrační testeri / hackeri, ale aj bežní vývojári, ktorí ju využívajú napríklad na ladenie webových aplikácií. Môže sa použiť na získanie podrobných informácií o tom, aké požiadavky aplikácia robí a aké odpovede dostáva. Mitmproxy vám tiež môže pomôcť zistiť, ako fungujú niektoré REST API, najmä tie zle zdokumentované.

Inštalácia je mimoriadne jednoduchá:

$ sudo aptitude install mitmproxy

$ pip nainštalovať mitmproxy

$ easy_install mitmproxy

Stojí za zmienku, že mitmproxy vám tiež umožňuje zachytiť prenos HTTPS vydaním certifikátu s vlastným podpisom klientovi. Dá sa nájsť dobrý príklad, ako nastaviť odpočúvanie a úpravu premávky.


Intercepter-NG

Bolo by zvláštne, keby sa tento legendárny nástroj nedostal do našej recenzie. Aj keď ste ho nikdy nepoužili, určite ste o ňom už počuli (a len ho musíte lepšie spoznať) – na stránkach časopisu je celkom bežný. Jeho funkcionalitu nebudem úplne popisovať – po prvé nás zaujíma MITM a po druhé takýto popis zaberie celý článok.

Pokračovanie dostupné len pre členov

Možnosť 1. Pripojte sa ku komunite „stránky“ a prečítajte si všetky materiály na stránke

Členstvo v komunite počas určeného obdobia vám umožní prístup ku VŠETKÝM materiálom Hackerov, zvýši vašu osobnú kumulatívnu zľavu a umožní vám získať profesionálne hodnotenie Xakep Score!

V ktorej útočník po pripojení na kanál medzi protistranami zasahuje do prenosového protokolu, pričom vymaže alebo skreslí informácie.

Princíp útoku

Útok zvyčajne začína počúvaním komunikačného kanála a končí tým, že sa kryptoanalytik pokúša nahradiť zachytenú správu, extrahovať z nej užitočné informácie a presmerovať ju na nejaký externý zdroj.

Predpokladajme, že objekt A plánuje poslať nejaké informácie objektu B. Objekt C má znalosti o štruktúre a vlastnostiach použitej metódy prenosu údajov, ako aj o tom, že plánovaný prenos skutočných informácií, ktoré C plánuje zachytiť. Na vykonanie útoku sa C „predstaví“ objektu A ako B a objektu B ako A. Objekt A, ktorý sa mylne domnieva, že posiela informácie B, ich pošle objektu C. Objekt C po prijatí informácií a vykonaním niektorých akcií s ním (napríklad kopírovanie alebo úprava pre vlastné účely) odosiela údaje samotnému príjemcovi - B; objekt B sa zasa domnieva, že informácie dostal priamo od A.

Príklad útoku

Vloženie škodlivého kódu

Útok typu man-in-the-middle umožňuje kryptoanalytikovi vložiť svoj kód do e-mailov, príkazov SQL a webových stránok (t. j. umožňuje vstrekovanie SQL, vstrekovanie HTML/scriptu alebo XSS útoky) a dokonca modifikáciu binárnych súborov nahraných používateľom v za účelom prístupu k používateľskému účtu alebo zmeny správania programu stiahnutého používateľom z internetu.

Útok na nižšiu verziu

Pojem „downgrade Attack“ označuje taký útok, pri ktorom kryptoanalytik núti používateľa používať menej bezpečné funkcie, protokoly, ktoré sú stále podporované z dôvodu kompatibility. Tento typ útoku je možné vykonať na protokoloch SSH, IPsec a PPTP.

Na ochranu pred downgrade útokom musia byť nezabezpečené protokoly vypnuté aspoň na jednej strane; samotná podpora a štandardné používanie bezpečných protokolov nestačí!

SSH V1 namiesto SSH V2

Útočník sa môže pokúsiť zmeniť parametre pripojenia medzi serverom a klientom, keď sa medzi nimi vytvorí spojenie. Podľa prejavu na konferencii Blackhat Conference Europe 2003 môže kryptoanalytik „prinútiť“ klienta začať reláciu SSH1 namiesto relácie SSH2 zmenou čísla verzie „1.99“ pre reláciu SSH na „1.51“, čo znamená použitie SSH. V1. Protokol SSH-1 má zraniteľné miesta, ktoré môže kryptoanalytik zneužiť.

IPsec

V tomto scenári útoku kryptoanalytik zavádza svoju obeť, aby si myslela, že relácia IPsec nemôže začať na druhom konci (serveri). To spôsobí, že správy budú posielané explicitne, ak je hostiteľský počítač v režime rollback.

PPTP

Vo fáze vyjednávania parametrov relácie PPTP môže útočník prinútiť obeť, aby použila menej bezpečnú autentifikáciu PAP, MSCHAP V1 (t. j. „vrátiť sa“ z MSCHAP V2 na verziu 1), alebo nepoužila šifrovanie vôbec.

Útočník môže prinútiť svoju obeť, aby zopakovala fázu vyjednávania parametrov relácie PPTP (odoslanie paketu Terminate-Ack), ukradla heslo z existujúceho tunela a zopakovala útok.

Verejné komunikačné prostriedky bez ochrany pravosti, dôvernosti, dostupnosti a integrity informácií

Najbežnejším prostriedkom komunikácie v tejto skupine je sociálna sieť, verejná e-mailová služba a systém okamžitých správ. Vlastník zdroja, ktorý poskytuje komunikačnú službu, má plnú kontrolu nad informáciami vymieňanými korešpondentmi a podľa vlastného uváženia môže kedykoľvek ľahko vykonať útok.

Na rozdiel od predchádzajúcich scenárov založených na technických a technologických aspektoch komunikácie je v tomto prípade útok založený na mentálnych aspektoch, konkrétne na zakorenení v mysliach používateľov konceptu ignorovania požiadaviek informačnej bezpečnosti.

Zachráni šifrovanie?

Zvážte prípad štandardnej transakcie HTTP. V tomto prípade môže útočník celkom jednoducho rozbiť pôvodné TCP spojenie na dve nové: jedno medzi sebou a klientom, druhé medzi ním a serverom. Je to pomerne jednoduché, pretože spojenie medzi klientom a serverom je len veľmi zriedka priame a vo väčšine prípadov sú prepojené cez množstvo medziľahlých serverov. Útok MITM môže byť vykonaný na ktoromkoľvek z týchto serverov.

Ak však klient a server komunikujú cez HTTPS – protokol, ktorý podporuje šifrovanie – môže dôjsť aj k útoku typu man-in-the-middle. Pri tomto type pripojenia sa na šifrovanie požiadaviek používa TLS alebo SSL, čo, ako sa zdá, robí kanál bezpečným pred sniffovaním a útokmi MITM. Útočník môže vytvoriť dve nezávislé relácie SSL pre každé pripojenie TCP. Klient vytvorí spojenie SSL s útočníkom, ktorý následne vytvorí spojenie so serverom. Prehliadač v takýchto prípadoch zvyčajne upozorní, že certifikát nie je podpísaný dôveryhodnou certifikačnou autoritou, no bežní používatelia starších prehliadačov môžu toto upozornenie jednoducho obísť. Útočník môže mať navyše certifikát podpísaný koreňovou CA (napríklad takéto certifikáty sa niekedy používajú na DLP) a negeneruje varovania. Okrem toho existuje množstvo útokov na HTTPS. Protokol HTTPS teda nemožno považovať za bezpečný pred útokmi MITM bežnými používateľmi. [ ] Existuje množstvo opatrení, ktoré zabraňujú niektorým útokom MITM na https stránky, najmä HSTS , ktorý zakazuje používanie http pripojení zo stránok, Pripnutie certifikátu a Pripnutie verejného kľúča HTTP , ktoré zakazujú nahradenie certifikátu.

Detekcia útokov MITM

Na zistenie útoku typu man-in-the-middle musí byť analyzovaná sieťová prevádzka. Ak chcete napríklad zistiť útok SSL, mali by ste venovať pozornosť nasledujúcim parametrom:

  • IP servera
  • DNS server
  • Certifikát servera X.509
    • Je certifikát vlastnoručne podpísaný?
    • Je certifikát podpísaný certifikačnou autoritou?
    • Bol certifikát zrušený?
    • Zmenil sa certifikát nedávno?
    • Dostali rovnaký certifikát aj iní klienti na internete?

Implementácie útokov MITM

Uvedené programy možno použiť na vykonávanie útokov typu man-in-the-middle, ako aj na ich detekciu a testovanie zraniteľnosti systému.

pozri tiež

  • Aspidistra (anglicky) – britský rádiový vysielač používaný počas „invázií“ druhej svetovej vojny, variant útoku MITM.
  • The Babington Plot (anglicky) – sprisahanie proti Alžbete I., počas ktorého Walsingham zachytával korešpondenciu.

Iné útoky

  • Man in the Browser je typ útoku, pri ktorom je útočník schopný okamžite zmeniť parametre transakcie, zmeniť stránky úplne transparentne pre obeť.
  • „Meet-in-the-middle attack“ – kryptografický útok, ktorý podobne ako narodeninový útok využíva kompromis medzi časom a pamäťou.
  • "Strata v strede" (útok slečna v strede) je efektívna metóda takzvanej nemožnej diferenciálnej kryptoanalýzy.
  • Relay attack – Variant útoku MITM založený na preposielaní zachytenej správy platnému príjemcovi, ale nie zamýšľanému príjemcovi.
  • Rootkit je program určený na skrytie stôp po prítomnosti narušiteľa.

Napíšte recenziu na článok „Útok sprostredkovateľa“

Literatúra

Odkazy

  • www.all.net/CID/Attack/Attack74.html
  • www.nag.ru/2003/0405/0405.shtml
  • www.schneier.com/blog/archives/2006/04/rfid_cards_and.html

Úryvok charakterizujúci útok sprostredkovateľa

„Štvrť, štvrť, deň,“ povedal dôstojník a pozrel sa na malého muža s blahosklonným a dobromyseľným úsmevom. – Les Francais sont de bons enfants. Que diable! Voyons! Ne nous fachons pas, mon vieux, [Apartmány, apartmány... Francúzi sú dobrí chlapi. Sakra, nehádajme sa, dedko.] - dodal a potľapkal vystrašeného a tichého Gerasima po pleci.
– Asi! Dites donc, on ne parle donc pas francais dans cette boutique? [Nuž, nehovorí tu tiež nikto po francúzsky?] dodal, rozhliadol sa a stretol sa s Pierrovými očami. Pierre sa vzdialil od dverí.
Dôstojník sa opäť obrátil na Gerasima. Žiadal, aby mu Gerasim ukázal izby v dome.
"Nie majster - nerozumiem...moja tvoja..." povedal Gerasim a snažil sa objasniť svoje slová tým, že ich prehovoril odzadu.
Francúzsky dôstojník s úsmevom roztiahol ruky pred Gerasimovým nosom, takže mal pocit, že mu tiež nerozumie, a krívajúc prešiel k dverám, kde stál Pierre. Pierre sa chcel posunúť preč, aby sa pred ním skryl, no práve v tom momente uvidel Makara Alekseicha, ako sa otváral z kuchynských dverí s pištoľou v rukách. S prefíkanosťou šialenca sa Makar Alekseevič pozrel na Francúza a zdvihol pištoľ a zamieril.
- Na palubu!!! - skríkol opitý a stlačil spúšť pištole. Francúzsky dôstojník sa s výkrikom otočil a v tom istom momente sa Pierre vrhol na opilca. Zatiaľ čo Pierre schmatol a zdvihol pištoľ, Makar Alekseich konečne stisol prstom spúšť a ozval sa výstrel, ktorý všetkých ohlušil a zalial prachovým dymom. Francúz zbledol a vrútil sa späť k dverám.
Pierre zabudol na svoj úmysel neprezradiť svoju znalosť francúzštiny, schmatol pištoľ a odhodil ju, pribehol k dôstojníkovi a hovoril s ním po francúzsky.
- Vous n "etes pas blesse? [Si zranený?] - povedal.
"Je crois que non," odpovedal dôstojník a cítil sa sám sebou, "mais je l "ai manque belle cette fois ci," dodal a ukázal na ošúchanú omietku v stene. "Quel est cet homme? [Zdá sa, že nie. .. ale keď už to bolo blízko. Kto je ten muž?] - prísne sa pozrel na Pierra, povedal dôstojník.
- Ach, je suis vraiment au desespoir de ce qui vient d "príchod, [Ach, naozaj som zúfalý z toho, čo sa stalo,] - povedal Pierre rýchlo, úplne zabudol na svoju úlohu. - C" est un fou, un malheureux qui ne savait pas ce qu "il faisait." [Toto je nešťastný blázon, ktorý nevedel, čo robí.]
Dôstojník pristúpil k Makarovi Alekseevičovi a chytil ho za golier.
Makar Alekseich s pootvorenými perami, ako keby zaspával, sa hojdal, opieral sa o stenu.
"Brigand, tu me la payeras," povedal Francúz a stiahol ruku.
– Nous autres nous sommes clements apres la victoire: mais nous ne pardonnons pas aux traitres, [Zbojník, za toto mi zaplatíš. Náš brat je po víťazstve milosrdný, ale zradcom neodpúšťame,] dodal s pochmúrnou vážnosťou v tvári a s krásnym energickým gestom.
Pierre pokračoval v presviedčaní dôstojníka vo francúzštine, aby nevymáhal od tohto opitého, šialeného muža. Francúz mlčky počúval, bez toho, aby zmenil svoj pochmúrny pohľad, a zrazu sa s úsmevom obrátil k Pierrovi. Niekoľko sekúnd naňho mlčky hľadel. Jeho pekná tvár nadobudla tragicky nežný výraz a natiahol ruku.
- Vous m "avez sauve la vie! Vous etes Francais, [Zachránil si mi život. Si Francúz," povedal. Pre Francúza bol tento záver nepopierateľný. Len Francúz mohol urobiť veľký čin a zachrániť si svoje život, m r Ramball „I capitaine du 13 me leger [Monsieur Rambal, kapitán 13. ľahkého pluku] bol bezpochyby najväčší čin.
Ale bez ohľadu na to, aký nepochybný bol tento záver a na ňom založené presvedčenie dôstojníka, Pierre považoval za potrebné ho sklamať.
"Je suis Russe, [som Rus]," povedal Pierre rýchlo.
- Ti ti ti, a d "autres, [povedz to ostatným] - povedal Francúz, mávol si prstom pred nosom a usmieval sa. - Tout a l "heure vous allez me conter tout ca," povedal. – Charme de rencontrer un compatriote. Eh bien! qu "allons nous faire de cet homme? [Teraz mi to všetko povieš. Je veľmi milé stretnúť krajana. Nuž! čo by sme mali robiť s týmto mužom?] - dodal a oslovil Pierra, už ako svojho brata. Len keby Pierre nebol Francúz, ktorý raz získal tento najvyšší titul na svete, nemohol by sa ho vzdať, povedal výraz v tvári a tón francúzskeho dôstojníka.Na poslednú otázku Pierre ešte raz vysvetlil, kto je Makar Alekseich , vysvetlil, že tento opitý nepríčetný muž tesne pred ich príchodom odtiahol nabitú pištoľ, ktorú mu nestihli zobrať, a žiadal, aby jeho skutok zostal bez trestu.
Francúz vystrčil hruď a rukou urobil kráľovské gesto.
- Súhlasím. Qu "on emmene cet homme, [Zachránil si mi život. Si Francúz. Chceš, aby som mu odpustil? Odpúšťam mu. Vezmi tohto muža preč," povedal francúzsky dôstojník rýchlo a energicky a chytil za ruku, čo chcel. dal za záchranu života do Pierreovej francúzštiny a išiel s ním do domu.
Vojaci, ktorí boli na dvore, počuli výstrel a vošli do priechodu, pýtali sa, čo sa stalo, a vyjadrili svoju pripravenosť potrestať vinníkov; ale dôstojník ich rázne zastavil.
"Na vous demandera quand on aura besoin de vous, [Keď to bude potrebné, zavolajú vás," povedal. Vojaci odišli. Netopierí muž, ktorý bol medzitým v kuchyni, pristúpil k dôstojníkovi.
"Kapitáne, je to polievka a gigot de mouton dans la kuchyne," povedal. - Faut il vous l "apporter? [Kapitán má v kuchyni polievku a pečené jahňacie mäso. Chceli by ste to priniesť?]
- Oui, et le vin, [Áno, a víno,] - povedal kapitán.

Francúzsky dôstojník spolu s Pierrom vstúpil do domu. Pierre považoval za svoju povinnosť znovu uistiť kapitána, že nie je Francúz, a chcel odísť, ale francúzsky dôstojník o tom nechcel ani počuť. Bol taký zdvorilý, prívetivý, dobromyseľný a skutočne vďačný za záchranu jeho života, že Pierre nemal odvahu ho odmietnuť a sadol si s ním na chodbu, do prvej miestnosti, do ktorej vošli. Na Pierrovo tvrdenie, že nie je Francúz, kapitán, očividne nechápajúci, ako je možné odmietnuť taký lichotivý titul, pokrčil plecami a povedal, že ak určite chce byť známy ako Rus, tak áno, ale že sa s ním napriek tomu navždy spojil pocitom vďačnosti za záchranu života.
Keby bol tento človek obdarený aspoň nejakou schopnosťou porozumieť pocitom druhých a uhádol o Pierrových pocitoch, Pierre by ho pravdepodobne opustil; ale živá nepreniknuteľnosť tohto muža ku všetkému, čo nebol sám, porazila Pierra.
- Francais ou princ russe inkognito, [Francúz alebo ruský princ inkognito,] - povedal Francúz, hľadiac na Pierrovu špinavú, no tenkú spodnú bielizeň a prsteň na ruke. - Je vous dois la vie je vous offre mon amitie. Un Francais n "oublie jamais ni une insulte ni un service. Je vous offre mon amitie. Je ne vous dis que ca. [Dlhujem ti svoj život a ponúkam ti priateľstvo. Francúz nikdy nezabudne na urážky ani služby. Ponúkam svoje priateľstvo s tebou, viac nehovorím.]
Vo zvukoch jeho hlasu, vo výraze jeho tváre, v gestách tohto dôstojníka bolo toľko dobrej povahy a ušľachtilosti (vo francúzskom zmysle), že Pierre reagoval nevedomým úsmevom na úsmev Francúza: potriasol natiahnutou rukou.
- Capitaine Ramball du treizieme leger, decore pour l "affaire du Sept, [kapitán Ramball, trinásty ľahký pluk, jazdec Čestnej légie pre vec siedmeho septembra,] - predstavil sa so samoľúbym, nekontrolovateľným úsmevom, ktorý zvraštil pery pod fúzmi. - Voudrez vous bien me dire dar, a qui "j" ai l "honneur de parler aussi agreablement au lieu de rester a l" ambulance avec la balle de ce fou dans le corps. [Budete tak láskavý, že mi teraz povieš, s kým som, mám tú česť sa tak príjemne porozprávať, namiesto toho, aby som bol na prezliekarni s guľkou tohto šialenca v tele?]
Pierre odpovedal, že nemôže povedať svoje meno, a začervenal sa a začal sa pokúšať vymyslieť meno, hovoriť o dôvodoch, prečo to nemôže povedať, ale Francúz ho rýchlo prerušil.
"De grace," povedal. - Chápem vos raisons, vous etes officier ... officier superieur, peut etre. Vous avez porte les armes contre nous. Je vous dois la vie. Cela mi to stačí. Je suis tout a vous. Vous etes gentilhomme? [Úplné, prosím. Rozumiem vám, ste dôstojník ... možno štábny dôstojník. Slúžil si proti nám To nie je moja vec. Dlhujem ti svoj život. To mi stačí a som celý tvoj. Si šľachtic?] - dodal s náznakom otázky. Pierre naklonil hlavu. - Votre nom de bapteme, s "il vous plait? Je ne náročné pas davantage. Monsieur Pierre, dites vous... Parfait. C "est tout ce que je túžba savoir. [Vaše meno? Na nič iné sa nepýtam. Pán Pierre, povedali ste? Dobre. To je všetko, čo potrebujem.]
Keď priniesli pečené jahňacie mäso, praženicu, samovar, vodku a víno z ruskej pivnice, ktoré so sebou priniesli Francúzi, Ramball požiadal Pierra, aby sa zúčastnil tejto večere a okamžite, dychtivo a rýchlo, ako zdravý a hladný muž, začal jesť, rýchlo prežúval svojimi silnými zubami, neustále mlátil perami a hovoril vynikajúce, vynikajúce! [úžasné, vynikajúce!] Jeho tvár bola začervenaná a pokrytá potom. Pierre bol hladný a rád sa zúčastnil večere. Morel, sanitár, priniesol hrniec teplej vody a dal doň fľašu červeného vína. Okrem toho priniesol fľašu kvasu, ktorý si zobral z kuchyne na testovanie. Tento nápoj bol známy už Francúzom a dostal meno. Nazývali kvass limonade de cochon (bravčová limonáda) a Morel chválil túto limonade de cochon, ktorú našiel v kuchyni. Ale keďže kapitán mal víno získané počas prechodu cez Moskvu, poskytol kvas Morelovi a vzal fľašu Bordeaux. Fľašu až po hrdlo zabalil do obrúska a nalial sebe aj Pierrovi vínom. Ukojenie hladu a vína ešte viac oživili kapitána a počas večere neprestal rozprávať.
- Oui, mon cher monsieur Pierre, je vous dois une fiere chandelle de m "avoir sauve ... de cet enrage ... J" en ai assez, voyez vous, de balles dans le corps. En voila une (namieril na svoju stranu) Wagram et de deux a Smolensk, - ukázal jazvu, ktorú mal na líci. - Et cette jambe, comme vous voyez, qui ne veut pas marcher. C "est a la grande bataille du 7 a la Moskowa que j" ai recu ca. Sacre dieu, c "etait beau. Il fallait voir ca, c" etait un deluge de feu. Vous nous avez taille une rude besogne; vous pouvez vous en vanter, nom d "un petit bonhomme. Et, ma parole, malgre l" atoux que j "y ai gagne, je serais pret a recommencer. Je plains ceux qui n" ont pas vu ca. [Áno, môj drahý pán Pierre, som povinný zapáliť vám dobrú sviečku za to, že ste ma zachránili pred týmto šialencom. Vidíte, už mám dosť guliek, ktoré mám v tele. Tu je jeden pri Wagrame, druhý pri Smolensku. A táto noha, vidíte, sa nechce pohnúť. To je počas veľkej bitky 7. pri Moskve. O! bolo to úžasné! Mali ste to vidieť, bola to záplava ohňa. Dali ste nám náročnú prácu, môžete sa pochváliť. A pri Bohu, napriek tomuto tromfu (ukázal na kríž), by som bol pripravený začať odznova. Ľutujem tých, ktorí to nevideli.]
- J "y ai ete, [bol som tam] - povedal Pierre.
- Bach, vraiment! Eh bien, tant mieux, povedal Francúz. - Vous etes de fiers ennemis, tout de meme. La grande redoute a ete tenace, no d "une pipe. Et vous nous l" avez fait cranement payer. J "y suis alle trois fois, tel que vous me voyez. Trois fois nous etions sur les canons et trois fois on nous a culbute et comme des capucins de cartes. Oh!! c" etait beau, monsieur Pierre. Vos granátniky ont ete superbes, tonnerre de Dieu. Je les ai vu šesť fois de suite serrer les rangs, et marcher comme a une revue. Les beaux hommes! Notre roi de Neapol, qui s "y connait a crie: bravo! Ach, ach! soldat comme nous autres! - povedal s úsmevom a zjedol chvíľu ticha. - Tant mieux, tant mieux, monsieur Pierre. Terribles en bataille . .. galanti ... - žmurkol s úsmevom, - avec les belles, voila les Francais, monsieur Pierre, n "est ce pas? [Ba, naozaj? O to lepšie. Musím uznať, že ste odvážni nepriatelia. Veľká reduta obstála dobre, sakra. A prinútil si nás zaplatiť draho. Bol som tam trikrát, ako vidíte. Trikrát sme boli na kanónoch, trikrát nás zvalili ako kartových vojakov. Vaši granátnici boli skvelí, preboha. Videl som, ako sa ich rady šesťkrát uzavreli a ako pochodovali presne do parády. Úžasní ľudia! Náš neapolský kráľ, ktorý v týchto prípadoch zjedol psa, na nich zakričal: bravo! - Ha, ha, tak ty si náš brat vojak! "Tým lepšie, tým lepšie, Monsieur Pierre." Hrozný v boji, milý ku kráskam, tu sú Francúzi, Monsieur Pierre. Nieje to?]
Kapitán bol do takej miery naivne a dobromyseľne veselý, úprimný a spokojný sám so sebou, že Pierre na seba takmer žmurkol a veselo sa naňho díval. Pravdepodobne slovo „galant“ prinútilo kapitána zamyslieť sa nad postavením Moskvy.