Suojaus mieheltä keskellä. Kaikki Man in the Middle (MitM) -hyökkäyksestä

18.10.2016 | Vladimir Khazov

FSB:n, tele- ja joukkoviestintäministeriön sekä teollisuus- ja kauppaministeriön suunnitelmat toteuttaa Yarovaya-lain säännökset venäläisten kirjeenvaihdon sieppaamisesta ja salauksen purkamisesta eivät ole enää vain suunnitelmia, vaan niitä aletaan jo toteuttaa. ryhtyä toimiin määräyksellä asiantuntijalausunnon laatimiseksi kuuntelun mahdollisuudesta whatsapp viestit, Viber, Facebook Messenger, Telegram, Skype MITM-hyökkäyksillä ja tällaisen työkalun prototyypin esittely.

Kirjoitimme aiemmassa artikkelissa "laillisen" MITM-hyökkäyksen järjestämissuunnitelmasta. Tänään puhumme yksityiskohtaisemmin tällaisen hyökkäyksen periaatteesta ja sen toteuttamismenetelmistä.

Mikä on MITM-hyökkäys

Mies keskellä (MITM) tarkoittaa "mies keskellä". Tämä termi viittaa verkkohyökkäykseen, jossa hyökkääjä on Internetin käyttäjän ja hänen käyttämänsä sovelluksen välissä. Ei tietenkään fyysisesti, vaan erikoisohjelmiston avulla. Se esittelee itsensä käyttäjälle pyydettynä sovelluksena (tämä voi olla verkkosivusto tai Internet-palvelu), simuloi sen kanssa työskentelemistä ja tekee tämän siten, että se antaa vaikutelman normaalista toiminnasta ja tiedonvaihdosta.

Hyökkäyksen kohteena ovat käyttäjän henkilötiedot, kuten kirjautumistiedot erilaisia ​​järjestelmiä, pankkitiedot ja korttien numerot, henkilökohtainen kirjeenvaihto ja muut luottamukselliset tiedot. Useimmissa tapauksissa hyökätään taloussovelluksiin (pankkiasiakkaat, verkkopankit, maksu- ja rahansiirtopalvelut), yrityksen SaaS-palveluihin, verkkosivustoihin verkkokauppa(verkkokaupat) ja muut sivustot, joissa sisäänkirjautuminen edellyttää valtuutusta.

Hyökkääjän saamia tietoja voidaan käyttää useisiin eri tarkoituksiin, mukaan lukien laittomat rahansiirrot, tilien vaihtaminen, henkilökohtaisen kirjeenvaihdon sieppaaminen, ostosten tekeminen jonkun toisen kustannuksella, kompromissi ja kiristys.

Lisäksi valtuustietojen varastamisen ja järjestelmän hakkeroinnin jälkeen rikolliset voivat asentaa haittaohjelmia yritysverkkoon. ohjelmisto järjestää henkisen omaisuuden (patentit, projektit, tietokannat) varkauksia ja aiheuttaa taloudellista vahinkoa poistamalla tärkeitä tietoja.

MITM-hyökkäystä voidaan verrata postimieheen, joka kirjeenvaihtoasi jakaessaan avaa kirjeen, kirjoittaa sen sisällön uudelleen henkilökohtaiseen käyttöön tai jopa väärentää käsialan, lisää jotain omaa ja sitten sulkee kirjekuoren ja toimittaa sen vastaanottajalle. kuin mitään ei olisi tapahtunut. Lisäksi, jos olet salannut kirjeen tekstin ja haluat välittää salauksen purkukoodin vastaanottajalle henkilökohtaisesti, postimies esittelee itsensä vastaanottajaksi siten, että et edes huomaa vaihtamista.

Kuinka MITM-hyökkäys suoritetaan

MITM-hyökkäyksen suorittaminen koostuu kahdesta vaiheesta: sieppauksesta ja salauksen purkamisesta.

  • Sieppaus

Hyökkäyksen ensimmäinen vaihe on siepata liikenne käyttäjältä aiottuun kohteeseen ja ohjata se hyökkääjän verkkoon.

Yleisin ja helpoin tapa siepata on passiivinen hyökkäys, jossa hyökkääjä luo Wi-Fi-pisteitä, joilla on ilmainen pääsy (ilman salasanaa tai valtuutusta). Kun käyttäjä muodostaa yhteyden tällaiseen pisteeseen, hyökkääjä saa pääsyn kaikkeen sen läpi kulkevaan liikenteeseen ja voi poimia siitä mitä tahansa dataa siepatakseen.

Toinen menetelmä on aktiivinen sieppaus, joka voidaan suorittaa jollakin seuraavista tavoista:

IP-huijaus– paketin otsikossa olevan kohteen IP-osoitteen korvaaminen hyökkääjän osoitteella. Tämän seurauksena käyttäjät päätyvät hyökkääjän verkkosivustolle sen sijaan, että he kävisivät pyydetyssä URL-osoitteessa.

