Technical FAQ. Detekcija napada čovjeka u sredini (Čovjek u sredini, MitM napadi) Šta je čovjek u sredini

Dom / Zamrzava

U ovom članku pokušat ćemo razumjeti teoriju napada čovjeka u sredini i neke praktične točke koje će pomoći u sprječavanju ovih vrsta napada. Ovo će nam pomoći da shvatimo rizik koji takvi upadi predstavljaju po našu privatnost, budući da nam MitM napadi omogućavaju da upadnemo u komunikaciju i prisluškujemo naše razgovore.

Razumijevanje kako internet funkcionira

Da biste razumjeli princip napada čovjeka u sredini, vrijedi prvo razumjeti kako funkcionira sam Internet. Glavne tačke interakcije: klijenti, ruteri, serveri. Najčešći komunikacijski protokol između klijenta i servera je Hypertext Transfer Protocol (HTTP). Surfovanje internetom pomoću pretraživača, e-pošte, instant poruka - sve se to radi putem HTTP-a.

Kada unesete u adresnu traku vašeg pretraživača, klijent (vi) šalje zahtjev serveru da prikaže web stranicu. Paket (HTTP GET zahtjev) se prenosi preko nekoliko rutera do servera. Server tada odgovara sa web stranicom, koja se šalje klijentu i prikazuje na njegovom monitoru. HTTP poruke se moraju slati na siguran način rada kako bi se osigurala povjerljivost i anonimnost.

Slika 1. Interakcija klijent-server

Osiguravanje komunikacijskog protokola

Protokol sigurne komunikacije mora imati svako od sljedećih svojstava:

  1. Privatnost- samo željeni primalac može pročitati poruku.
  2. Autentičnost- dokazan je identitet strana u interakciji.
  3. Integritet- potvrda da poruka nije izmijenjena u tranzitu.

Ako se bilo koje od ovih pravila ne poštuje, cijeli protokol je ugrožen.

Napad čovjeka u sredini putem HTTP protokola

Napadač može lako izvesti napad čovjeka u sredini koristeći tehniku ​​koja se zove ARP lažiranje. Bilo ko u vašem Wi-Fi mreže može vam poslati lažni ARP paket, uzrokujući da nesvjesno pošaljete sav svoj promet preko napadača umjesto vašeg rutera.

Nakon toga, napadač ima potpunu kontrolu nad saobraćajem i može pratiti zahtjeve koji se šalju u oba smjera.

Slika 2. Obrazac napada čovjek u sredini


Da bi se spriječili takvi napadi, kreirana je sigurna verzija HTTP protokola. Sigurnost transportnog sloja (TLS) i njegov prethodnik, Secure Socket Layer (SSL), su kriptografski protokoli koji pružaju sigurnost za prijenos podataka preko mreže. Stoga će se sigurni protokol zvati HTTPS. Možete vidjeti kako funkcionira siguran protokol tako što ćete upisati u adresnu traku vašeg pretraživača (obratite pažnju na S u https).

Čovjek u sredini Napad na loše implementirani SSL

Moderni SSL koristi dobar algoritam šifriranja, ali to nije važno ako nije ispravno implementiran. Ako haker može presresti zahtjev, može ga modificirati uklanjanjem "S" sa traženog URL-a, zaobilazeći tako SSL.

Takvo presretanje i modifikacija zahtjeva se može primijetiti. Na primjer, ako zatražite https://login.yahoo.com/, a odgovor je http://login.yahoo.com/, to bi trebalo izazvati sumnju. U vrijeme pisanja, ovaj napad zapravo radi na servisu email Yahoo.

Slika 3. Zahtjev za presretanje i izmjenu


Da bi spriječili takav napad, serveri mogu implementirati HTTP Strict Transport Security (HSTS), mehanizam koji omogućava prisilnu sigurnu vezu preko HTTPS protokola. U ovom slučaju, ako napadač izmijeni zahtjev uklanjanjem “S” iz URL-a, server će i dalje preusmjeriti korisnika sa 302 preusmjeravanjem na stranicu sa sigurnim protokolom.

Slika 4. HSTS radni dijagram


Ovakav način implementacije SSL-a je ranjiv na drugu vrstu napada – napadač kreira SSL vezu sa serverom, ali koristi razne trikove kako bi natjerao korisnika da koristi HTTP.

Slika 5. HSTS obrazac napada


Da bi se spriječili takvi napadi moderni pretraživači kao što su Chrome, Firefox i Tor nadziru web stranice koristeći HSTS i prisiljavaju vezu na strani klijenta s njima putem SSL-a. U ovom slučaju, napadač koji izvodi napad "čovjek u sredini" morao bi stvoriti SSL vezu sa žrtvom.

Slika 6. Obrazac napada gdje napadač uspostavlja SSL vezu sa žrtvom


Da bi korisniku omogućio SLL vezu, napadač mora znati kako se ponašati kao server. Hajde da razumemo tehničke aspekte SSL-a.

Razumijevanje SSL-a

