Man in the middle local network attack (mitmf, bettercap)
Članovi: Danijel Sladović 8.siječnja.2017.
Sadržaj |
Man in the middle atack
U računalnoj sigurnosti i kriptografiji man in the middle napad često zvan MITM, MitM, MiM, MitMA napad. Je vrsta napada kod kojeg napadač prekida vezu komunikacije između dvije strane te na taj način si omogućuje tajno odašiljanje ili mjenjanje podataka u komunikaciji između dvije strane, ali tako da obje strane misle da izravno komuniciraju jedna sa drugom. Najveći rizik od MITM napada postoji na javnim mjestima gdje postoji nezaštićena wireles acces point ili acces point koji ima lozinku, ali je ona javna, najčešće se taj napad može izvesti na lokalnim mrežama kafića ili gradskim wifi acces pointovima te samim tim napadaču se omogućuje širenje malware-a ili u slučaju da napadač zarazi router ili žrtvu trojanskim konjem i na taj nač si omogući pristup tom računalu ili manipuliranje računalom(remote controll). Još jedna primjena MITM napada je aktivno prisluškivanje komunikacije između dvije strane tj. između žrtve i usmjernika (routera) lokalne mreže.
Mete i scenariji MITM napada
Mete MITM napada mogu biti:
- razne stranice kojima napadač želi pristupiti, a koje imaju zaštitu putem prijave i napadaču omogućuju pristup toj stranici
- financijske stranice - između prijave i autentifikacije
- veze koje bi trebale zaštićene javnim ili privatnim ključevima
Scenariji MITM napada:
- Injection
- Key manipulation
- Downgrade attacks
- Filtering
Injecting
Dodavanje paketa kod već uspostavljene veze.
Napadač može odrediti brojeve slijeda i na taj način održati vezu sinkroniziranu dok injecta nove pakete. U slučaju da je MITM napad "proxy napad" još je lakše za napadača da ubaci pakete. Korisna primjena za napadača da koristi MITM napad je prilikom jednostruke autentifikacije kada se koristi RSA token. Kod takvih scenarija "sniffing" lozinke je beskorisno zbog RSA tokena, ali jako važno presresti već autentificiranu vezu jer tada se možemo predstaviti kao autentificirani korisnik imamo pristup svemu što ima i korisnik koji je upisao lozinku i pin sa tokena.Uz to možemo i injectati naredbe prema serveru ili slati lažne odgovore od servera prema klijentu.
Key manipulation
- SSHv1
- IPSEC
- HTTPS
- SSH v1 je modifikacija javnog ključa izmjenjenog od servera i klijenta
- IPSEC ako dva ili više klijenata dijele isto tajno pitanje, svaki od njih može predstavljati kao poslužitelj prema drugim klijentima tj.računalima.
- HTTPS moguće je napraviti lažni certifikat npr. Issued by VerySign oslanjajući se na pogrešnu konfiguraciju browsera (pretrazivaca) ili glupost korisnika.
Filtriranje
Napadač može modificirati payload paketa preračunavajući checksum. Može kreirati filtere u tok. Dužina payloada se također može mjenjati ali samo u full-duplex (u ovom slučaju je potrebno prilagoditi i sekvencu).Filtriranjem koda / ubrizgavanjem se ubacuje maliciozni kod u web stranicu ili email (javascript, trojanac, virus itd). Može se vršiti modifikacija binarnih datoteka prilikom faze preuzimanja (virus, backdoor itd).
Filtriranje preusmjeravanje HTTPS-a. To se može izvršiti tako da kada se klijent tj. korisnik želi ulogirati na stranicu za koju je potrebna autentifikacija, tada napadač koji je presreo vezu preusmjerava na svoju web stranicu koja je u identičnog dizajna kao stranica na koju se korisnik želi prijaviti. Korisnik se prijavljuje te predaje podatke na autentifikaciju, a napadač dobiva korisničke podatke te prijavljuje "žrtvu" na njen korisnički račun kako ne bi posumnjala da se nešto krivo dogodilo. Korisnik dalje nastavlja koristiti usluge te stranice, a napadač prisluškuje račun korisnika na toj stranici ukoliko ne bi došao do podataka koje može iskoristiti u svoju korist.
Downgrade attack
Paramteri razmjenjeni od strane poslužitelja i klijenta se mogu smanjiti prilikom početka veze (algoritmi se koriste kasnije) Napadač može forsirati klijenta da pokrene SSH1 umjesto SSH2 konekcije.
Server ovako odgovara:
- SSH-1.99 -- the server supports ssh1 and ssh2 - SSH-1.51 -- the server supports ONLY ssh1
Napadač postavlja filter koji mjenja 1.99 na 1.51.
Mogućnost zaobilaska unknown_hosts.
Alati za MITM napade
Ovdje su navedeni neki od alata za provođenje MITM napade koji su popularni za napade na lokalne mreže:
- Ettercap
- BetterCap
- DSniff
- Cain & Abel
- Ethernal
- Packet Creator
Provođenje MITM napada
MITM napada se provodi uz pomoć backtrack alata koji je generalno Kali Linux operacijski sustav koji u sebi sadrži velik broj alata koji se koriste u području informacijske sigurnosti. Kali Linux se koristi u razne svrhe, kao što su penetracijskih testiranja, digitalna forenzika, mrežna testiranja itd.
Sada je potrebno preuzeti python skripru koja će raditi SSLSrrip kako bi mogli otkriti podatke koja nas zanimaju a u većini slučajeva su to korisničko ime i lozinka. Nju preuzimamo sa https://moxie.org/software/sslstrip/sslstrip-0.9.tar.gz te ju je nakon toga potrebno pokrenuti
wget https://moxie.org/software/sslstrip/sslstrip-0.9.tar.gz tar zxvf sslstrip-0.9.tar.gz
Kako bi započeli MITM napad potrebno je spojiti se na lokalnu mrežu koji želimo napasti tj. presresti komunikaciju ili promet unutar nje. Da bi to postigli potrebno je omogućiti da paketi prolaze računalo napadača na taj način da korisnici čiji promet napadač presreće ne znaju da je napad u toku. Kako bi postavili da podatci prolaze kroz nas potrebno je izvršiti sljedeću naredbu
echo 1> /proc/sys/net/ipv4/ip_forward
Nakon toga postavljamo iptables kako bi presreli HTTP zahtjeve na način da se izvrši sljedeće
iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port <yourListenPort>
Pokrećemo SSLStrip
sslstrip.py -l <listenPort>
I sada je još potrebno pokrenuti arpspoof kako bi preusmjerili mrežu na napadačevo računalo.
arpspoof -i <interface> -t <targetIP> <gatewayIP>
iptables
iptebles je firewall koji je ugrađen u kernel te se može koristiti kao alat za pregled, izmjenu, prosljeđivanje, i brisanje IPv4 paketa. Kod za filtriranje IPv4 paketa već je ugrađena u kernel, a organizirana je u zbirku tablica, svaki s određenom svrhom. Tablice su sastavljene od skupa unaprijed definiranih lanaca, a lanci sadrže pravila koja se prate i izvršavaju redosljedom.
Lanci koji su nam poznati su:
INPUT- Ovaj lanac se koristi za usmjeravanje paketa prema nekom lokalnom procesu
OUTPUT- On će propustiti pakete lokalnih procesa prema mreži
FORWARD- Prosljeđuje pakete nekom drugom računalu
PREROUTING- Prevođenje ciljnih adresa
POSTROUTING- Prevodi adrese izvora
MITMf attack
MITMf je jedan od alata za napad na lokalnu mrežu te jedna vrsta Man In The Middle napada. Ovdje će biti prikazano kako uz pomoć MITMf alata kako se radi napad na browser žrtve tj. izvest će se napad pomoću JS Injection. to ćemo napraviti na sljedeći način :
Ovdje je prikazano na koji način se pokreće beef alat tj. iz ovog terminala ćemo dobiti url adresu kojom ćemo pristupiti alatu beef i url adresu pomoću koje hookamo browser žrtve te mu radimo js injection pomoću beef-a.
Ovdje je prikazan alat beef kojem pristupamo tako da u browser u Linux-u upisemo url iz terminala koju smo dobili prilikom pokretanja beef-alata.
Bettercap napad
Bettercap je portabilan alat koji je kreiran u Ruby programskom jeziku. Pomoću njega mogu se izvršiti raznovrsni MITM napadi na lokalne mreže, omogućuje manipulaciju HTTP-a, HTTPS-a i TCP-a u realnom vremenu. Te pomoću kojeg automatizirano možemo pratiti promet na nekoj lokalnoj mreži i na taj način doći do podataka koje koji bi se mogli iskoristiti protiv žrtve, kao što su korisnjčki podatci s kojima se neki korisnik autentificira na neku web stranicu. Bettercap je novija verzija Ettercapa koji je napravljen na taj način da ga je lakše nadograditi tj. lakše je napisati neku nadogradnju nego za Ettercap. Bettercap omogućuje praćenje prometa na velikim mrežama dok ettercap to ne može tj. jako je nestabilan.
Bttercap omogućuje MITMf ICMP spoofing, potpuno prilagodiv sniffer korisničkih podataka i ima ugražene modularne Http(s)i TCP proxy servere.
Ova slika prikazuje preuzimanje svih biblioteka koje su nam potrebne za pokretanje Bettercap alata.
Ovdje je prikazana instalacija Bettercap alata.
Pokrećemo bettercap sniffer sa parametrima koji su prikazani na vrhu terminala tj. radimo arp poisoning za sve http i https zahtijeve te smo stavili filter po ključnoj riječi kako bi nam lakše bilo pronaći podatke koje trežimo a to su korisnički podatci s kojima se zrtva pokušava autentificirati na neku web stranicu. Unatoč tome što bettercap koristi sslstrip neke poznatije web stranice imaju takvu zaštitu da njohov server zahtjeva od korisnikovog browsera da koristi https unatoč tome što je korišten sslstrip te downgradean https na http.
Ovdje je prikazano kako se u terminalu može vidjeti korisničko ime i lozinka korisnika na kojem smo izvršili sniffing. U ovom se je primjeru korisnik ulogirao na stranicu koja nema https protokol već http. Sada jednostavno napadač može iskoristiti korisničke podake žrtve kako bi ostvario pristup ovoj stranici.
Neke od naredbi koje se koriste u Bettercap alatu
Literatura
1. https://www.bettercap.org/ , dostupno 19.1.2017.
2. https://www.bettercap.org/docs/logging.html , dostupno 19.1.2017.
3. https://www.youtube.com/watch?v=BOzDswGQWzE , dostupno 19.1.2017.
4. https://www.youtube.com/watch?v=bEMwES6TQUw , dostupno 18.1.2017.
5. https://www.youtube.com/watch?v=hI9J_tnNDCc , dostupno 18.1.2017.
6. https://www.youtube.com/watch?v=Dat5kJxpwbI , dostupno 18.1.2017.
7. https://www.veracode.com/security/man-middle-attack , dostupno 9.1.2017.
8. http://www.ethikalhacker.webs.com/ManInTheMiddle_SSL.pdf , dostupno 9.1.2017.
9. https://www.blackhat.com/presentations/bh-usa-03/bh-us-03-ornaghi-valleri.pdf , dostupno 9.1.2017.
10.https://arxiv.org/ftp/arxiv/papers/1504/1504.02115.pdf, dostupno 9.1.2017.
11.https://blogs.msdn.microsoft.com/ptorr/2005/02/22/guerrilla-threat-modelling-or-threat-modeling-if-youre-american/ , dostupno 9.1.2017.
12.https://msdn.microsoft.com/library/ms978516.aspx , dostupno 9.1.2017.
13.https://www.owasp.org/index.php/Threat_Risk_Modeling ,dostupno 9.1.2017.
14.https://www.youtube.com/watch?v=-oOV0Q9LS_M , dostupno 19.1.2017.