ARP-huijausta– isännän todellisen MAC-osoitteen korvaaminen hyökkääjän osoitteella uhrin ARP-taulukossa. Tämän seurauksena käyttäjän vaaditun solmun IP-osoitteeseen lähettämät tiedot päätyvät hyökkääjän osoitteeseen.

DNS-huijaus DNS-välimuistin infektio, tunkeutuminen DNS-palvelin ja verkkosivuston osoitteen vastaavuustietueen korvaaminen. Tämän seurauksena käyttäjä yrittää käyttää pyydettyä sivustoa, mutta saa hyökkääjän sivuston osoitteen DNS-palvelimelta.

  • Salauksen purku

Kun kaksisuuntainen SSL-liikenne on siepattu, sen salaus on purettava siten, että käyttäjä ja hänen pyytämänsä resurssi eivät huomaa häiriötä.

Tätä varten on useita menetelmiä:

HTTPS-huijaus– väärennetty varmenne lähetetään uhrin selaimeen, kun yhteys sivustoon muodostetaan HTTPS-protokollan kautta. Tämä varmenne sisältää vaarantuneen sovelluksen digitaalisen allekirjoituksen, jonka ansiosta selain hyväksyy yhteyden hyökkääjään luotettavaksi. Kun tällainen yhteys on muodostettu, hyökkääjä pääsee käsiksi kaikkiin uhrin syöttämiin tietoihin ennen kuin ne lähetetään sovellukseen.

SSL BEAST(selaimen hyväksikäyttö SSL/TLS:ää vastaan) – hyökkäys käyttää SSL-haavoittuvuus TLS-versioissa 1.0 ja 1.2. Uhrin tietokone on saastunut haitallisella JavaScriptillä, joka sieppaa verkkosovellukseen lähetetyt salatut evästeet. Tämä vaarantaa "salatekstilohkoketjutus" -salaustilan siten, että hyökkääjä saa salatut evästeet ja todennusavaimet.

SSL-kaappaus– väärennettyjen todennusavainten siirto käyttäjälle ja sovellukselle TCP-istunnon alussa. Tämä luo vaikutelman suojatusta yhteydestä, vaikka istuntoa itse asiassa ohjaa "mies keskellä".

SSL poistaminen– Alentaa yhteyden suojatusta HTTPS:stä tavalliseen HTTP:hen sieppaamalla sovelluksen käyttäjälle lähettämän TLS-todennuksen. Hyökkääjä tarjoaa käyttäjälle salaamattoman pääsyn sivustolle, samalla kun hän ylläpitää suojattua istuntoa sovelluksen kanssa, jolloin hän voi nähdä uhrin lähettämät tiedot.\

Suojaus MITM-hyökkäyksiä vastaan

Luotettava suojaus MITM-hyökkäyksiä vastaan ​​on mahdollista, jos käyttäjä suorittaa useita ennaltaehkäiseviä toimia ja käyttää verkkosovelluskehittäjien salaus- ja todennusmenetelmien yhdistelmää.

Käyttäjän toimet:

  • Vältä yhteyden muodostamista Wi-Fi-pisteisiin, joissa ei ole salasanasuojausta. Poista käytöstä automaattinen yhteyden muodostaminen tunnettuihin tukiasemiin - hyökkääjä voi naamioida Wi-Fi-verkkonsa lailliseksi.
  • Kiinnitä huomiota selaimen ilmoitukseen menemisestä suojaamattomalle sivustolle. Tällainen viesti voi viitata hyökkääjän siirtymiseen väärennetylle verkkosivustolle tai ongelmiin laillisen verkkosivuston suojauksessa.
  • Lopeta istunto sovelluksella (uloskirjautuminen), jos se ei ole käytössä.
  • Älä käytä julkisia verkkoja (kahviloita, puistoja, hotelleja jne.) luottamuksellisten tapahtumien suorittamiseen ( liikekirjeenvaihto, rahoitustapahtumat, ostokset verkkokaupoista jne.).
  • Käytä tietokoneellasi tai kannettavalla tietokoneellasi virustorjuntaa, jonka tietokannat ovat ajan tasalla, se auttaa suojaamaan haittaohjelmia vastaan.

Verkkosovellusten ja -sivustojen kehittäjien on käytettävä suojattua TLS-protokollat ja HTTPS, jotka vaikeuttavat suuresti huijaushyökkäyksiä salaamalla lähetetyt tiedot. Niiden käyttö estää myös liikenteen sieppauksen valtuutusparametrien ja pääsyavaimien saamiseksi.

Hyvänä käytäntönä pidetään TLS:n ja HTTPS:n suojaamista valtuutussivujen lisäksi myös kaikkien muiden sivuston osien osalta. Tämä vähentää mahdollisuutta, että hyökkääjä varastaa käyttäjän evästeet sillä hetkellä, kun hän selaa suojaamattomia sivuja valtuutuksen jälkeen.