Sa tačke gledišta hakera, kompromitovanje bilo kojeg komunikacijskog protokola svodi se na pronalaženje slabe karike između gore navedenih komponenti (privatnost, autentičnost i integritet).

SSL koristi asimetrični algoritam šifriranja. Problem sa simetričnim šifriranjem je taj što se isti ključ koristi za šifriranje i dešifriranje podataka, ovaj pristup nije važeći za internet protokole jer napadač može ući u trag ovom ključu.

Asimetrična enkripcija uključuje 2 ključa za svaku stranu: javni ključ, koji se koristi za šifriranje, i privatni ključ, koji se koristi za dešifriranje podataka.

Slika 7. Javni i privatni ključevi rade

Kako SSL pruža tri svojstva potrebna za sigurnu komunikaciju?

  1. Budući da se asimetrična kriptografija koristi za šifriranje podataka, SSL pruža privatnu vezu. Ovu enkripciju nije tako lako razbiti i ostati neotkrivena.
  2. Server potvrđuje svoju legitimnost slanjem klijentu SSL certifikata izdatog od strane certifikacijskog tijela - treće strane od povjerenja.

Ako napadač nekako uspije doći do certifikata, mogao bi otvoriti vrata napadu čovjeka u sredini. Tako će stvoriti 2 veze - sa serverom i sa žrtvom. Server u ovom slučaju misli da je napadač običan klijent, a žrtva nema načina da identifikuje napadača, jer je dostavila sertifikat koji dokazuje da je on server.

Vaše poruke stižu i stižu u šifriranom obliku, ali prate lanac kroz kompjuter sajber kriminalca, gdje on ima potpunu kontrolu.

Slika 8. Obrazac napada ako napadač ima certifikat


Certifikat ne mora biti krivotvoren ako napadač ima mogućnost da kompromituje pretraživač žrtve. U tom slučaju, on može umetnuti samopotpisani certifikat, koji će po defaultu biti pouzdan. Ovako se izvodi većina napada čovjeka u sredini. U složenijim slučajevima, haker mora krenuti drugim putem – krivotvoriti certifikat.

Problemi sa autoritetom za izdavanje sertifikata

Certifikat koji je poslao server je izdao i potpisao certifikacijski organ. Svaki pretraživač ima listu pouzdanih autoriteta za izdavanje certifikata i možete ih dodati ili ukloniti. Problem je u tome što ako odlučite da uklonite velika ovlaštenja, nećete moći posjetiti stranice koje koriste certifikate potpisane od strane tih autoriteta.

Certifikati i ovlaštenja za certifikate uvijek su bili najslabija karika u HTTPS vezi. Čak i ako je sve implementirano kako treba i svaki certifikacijski organ ima solidan autoritet, još uvijek je teško pomiriti se s činjenicom da morate vjerovati mnogim trećim stranama.

Danas postoji više od 650 organizacija sposobnih za izdavanje certifikata. Ako bi napadač hakovao bilo koju od njih, dobio bi sertifikate koji je želeo.

Čak i kada je postojao samo jedan autoritet za izdavanje certifikata, VeriSign, postojao je problem - ljudi koji su trebali spriječiti napade čovjeka u sredini prodavali su usluge presretanja.

Također, mnogi certifikati su kreirani zbog hakovanja certifikacijskih tijela. Korištene su različite tehnike i trikovi kako bi se ciljani korisnik prevario da vjeruje lažnim certifikatima.

Forenzika

Budući da napadač šalje lažne ARP pakete, IP adresa napadača se ne može vidjeti. Umjesto toga, trebate obratiti pažnju na MAC adresu, koja je specifična za svaki uređaj na mreži. Ako znate MAC adresu vašeg rutera, možete je uporediti sa MAC adresom zadanog gatewaya da biste saznali da li je to zaista vaš ruter ili napadač.

Na primjer, na Windows OS-u možete koristiti naredbu ipconfig u komandna linija(CMD) da vidite svoju zadanu IP adresu gatewaya (zadnji red):

Slika 9. Korišćenje naredbe ipconfig


Zatim koristite naredbu arp –a da saznate MAC adresu ovog gatewaya:

Slika 10. Korišćenje komande arp –a


Ali postoji još jedan način da primijetite napad - ako ste pratili mrežnu aktivnost u trenutku kada je počela i gledali ARP pakete. Na primjer, možete koristiti Wireshark za ovu svrhu, ovaj program će vas obavijestiti ako se promijenila MAC adresa zadanog gatewaya.

Napomena: Ako napadač ispravno lažira MAC adrese, njegovo praćenje će postati veliki problem.

Zaključak

SSL je protokol koji napadača tjera da obavi mnogo posla kako bi izvršio napad. Ali to vas neće zaštititi od napada koje sponzorira država ili od vještih hakerskih organizacija.

Posao korisnika je da zaštiti svoj pretraživač i računar kako bi sprečio umetanje lažnog sertifikata (veoma uobičajena tehnika). Također je vrijedno obratiti pažnju na listu pouzdani certifikati i uklonite one u koje nemate povjerenja.

