Forståelse av Mann-i-Midten-Angrep (MITM)
Et mann-i-midten-angrep, ofte forkortet til MITM, oppstår når en ondsinnede aktør avbryter en eksisterende kommunikasjon eller dataoverføring på et nettverk. Angriperen plasserer seg selv i midten av kommunikasjonsbanen, og etterligner en legitim deltaker i samtalen.
I praksis fungerer det slik at angriperne posisjonerer seg mellom inngående forespørsler og utgående svar. Som bruker vil man fortsette å tro at man kommuniserer direkte med den legitime serveren eller nettapplikasjonen, for eksempel Facebook, Twitter eller en nettbank. Men i virkeligheten vil forespørslene dine gå via angriperen som så kommuniserer med den legitime part på dine vegne.
Bilde av Imperva
Dette gir angriperen full innsikt i all kommunikasjon, inkludert dine forespørsler og svarene du mottar fra den tiltenkte serveren. Angriperen kan i tillegg manipulere forespørslene og svarene, stjele påloggingsinformasjonen din, omdirigere deg til en server de kontrollerer, eller utføre andre former for cyberkriminalitet.
Vanligvis fanger angriperen opp kommunikasjonsstrømmen eller data som sendes mellom begge parter. Deretter kan de endre informasjonen eller sende ondsinnede lenker eller svar til de legitime deltakerne. Dette kan ofte foregå uoppdaget over en lengre periode, og forårsake betydelig skade.
Vanlige Teknikker Brukt i MITM-Angrep
Pakkesniffing: Angriperen benytter verktøy for å inspisere nettverkspakkene på et lavt nivå, og dermed få tilgang til datapakker de normalt ikke ville hatt tilgang til.
Pakkeinjeksjon: Her injiserer angriperen ondsinnede pakker inn i datakommunikasjonskanalene. Før injeksjonen vil de kriminelle benytte seg av snusing for å finne ut hvordan og når de skal sende de skadelige pakkene. Etter injeksjonen blander de ondsinnede pakkene seg med de gyldige i kommunikasjonsstrømmen.
Sesjonskapring: Når man logger inn på en nettapplikasjon, genereres vanligvis et midlertidig sesjonstoken som gjør at brukeren slipper å skrive inn passordet på nytt for hver side eller forespørsel. Dessverre kan en angriper som bruker sniffer-verktøy identifisere og utnytte dette tokenet, og deretter sende forespørsler som om de er den legitime brukeren.
SSL-Stripping: Angripere kan bruke SSL-stripping-teknikken for å avskjære legitime pakker, endre HTTPS-baserte forespørsler og sende dem til en usikker HTTP-adresse. Dermed vil tjeneren sende en ukryptert forespørsel til serveren, og avsløre sensitiv informasjon i klartekst som er enkel å stjele.
Konsekvenser av MITM-Angrep
MITM-angrep utgjør en alvorlig trussel for enhver organisasjon, og kan føre til både økonomiske tap og tap av omdømme.
Kriminelle kan skaffe seg og misbruke sensitiv og privat informasjon om en organisasjon. For eksempel kan de stjele påloggingsinformasjon som brukernavn og passord, samt kredittkortdetaljer. Denne informasjonen kan deretter brukes til å overføre penger eller foreta uautoriserte kjøp. Stjålet påloggingsinformasjon kan også brukes til å installere skadelig programvare eller stjele annen sensitiv informasjon som kan brukes til utpressing.
Derfor er det viktig å beskytte brukere og digitale systemer for å redusere risikoen for MITM-angrep.
MITM-Angrepsverktøy for Sikkerhetsteam
I tillegg til å benytte pålitelige sikkerhetsløsninger, er det nødvendig å bruke verktøy for å kontrollere systemene og identifisere sårbarheter som angripere kan utnytte. Her er noen av de HTTP MITM-angrepsverktøyene som er tilgjengelige for sikkerhetsforskere:
Hetty
Hetty er en rask og åpen kildekode HTTP-verktøykasse med kraftige funksjoner for å bistå sikkerhetsforskere, team og bug bounty-fellesskapet. Dette lettvektsverktøyet har et innebygd Next.js-nettgrensesnitt og fungerer som en HTTP-mellommannsprosjekt.
Viktige funksjoner:
- Mulighet for å utføre fulltekstsøk.
- En avsendermodul som tillater manuell sending av HTTP-forespørsler, basert på forespørsler fra proxyloggen eller opprettet fra grunnen av.
- En angripermodul for automatisk sending av HTTP-forespørsler.
- Enkel installasjon og brukervennlig grensesnitt.
- Mulighet til å sende HTTP-forespørsler manuelt, enten ved å starte fra bunnen av, lage forespørselen eller kopiere den fra proxyloggen.
Bettercap
Bettercap er et omfattende og skalerbart verktøy for nettverksrekognosering og -angrep.
Denne brukervennlige løsningen gir reversingeniører, sikkerhetseksperter og red teams alle funksjoner de trenger for å teste eller angripe Wi-Fi, IPv4, IPv6-nettverk, Bluetooth Low Energy-enheter (BLE) og trådløse HID-enheter. I tillegg har verktøyet nettverksovervåkingsfunksjoner som oppretting av falske tilgangspunkter, passordsniffere, DNS-spoofing, håndtrykksfangst, og mer.
Viktige funksjoner:
- En kraftig innebygd nettverkssniffer for å identifisere autentiseringsdata og skaffe seg påloggingsinformasjon.
- Kraftig og utvidbar.
- Undersøker og tester aktivt og passivt IP-nettverksverter for potensielle MITM-sårbarheter.
- Et brukervennlig og interaktivt nettbasert brukergrensesnitt som lar deg utføre et bredt spekter av MITM-angrep, sniffe påloggingsinformasjon og kontrollere HTTP- og HTTPS-trafikk.
- Henter ut alle innsamlede data, inkludert POP-, IMAP-, SMTP- og FTP-påloggingsinformasjon, besøkte nettadresser og HTTPS-verter, HTTP-informasjonskapsler, HTTP-postede data, og lagrer dette i en fil.
- Manipulerer og modifiserer TCP-, HTTP- og HTTPS-trafikk i sanntid.
Proxy.py
Proxy.py er en lett og åpen kildekode WebSocket-, HTTP-, HTTPS- og HTTP2-proxyserver. Tilgjengelig i en enkelt Python-fil, lar dette verktøyet forskere inspisere nettrafikk, inkludert TLS-krypterte applikasjoner, med minimalt ressursbruk.
Viktige funksjoner:
- Et raskt og skalerbart verktøy som kan håndtere titusenvis av tilkoblinger per sekund.
- Programmerbare funksjoner som en innebygd webserver, proxy og HTTP-rutingstilpasning.
- Lett design som bruker 5-20 MB RAM. Basert på standard Python-biblioteker og krever ingen eksterne avhengigheter.
- Et tilpassbart sanntidsdashbord som kan utvides med plugins. Det gir også muligheten til å inspisere, overvåke, konfigurere og kontrollere proxy.py under drift.
- Sikkert verktøy som benytter TLS for å sikre ende-til-ende-kryptering mellom proxy.py og klienten.
Mitmproxy
Mitmproxy er en brukervennlig og åpen kildekode HTTPS-proxyløsning.
Dette enkle å installere verktøyet fungerer som en SSL man-in-the-middle HTTP-proxy, og har et konsollgrensesnitt som lar deg inspisere og endre trafikkflyten. Det kommandolinjebaserte verktøyet kan benyttes som en HTTP- eller HTTPS-proxy for å registrere all nettverkstrafikk, se brukernes forespørsler, og spille disse av på nytt. Mitmproxy refererer til et sett med tre kraftige verktøy: mitmproxy (konsollgrensesnitt), mitmweb (nettbasert grensesnitt) og mitmdump (kommandolinjeversjon).
Viktige funksjoner:
- Interaktivt og pålitelig verktøy for analyse og modifikasjon av HTTP-trafikk.
- Fleksibelt, stabilt, pålitelig, enkelt å installere og bruke.
- Lar deg avskjære og endre HTTP- og HTTPS-forespørsler og svar.
- Registrer og lagre HTTP-samtaler på klient- og serversiden, og spill dem av og analyser dem senere.
- Genererer SSL/TLS-sertifikater for avskjæring underveis.
- Reverse proxy-funksjoner som lar deg videresende nettverkstrafikken til en annen server.
Burp
Burp er et automatisert og skalerbart verktøy for sårbarhetsskanning, og er et populært valg for mange sikkerhetseksperter. Det hjelper forskere med å teste nettapplikasjoner og identifisere sårbarheter som kan utnyttes i MITM-angrep.
Verktøyet bruker en brukerstyrt arbeidsflyt for å gi en direkte oversikt over målapplikasjonen og dens funksjonsmåte. Burp fungerer som en nettproxy-server, og sitter dermed som en mellommann mellom nettleseren og målserverne. Dette lar deg fange opp, analysere og endre forespørsels- og svartrafikk.
Viktige funksjoner:
- Avskjærer og inspiserer nettverkstrafikken i begge retninger mellom nettleseren og serveren.
- Bryter TLS-tilkoblingen i HTTPS-trafikk mellom nettleseren og målserveren, slik at angriperen kan se og endre krypterte data.
- Mulighet til å bruke den innebygde Burps-nettleseren eller en ekstern standard nettleser.
- Automatisert, rask og skalerbar sårbarhetsskanningsløsning for testing av nettapplikasjoner, og identifisering av et bredt spekter av sårbarheter.
- Viser individuelle avlyttede HTTP-forespørsler og svar.
- Lar deg manuelt gå gjennom den avlyttede trafikken for å forstå detaljene i et angrep.
Ettercap
Ettercap er en åpen kildekode-nettverkstrafikkanalysator og -interceptor.
Dette omfattende MITM-angrepsverktøyet lar forskere analysere et bredt spekter av nettverksprotokoller og -verter. Det kan også registrere nettverkspakker i et LAN og andre miljøer. Videre kan denne multifunksjonelle trafikkanalysatoren oppdage og stoppe MITM-angrep.
Viktige funksjoner:
- Avskjærer nettverkstrafikk og fanger opp påloggingsinformasjon som passord. Kan også dekryptere krypterte data og trekke ut brukernavn og passord.
- Egnet for dyp pakkesniffing, testing og overvåking av nettverkstrafikk, og gir sanntidsinnholdsfiltrering.
- Støtter aktiv og passiv avlytting, dissekering og analyse av nettverksprotokoller, inkludert krypterte protokoller.
- Analyserer en nettverkstopologi og etablerer operativsystemene som er installert.
- Brukervennlig grafisk brukergrensesnitt med interaktive og ikke-interaktive GUI-operasjonsalternativer.
- Bruker analyseteknikker som ARP-avlytting, IP- og MAC-filtrering, med mer for å avskjære og analysere trafikk.
Forebygging av MITM-Angrep
Det er vanskelig å identifisere MITM-angrep, ettersom de foregår utenfor brukerens kontroll, og angriperne sørger for at alt ser normalt ut. Det finnes likevel flere sikkerhetspraksiser som organisasjoner kan benytte for å forebygge MITM-angrep, inkludert:
- Sikre internettforbindelser på arbeidsplassen eller hjemmenettverket, for eksempel ved å bruke effektive sikkerhetsløsninger og -verktøy på servere og datamaskiner, og pålitelige autentiseringsløsninger.
- Håndheve sterk WEP/WAP-kryptering for tilgangspunktene.
- Sikre at alle nettsteder du besøker er sikre og bruker HTTPS i URL-en.
- Unngå å klikke på mistenkelige e-poster og lenker.
- Håndhev HTTPS og deaktiver usikre TLS/SSL-protokoller.
- Bruk virtuelle private nettverk (VPN) der det er mulig.
- Bruk verktøyene nevnt ovenfor og andre HTTP-løsninger for å identifisere og adressere alle man-in-the-middle-sårbarheter som angripere kan utnytte.