Suojautuminen MITM-hyökkäyksiä vastaan ​​on käyttäjän ja teleoperaattorin vastuulla. Käyttäjälle tärkeintä on olla menettämättä valppautta, käyttää vain hyväksi havaittuja Internet-yhteysmenetelmiä ja valita HTTPS-salauksella varustetut sivustot henkilökohtaisia ​​tietoja siirrettäessä. Teleoperaattoreita voidaan suositella käyttämään Deep Packet Inspection (DPI) -järjestelmiä tietoverkkojen poikkeamien havaitsemiseen ja huijaushyökkäysten estämiseen.

Valtion virastot aikovat käyttää MITM-hyökkäystä kansalaisten suojelemiseen, ei vahingon aiheuttamiseen, toisin kuin hyökkääjät. Henkilökohtaisten viestien ja muun käyttäjäliikenteen sieppaus tapahtuu voimassa olevan lainsäädännön puitteissa oikeusviranomaisten päätöksellä terrorismin, huumekaupan ja muun kielletyn toiminnan torjumiseksi. Tavalliset käyttäjät"lailliset" MITM-hyökkäykset eivät ole vaarallisia.

Saavuttaa haluttu lopputulos On lähes aina useita tapoja. Tämä koskee myös tietoturva-alaa. Joskus tavoitteen saavuttamiseksi voit käyttää raakaa voimaa, etsiä reikiä ja kehittää itse hyväksikäyttöä tai kuunnella, mitä verkon kautta lähetetään. Lisäksi viimeinen vaihtoehto on usein optimaalinen. Siksi tänään puhumme työkaluista, jotka auttavat saamaan arvokasta tietoa verkkoliikennettä, houkuttelee MITM-hyökkäyksiä tähän.

MITMf

Aloitetaan yhdestä mielenkiintoisimmista ehdokkaista. Tämä on koko kehys man-in-the-middle-hyökkäysten suorittamiseen, joka on rakennettu sergio-välityspalvelimen pohjalta. Äskettäin mukana Kali Linux. Asenna se itse kloonaamalla arkisto ja suorittamalla pari komentoa:

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

# pip install -rvaatimukset.txt

Sillä on arkkitehtuuri, joka on laajennettavissa laajennusten avulla. Tärkeimpien joukossa ovat seuraavat:

  • Huijaus - mahdollistaa liikenteen uudelleenohjauksen ARP/DHCP-huijauksilla, ICMP-uudelleenohjauksilla ja DNS-kyselyjen muokkaamisella;
  • Sniffer - tämä laajennus seuraa eri protokollien kirjautumisyrityksiä;
  • BeEFAutorun - voit käynnistää automaattisesti BeEF-moduuleja käyttöjärjestelmän ja asiakasselaimen tyypin perusteella;
  • AppCachePoison - suorittaa välimuistin myrkytyshyökkäyksen;
  • SessionHijacking - kaappaa istuntoja ja tallentaa tuloksena olevat evästeet Firefly-profiiliin;
  • BrowserProfiler - yrittää saada luettelon selaimen käyttämistä laajennuksista;
  • FilePwn - voit korvata kautta lähetetyt viestit HTTP-tiedostot käyttäen Backdoor Factoryta ja BDFProxya;
  • Inject - lisää mielivaltaisen sisällön HTML-sivulle;
  • jskeylogger - upottaa JavaScript-näppäinloggerin asiakassivuille.

Jos tämä toiminto tuntuu sinusta riittämättömältä, voit aina lisätä oman ottamalla käyttöön sopivan laajennuksen.

PuttyRider

Toinen huomion arvoinen apuohjelma. Totta, toisin kuin kaikki muut nykyään harkitut työkalut, se on hyvin suppeasti erikoistunut. Kuten projektin kirjoittaja itse sanoo, hänet inspiroi tällaisen apuohjelman luomiseen se, että penetraatiotestien aikana tärkeimmät tiedot löytyivät Linux/UNIX-palvelimista, joihin ylläpitäjät liittyivät SSH/Telnet/rloginin kautta. Lisäksi useimmissa tapauksissa pääsy järjestelmänvalvojien koneeseen oli paljon helpompaa kuin kohdepalvelimelle. Kun olet tunkeutunut järjestelmänvalvojan koneeseen, jäljellä on vain varmistaa, että PuTTY on käynnissä, ja rakentaa tällä työkalulla takasilta hyökkääjälle.

Apuohjelman avulla voit kaapata järjestelmänvalvojan ja etäpalvelimen välistä "viestintää" (mukaan lukien salasanat), vaan myös suorittaa mielivaltaisia ​​komentotulkkikomentoja tietyn istunnon aikana. Lisäksi kaikki tämä tapahtuu täysin avoimesti käyttäjälle (järjestelmänvalvojalle). Jos olet kiinnostunut teknisistä yksityiskohdista, esimerkiksi siitä, miten PuTTY otetaan käyttöön prosessissa, suosittelen lukemaan kirjoittajan esityksen.