Napad čovjeka u sredini je generički naziv za različite tehnike koje imaju za cilj da dobiju pristup prometu kao posrednik. Zbog velike raznolikosti ovih tehnika, problematično je implementirati jedan alat za otkrivanje ovih napada koji bi funkcionirao u svim mogućim situacijama. Na primjer, u napadu čovjeka u sredini na lokalnu mrežu obično se koristi ARP lažiranje (trovanje). Mnogi alati za otkrivanje napada „čovjek u sredini“ prate promjene u parovima Ethernet adresa/ili prijavljuju sumnjivu ARP aktivnost pasivnim praćenjem ARP zahtjeva/odgovora. Ali ako se ovaj napad koristi na zlonamjerno konfigurisanom proxy serveru, VPN-u ili drugim opcijama koje ne koriste ARP trovanje, onda su takvi alati bespomoćni.

Svrha ovog odjeljka je pregled nekih tehnika za otkrivanje napada čovjeka u sredini, kao i nekih alata dizajniranih da utvrde da li ste na meti MitM napada. Zbog različitih metodologija i scenarija implementacije, 100% otkrivanje se ne može garantirati.

1. Detekcija modifikacije saobraćaja

Kao što je već spomenuto, napadi čovjeka u sredini ne koriste uvijek ARP lažiranje. Stoga, iako je detekcija aktivnosti na nivou ARP najpopularnija metoda detekcije, više na univerzalan način je detekcija modifikacije saobraćaja. U tome nam može pomoći program mitmcanary.

Princip rada programa je da postavlja "kontrolne" zahtjeve i pohranjuje primljene odgovore. Nakon toga ponavlja iste zahtjeve u određenim intervalima i upoređuje odgovore koje dobije. Program je prilično inteligentan i, kako bi izbjegao lažne pozitivne rezultate, identificira dinamičke elemente u odgovorima i pravilno ih obrađuje. Čim program otkrije tragove aktivnosti alata za MitM napade, to prijavljuje.

Primjeri kako neki alati mogu "naslijediti":

  • MITMf, prema zadanim postavkama, mijenja sve HTTPS URL-ove u HTML kodu u HTTP. Otkriveno poređenjem HTTP sadržaja.
  • Zarp + MITMProxy, MITMProxy ima funkcionalnost koja vam omogućava da obrišete HTTP kompresiju, ovo se koristi za transparentnost prenesenog saobraćaja, ova kombinacija se detektuje nestankom prethodno prisutne kompresije
  • Odgovornik, identifikovan naglim promenama u transformaciji mDNS odgovora: neočekivani odgovor; odgovor je interni, ali se očekuje eksterni; odgovor se razlikuje od očekivanog IP-a
  • MITMCanary vs MITMf:

  • MITMCanary vs Responder:

  • MITMCanary vs Zarp + MITMProxy:

Sudo pip install Cython sudo apt-get install python-kivy python-dbus sudo pip install plyer uuid urlopen analiza zahtjeva simplejson datetime git clone https://github.com/CylanceSPEAR/mitmcanary.git cd mitmcanary/

Kao što je već pomenuto, mitmcanary treba da počne da radi sa kontrolnim zahtevima. Da biste to učinili, idite na imenik

CD servis/

I pokrenite datoteku setup_test_persistence.py:

Python2 setup_test_persistence.py

Ovo će potrajati – pričekajte da se završi. Ne bi trebalo biti poruka o grešci (ako je tako, onda vam nedostaju neke zavisnosti).

Izlaz će biti otprilike ovako:

Mial@HackWare:~/bin/mitmcanary/service$ python2 setup_test_persistence.py Otkrivena starija verzija konfiguracije (0 umjesto 14) Nadogradnja konfiguracije je u toku. Otpušten dnevnik čišćenja. Analiza... Čišćenje je završeno!

Snimi prijavu /home/mial/.kivy/logs/kivy_16-11-01_0.txt v1.9.1 v2.7.12+ (podrazumevano, 1. septembar 2016, 20:27:38)

Nakon što se ovaj proces završi, u istom direktoriju izvršite (ovo će pokrenuti pozadinski proces):

Python2 main.py

Nakon toga otvorite novi prozor terminala i idite na krajnji direktorij sa mitmcanary. Moj imenik je bin/mitmcanary/, pa ulazim

Cd bin/mitmcanary/

Nakon što se ovaj proces završi, u istom direktoriju izvršite (ovo će pokrenuti pozadinski proces):

i uradi tamo:

Prvi prozor prikazuje nešto poput: Mial@HackWare:~/bin/mitmcanary/service$ python2 main.py Zabilježite prijavu /home/mial/.kivy/logs/kivy_16-11-01_1.txt v1.9.1 v2.7.12+ (podrazumevano, 1. septembra 2016, 20:27:38) koristeći

za slušanje utičnice za Tuio na 127.0.0.1:3000 Spavanje 60 sekundi Spavanje 60 sekundi Spavanje 60 sekundi Spavanje 60 sekundi Spavanje 60 sekundi Spavanje 60 sekundi

