Tekniset UKK. Kaikki Man in the Middle (MitM) -hyökkäyksestä Kuten mies keskellä

Halutun tuloksen saavuttamiseksi 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 verkkoliikenteestä meille arvokasta tietoa käyttämällä tähän MITM-hyökkäyksiä.

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. Hiljattain sisällytetty Kali Linuxiin. Asenna se itse kloonaamalla arkisto ja suorittamalla pari komentoa:

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

# pip install -rvaatimukset.txt

Sen arkkitehtuuri on laajennettavissa laajennuksilla. 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 HTTP:n kautta lähetetyt tiedostot Backdoor Factoryn ja BDFProxyn avulla;
  • 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 oli paljon helpompaa päästä järjestelmänvalvojien koneeseen kuin kohdepalvelimeen. 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 kuinka PuTTY otetaan käyttöön prosessissa, suosittelen lukemaan kirjoittajan esityksen.

Melko vanha apuohjelma, syntynyt yli kahdeksan vuotta sitten. Tarkoitettu kloonaamiseen varastamalla evästeitä. Istuntojen kaappaamiseen hänellä on perustaidot isäntien havaitsemisessa (jos se on kytketty avoimeen langattomaan verkkoon tai keskittimeen) ja ARP-myrkytysten suorittamiseen. 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ähdekoodi 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 kanssa. Kuten nimestä voi päätellä, työkalu on suunniteltu fuzzingiin. 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. Se on kätevä, kun haluat nopeasti testata jotain verkkosovellusta (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 liikenteen sieppauksen ja muuttamisen asettamisesta löytyy täältä.

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.

Jossa hyökkääjä, joka on liittynyt vastapuolten väliseen kanavaan, häiritsee lähetysprotokollaa poistamalla tai vääristäen tietoja.

Tietosanakirja YouTube

    1 / 3

    ✪ Nro 4 MITEN TULLAAN HAKKERIKSI? "Välittäjän hyökkäys"! |HAKING A:sta Z|

    ✪ MiTM-hyökkäys iOS:lle. Tekniikka ja seuraukset

    ✪ Bitcoin-kronologia hakkereiden hyökkäyksistä ja pörssihakkereista kryptovaluuttamarkkinoilla (2012 - 2018)

    Tekstitykset

Hyökkäysperiaate

Hyökkäys alkaa yleensä viestintäkanavan salakuuntelulla ja päättyy siihen, että kryptanalyytikko yrittää korvata siepatun viestin, poimia siitä hyödyllistä tietoa ja ohjata sen johonkin ulkoiseen resurssiin.

Oletetaan, että objekti A aikoo lähettää jotain tietoa objektille B. Objektilla C on tietoa käytetyn tiedonsiirtomenetelmän rakenteesta ja ominaisuuksista sekä C:n sieppaavan varsinaisen tiedon suunnitellusta lähetyksestä. Suorittaakseen hyökkäyksen C "näkyy" objektille A B:nä ja objektille B A:na. Objekti A, uskoen virheellisesti lähettävänsä tietoa B:lle, lähettää sen objektille C. Objekti C saatuaan tiedon, ja suorittaa sen kanssa joitain toimintoja (esimerkiksi kopioimalla tai muokkaamalla omiin tarkoituksiinsa) välittää tiedot vastaanottajalle itselleen - B; kohde B puolestaan ​​uskoo, että tieto on saatu suoraan A:lta.

Esimerkki hyökkäyksestä

Haitallisen koodin ruiskuttaminen

Man-in-the-middle -hyökkäys mahdollistaa salausanalyytikon lisäämisen koodin sähköposteihin, SQL-lauseisiin ja verkkosivuille (eli mahdollistaa SQL-injektion, HTML-/skripti-injektion tai XSS-hyökkäykset) ja jopa muokata käyttäjien lataamia binaareja päästä käyttäjätiliin tai muuttaa käyttäjän Internetistä lataaman ohjelman toimintaa.

Vähennä hyökkäystä

Termi "downgrade Attack" viittaa hyökkäykseen, jossa kryptanalyytikko pakottaa käyttäjän käyttämään vähemmän turvallisia toimintoja, protokollia, joita tuetaan edelleen yhteensopivuussyistä. Tämäntyyppinen hyökkäys voidaan suorittaa SSH-, IPsec- ja PPTP-protokollia vastaan.

Suojatakseen alemman tason hyökkäykseltä suojaamattomat protokollat ​​on poistettava käytöstä ainakin yhdeltä puolelta. Pelkkä suojattujen protokollien tukeminen ja käyttäminen oletuksena ei riitä!

SSH V1 SSH V2:n sijaan

Hyökkääjä saattaa yrittää muuttaa palvelimen ja asiakkaan välisiä yhteysparametreja, kun niiden välille muodostetaan yhteys. Blackhat Conference Europe 2003:ssa pidetyn puheen mukaan kryptanalyytikko voi "pakottaa" asiakkaan aloittamaan SSH1-istunnon muuttamalla SSH-istunnon versionumeroksi "1.99" arvoksi "1.51" SSH2:n sijaan, mikä tarkoittaa SSH V1:n käyttöä. . SSH-1-protokollassa on haavoittuvuuksia, joita kryptanalyytikot voivat hyödyntää.

IPsec

Tässä hyökkäysskenaariossa kryptanalyytikko johtaa uhrinsa harhaan ajattelemaan, ettei IPsec-istunto voi alkaa toisesta päästä (palvelimesta). Tämä johtaa siihen, että viestit välitetään eksplisiittisesti, jos isäntäkone on käynnissä palautustilassa.

PPTP

PPTP-istunnon parametrien neuvotteluvaiheessa hyökkääjä voi pakottaa uhrin käyttämään vähemmän turvallista PAP-todennusta, MSCHAP V1:tä (eli "palaamaan" MSCHAP V2:sta versioon 1) tai olemaan käyttämättä salausta ollenkaan.

Hyökkääjä voi pakottaa uhrinsa toistamaan PPTP-istunnon parametrien neuvotteluvaiheen (lähettää Terminate-Ack-paketin), varastaa salasanan olemassa olevasta tunnelista ja toistaa hyökkäyksen.

Julkinen viestintä suojaamatta tietojen tarkkuutta, luottamuksellisuutta, saatavuutta ja eheyttä

Tämän ryhmän yleisimmät viestintävälineet ovat sosiaalinen verkosto, julkinen sähköpostipalvelu ja pikaviestijärjestelmä. Viestintäpalvelua tarjoavan resurssin omistajalla on täysi määräysvalta kirjeenvaihtajien välillä vaihdettuun tietoon ja hän voi oman harkintansa mukaan tehdä hyökkäyksen vapaasti milloin tahansa.

Toisin kuin aikaisemmissa viestinnän teknisiin ja teknologisiin näkökohtiin perustuvissa skenaarioissa, tässä tapauksessa hyökkäys perustuu henkisiin näkökohtiin, nimittäin tietoturvavaatimusten huomiotta jättämisen käsitteen juurruttamiseen käyttäjien mieleen.

Auttaako salaus?

Tarkastellaan tavallista HTTP-tapahtumaa. Tässä tapauksessa hyökkääjä voi melko helposti jakaa alkuperäisen TCP-yhteyden kahdeksi uudeksi: yhden itsensä ja asiakkaan välille, toisen itsensä ja palvelimen välille. Tämä on melko helppoa, koska erittäin harvoin yhteys asiakkaan ja palvelimen välillä on suora, ja useimmissa tapauksissa ne ovat yhteydessä useiden välipalvelimien kautta. MITM-hyökkäys voidaan suorittaa millä tahansa näistä palvelimista.

Jos asiakas ja palvelin kuitenkin kommunikoivat HTTPS-protokollalla, joka tukee salausta, voidaan suorittaa myös man-in-the-middle -hyökkäys. Tämäntyyppinen yhteys käyttää TLS- tai SSL-salausta pyyntöjen salaamiseen, mikä näyttäisi suojaavan kanavaa haistamiselta ja MITM-hyökkäyksiltä. Hyökkääjä voi luoda kaksi itsenäistä SSL-istuntoa kullekin TCP-yhteydelle. Asiakas muodostaa SSL-yhteyden hyökkääjään, joka puolestaan ​​luo yhteyden palvelimeen. Tällaisissa tapauksissa selain yleensä varoittaa, että varmenne ei ole luotettavan varmentajan allekirjoittama, mutta vanhentuneiden selainten tavalliset käyttäjät voivat helposti ohittaa tämän varoituksen. Lisäksi hyökkääjällä voi olla juurivarmentajan allekirjoittama varmenne (esimerkiksi tällaisia ​​varmenteita käytetään joskus DLP:ssä), eikä se luo varoituksia. Lisäksi HTTPS:ää vastaan ​​on olemassa useita hyökkäyksiä. Siten HTTPS-protokollaa ei voida pitää tavallisten käyttäjien suojattuna MITM-hyökkäyksiltä. [ ] On olemassa useita toimenpiteitä, jotka estävät jotkin MITM-hyökkäykset https-sivustoihin, erityisesti HSTS, joka kieltää http-yhteyden käytön sivustoilta, Certificate-kiinnitys ja HTTP-julkinen avaimen kiinnitys, jotka estävät varmenteiden korvaamisen.

MITM-hyökkäyksen havaitseminen

Välimieshyökkäyksen havaitsemiseksi sinun on analysoitava verkkoliikenne. Esimerkiksi SSL-hyökkäyksen havaitsemiseksi sinun tulee kiinnittää huomiota seuraaviin parametreihin:

  • Palvelimen IP-osoite
  • DNS-palvelin
  • X.509 - palvelimen varmenne
    • Onko todistus itse allekirjoitettu?
    • Onko sertifikaatti varmentajan allekirjoittama?
    • Onko sertifikaatti peruutettu?
    • Onko todistus muuttunut äskettäin?
    • Ovatko muut Internetin asiakkaat saaneet saman varmenteen?

MITM-hyökkäyksen toteutukset

Lueteltujen ohjelmien avulla voidaan suorittaa man-in-the-middle-hyökkäyksiä, havaita niitä ja testata järjestelmän haavoittuvuuksia.

Katso myös

  • Aspidistra (englanniksi) - brittiläinen radiolähetin, jota käytettiin toisen maailmansodan "hyökkäyksen aikana", muunnelma MITM-hyökkäyksestä.
  • Babington Conspiracy (englanniksi) - salaliitto Elizabeth I:tä vastaan, jonka aikana Walsingham sieppasi kirjeenvaihtoa.

Muut hyökkäykset

  • "Man-in-the-Browser" on eräänlainen hyökkäys, jossa hyökkääjä pystyy välittömästi muuttamaan tapahtumaparametreja ja muuttamaan uhrille täysin läpinäkyviä sivuja.
  • Meet-in-the-middle -hyökkäys on kryptografinen hyökkäys, joka, kuten syntymäpäivähyökkäys, hyödyntää ajan ja muistin välistä kompromissia.
  • ”Miss in middle attack” on tehokas menetelmä ns. mahdottomaan differentiaaliseen kryptoanalyysiin.
  • Välityshyökkäys on muunnelma MITM-hyökkäyksestä, joka perustuu siepatun viestin välittämiseen kelvolliselle vastaanottajalle, mutta ei sille, jolle viesti oli tarkoitettu.

Man-in-the-middle -hyökkäys on yleisnimi erilaisille tekniikoille, joilla pyritään saamaan liikennettä välittäjänä. Näiden tekniikoiden laajan valikoiman vuoksi on ongelmallista toteuttaa yksi ainoa työkalu näiden hyökkäysten havaitsemiseen, joka toimisi kaikissa mahdollisissa tilanteissa. Esimerkiksi mies-in-the-middle-hyökkäyksessä paikallisverkkoa vastaan ​​käytetään yleensä ARP-huijausta (poisoning). Ja monet keskimmäisen hyökkäyksen havaitsemistyökalut valvovat Ethernet-osoiteparien muutoksia/tai raportoivat epäilyttävästä ARP-toiminnasta seuraamalla passiivisesti ARP-pyyntöjä/vastauksia. Mutta jos tätä hyökkäystä käytetään haitallisesti määritetyssä välityspalvelimessa, VPN:ssä tai muissa vaihtoehdoissa, jotka eivät käytä ARP-myrkytyksiä, tällaiset työkalut ovat avuttomia.

Tämän osion tarkoituksena on tarkastella joitain tekniikoita välimieshyökkäysten havaitsemiseksi sekä työkaluja, jotka on suunniteltu määrittämään, oletko MitM-hyökkäyksen kohteena. Erilaisten menetelmien ja toteutusskenaarioiden vuoksi 100-prosenttista havaitsemista ei voida taata.

1. Liikenteen muutoksen havaitseminen

Kuten jo mainittiin, man-in-the-middle -hyökkäykset eivät aina käytä ARP-huijausta. Joten vaikka toiminnan havaitseminen ARP-kerroksessa on suosituin tunnistusmenetelmä, yleisempi menetelmä on liikenteen muutosten havaitseminen. Mitmcanary-ohjelma voi auttaa meitä tässä.

Ohjelman toimintaperiaate on, että se tekee "ohjaus"-pyyntöjä ja tallentaa vastaanotetut vastaukset. Sen jälkeen se toistaa samat pyynnöt tietyin väliajoin ja vertaa vastaanottamiaan vastauksia. Ohjelma on varsin älykäs, ja väärien positiivisten tulosten välttämiseksi se tunnistaa vastauksissa dynaamiset elementit ja käsittelee ne oikein. Heti kun ohjelma on havainnut jälkiä MitM-hyökkäysten työkalujen toiminnasta, se raportoi tästä.

Esimerkkejä siitä, kuinka jotkin työkalut voivat "periä":

  • MITMf muuttaa oletuksena kaikki HTTPS-URL-osoitteet HTML-koodissa HTTP:ksi. Havaittu vertaamalla HTTP-sisältöä.
  • Zarp + MITMProxy, MITMProxyssa on toiminto, jonka avulla voit tyhjentää HTTP-pakkauksen, tätä käytetään siirretyn liikenteen läpinäkyvyyteen, tämä yhdistelmä havaitaan aiemmin olemassa olevan pakkauksen katoamisesta
  • Vastaaja, joka tunnistetaan äkillisistä muutoksista mDNS-vasteiden muunnoksessa: odottamaton vaste; vastaus on sisäinen, mutta ulkoista odotetaan; vastaus on eri kuin odotettu IP
  • MITMCanary vs MITMf:

  • MITMCanary vs Responder:

  • MITMCanary vs Zarp + MITMProxy:

Sudo pip asennus Cython sudo apt-get install python-kivy python-dbus sudo pip asennus plyer uuid urlopen analyysipyyntö simplejson datetime git klooni https://github.com/CylanceSPEAR/mitmcanary.git cd mitmcanary/

Kuten jo mainittiin, mitmcanaryn on aloitettava työskentely ohjauspyyntöjen kanssa. Voit tehdä tämän siirtymällä hakemistoon

CD-palvelu/

Ja suorita tiedosto setup_test_persistence.py:

Python2 setup_test_persistence.py

Tämä kestää jonkin aikaa - odota sen päättymistä. Virheilmoituksia ei pitäisi olla (jos näin on, sinulta puuttuu joitain riippuvuuksia).

Tulos on jotain tämän kaltaista:

Mial@HackWare:~/bin/mitmcanary/service$ python2 setup_test_persistence.py Vanhempi kokoonpanoversio havaittu (0 14 sijaan) Määrityksen päivitys käynnissä. Tyhjennystuki laukaistu. Analysoidaan... Puhdistus valmis! Tallenna sisäänkirjautuminen /home/mial/.kivy/logs/kivy_16-11-01_0.txt v1.9.1 v2.7.12+ (oletus, 1.9.2016, 20:27:38)

Kun tämä prosessi on valmis, suorita samassa hakemistossa (tämä käynnistää taustaprosessin):

Python2 main.py

Avaa sen jälkeen uusi pääteikkuna ja siirry loppuhakemistoon mitmcanarylla. Hakemistoni on bin/mitmcanary/, joten kirjoitan sisään

Cd bin/mitmcanary/

ja tee siellä:

Python2 main.py

Ensimmäinen ikkuna näyttää jotain tällaista:

Mial@HackWare:~/bin/mitmcanary/service$ python2 main.py Tallenna sisäänkirjautuminen /home/mial/.kivy/logs/kivy_16-11-01_1.txt v1.9.1 v2.7.12+ (oletus, 1.9.2016, 20:27:38) käyttäen socket-kuunteluun Tuiolle 127.0.0.1:3000 Nukkuu 60 sekuntia Nukkuu 60 sekuntia Nukkuu 60 sekuntia Nukkumaan 60 sekuntia Nukkumaan 60 sekuntia Nukkumaan 60 sekuntia

Nuo. Ohjelma tekee ohjauspyynnöt kerran minuutissa ja etsii merkkejä mies-in-the-middle-hyökkäyksestä.

Toinen ikkuna sisältää myös tulosteen + tumma ikkuna avautuu ohjelman kirjoittajat kutsuvat tätä ikkunaa "graafiseksi käyttöliittymäksi":

Voit odottaa hetken ja surffata Internetissä varmistaaksesi, ettei ohjelma anna vääriä varoituksia.

Kokeillaan klassista Ettercap-ohjelmaa.

Aloitan tavallisen MitM-hyökkäyksen ARP-huijauksella. mitmcanary ei reagoi etsaukseen itse. Mitmcanary-työkalu luo liikenteen itse, eli käyttäjän toimia ei tarvita. Jonkin ajan kuluttua näyttöön tulee yksi varoitus, jota ei vahvisteta myöhemmissä tarkastuksissa. Mutta samanlainen varoitus ilmestyy muutaman minuutin kuluttua. Ilman lisäanalyysiä minun on vaikea sanoa, onko tämä esimerkki väärästä positiivisesta - se näyttää paljon siltä. On täysin mahdollista, että tämä varoitus johtuu viestintähäiriöstä, joka johtuu liikenteen tarpeesta ylittää lisäreittejä, tai huonolaatuisen Internet-yhteyteni erityispiirteistä.

Koska tulos ei ole ilmeinen (todennäköisemmin "ei" kuin "kyllä"), kokeillaan Bettercap-ohjelmaa, jossa on useita moduuleja. Minulla ei ole epäilystäkään siitä, että käyttämällä erilaisia ​​Ettercap-laajennuksia ja/tai lisäohjelmia toiminnallisuuden laajentamiseen, "sytyisimme" myös mitmcanarylle.

Kokeen puhtauden vuoksi käynnistän laitteet uudelleen, suoritan mitmcanaryn hyökkäävälle koneelle ja Bettercap hyökkäävälle koneelle. Samanaikaisesti ei tarvitse tehdä uudelleen ohjauspyyntöjä hyökkäyksen kohteena olevalle koneelle - ne tallennetaan tiedostoon ohjelman mukana olevan hakemiston sisällä. Nuo. Riittää, kun käynnistät palvelun ja graafisen käyttöliittymän.

Ja hyökkäävässä koneessa käynnistämme Bettercapin jäsentimien ollessa käytössä:

Sudo bettercap -X

Näkyviin tulee yksittäisiä varoituksia, jotka myös näyttävät enemmän vääriltä positiivisilta.

Mutta suorita tämä komento:

Sudo bettercap -X --välityspalvelin

Hyökkätylle koneelle luodaan suuri määrä varoituksia mahdollisesta mies keskellä -hyökkäyksestä:

Joten mitä tehokkaampi man-in-the-middle -hyökkäystyökalu on, sitä enemmän se jättää liikenteeseen. Mitmcanaryn käytännön käyttö edellyttää, että seuraavat ehdot täyttyvät:

  • tee ensimmäiset pyynnöt luotetussa verkossa, kun olet varma, että liikenteen välittämisessä ei ole välittäjää;
  • muokkaa resursseja, joihin vahvistuspyyntöjä tehdään, koska ammattimainen hyökkääjä voi lisätä oletusresursseja poikkeuksiin, mikä tekee hänestä näkymätön tälle työkalulle.

2. ARP-huijauksen (ARP-välimuistimyrkytys) havaitseminen

Hyvin usein välimieshyökkäys paikallisverkkoon alkaa ARP-myrkytyksellä. Tästä syystä monet MitM-hyökkäysten havaitsemiseen suunnitellut työkalut perustuvat ARP-välimuistin muutosten seurantamekanismiin, joka määrittää vastaavuuden Ethernet- (MAC-osoitteet) ja IP-osoitteiden välillä.

Esimerkkinä tällaisista ohjelmista voidaan muistaa arpwatch, arpalert ja suuri määrä uusia ohjelmia. ArpON-ohjelma ei vain valvo ARP-välimuistin muutoksia, vaan myös suojaa sitä niiltä.

Suoritetaan esimerkiksi arpwatch debug-tilassa ilman, että taustalla luodaan haarukoita ja lähetettäisiin viestejä postitse. Sen sijaan viestit lähetetään stderr-osoitteeseen (normaali virhetuloste).

Sudo /usr/sbin/arpwatch -d

Käynnistetään Ettercap hyökkäävälle koneelle ja aloitetaan ARP-huijaus. Hyökkätyssä koneessa näemme:

Arpwatch-ohjelman avulla saat nopeasti selville uusista lähiverkkoosi liitetyistä laitteista sekä ARP-välimuistin muutoksista.

Toinen työkalu ARP-huijauksen havaitsemiseen reaaliajassa on Ettercap-laajennus arp_cop. Käynnistä Ettercap hyökkäyksen kohteena olevalla koneella seuraavasti:

Sudo ettercap -TQP arp_cop ///

Ja hyökkääjästä aloitamme ARP-myrkytyksen. Varoitukset alkavat heti näkyä hyökättyyn koneeseen:

3. DNS-huijauksen havaitseminen

DNS-huijaus tarkoittaa, että sinun ja määränpääsi välillä on välittäjä, joka voi muokata liikennettäsi. Kuinka voit havaita, että DNS-tietueita on väärennetty? Helpoin tapa tehdä tämä on verrata vastauksia luotettavalta nimipalvelimelta. Mutta pyyntöösi lähetetyn vastauksen merkinnät voidaan myös korvata...

Nuo. sinun on tarkistettava joko salatun kanavan kautta (esimerkiksi Torin kautta) tai käytettävä ei-standardiasetuksia (toinen portti, TCP UDP:n sijaan). Suunnilleen tähän on XiaoxiaoPun sans-ohjelma suunniteltu (ainakin minun käsitykseni mukaan). Tämän ohjelman avulla pystyin ohjaamaan DNS-pyynnöt Torin kautta ja epästandardien asetusten kautta DNS-palvelimelleni. En kuitenkaan saanut häntä näyttämään minulle DNS-vastausten huijausta koskevia viestejä. Ilman tätä ohjelman merkitys menetetään.

En löytänyt arvokkaampia vaihtoehtoja.

Periaatteessa, koska DNS-huijaukset valvovat yleensä vain porttia 53 ja vain UDP-protokollaa, jopa manuaalisesti riittää yksinkertaisesti DNS-huijauksen tosiasian tarkistaminen, vaikka tämä vaatii oman DNS-palvelimen, jossa on epästandardi kokoonpano. Esimerkiksi hyökkäävälle koneelle loin tiedoston dns.conf seuraavalla sisällöllä:

Paikallinen mi-al.ru

Nuo. kun pyydetään DNS-tietuetta mi-al.ru-verkkosivustolle, hyökkääjän koneen IP-osoite lähetetään todellisen IP-osoitteen sijaan.

Käyn hyökkäyskoneen päällä:

Sudo bettercap --dns dns.conf

Ja hyökätylle teen kaksi tarkistusta:

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

Tulokset:

Mial@HackWare:~$ dig mi-al.ru ;<<>> DiG 9.10.3-P4-Debian<<>> mi-al.ru ;; yleiset valinnat: +cmd ;; Sain vastauksen: ;; ->> OTSIKKO<<- 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 ;; yleiset valinnat: +cmd ;; Sain vastauksen: ;; ->> OTSIKKO<<- 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

Voidaan nähdä, että "tavalliseen" DNS-pyyntöön lähetettiin paikallinen IP 192.168.1.48 ja kun DNS-pyyntöä epätyypillisestä portista lähetettiin oikea palvelimen IP.

Jos palvelin on määritetty käyttämään TCP:tä (UDP:n sijaan), komento näyttäisi tältä:

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

Selvästi puuttuu työkalu, joka itse valvoisi DNS-vastauksia liikenteessä, tarkistaisi ne uudelleen vaihtoehtoisen lähteen suhteen ja antaisi hälytyksen huijaustapauksissa.

Voit välttää oman etä-DNS:n perustamisen tekemällä nimipalvelinkyselyjä Torin kautta. Koska kaikki Tor-liikenne on salattua, tällä tavalla saadut DNS-vastaukset ovat välittäjän kykyjen ulkopuolella. Jos Toria ei ole vielä asennettu, asenna se.

Sudo apt-get install tor

Sudo pacman -S tor

Aloita palvelu:

Sudo systemctl start tor

Jos tarvitset sitä, lisää tämä palvelu käynnistykseen:

Sudo systemctl enable tor

Avaa tiedosto /etc/tor/torrc ja lisää siihen seuraavat rivit:

DNSPort 530 AutomapHostsOnResolve 1 AutomapHostsSuffixes .exit,.onion

Kiinnitä huomiota numeroon 530. Tämä on portin numero 530:n sijaan, voit määrittää minkä tahansa muun (käyttämättömän) portin. Pääasia on muistaa se.

Tarkistamme uudelleen:

Kaivaa mi-al.ru # ja kaivaa mi-al.ru -p 530 @localhost

Nyt määritetään palvelimeksi paikallinen isäntä, ja kirjoita portin numero, jonka määritit /etc/tor/torrc-asetuksissa.

Kuten seuraavasta kuvakaappauksesta näet, DNS-huijaushyökkäys suoritetaan koneelle, jossa tarkistus tehtiin:

4. Etsi verkkoliitäntöjä promiscuous-tilassa

Jos paikallisverkossasi on (ja varsinkin jos se ilmestyy yhtäkkiä) laitteistoa promiscuous-tilassa, tämä on erittäin epäilyttävää, vaikka se ei selvästikään osoita mies-in-the-middle-hyökkäystä.

Tässä tilassa verkkokortin avulla voit vastaanottaa kaikki paketit riippumatta siitä, kenelle ne on osoitettu.

Normaalitilassa Ethernet-liitäntä käyttää linkkikerroksen pakettisuodatusta ja jos vastaanotetun paketin kohdeotsikossa oleva MAC-osoite ei vastaa nykyisen verkkoliitännän MAC-osoitetta eikä lähetetä, paketti hylätään. "Promiscuous"-tilassa verkkoliitännän suodatus on poistettu käytöstä ja kaikki paketit, mukaan lukien ne, joita ei ole tarkoitettu nykyiselle solmulle, sallitaan järjestelmään.

Useimmat käyttöjärjestelmät vaativat järjestelmänvalvojan oikeudet salliakseen promiscuous-tilan. Nuo. Verkkokortin asettaminen promiscuous-tilaan on tahallinen toiminta, joka voi palvella haistelua.

Verkkoliitäntöjen etsimiseen promiscuous-tilassa on Ettercap-laajennus nimeltään search_promisc.

Esimerkki laajennuksen suorittamisesta:

Sudo ettercap -TQP search_promisc ///

Liitännäisen toiminta ei ole täysin luotettavaa, verkkoliitäntätilan määrittämisessä saattaa ilmetä virheitä.

Johtopäätös

Jotkut välimieshyökkäysmenetelmät jättävät paljon jälkiä, ja joitain (kuten passiivinen välityspalvelimen tunnistetietojen haku) on mahdotonta tai lähes mahdotonta havaita.

Tarkoittaa tilannetta, jossa hyökkääjä voi lukea ja muokata haluamallaan tavalla kirjeenvaihtajien välillä vaihdettuja viestejä, eikä kukaan jälkimmäisistä voi arvata läsnäoloaan kanavalla.


Wikimedia Foundation. 2010.

Katso, mitä "mies keskellä (hyökkäys)" on muissa sanakirjoissa:

    Mies keskellä hyökkäys, MITM-hyökkäys (englanniksi Man in the middle) on kryptografian termi, joka tarkoittaa tilannetta, jossa kryptanalyytikko (hyökkääjä) pystyy lukemaan ja muokkaamaan vaihdettuja viestejä... ... Wikipedia

    - ... Wikipedia

    Kryptaanalyysi (kreikan sanasta κρυπτός piilotettu ja analysointi) on tiedettä menetelmistä, joilla saadaan salatun tiedon alkuperäinen merkitys ilman pääsyä tähän välttämättömään salaiseen tietoon (avaimeen). Useimmissa tapauksissa tämä tarkoittaa... ... Wikipediaa

    Hakkerihyökkäys sanan suppeassa merkityksessä ymmärretään tällä hetkellä ilmauksella "Yrittää turvajärjestelmää", ja se pyrkii pikemminkin seuraavan termin Cracker-hyökkäys merkitykseen. Tämä tapahtui itse sanan "hakkeri" merkityksen vääristymisen vuoksi... Wikipedia

    - (muista kreikkalaisista sanoista κρυπτός piilotettu ja analyysi) tiede menetelmistä salatun tiedon purkamiseksi ilman salauksen purkamiseen tarkoitettua avainta. Termin loi amerikkalainen kryptografi William F. Friedman vuonna 1920. Epävirallisesti... ... Wikipedia

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 edes epäröimättä siirtää rahaa tilille 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 joukko ohjelmia verkon tarkastukseen ja levinneisyystestaukseen, joka tarjoaa passiivisen verkon valvonnan kiinnostavien tietojen (salasanat, sähköpostiosoitteet, tiedostot jne.) etsimiseksi, sieppaamalla verkkoliikennettä, joka ei normaalisti olisi käytettävissä analysointia varten (esim. kytketty verkko), sekä kyky järjestää MITM-hyökkäyksiä SSH- ja HTTPS-istuntojen sieppaamiseksi PKI-virheitä hyödyntäen.

Kain & Abel on ilmainen ohjelma, jonka avulla voit palauttaa kadonneet salasanat Windows-perheen käyttöjärjestelmille. 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.