Melko vanha apuohjelma, syntynyt yli kahdeksan vuotta sitten. Tarkoitettu kloonaamiseen varastamalla evästeitä. Istuntokaappausta varten sillä on perusisäntätunnistustaidot (jos muodostaa yhteyden avoimeen langaton verkko tai keskitin) ja suorittaa ARP-myrkytys. Ainoa ongelma on, että nykyään, toisin kuin kahdeksan vuotta sitten, lähes kaikki suuret yritykset, kuten Yahoo tai Facebook, käyttävät SSL-salausta, mikä tekee tästä työkalusta täysin hyödyttömän. Tästä huolimatta Internetissä on edelleen riittävästi resursseja, jotka eivät käytä SSL:ää, joten on liian aikaista poistaa apuohjelma. Sen etuja ovat se, että se integroituu automaattisesti Firefoxiin ja luo erillisen profiilin jokaiselle siepatulle istunnolle. Lähde on saatavilla arkistosta, ja voit rakentaa sen itse käyttämällä seuraavaa komentosarjaa:

# 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 istuntovaras

# 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

ProzyFuzzilla ei ole mitään tekemistä suoraan MITM-hyökkäysten tekemisen kanssa. Kuten nimestä voi päätellä, työkalu on suunniteltu fuzzointiin. Tämä on pieni ei-deterministinen verkkofuzzeri, joka on toteutettu Pythonissa ja joka muuttaa satunnaisesti verkkoliikennepakettien sisältöä. Tukee TCP- ja UDP-protokollia. Voit määrittää sen sumentamaan vain yhden puolen. Hyödyllinen, kun haluat tarkistaa jotain nopeasti verkkosovellus(tai protokollaa) ja kehittää PoC. Käyttöesimerkki:

Python proxyfuzz -l -r -s

python proxyfuzz -l -r -s

Vaihtoehtoluettelo sisältää:

  • w - määrittää pyyntöjen määrän, jotka on lähetetty ennen fuzzingin alkamista;
  • c - sumea vain asiakas (muuten molemmat puolet);
  • s - sumea vain palvelin (muuten molemmat puolet);
  • u - UDP-protokolla (muuten käytetään TCP:tä).

Keskimmäinen

Apuohjelma MITM-hyökkäysten suorittamiseen eri protokollia vastaan, jotka esiteltiin DEF CON -konferenssissa. Alfa-versio tuki HTTP-protokollaa ja sen arsenaalissa oli kolme hienoa laajennusta:

  • plugin-beef.py - lisää Browser Exploitation Frameworkin (BeEF) kaikkiin paikallisverkosta tuleviin HTTP-pyyntöihin;
  • plugin-metasploit.py - upottaa IFRAME:n salaamattomiin (HTTP) pyyntöihin, mikä lataa selaimen hyväksikäytöt Metasploitista;
  • plugin-keylogger.py - upottaa JavaScript onKeyPress -tapahtumakäsittelijän kaikkiin tekstikenttiin, jotka lähetetään HTTPS:n kautta, jolloin selain lähettää käyttäjän syöttämän salasanan merkki kerrallaan hyökkääjän palvelimelle ennen kuin koko lomake lähetetään.

Middler ei vain automaattisesti analysoi verkkoliikennettä ja löytää siitä evästeitä, vaan myös pyytää niitä itsenäisesti asiakkaalta, eli prosessi on automatisoitu maksimissaan. Ohjelma takaa kaikkien suojaamattomien tilien keräämisen tietokoneverkossa (tai julkisessa hotspotissa), jonka liikenteeseen sillä on pääsy. Jotta ohjelma toimisi oikein, järjestelmään on asennettava seuraavat paketit: Scapy, libpcap, readline, libdnet, python-netfilter. Valitettavasti arkistoa ei ole päivitetty pitkään aikaan, joten sinun on lisättävä uusia toimintoja itse.

Konsoliapuohjelma, jonka avulla voit tarkastella ja muokata HTTP-liikennettä interaktiivisesti. Tällaisten taitojen ansiosta apuohjelmaa eivät käytä vain testaajat/hakkerit, vaan myös tavalliset kehittäjät, jotka käyttävät sitä esimerkiksi verkkosovellusten virheenkorjaukseen. Sen avulla saat yksityiskohtaista tietoa siitä, mitä pyyntöjä sovellus tekee ja mitä vastauksia se saa. Mitmproxy voi myös auttaa tutkimaan joidenkin REST-sovellusliittymien, erityisesti huonosti dokumentoitujen, toiminnan erityispiirteitä.

Asennus on erittäin yksinkertaista:

$ sudo aptitude asenna mitmproxy

On syytä huomata, että mitmproxy mahdollistaa myös HTTPS-liikenteen sieppaamisen antamalla asiakkaalle itseallekirjoitetun varmenteen. Hyvä esimerkki Voit oppia määrittämään liikenteen sieppauksen ja muuttamisen.

Dsniff

No, tämä apuohjelma on yleensä yksi ensimmäisistä asioista, jonka pitäisi tulla mieleen heti, kun kuulet sen
"MITM-hyökkäys". Työkalu on melko vanha, mutta sitä päivitetään edelleen aktiivisesti, mikä on hyvä uutinen. Sen kyvyistä ei ole mitään järkeä puhua sen 14 vuoden aikana, se on käsitelty Internetissä useammin kuin kerran. Esimerkiksi tällaisessa oppaassa:

tai ohjeet nettisivuiltamme:

Lopuksi..

Kuten tavallista, emme ole tarkastelleet kaikkia apuohjelmia, mutta vain suosituimpia, on myös monia vähän tunnettuja projekteja, joista saatamme joskus puhua. Kuten näette, työkaluista MITM-hyökkäysten suorittamiseen ei ole pulaa, ja mitä ei tapahdu kovin usein, yksi hienoista työkaluista on toteutettu Windowsille. Nix-järjestelmistä ei ole mitään sanottavaa - koko valikoima. Joten uskon, että voit aina löytää oikean työkalun varkauksiin
muiden ihmisten valtakirjat. Oho, eli testaukseen.

Man in the middle attack (MitM-hyökkäys) on kryptografian termi, joka viittaa tilanteeseen, jossa hyökkääjä pystyy lukemaan ja muokkaamaan halutessaan kirjeenvaihtajien välisiä viestejä, eikä kukaan jälkimmäisistä voi arvata henkilöllisyyttään kanavalla .

Menetelmä viestintäkanavan vaarantamiseksi, jossa hyökkääjä, joka on liittynyt vastapuolten väliseen kanavaan, häiritsee aktiivisesti siirtoprotokollaa poistaen, vääristäen tietoa tai määräämällä vääriä tietoja.

Hyökkäysperiaate:

Oletetaan, että objekti "A" aikoo lähettää jotain tietoa objektille "B". Objektilla "C" on tietoa käytetyn tiedonsiirtomenetelmän rakenteesta ja ominaisuuksista sekä sen tosiasiallisen tiedon suunnitellusta lähetyksestä, jonka "C" aikoo siepata.

Hyökkäyksen tekemiseksi "C" näyttää vastustavan "A":ta "B:nä" ja vastustavan "B:tä" "A:na". Objekti "A", uskoen virheellisesti lähettävänsä tietoa "B:lle", lähettää sen objektille "C".

Objekti "C", saatuaan tiedon ja suorittanut sen kanssa joitain toimintoja (esimerkiksi kopioinut tai muokkaanut sitä omiin tarkoituksiinsa), lähettää tiedot vastaanottajalle itselleen - "B"; kohde "B" puolestaan ​​uskoo, että tieto on saatu suoraan "A:lta".

Esimerkki MitM-hyökkäyksestä:

Oletetaan, että Alicella on taloudellisia ongelmia ja hän päättää pikaviestiohjelman avulla pyytää Johnilta rahasumman lähettämällä viestin:
Alice: John, hei!
Alice: Ole hyvä ja lähetä minulle salausavain, minulla on pieni pyyntö!
John: Hei! Hetkinen!

Mutta tällä hetkellä herra X, joka analysoi liikennettä haistajalla, huomasi tämän viestin ja sanat "salausavain" herättivät uteliaisuutta. Siksi hän päätti siepata seuraavat viestit ja korvata ne tarvitsemillaan tiedoilla, ja kun hän sai seuraavan viestin:
John: Tässä on avaimeni: 1111_D

Hän vaihtoi Johnin avaimen omaksi ja lähetti viestin Alicelle:
John: Tässä on avaimeni: 6666_M

Alice, tietämätön ja luulee, että se on Johnin avain, käyttämällä yksityistä avainta 6666_M, lähettää salattuja viestejä Johnille:
Alice: John, minulla on ongelmia ja tarvitsen kiireesti rahaa, siirrä 300 dollaria tililleni: Z12345. Kiitos. p.s. Minun avaimeni: 2222_A

Saatuaan viestin herra X purkaa sen salauksen avaimellaan, lukee sen ja iloiten vaihtaa Alicen tilinumeron ja salausavaimen omakseen, salaa viestin avaimella 1111_D ja lähettää Johnille viestin:
Alice: John, minulla on ongelmia ja tarvitsen kiireesti rahaa, siirrä 300 dollaria tililleni: Z67890. Kiitos. p.s. Minun avaimeni: 6666_A

Saatuaan viestin John purkaa sen salauksen avaimella 1111_D, ja siirtää rahaa tilille epäröimättä Z67890...

Ja näin herra X ansaitsi mies-in-middle-hyökkäyksen avulla 300 dollaria, mutta Alice joutuu nyt selittämään, ettei hän saanut rahoja... Entä John? Johnin on todistettava Alicelle lähettäneensä heidät...

Toteutus:

Tämän tyyppistä hyökkäystä käytetään joissakin ohjelmistotuotteissa verkon salakuuntelua varten, esimerkiksi:
NetStumbler- ohjelma, jolla voit kerätä paljon hyödyllistä tietoa langattomasta verkosta ja ratkaista joitakin sen toimintaan liittyviä ongelmia. NetStumblerin avulla voit määrittää verkkosi kantaman ja auttaa sinua kohdistamaan antennisi tarkasti pitkän matkan viestintää varten. Jokaisesta löydetystä tukiasemasta saat selville MAC-osoitteen, signaali-kohinasuhteen, palvelun nimen ja sen suojausasteen. Jos liikennettä ei ole salattu, ohjelman kyky havaita luvattomat yhteydet on hyödyllinen.