One. Program postavlja kontrolne zahtjeve jednom u minuti i traži znakove napada čovjeka u sredini.

Drugi prozor takođe sadrži izlaz + otvara se tamni prozor, koji autori programa nazivaju „grafički interfejs“:

Možete pričekati neko vrijeme i surfati internetom kako biste bili sigurni da program ne izdaje lažna upozorenja. Hajde da probamo klasičan program

ettercap. Pokrećem običan MitM napad sa ARP lažiranjem. mitmcanary ne reaguje na samo urezivanje. Alat mitmcanary sam generira promet, tj. nije potrebna nikakva radnja korisnika. Nakon nekog vremena pojavljuje se jedno jedino upozorenje, koje se ne potvrđuje pri narednim provjerama. Ali slično upozorenje se pojavljuje nakon nekoliko minuta. Bez dalje analize, teško mi je reći da li je ovo primjer- veoma slično ovome. Sasvim je moguće da je ovo upozorenje uzrokovano kvarom u komunikaciji zbog potrebe da promet prolazi dodatnim rutama ili zbog posebnosti moje nekvalitetne internetske veze.

Budući da rezultat nije očigledan (vjerovatnije "ne" nego "da"), hajde da isprobamo Bettercap program, koji ima niz modula. Ne sumnjam da kada koristite razne Ettercap i/ili dodatke dodatni programi da proširimo funkcionalnost, takođe bismo "upalili" za mitmcanary.

Radi čistoće eksperimenta, ponovo pokrećem opremu, pokrećem mitmcanary na napadnutoj mašini i Bettercap na napadnoj. U ovom slučaju nije potrebno ponovo postavljati kontrolne zahtjeve na napadnutom stroju - oni se pohranjuju u datoteku unutar direktorija s programom. One. Dovoljno je pokrenuti servis i grafički interfejs.

A u napadačkoj mašini ćemo pokrenuti Bettercap sa uključenim parserima:

Sudo bettercap -X

Pojavljuju se pojedinačna upozorenja, koja također više liče na lažno pozitivna.

Ali pokretanje ove naredbe:

Sudo bettercap -X --proxy

Na napadnutu mašinu poziva veliki broj upozorenja o mogućem napadu čovjeka u sredini:

Dakle, što je moćniji alat za napad "čovjek u sredini", to ostavlja više tragova u prometu. Za praktičnu upotrebu mitmcanaryja moraju biti ispunjeni sljedeći uslovi:

  • napravite početne zahtjeve na pouzdanoj mreži kada ste sigurni da nema posrednika u prijenosu saobraćaja;
  • uredite resurse na koje se upućuju zahtjevi za verifikaciju, budući da profesionalni napadač može dodati zadane resurse izuzecima, što će ga učiniti nevidljivim za ovaj alat.

2. Otkrivanje ARP lažiranja (trovanja ARP keša)

Vrlo često, napad čovjeka u sredini na lokalnu mrežu počinje trovanjem ARP-om. Zbog toga su mnogi alati dizajnirani za otkrivanje MitM napada zasnovani na mehanizmu za praćenje promjena u ARP kešu, koji dodjeljuje korespondenciju između Ethernet (MAC adresa) i IP adresa.

Kao primjer ovakvih programa možemo podsjetiti arpwatch, arpalert i veliki broj novih programa. Program ArpON ne samo da prati promjene u ARP kešu, već ga i štiti od njih.

Kao primjer, pokrenimo arpwatch u modu za otklanjanje grešaka, bez kreiranja forksova u pozadini i slanja poruka poštom. Umjesto toga, poruke se šalju na stderr (standardni izlaz greške).

Sudo /usr/sbin/arpwatch -d

Pokrenimo Ettercap na mašini koja napada i započnemo ARP lažiranje. Na napadnutoj mašini uočavamo:

Program arpwatch će vam pomoći da brzo saznate o novim uređajima koji su povezani na vaš lokalna mreža, kao i promjene u ARP kešu.

Još jedan alat za otkrivanje ARP lažiranja u realnom vremenu je dodatak iz samog Ettercap-a, koji se zove arp_cop. Na napadnutoj mašini pokrenite Ettercap na sledeći način:

Sudo ettercap -TQP arp_cop ///

I na napadaču ćemo započeti trovanje ARP-om. Na napadnutoj mašini odmah počinju da se pojavljuju upozorenja:

3. Otkrivanje DNS lažiranja

DNS lažiranje ukazuje na to da postoji posrednik između vas i vašeg odredišta koji može izmijeniti vaš promet. Kako možete otkriti da su DNS zapisi lažirani? Najlakši način da to učinite je da uporedite s odgovorima servera imena kojem vjerujete. Ali unosi u odgovoru koji je poslat na vaš zahtjev također se mogu zamijeniti...