dsniff- on sarja ohjelmia verkon auditointiin ja penetraatiotestaukseen, joka tarjoaa passiivisen verkon valvonnan kiinnostavan tiedon (salasanat, osoitteet) etsimiseksi Sähköposti, tiedostot jne.), verkkoliikenteen sieppaus, jota ei normaalisti voida analysoida (esimerkiksi kytketyssä verkossa), sekä kyky järjestää MITM-hyökkäyksiä SSH- ja HTTPS-istuntojen sieppaamiseksi PKI-virheitä hyödyntäen.

Kain & Abel - ilmainen ohjelma, jonka avulla voit palauttaa kadonneet salasanat käyttöjärjestelmät Windows-perhe. Useita palautustiloja tuetaan: brute force hakkerointi, sanakirjan valinta, tähdillä piilotettujen salasanojen katselu jne. On myös vaihtoehtoja salasanan tunnistamiseen sieppaamalla tietopaketteja ja niiden myöhempää analysointia, tallentamalla verkkokeskusteluja, välimuistin analyysiä ja muita.

Ettercap- on paikallisten Ethernet-verkkojen haistaja, pakettien sieppaaja ja tallennin, joka tukee useiden protokollien aktiivista ja passiivista analysointia ja on myös mahdollista "heittää" omaa dataa olemassa olevaan yhteyteen ja suodattaa "lennossa" yhteyttä häiritsemättä synkronointi. Ohjelman avulla voit siepata SSH1-, HTTPS- ja muita suojattuja protokollia ja antaa mahdollisuuden purkaa salasanoja seuraaville protokollille: 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– joukko apuohjelmia langattomien asiakkaiden turvallisuuden arvioimiseen, on langaton haistelija, joka kuuntelee passiivisesti 802.11 Probe Request -kehyksiä ja mahdollistaa asiakkaiden ja heidän suosimiensa/luotettujen verkkojen havaitsemisen. Väärennetty tukiasema voidaan sitten luoda yhdelle pyydetyistä verkoista, johon se voidaan yhdistää automaattisesti. Korkean tason väärennettyjä palveluita voidaan käyttää henkilötietojen varastamiseen tai isäntäkoneen asiakashaavoittuvuuksien hyödyntämiseen.

AirJack- joukko ohjelmia, jotka WiFi-hakkeroinnin asiantuntijoiden mukaan ovat paras työkalu erilaisten 802.11-kehysten luomiseen. AirJack sisältää useita apuohjelmia, jotka on suunniteltu havaitsemaan piilotettu ESSID, lähettämään istunnon lopetuskehyksiä väärennetyllä MAC:lla, suorittamaan MitM-hyökkäyksiä ja muokkaamaan sitä.

Vastatoimi:

Tämän tyyppisten hyökkäysten välttämiseksi tilaajien "A" ja "B" tarvitsee vain siirtää julkisten salausavaimien digitaaliset allekirjoitukset toisilleen luotettavaa kanavaa käyttäen. Sitten kun verrataan avainallekirjoituksia salausistunnoissa, voidaan määrittää, millä avaimella tiedot salattiin ja onko avaimet vaihdettu.

Tässä artikkelissa yritämme ymmärtää man-in-the-middle-hyökkäysten teoriaa ja joitain käytännön kohtia, jotka auttavat estämään tämäntyyppisiä hyökkäyksiä. Tämä auttaa meitä ymmärtämään riskin, jonka tällaiset tunkeutumiset aiheuttavat yksityisyyteemme, koska MitM-hyökkäykset antavat meille mahdollisuuden tunkeutua viestintään ja salakuunnella keskustelujamme.

Internetin toiminnan ymmärtäminen

Man-in-the-middle -hyökkäyksen periaatteen ymmärtämiseksi kannattaa ensin ymmärtää, miten Internet itse toimii. Tärkeimmät vuorovaikutuskohdat: asiakkaat, reitittimet, palvelimet. Yleisin viestintäprotokolla asiakkaan ja palvelimen välillä on HTTP (Hypertext Transfer Protocol) -protokolla. Internetissä surffaaminen selaimella, sähköpostilla, pikaviestinnällä - kaikki tämä tapahtuu HTTP:n kautta.

Kun kirjoitat selaimen osoiteriville, asiakas (sinä) lähettää palvelimelle pyynnön näyttää Web-sivu. Paketti (HTTP GET-pyyntö) välitetään useiden reitittimien kautta palvelimelle. Palvelin vastaa sitten verkkosivulla, joka lähetetään asiakkaalle ja näytetään sen näytöllä. HTTP-viestit on lähetettävä osoitteeseen turva tila luottamuksellisuuden ja nimettömyyden varmistamiseksi.

Kuva 1. Asiakas-palvelin vuorovaikutus

Viestintäprotokollan turvaaminen

Suojatulla viestintäprotokollalla on oltava jokainen seuraavista ominaisuuksista:

  1. Yksityisyys- Vain tarkoitettu vastaanottaja voi lukea viestin.
  2. Aitous- vuorovaikutuksessa olevien osapuolten henkilöllisyys on todistettu.
  3. Rehellisyys- vahvistus siitä, että viestiä ei ole muutettu siirron aikana.

Jos jotakin näistä säännöistä ei noudateta, koko protokolla vaarantuu.

Man-in-the-middle -hyökkäys HTTP-protokollan kautta

Hyökkääjä voi helposti suorittaa välimieshyökkäyksen käyttämällä ARP-huijaustekniikkaa. Kuka tahansa sinun Wi-Fi-verkot voi lähettää sinulle väärennetyn ARP-paketin, mikä saa sinut tietämättäsi lähettämään kaiken liikenteesi hyökkääjän kautta reitittimen sijaan.

Tämän jälkeen hyökkääjä hallitsee täysin liikennettä ja voi valvoa molempiin suuntiin lähetettyjä pyyntöjä.

Kuva 2. Mies keskellä -hyökkäysmalli


Tällaisten hyökkäysten estämiseksi HTTP-protokollasta luotiin suojattu versio. Transport Layer Security (TLS) ja sen edeltäjä Secure Socket Layer (SSL) ovat salausprotokollia, jotka tarjoavat suojan tiedonsiirrolle verkon kautta. Siksi suojattua protokollaa kutsutaan HTTPS:ksi. Näet suojatun protokollan toiminnan kirjoittamalla selaimen osoiteriville (huomaa S-kirjain https:ssä).

Mies-in-the-Middle Attack on huonosti toteutettu SSL

Nykyaikainen SSL käyttää hyvää salausalgoritmia, mutta sillä ei ole väliä, jos sitä ei ole toteutettu oikein. Jos hakkeri voi siepata pyynnön, hän voi muokata sitä poistamalla "S":n pyydetystä URL-osoitteesta ohittaen siten SSL:n.

Tällainen sieppaus ja pyynnön muuttaminen voidaan havaita. Jos esimerkiksi pyydät https://login.yahoo.com/ ja vastaus on http://login.yahoo.com/ , tämän pitäisi herättää epäilyksiä. Kirjoitushetkellä tämä hyökkäys itse asiassa toimii Yahoo-sähköpostipalvelussa.

Kuva 3. Pyydä sieppausta ja muokkausta


Tällaisen hyökkäyksen estämiseksi palvelimet voivat ottaa käyttöön HTTP Strict Transport Security (HSTS), mekanismin, joka mahdollistaa pakotetun suojatun yhteyden HTTPS-protokollan kautta. Tässä tapauksessa, jos hyökkääjä muuttaa pyyntöä poistamalla S-kirjaimen URL-osoitteesta, palvelin edelleen ohjaa käyttäjän 302-uudelleenohjauksella sivulle, jolla on suojattu protokolla.

Kuva 4. HSTS:n toimintakaavio


Tämä tapa toteuttaa SSL on alttiina toisen tyyppisille hyökkäyksille - hyökkääjä luo SSL-yhteyden palvelimeen, mutta käyttää erilaisia ​​temppuja pakottaakseen käyttäjän käyttämään HTTP:tä.

Kuva 5. HSTS-hyökkäyskuvio


Tällaisten hyökkäysten estämiseksi nykyaikaiset selaimet, kuten Chrome, Firefox ja Tor, valvovat HSTS:ää käyttäviä sivustoja ja pakottavat niihin asiakaspuolen yhteyden SSL:n kautta. Tässä tapauksessa man-in-the-middle-hyökkäyksen suorittavan hyökkääjän on luotava SSL-yhteys uhriin.

Kuva 6. Hyökkäysmalli, jossa hyökkääjä muodostaa SSL-yhteyden uhriin


Voidakseen tarjota SLL-yhteyden käyttäjälle, hyökkääjän on osattava toimia palvelimena. Ymmärretään SSL:n tekniset näkökohdat.

SSL:n ymmärtäminen

Hakkerin näkökulmasta minkä tahansa viestintäprotokollan vaarantaminen tarkoittaa, että yllä lueteltujen komponenttien (yksityisyys, aitous ja eheys) joukosta löydetään heikko lenkki.

SSL käyttää epäsymmetristä salausalgoritmia. Symmetrisen salauksen ongelmana on, että samaa avainta käytetään tietojen salaamiseen ja salauksen purkamiseen. Tämä lähestymistapa ei sovellu Internet-protokolliin, koska hyökkääjä voi jäljittää tämän avaimen.

Epäsymmetrinen salaus sisältää 2 avainta kummallekin puolelle: julkinen avain, jota käytetään salaukseen, ja yksityinen avain, jota käytetään tietojen salauksen purkamiseen.

Kuva 7. Julkiset ja yksityiset avaimet toimivat