One. morate provjeriti ili putem šifriranog kanala (na primjer, kroz Tor) ili koristiti nestandardna podešavanja (drugi port, TCP umjesto UDP). Otprilike za to je dizajniran sans program iz XiaoxiaoPu (bar kako ja razumijem). Uspio sam koristiti ovaj program za preusmjeravanje DNS zahtjeva preko Tor-a i preko nestandardnih postavki na moje DNS server. Ali nisam je mogao natjerati da mi pokaže poruke o lažiranju DNS odgovora. Bez toga se gubi smisao programa.

Više dostojne alternative Nisam ga mogao naći.

U principu, s obzirom na to da DNS spooferi obično prate samo port 53, i to samo UDP protokol, čak i ručno je dovoljno jednostavno provjeriti činjenicu DNS spoofinga, iako je za to potreban vlastiti DNS server sa nestandardnom konfiguracijom. Na primjer, na napadačkoj mašini sam napravio fajl dns.conf sa sljedećim sadržajem:

Lokalni mi-al.ru

One. kada se traži DNS zapis za web stranicu mi-al.ru, umjesto pravog IP-a bit će poslana IP adresa napadačeve mašine.

Trčim na napadačkoj mašini:

Sudo bettercap --dns dns.conf

A na napadnutom radim dvije provjere:

Dig mi-al.ru # i dig mi-al.ru -p 4560 @185.117.153.79

Rezultati:

Mial@HackWare:~$ dig mi-al.ru ;<<>> DiG 9.10.3-P4-Debian<<>> mi-al.ru ;; globalne opcije: +cmd ;; Dobio odgovor: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51993 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;mi-al.ru. IN A ;; ANSWER SECTION: mi-al.ru. 86400 IN A 192.168.1.48 ;; Query time: 2 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Wed Nov 02 09:25:20 MSK 2016 ;; MSG SIZE rcvd: 42 mial@HackWare:~$ dig mi-al.ru -p 4560 @185.117.153.79 ; <<>> DiG 9.10.3-P4-Debian<<>> mi-al.ru -p 4560 @185.117.153.79 ;; globalne opcije: +cmd ;; Dobio odgovor: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 401 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;mi-al.ru. IN A ;; ANSWER SECTION: mi-al.ru. 3799 IN A 185.26.122.50 ;; Query time: 304 msec ;; SERVER: 185.117.153.79#4560(185.117.153.79) ;; WHEN: Wed Nov 02 09:25:27 MSK 2016 ;; MSG SIZE rcvd: 53

Vidi se da je za “običan” DNS zahtjev poslat lokalni IP 192.168.1.48, a pri zahtjevu za DNS na netipičnom portu ispravan IP servera.

Ako je server konfiguriran da koristi TCP (a ne UDP), tada bi naredba izgledala ovako:

Dig mi-al.ru -p 4560 +tcp @185.117.153.79

Jasno je da nedostaje alat koji bi sam nadgledao DNS odgovore u prometu, dvaput ih provjerio u odnosu na alternativni izvor i podigao alarm u slučaju lažiranja.

Da biste izbjegli postavljanje vlastitog udaljenog DNS-a, možete napraviti upite servera imena putem Tor-a. Pošto je sav Tor saobraćaj šifrovan, DNS odgovori dobijeni na ovaj način su izvan mogućnosti posrednika. Ako Tor već nije instaliran, instalirajte ga.

Sudo apt-get install tor

Sudo pacman -S tor

Pokrenite uslugu:

Sudo systemctl start tor

Ako vam je potrebna, dodajte ovu uslugu za pokretanje:

Sudo systemctl omogući tor

Otvorite datoteku /etc/tor/torrc i dodajte sljedeće redove tamo:

DNSPort 530 AutomapHostsOnResolve 1 AutomapHostsSufiksi .exit,.onion

Obratite pažnju na broj 530. Ovo je broj porta umjesto 530, možete odrediti bilo koji drugi (nekorišteni) port. Glavna stvar je zapamtiti to.

Provjeravamo ponovo:

Dig mi-al.ru # i dig mi-al.ru -p 530 @localhost

Sada navodimo kao server localhost, i napišite broj porta koji ste naveli u /etc/tor/torrc postavkama.

Kao što možete vidjeti iz sljedećeg snimka ekrana, DNS lažni napad se izvodi na mašini na kojoj je izvršena provjera:

4. Potražite mrežna sučelja u promiskuitetnom načinu

Ako na vašoj lokalnoj mreži postoji (a posebno ako se iznenada pojavi) oprema u promiskuitetnom modu, to je vrlo sumnjivo, iako ne ukazuje jasno na napad čovjeka u sredini.

U ovom načinu rada mrežna kartica vam omogućava da primate sve pakete bez obzira na to kome su adresirani.

U normalnom stanju, Ethernet sučelje koristi filtriranje paketa sloja veze i ako MAC adresa u odredišnom zaglavlju primljenog paketa ne odgovara MAC adresi trenutnog mrežnog sučelja i nije emitirana, tada se paket odbacuje. U "promiskuitetnom" načinu rada, filtriranje na mrežnom sučelju je onemogućeno i svi paketi, uključujući i one koji nisu namijenjeni trenutnom čvoru, su dozvoljeni u sistem.

Većina operativnih sistema zahtijeva administratorska prava da bi omogućili promiskuitetni način rada. One. Postavljanje mrežne kartice na promiskuitetni način rada je namjerna radnja koja može poslužiti u svrhe njuškanja.

Za traženje mrežnih sučelja u promiskuitetnom načinu postoji dodatak koji se zove Ettercap search_promisc.

Primjer pokretanja dodatka:

Sudo ettercap -TQP search_promisc ///

Rad dodatka nije potpuno pouzdan pri određivanju načina rada mrežnog interfejsa.

Zaključak

Neke metode napada "čovjek u sredini" ostavljaju mnogo tragova, a neke (poput pasivnog proxy pretraživanja vjerodajnica) je nemoguće ili gotovo nemoguće otkriti.

Označava situaciju u kojoj napadač može čitati i mijenjati po svojoj volji poruke koje se razmjenjuju između dopisnika, a niko od potonjih ne može pogoditi njegovo prisustvo na kanalu.


Wikimedia Foundation.

2010.

    Pogledajte šta je "Čovjek u sredini (napad)" u drugim rječnicima:

    Čovek u sredini napada, MITM napad (engleski Man u sredini) je termin u kriptografiji koji označava situaciju u kojoj kriptoanalitičar (napadač) može da čita i menja po svojoj volji poruke koje se razmenjuju... ... Wikipedia

    - ... Wikipedia

    Kriptanaliza (od grčkog κρυπτός skriven i analiza) je nauka o metodama za dobijanje izvornog značenja šifrovanih informacija bez pristupa tajnim informacijama (ključu) neophodnim za to. U većini slučajeva to znači... ... Wikipedia

    Hakerski napad u užem smislu reči trenutno se shvata kao „napad na bezbednosni sistem“, a više je naklonjen značenju sledećeg termina Cracker napad. To se dogodilo zbog izobličenja značenja same riječi "haker"... Wikipedia

- (od drugog grčkog κρυπτός skriven i analiza) nauka o metodama za dešifrovanje šifrovanih informacija bez ključa namenjenog za takvo dešifrovanje. Termin je skovao američki kriptograf William F. Friedman 1920. godine. Neformalno... ... Wikipedia

Čovjek u srednjem napadu (MitM napad) je termin u kriptografiji koji se odnosi na situaciju u kojoj napadač može po želji čitati i mijenjati poruke koje se razmjenjuju između dopisnika, a niko od potonjih ne može pogoditi njegov identitet na kanalu .

Metoda kompromitovanja komunikacijskog kanala, u kojoj napadač, nakon povezivanja na kanal između stranaka, aktivno ometa protokol prijenosa, briše, iskrivljuje informacije ili nameće lažne informacije.

Princip napada:

Da bi izvršio napad, "C" izgleda kao objekt "A" kao "B", a objekt "B" kao "A". Objekt "A", pogrešno vjerujući da šalje informaciju "B", šalje je objektu "C".

Objekt “C”, nakon što je primio informaciju i izvršio neke radnje s njom (na primjer, kopirao ili modificirao je za svoje potrebe), šalje podatke samom primaocu - “B”; objekat "B", zauzvrat, smatra da je informacija dobijena direktno od "A".

Primjer MitM napada:

Recimo da Alice ima finansijskih problema i, koristeći program za razmenu trenutnih poruka, odluči da zatraži od Džona sumu novca slanjem poruke:
Alice: John, zdravo!
Alice: Molim vas, pošaljite mi ključ za šifriranje, imam mali zahtjev!
John: Zdravo! Čekaj malo!

Ali, u to vrijeme, gospodin X, koji je analizirajući promet pomoću njuškala, primijetio je ovu poruku, a riječi "ključ za šifriranje" izazvale su radoznalost. Zato je odlučio presresti sljedeće poruke i zamijeniti ih podacima koji su mu bili potrebni, a kada je dobio sljedeću poruku:
John: Evo mog ključa: 1111_D

Promenio je Džonov ključ u svoj i poslao poruku Alisi:
John: Evo mog ključa: 6666_M

Alice, nesvjesna i misli da je to Johnov ključ, koristeći privatni ključ 6666_M, šalje šifrovane poruke Johnu:
Alice: Johne, imam problema i hitno mi treba novac, molim te prebaci $300 na moj račun: Z12345. Hvala ti. p.s. Moj ključ: 2222_A

Nakon što je primio poruku, gospodin X je dešifruje pomoću svog ključa, čita je i, radujući se, menja Alisin broj računa i ključ za šifrovanje u svoje, šifruje poruku ključem 1111_D, i šalje Johnu poruku:
Alice: Johne, imam problema i hitno mi je potreban novac, molim te prebaci $300 na moj račun: Z67890. Hvala ti. p.s. Moj ključ: 6666_A

Nakon što primi poruku, John je dešifruje pomoću ključa 1111_D, i bez oklijevanja će prebaciti novac na račun Z67890...

I tako je gospodin X, koristeći napad čovjeka u sredini, zaradio 300 dolara, ali Alice će sada morati da objašnjava da nije primila novac... A John? Džon mora da dokaže Alis da ih je poslao...