Kuinka SSL tarjoaa kolme suojattua viestintää varten tarvittavaa ominaisuutta?

  1. Koska tietojen salaamiseen käytetään epäsymmetristä kryptografiaa, SSL tarjoaa yksityisen yhteyden. Tämä salaus ei ole niin helppo murtaa ja jäädä huomaamatta.
  2. Palvelin vahvistaa laillisuutensa lähettämällä asiakkaalle varmenteen myöntäjän - luotettavan kolmannen osapuolen - myöntämän SSL-sertifikaatin.

Jos hyökkääjä jollakin tavalla onnistuu saamaan varmenteen, hän voi avata oven välimieshyökkäykselle. Siten se luo 2 yhteyttä - palvelimeen ja uhrin kanssa. Palvelin tässä tapauksessa ajattelee, että hyökkääjä on tavallinen asiakas, eikä uhri voi tunnistaa hyökkääjää, koska hän toimitti varmenteen, joka todistaa olevansa palvelin.

Viestisi saapuvat ja saapuvat salatussa muodossa, mutta seuraavat ketjua kyberrikollisen tietokoneen läpi, jossa hän hallitsee täysin.

Kuva 8. Hyökkäysmalli, jos hyökkääjällä on varmenne


Varmennetta ei tarvitse väärentää, jos hyökkääjällä on mahdollisuus murtautua uhrin selaimeen. Tässä tapauksessa hän voi lisätä itse allekirjoitetun varmenteen, johon luotetaan oletuksena. Näin tehdään useimmat mies-in-the-middle-hyökkäykset. Enemmässä vaikeita tapauksia hakkerin on mentävä toisin - väärentää todistus.

Varmenteen myöntäjän ongelmat

Palvelimen lähettämän varmenteen on myöntänyt ja allekirjoittanut varmentaja. Jokaisessa selaimessa on luettelo luotetuista varmentajista, ja voit lisätä tai poistaa niitä. Ongelmana on, että jos päätät poistaa suuret viranomaiset, et voi vierailla sivustoilla, jotka käyttävät kyseisten viranomaisten allekirjoittamia varmenteita.

Varmenteet ja varmenteen myöntäjät ovat aina olleet HTTPS-yhteyden heikoin lenkki. Vaikka kaikki olisi toteutettu oikein ja jokaisella varmenneviranomaisella on vankka auktoriteetti, on silti vaikea tyytyä siihen, että joudut luottamaan moniin kolmansiin osapuoliin.

Nykyään yli 650 organisaatiota pystyy myöntämään varmenteita. Jos hyökkääjä hakkeroi minkä tahansa niistä, hän saisi haluamansa todistukset.

Jopa silloin, kun varmenneviranomaisia ​​oli vain yksi, VeriSign, oli ongelma - ihmiset, joiden piti estää man-in-the-middle-hyökkäykset, myivät sieppauspalveluita.

Myös monet varmenteet luotiin varmenneviranomaisten hakkeroinnin vuoksi. Erilaisia ​​tekniikoita ja temppuja on käytetty huijaamaan kohteena oleva käyttäjä luottamaan petollisiin varmenteisiin.

Forensics

Koska hyökkääjä lähettää väärennettyjä ARP-paketteja, hyökkääjän IP-osoitetta ei voida nähdä. Sen sijaan sinun on kiinnitettävä huomiota MAC-osoitteeseen, joka on erityinen verkon jokaiselle laitteelle. Jos tiedät reitittimesi MAC-osoitteen, voit verrata sitä oletusyhdyskäytävän MAC-osoitteeseen selvittääksesi, onko se todella reitittimesi vai hyökkääjä.

Esimerkiksi Windows-käyttöjärjestelmässä voit käyttää ipconfig-komentoa komentorivi(CMD) nähdäksesi oletusyhdyskäytäväsi IP-osoitteesi (viimeinen rivi):

Kuva 9. ipconfig-komennon käyttäminen


Käytä sitten arp –a -komentoa saadaksesi selville tämän yhdyskäytävän MAC-osoitteen:

Kuva 10. Arp –a -komennon käyttö


Mutta on toinenkin tapa huomata hyökkäys - jos tarkkailit verkon toimintaa sen alkaessa ja katsot ARP-paketteja. Voit esimerkiksi käyttää Wiresharkia tähän tarkoitukseen, tämä ohjelma ilmoittaa sinulle, jos oletusyhdyskäytävän MAC-osoite on muuttunut.

Huomautus: Jos hyökkääjä huijaa MAC-osoitteita oikein, hänen jäljittämisestä tulee suuri ongelma.

Johtopäätös

SSL on protokolla, joka pakottaa hyökkääjän tekemään paljon työtä hyökkäyksen suorittamiseksi. Mutta se ei suojaa sinua valtion tukemilta hyökkäyksiltä tai ammattitaitoisilta hakkerointiorganisaatioilta.

Käyttäjän tehtävänä on suojata selainta ja tietokonetta estääkseen väärennetyn varmenteen lisäämisen (erittäin yleinen tekniikka). Kannattaa myös kiinnittää huomiota luotettujen varmenteiden luetteloon ja poistaa ne, joihin et luota.

Aiheeseen liittyviä julkaisuja