Implementacija:

Ova vrsta napada se koristi u nekim softverskim proizvodima za prisluškivanje mreže, na primjer:
NetStumbler- program s kojim možete prikupiti puno korisnih podataka o bežičnoj mreži i riješiti neke probleme povezane s njenim radom. NetStumbler vam omogućava da odredite domet vaše mreže i pomaže vam da precizno usmjerite svoju antenu za komunikaciju na daljinu. Za svaku pronađenu pristupnu tačku možete saznati MAC adresu, odnos signal-šum, naziv usluge i stepen njene sigurnosti. Ako promet nije šifriran, tada će biti korisna sposobnost programa da otkrije neovlaštene veze.

dsniff- je skup programa za reviziju mreže i testiranje penetracije, koji omogućava pasivno praćenje mreže za traženje podataka od interesa (lozinke, adrese e-pošte, fajlovi, itd.), presretanje mrežnog prometa koji bi inače bio nedostupan za analizu (npr. komutirana mreža), kao i mogućnost organiziranja MITM napada za presretanje SSH i HTTPS sesija iskorištavanjem PKI nedostataka.

Cain & Abel je besplatan program koji vam omogućava da povratite izgubljene lozinke za operativne sisteme Windows porodice. Podržano je nekoliko načina oporavka: brute force hakovanje, odabir rječnika, pregled lozinki skrivenih zvjezdicama itd. Postoje i opcije za identifikaciju lozinke presretanjem informacijskih paketa i njihovom naknadnom analizom, snimanjem mrežnih razgovora, analizom keša i drugim.

Ettercap- je njuškalo, presretač paketa i snimač za lokalne Ethernet mreže, koji podržava aktivnu i pasivnu analizu više protokola, a moguće je i "baciti" vlastite podatke u postojeću vezu i filtrirati "u hodu" bez prekida veze sinhronizacija. Program vam omogućava da presretnete SSH1, HTTPS i druge sigurne protokole i pruža mogućnost dešifriranja lozinki za sljedeće protokole: 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– skup uslužnih programa za procjenu sigurnosti bežičnih klijenata, je bežični sniffer koji, pasivnim slušanjem okvira 802.11 Probe Request, omogućava da otkrijete klijente i njihove preferirane/pouzdane mreže. Lažna pristupna tačka se tada može kreirati za jednu od traženih mreža, na koju se može automatski povezati. Lažne usluge visokog nivoa mogu se koristiti za krađu ličnih podataka ili iskorištavanje ranjivosti klijenta na hostu.

AirJack- skup programa koji je, po mišljenju stručnjaka iz oblasti WiFi hakovanja, najbolji alat za generisanje različitih 802.11 okvira. AirJack uključuje brojne uslužne programe dizajnirane za otkrivanje skrivenih ESSID-ova, slanje okvira za završetak sesije s lažnim MAC-om, izvođenje MitM napada i njegovo modificiranje.

Protivljenje:

Kako bi izbjegli napade ovog tipa, pretplatnici “A” i “B” trebaju samo jedan drugome prenijeti digitalne potpise javnih ključeva za šifriranje koristeći pouzdan kanal. Zatim, prilikom upoređivanja potpisa ključeva u sesijama šifriranja, bit će moguće utvrditi koji ključ je korišten za šifriranje podataka i da li su ključevi zamijenjeni.

MTProto koristi originalnu metodu za postizanje pouzdanosti u trenutno ranjivim mobilnim komunikacijama i brzinu isporuke velikih datoteka (na primjer, fotografija, video zapisa i dokumenata veličine do 1 GB). Ovaj dokument ima za cilj da razjasni detalje našeg sistema i adresira elemente koji mogu biti teško razumljivi na prvi pogled.

Detaljna dokumentacija o protokolu dostupna je na ovoj stranici. Ako imate pitanja, pišite na Twitter.

Napomena: Svaka poruka šifrovana putem MTProto-a uvijek sadrži sljedeće podatke, koji će biti provjereni tokom dešifriranja kako bi sistem bio siguran od poznatih problema:

  • identifikator sesije - id sesije;
  • dužina poruke - dužina poruke;

Napomena 2: Pogledajte dodatne komentare u vezi sa upotrebom i modificirano sheme

Zašto ne koristite X [vaša opcija]

Dok drugi načini za postizanje istih kriptografskih ciljeva nesumnjivo postoje, vjerujemo da je trenutno rješenje i pouzdano i da uspijeva u našem sekundarnom cilju nadmašivanja nesigurnih glasnika u smislu brzine i stabilnosti isporuke.

Zašto se oslanjate na klasične kriptoalgoritme?

Radije koristimo dobro poznate algoritme stvorene u danima kada su propusni opseg i procesorska snaga bili rijedak par. Upravo ovi algoritmi imaju značajan utjecaj na današnji razvoj aplikacija za mobilne uređaje, prisiljavajući njihove autore da se riješe poznatih nedostataka. Slabosti ovakvih algoritama su takođe dobro poznate i napadači su ih koristili decenijama. Mi koristimo ove algoritme u ovoj implementaciji jer, po našem mišljenju, dovode svaki poznati napad do neuspjeha. Međutim, bili bismo sretni da vidimo bilo kakve dokaze koji govore suprotno (do sada nije bilo takvih slučajeva) kako bismo poboljšali naš sistem.

Ja sam stručnjak za sigurnost i vjerujem da je vaš protokol nesiguran.

Možete učestvovati u našem takmičenju: Pavel Durov nudi 200.000 dolara u Bitcoin-u prvoj osobi koja je hakovala MTProto. Možete pročitati najavu i FAQ o takmičenju. Ako imate još nekih komentara, rado ćemo ih čuti na [email protected].

Zaštita od poznatih napada

Napadi na poznati otvoreni tekst

Po definiciji, napad otvorenog teksta je vrsta kriptoanalitičkog napada u kojem napadač ima i šifriranu i otvorenu verziju teksta. AES IGE koji se koristi u MTProtou otporan je na takve napade. Osim toga, otvoreni tekst u MTProto uvijek sadrži sol servera i ID sesije.

Adaptive Plaintext Attack

Po definiciji, adaptivni napad otvorenog teksta je vrsta napada u kriptoanalizi u kojoj kriptoanalitičar može odabrati otvoreni tekst i dobiti odgovarajući šifrirani tekst. MTProto koristi AES u IGE modu, koji je siguran od takvih napada. Poznato je da je IGE ranjiv na napade koji se prilagođavaju blokovima, ali MTProto to popravlja na način opisan u nastavku. Svaka poruka otvorenog teksta koju treba šifrirati sadrži sljedeće podatke, koji se provjeravaju tokom dešifriranja:

  • serverska sol (64-bitna);
  • redni broj poruke;
  • vrijeme kada je poruka poslana - vrijeme.

Osim toga, da biste zamijenili otvoreni tekst, također morate koristiti ispravan AES ključ i vektor inicijalizacije, koji zavise od auth_key . Ovo čini MTProto otpornim na adaptivne napade otvorenog teksta.

Podudarni napadi šifriranog teksta

Prema definiciji, napad odabranog šifriranog teksta je kriptografski napad u kojem kriptoanalitičar prikuplja informacije o šifri odabirom šifriranog teksta i dobivanjem njegovog dešifriranja nepoznatim ključem. U takvom napadu, napadač može unijeti jedan ili više poznatih šifriranih tekstova u sistem i dobiti otvorene tekstove. Koristeći ove podatke, napadač može pokušati povratiti ključ koji se koristi za dešifriranje. U MTProtou, svaki put kada se poruka dešifruje, vrši se provjera kako bi se osiguralo da msg_key odgovara SHA-1 dešifriranih podataka. Čisti tekst (dešifrovani podaci) takođe uvek sadrži informacije o dužini poruke, njenom redni broj i serverskoj soli. Ovo negira napade zasnovane na odabranom šifriranom tekstu.

Ponovite napade

Napadi ponavljanja nisu mogući jer svaka poruka otvorenog teksta sadrži sol servera, jedinstveni ID poruke i redni broj.

Čovjek u sredini (MitM) napad

Telegram ima dva načina komunikacije: redovni razgovori koji koriste šifriranje klijent-server i tajni razgovori koji koriste end-to-end enkripciju i zaštićeni su od napada čovjeka u sredini. Prijenos podataka između klijenta i servera zaštićen je od ovakvih napada tokom generiranja Diffie-Hellman ključeva zahvaljujući RSA algoritmu javnog ključa koji je ugrađen u Telegram klijente. Nakon toga, ako klijenti sagovornika vjeruju softveru servera, tajni razgovori između njih su zaštićeni od strane servera od napada čovjeka u sredini. Posebno za one koji Ne vjeruje serveru, u aplikaciji je dostupno poređenje tajnih kodova. Ključevi se vizualiziraju kao slike. Upoređujući vizualizirane ključeve, korisnici mogu provjeriti da nije došlo do napada čovjeka u sredini.

Enkripcija

Da li koristite IGE? Hakovano je!

Da, koristimo IGE, ali u našoj implementaciji sve je u redu s njim. Činjenica da ne koristimo IGE sa drugim elementima našeg sistema na isti način kao MAC čini pokušaje hakovanja IGE besmislenim. IGE, baš kao i uobičajeni način ulančavanja blokova šifrovanog teksta (CBC), podložan je napadima koji se prilagođavaju blokovima. Ali adaptivni napadi su prijetnja samo kada se isti ključ koristi u više poruka (to nije slučaj).

Prilagodljivi napadi nisu čak ni teoretski mogući u MTProtou, jer da bi se dešifrirala poruka, potonja prvo mora biti u potpunosti otkucana, budući da ključ poruke zavisi od njenog sadržaja. Što se tiče neprilagodljivih CPA napada, IGE je zaštićen od njih, baš kao i CBC.

© 2024 ermake.ru -- O popravci računara - Informativni portal