MitM napadi

Izvor: SIS Wiki
Skoči na: orijentacija, traži
MITM.jpg


Izradio: Denis Ujvari

Sadržaj

UVOD

Danas većina ljudi koristi internet za komuniciranje. Najpopularniji načini komunikacije putem interneta danas su društvene mreže i web e-mail servisi. Budući da korisnici svakodnevno komuniciraju i razmjenjuju razne informacije, potrebno je zaštititi komunikacijske kanale i omogućiti privatnost korisnicima. Jedna od najvećih prijetnji online komuniciranju su takozvani Man In The Middle napadi (Čovjek u sredini). Ova vrsta napada su moderni načini prisluškivanja. Kod ovakve vrste napada, kao što i sam naziv govori, u komunikacijskom kanalu između pošiljatelja i primatelja spaja se treća osoba koja uz pomoć nekih alata manipulira komunikacijskim kanalom. Treća osoba neprimjetno nadzire komunikaciju, prenosi poruke između primatelja i pošiljatelja. Budući da se osim komunikacije i prijenosa datoteka danas na internetu obavljaju važni poslovi kao što su to online kupovina, e- bankarstvo i slično, osim prisluškivanja ove metode omogućuju krađu informacija pa samim time i krađu novca i razne prevare. U ovom seminarskom radu objasnit ću neke od najpoznatijih takvih napada i na koji način se je moguće zaštititi od njih.

--Denis Ujvari 19:57, 5. lipnja 2013. (CEST)

MITM

MITM (Man In The Middle) napad se još naziva i :


Kao što je prikazano na slici, kod MITM napada umjesto normalne direktne komunikacije, sva komunikacija se odvija preko napadača. Prvi korak napadača je da mora uvjeriti pošiljatelja da je on primatelj i primatelja da je pošiljatelj. Nakon toga prima pošiljateljevu poruku, može ju čitati ili promijeniti i nakon toga ju šalje primatelju. Ni pošiljatelj ni primatelj ne shvaćaju da se komunikacija ne odvija direktno i da netko prisluškuje njihov razgovor.

--Denis Ujvari 20:00, 5. lipnja 2013. (CEST)

VRSTE NAPADA

Postoji više vrsta MITM napada. Prva podjela je prema scenarijima.

SCENARIJI


Injection - Mogućnost da se dodaju paketi na već uspostavljenu vezu. Napadač može promijeniti slijed brojeva i ostaviti vezu sinkroniziranu dok injektira pakete.


Command injection – Stariji tip napada koji se koristi za scenarije kod kojih imamo jednokratnu autentikaciju (RSA token). Koristi se za krađu sjednice (session) i omogućuje napadaču da otvori stranicu nakon što je korisnik već prijavljen pa bez lozinke i korisničkog imena može čitati sve poruke i raditi sve kao da je prijavljen na svoj korisnički račun. Ovdje se injektiraju naredbe na server. Šalju se lažni odgovori klijentu.


Malicious code injection- Napadač može dodati maliciozni kod u e-mail poruke, SQL upite i web stranice i mijenjati binarne datoteke koje skida žrtva kako bi dodao backdoor ili da promijeni način izvršavanja skinutih programa.


Key Manipulation – Manipulacija ključem je napad kod kojeg napadač krade javni ključ između servera i klijenta i mijenja ga s malicioznim kodom. Kako bi bio što uvjerljiviji, napadač mora dekriptirati poruke koje se šalju s ključem i promijeniti ih i nakon toga ih ponovno kriptirati. Ovakvi napadi su usmjereni na online transakcije kod online trgovina i banka.


Downgrade attack – Kod ovakvih napada napadač prisili žrtvu da koristi stariju vrstu sigurnosnih protokola kod koje je lakše iskoristiti sigurnosne propuste.


Filtering – Napadač mijenja payload (korisni teret, tijelo poruke) paketa ponovnim računanjem checksum-a. Checksum je hash kod, niz brojeva, koji se izračuna za neki program ili paket, a omogućuje primatelju paketa da provjeri da li je paket izmijenjen na putu do njega. Ako je niz brojeva drugačiji od niza koji je izračunao pošiljatelj, to znači da je paket promijenjen. Kod Filtering napada napadač promijeni i poruku i checksum.


Više o tome: http://it.toolbox.com/wiki/index.php/Man-in-the-Middle_Attack - Dostupno 3.6.2013.

--Denis Ujvari 20:11, 5. lipnja 2013. (CEST)

NAPADI


Nakon što smo objasnili scenarije, načine na koji funkcioniraju napadi, slijede napadi. Možemo ih podijeliti i na napade koji se izvršavaju na lokalnoj LAN mreži, napade s lokalne na udaljenu mrežu, udaljene i bežične.


LAN napadi


ARP spoofing

Najčešći napad na lokalnoj mreži je ARP spoofing ili ARP poisoning. Ime je dobio po ARP protokolu koji je ustvari najlakše zamisliti kao tablicu u kojoj je za svaku IP adresu zapisana i Fizička MAC adresa. Ovaj napad se izvodi na način da napadač uvjeri pošiljatelja da je on primatelj, a primatelja da je on pošiljatelj.

Alati koji se koriste za napad: ARPoison, Ettercap, Dsniff, Parasite, Cain & Abel


DNS spoofing

Kod DNS spoofinga se napada DNS zahtjev koji za unesenu web adresu pronalazi IP adresu servera na kojoj je web stranica. DNS omogućuje da ne trebamo pamtiti IP adresu neke web stranice nego naziv tipa www.google.com. Napadač koristi takozvani sniffing (njuškanje) kako bi pronašao ID za bilo koji DNS zahtjev i odgovorio na zahtjev prije DNS servera.

Alati koji se koriste za napad: ADM DNS spoofing tools, Ettercap, Dsniff, Zodiac


IP adress spoofing

Napadač kreira IP pakete s krivotvorenom IP adresom izvora kako bi prikrio identitet pošiljatelja paketa ili kako bi oponašao drugi sustav.

Alati koji se koriste za napad: Hping, Spoofed IP


Port stealing

Krađa porta je napad kod kojeg napadač krade promet koji je usmjeren prema drugome portu Ethernet switch-a. Ovaj napad omogućuje da netko primi pakete koji su namijenjeni drugom računalu. To se postiže na način da se uvjeri switch da je napadačev port ustvari port primatelja kojemu je paket namijenjen.

Alati koji se koriste za napad: Ettercap


STP mangling

STP (Spanning-Tree Protocol) oštećivanje je napad kod kojeg se napadačev poslužitelj postaje korijen mosta (root bridge) u rasponu stabla (spanning tree). Dakle napadač dolazi do glavne mape, root direktorija, time dobiva pristup svim poddirektorijima stabla.

Alati koji se koriste za napad: Ettercap, Yersinia


Više o napadima:

http://it.toolbox.com/wiki/index.php/Man-in-the-Middle_Attack - Dostupno 3.6.2013.

http://www.blackhat.com/presentations/bh-usa-03/bh-us-03-ornaghi-valleri.pdf - Dostupno 3.6.2013.

http://www.quora.com/What-is-port-stealing - Dostupno 5.6.2013.


--Denis Ujvari 20:09, 5. lipnja 2013. (CEST)

ARP poisoning/ spoofing

Kao što sam ranije objasnio, da bi shvatili ovaj napad, potrebno je znati što je to ARP protokol. ARP ( Adress Resolution Protocol) je protokol koji se koristi kod LAN mreža, a sadrži ARP tablicu u kojoj su povezane IP adrese nekog računala sa MAC (fizičkim) adresama. Ovu tablicu moguće je vidjeti preko Naredbenog retka (Command Prompt) kojeg otvaramo tako da na tipkovnici pritisnemo Windows tipku, držimo ju i istovremeno pritisnemo R. Na taj način smo otvorili Run prozor u kojeg upišemo cmd i pritisnemo Enter. Kad nam se otvori prozor, upišemo arp –a i ispiše nam se ARP tablica.



Da bi ruter znao kojem računalu treba poslati paket, osim IP adrese mora znati i fizičku adresu računala. Pri tome u ARP tablici traži IP adresu za koju ima paket, kad je pronađe, iz tablice pročita MAC adresu kako bi mogao pravom računalu dostaviti paket. Taj proces je moguće pratiti s alatom Wireshark. Prilikom pokretanja programa, potrebno je odabrati dobar interface, a to se radi tako da se u početnom prozoru klikne na Interface list. U novom prozoru gledamo za koji uređaj primamo pakete. To vidimo po brojevima koji se mijenjaju. Samo jedan uređaj prima pakete, kod ostalih je vrijednost 0. Uključimo kvačicu kod tog uređaja. U ovom slučaju je to WI-FI jer smo bežičnim putem povezani na internet i kliknemo na Start.


Wireshark1.png


Sada program prati pakete i prikazuje nam komunikaciju između računala i servera, koji protokoli se koriste i slično. Ako u polje Filter upišemo arp i kliknemo na Apply, možemo vidjeti samo komunikaciju koja se odvija putem ARP protokola. Tu vidimo MAC adrese izvora i odredišta i pod Info možemo vidjeti da računalo 192.168.1.30 pita tko ima 192.168.1.1 za IP adresu. Na taj način se odvija komunikacija i čitanje IP i MAC adresa sa ARP tablice.


Wireshark2.png


Kod ARP poisoninga mi kažemo ruteru da imamo IP adresu primatelja paketa, a primatelju paketa kažemo da imamo IP adresu rutera.


--Denis Ujvari 13:18, 8. lipnja 2013. (CEST)


Cain & Abel


Ovaj napad moguće je izvesti s više alata. Alat koji ću prvo objasniti je Cain & Abel. Ovaj alat može obavljati više napada, crackirati lozinke i hash vrijednosti, WEP key i slično.


CAIN1.png


Da bi izveli ARP poisoning napad prvo trebamo otvoriti karticu Sniffer, kliknuti na istu ikonu u alatnoj traci, kako bi pokrenuli sniffer i nakon toga kliknuti na ikonu +. Tu nam se otvara prozor u kojem odaberemo Range i upišemo koji raspon IP adresa želimo da skenira. U našem primjeru to je od 192.168.1.1 do 192.168.1.40, budući da smo u arp tablici mogli vidjeti da se koriste IP adrese u tom rasponu. Nakon toga uključimo kvačicu kod All Tests i pritisnemo OK.


CAIN2.png


Na taj način skeniramo mrežu da bi provjerili koje IP adrese se koriste, i koja računala su povezana na LAN mrežu.


CAIN3.png


Ovdje možemo vidjeti da je povezan Laptop čija IP adresa je 192.168.1.31. Nakon toga pri dnu prozora odaberemo karticu ARP. Ovdje kliknemo u prazan prostor, zatim na +. Otvara se prozor u kojemu odaberemo IP adresu „žrtve“ s lijeve strane i adresu rutera s desne strane i kliknemo na ok. Time smo odabrali da preko ARP protokola želimo reći računalu s IP adresom 192.168.1.31 da smo mi ruter 192.168.1.1 i obrnuto.


CAIN4.png


Nakon toga kliknemo na ikonu ARP kako bi pokrenuli napad. Sad ako na dnu prozora odaberemo karticu Passwords i s lijeve strane HTTP, u prozoru ćemo dobiti ispisane linkove koje je korisnik posjetio. Ako u to vrijeme korisnik pristupi nekoj web stranici i prijavi se, u prozoru će se ispisati korisničko ime i lozinka.


CAIN5.png


Ako sada otvorimo wireshark vidjet ćemo kako je računalo stalno slalo ARP zahtjeve, ali u ovom slučaju možemo vidjeti da u zagradi piše (duplicate use of ... detected) što znači da se neka IP adresa duplo koristi, što nije moguće. Na taj način možemo otkriti da je u tijeku ARP poisoning napad.



Kako izgleda takav napad možete vidjeti ovdje: http://www.youtube.com/watch?v=RbSsD7yw7_w Dostupno: 7.6.2013.

Alat je dostupan na: http://www.oxid.it/cain.html

NAPOMENA: Ne pokušavajte ovo kod kuće, a pogotovo negdje drugdje.


--Denis Ujvari 13:18, 8. lipnja 2013. (CEST)


DSNIFF, DRIFTNET



Drugi način da se izvede ovaj napad je putem komandne linije, terminala na linuxu. Prvo je potrebno skinuti ubuntu virtualnu mašinu i otvoriti je u virtualboxu. Ubuntu je Linux operativni sustav, koji je open source, znači besplatan je za korištenje. Virtualne mašine mogu se skinuti ovdje: http://virtualboxes.org/images/ubuntu/ U ovom primjeru napadač je virtualna mašina, a žrtva operativni sustav Windows na kojemu je pokrenuta mašina.



Napadač je s lijeve strane, a žrtva s desne.

Prvi korak je da pokrenemo terminal, u ovom slučaju tri prozora. Prvi prozor koristit ćemo za instalaciju programa dsniff i driftnet koje ćemo koristiti za napad. Potrebno je upisati naredbu:
apt-get install dsniff driftnet –y 

Ukoliko nismo prijavljeni kao administrator, trebali bi još dodati naredbu sudo ispred navedenog. Ove naredbe govore da se preuzmu i instaliraju navedeni programi.

Nakon toga upišemo u isti prozor:
 echo 1 >> /proc/sys/net/ipv4/ip_forward 

Ova naredba zapisuje 1 u datoteku ip_forward, što znači da se pokreće ta skripta. Time omogućujemo da naše računalo, u ovom slučaju virtualna mašina glumi ruter i da kroz sebe pušta promet.

Da bi bili sigurni da smo pokrenuli skriptu, možemo to provjeriti s naredbom:
 cat /proc/sys/net/ipv4/ip_forward 

Ona nam ispisuje stanje 1, što znači da skripta radi.

Da bi saznali IP adresu računala potrebno je na Windowsu u Naredbenom retku (Command Prompt) upisati naredbu ipconfig da vidimo koji mrežni adapteri i koje Ip adrese se koriste. Sada možemo vidjeti u prozoru s desne strane da je IP adresa žrtve 192.168.0.10.



Nakon toga možemo započeti napad. Kako bi rekli računalu (žrtvi) da smo mi (virtualna mašina) ruter, potrebno je upisati naredbu:

 arpspoof – i wlan0 –t 192.168.0.103 192.168.0.1 

Ovu naredbu upisujemo u drugi prozor. Ova naredba govori da koristimo uređaj (interface) –i , u ovom slučaju je to wlan0 jer smo bežično povezani na internet i da je meta (target) –t 192.168.0.103. Prva IP adresa je adresa mete koja se nalazi na desnoj strani slike, a druga IP adresa je adresa rutera na koji smo povezani. Čim pokrenemo naredbu vidimo komunikaciju između mašine i rutera.



Istom naredbom kažemo ruteru da smo mi računalo žrtva. Znači samo zamijenimo prvu i drugu IP adresu:

 arpspoof – i wlan0 –t 192.168.0.1 192.168.0.103 

Ovo upisujemo u drugi prozor. Time smo zatvorili krug. Sada naša virtualna mašina glumi ruter i pomoću ARP protokola govori Windowsima (s desne strane slike) da smo mi ruter i ruteru da je mašina računalo s Windowsima s desne strane. Sada svu komunikaciju propuštamo kroz mašinu.

Ako želimo vidjeti slike koje se otvaraju u web pregledniku žrtve potrebno je koristiti program driftnet. On uzima slike koje se nalaze u cache (privremeno) memoriji web browsera. To učinimo na način da u treći prozor upišemo naredbu:

 driftnet -i wlan0 –d /home/james/Desktop/img 
Ovom naredbom pokrećemo skriptu driftnet za interface –i wlan0. Ako želimo da se sve slike spremaju u neku mapu kreiramo mapu i iza –d upišemo put do te mape, u ovom slučaju /home/james/Desktop/img.



Nakon toga se otvara mali prozor u kojemu možemo vidjeti slike koje u svom pregledniku vidi žrtva (desna strana slike). Čim s desne strane žrtva otvori neku web stranicu, prikazuju se slike. U ovom slučaju u google upsujemo linux.



Ako želimo vidjeti koje web stranice posjećuje korisnik, koji web preglednik koristi, upisujemo naredbu:
 urlsnarf -i wlan0 



Na taj način smo izveli Arp poisoning napad, kroz tekstualno sučelje koristeći terminal i programe dsniff i driftnet.


Kako izgleda ovaj napad možete vidjeti na:

http://www.youtube.com/watch?v=fjgWZyk4kGw - Dostupno 8.6.2013.

http://www.youtube.com/watch?v=-hd7XG-b6uk - Dostupno 8.6.2013.

http://arppoisoning.com/introduction-to-arp-poisoning/ - Dostupno 8.6.2013.

--Denis Ujvari 14:34, 8. lipnja 2013. (CEST)


Kako se zaštititi od ovakvih napada?



Ovakvi napadi su opasni kada se radi o online trgovinama jer napadaču omogućuju jednostavno čitanje lozinke i samim time omogućuju krađu. Da bi se zaštitili od ovakvih napada, potrebno je koristiti SSL na web stranicama. Dakle uvijek koristiti https protokol na web stranicama na koje se prijavljujemo jer on kriptira promet i ovakvim napadima onemogućuje da jednostavno pročitaju čistu lozinku. Danas većina web stranica poput banaka i paypala, ali i facebooka i slično koriste SSL kako bi onemogućili krađu podataka korisnika.

Također kao što sam naveo, takve napade je moguće detektirati s programom Wireshark koji nam javlja ako se neka IP adresa ponavlja, tj. duplo koristi.

Iako se koristi SSL opet to ne znači da je web stranica potpuno sigurna. Napad SSL Strip omogućuje krađu korisničkih podataka iako se koristi SSL.

Isto treba paziti na koje bežične mreže se spajamo i čim manje koristiti javne besplatne mreže, il ako ih već koristimo, onda treba paziti na koje stranice se prijavljujemo i koje podatke o sebi otkrivamo.

Preporučuje se napraviti tablicu s poznatim MAC adresama, adresama uređaja koji sami koristimo kako bi mogli na ruteru ili firewallu blokirati nepoznate MAC adrese i time spriječiti napadače.

Još jedan od načina je koristiti statičke ARP tablice koje ne dopuštaju promjene, što onemogućuje da se za neku IP adresu promijeni MAC adresa u tablici.


Više o zaštiti od ARP napada:

http://www.tekbar.net/hackers-and-security/seven-easy-way-to-help-you-defend-against-arp.html - Dostupno 8.6.2013.

http://www.irongeek.com/i.php?page=security/arpfreeze-static-arp-poisoning - Dostupno 8.6.2013.

http://www.data.ks.uni-freiburg.de/download/inetworkSS05/practical/arp/arp-spoofing.pdf - Dostupno 8.6.2013.

--Denis Ujvari 14:34, 8. lipnja 2013. (CEST)

SSL STRIP

Ovaj napad je nešto noviji, a radi se o downgrade napadu, koji ustvari prisili korisnika da umjesto https protokola za prijavu koristi stariju verziju http i samim time omogućuje ARP poisoning napad i krađu tajnih podataka.

SSL (Secure Sockets Layer) je protokol koji služi za kriptiranje komunikacije. Koristi se na web stranicama kod prijave na server. Da neka stranica koristi SSL protokol, to možemo vidjeti po adresi web stranice jer umjesto http piše https. Http je stariji protokol kod kojeg se ne kriptira lozinka prilikom prijave na server, dok https to omogućava.

Dakle SSL sprječava ARP poisoning napade da jednostavno pročitaju korisničko ime i lozinku. Da bi se pročitala lozinka potrebno ju je dekriptirati, a to teško za izvesti. Hacker Moxie Marilnspike je osmislio napad i kreirao alat SSLstrip koji zaobiđe kriptirani prijenos na način da se korisniku umjesto https kriptirane stranice servira http stranica i na taj način se zaobiđe kriptiranje pa je moguće opet izvesti ARP poisoning napade.

--Denis Ujvari 18:15, 9. lipnja 2013. (CEST)

SSL

Kod SSL se koriste certifikati. Certifikati su dokumenti koji identificiraju osobu, računalo ili uređaj koji posjeduje javni ključ. Dakle certifikat povezuje par ključeva s njihovim vlasnikom. SSL certifikat je certifikat koji glasi na neki server i on nam omogućuje da provjerimo da smo na pravoj web stranici.


Certifikate izdaje CA (Certificate Authority) za određeni server. To je izdavačka kuća koja ima bazu certifikata. Ona potvrđuje da je certifikat valjani, da neki server koristi određenu metodu kriptiranja.

Kod SSL-a kad posjetimo web stranicu koja je sigurna, primamo i certifikat koji nam omogućuje provjeru sigurnosti servera. To se radi na način da se provjeri lanac certifikata. Lanac certifikata je niz autoriteta koji potvrđuju valjanost certifikata. On se sastoji od izdavača certifikata (CA), posrednika kojih može biti više i certifikata web stranice ili servera. Izdavač (CA), potpisuje certifikat posrednika (Intermediate CA) koji potpisuje certifikat web stranice.



Lanac certifikata se provjerava na način da se krene od korijena, provjeri se da na certifikatu piše adresa web stranice koju smo posjetili. Nakon toga se provjerava da li je certifikat istekao. Provjerava se potpis i ako je potpisano od strane izdavača (CA) za koje znamo da su pouzdani , to znači da certifikat vrijedi. Ako potpis ne valja, onda se pomaknemo za jedan više u lancu certifikata i ponavljamo proces. Postoji problem u tom procesu jer se provjerava samo da li je lanac potpun.

Postoji propust u standardu za certificiranje X509V3 koji omogućuje da bilo tko može kupiti certifikat za bilo koji server. Kod kupnje certifikata izdavači su znali ostaviti polje Basic constraints prazno i to je omogućilo da bilo tko sa svojim certifikatom kreira i potpiše bilo koji drugi certifikat.

To je omogućilo da na primjer vlasnik neke web stranice koji ima certifikat kreira valjani certifikat za paypal.com ili bilo koju drugu web stranicu. Ako bi nakon toga išli provjeriti lanac certifikata ispalo bi da certifikat vrijedi.



--Denis Ujvari 18:15, 9. lipnja 2013. (CEST)

Što radi alat SSLstrip?

Ovaj alat radi MITM napad kod kojega se spaja između računala i servera i sigurnu SSL vezu dijeli na dva dijela. Dio komunikacije koja se odvija između korisnika i napadača ovaj program pretvara iz sigurne https u nesigurnu http vezu, dok drugi dio između napadača i servera ostaje sigurna kriptirana veza.



Dakle s lijeve strane veze prihvaća HTTPS promet, generira certifikat za stranicu koju je posjetio korisnik i potpisuje ga. HTTPS linkove pretvara u HTTP i vraća ih korisniku, dok s druge strane serveru šalje normalne podatke preko HTTPS veze s certifikatom koji je sam izradio i koji je valjan. Dakle na strani između napadača i servera promet se dekriptira i kriptira. Na taj način ni klijent ni server ne shvaćaju da je između njih napadač.


Što se tiče certifikata, tu se generira certifikat koji glasi na *\0.našadomena.com. Na taj način možemo napraviti certifikat www.facebook.com\0.našadomena.com . Kod provjere certifikata program provjeri dio do \0 , jer to znači da je došao do kraja stringa, vidi da piše www.facebook.com i certifikat proglasi valjanim. To nam omogućuje da generiramo valjani certifikat za bilo koju web stranicu.


Kod samog izgleda stranice nema vidljive razlike između sigurne https i nesigurne http stranice.

Ovaj program omogućuje napadaču da prati komunikaciju između klijenta i servera, da čita nekriptirane podatke, pa čak i da mijenja pakete. Moguće je iskoristiti ovaj napad da se na primjer kod update-a nekog add-ona u web pregledniku preuzme maliciozni kod koji bi omogućio potpunu kontrolu nad računalom žrtve. Isto tako može se koristiti na više načina, npr. moguće je čak instalirati rootkit koji se ponaša kao keylogger i pamti sve znakove koje korisnik unosi u računalo putem tipkovnice. Dakle ovaj napad omogućuje krađu lozinki, špijuniranje komunikacije i kontrolu nad softverom koji žrtva ima instalirana.


Prepričano s:

http://thoughtcrime.org/software/sslstrip/ - Dostupno 9.6.2013.

http://www.youtube.com/watch?v=ibF36Yyeehw - Dostupno 9.6.2013.

http://vimeo.com/50018478# - Dostupno 9.6.2013.

http://www.youtube.com/watch?v=ibF36Yyeehw - Dostupno 9.6.2013.

http://thoughtcrime.org/software/sslstrip/ - Dostupno 9.6.2013.

http://www.blackhat.com/presentations/bh-dc-09/Marlinspike/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf - Dostupno 9.6.2013.


--Denis Ujvari 18:15, 9. lipnja 2013. (CEST)

Primjer napada

Ovaj napad moguće je izvesti kombinacijom više alata, pa postoji više izvedbi.

Prvi korak je preuzimanje SSLstrip programa. Točnije SSL strip je skripta, pa je potrebno imati instaliran Python (apt-get install python). Nakon toga sa web stranice se preuzme skripta (http://thoughtcrime.org/software/sslstrip/)

Uz pomoć terminala extract-amo arhivu i otvorimo tu mapu.

*  tar zxvf sslstrip-0.9.tar.gz
*  cd sslstrip-0.9

Prije napada, potrebno je saznati IP adresu žrtve, tj. računala na kojemu je pokrenuta virtualna mašina koju koristimo za napad. Ovdje opet koristimo Naredbeni redak i naredbu ipconfig.


Sada smo spremni za napad.

Prvi korak je isti kao i kod ARP poisoninga, trebamo pustiti promet kroz svoje računalo, natjerati računalo da se ponaša kao ruter.

Za to se koristi naredba:

 echo "1" > /proc/sys/net/ipv4/ip_forward 

Na taj način smo uključili prosljeđivanje IP adrese. Prije sljedećeg koraka potrebno je u konfiguracijskoj datoteki programa ettercap obrisati znak # kako bi taj kod koji je zapisan u obliku komentara uključili.

Naredbom

 kate/etc/etter.conf 

pomoću programa kate otvaramo tekstualnu datoteku programa ettercap.

Pronađemo dio koda u kojemu piše if you use iptables i u drugom redu prije naredbe redir_command_off... obrišemo #. Tako smo omogućili programu da prati promet.

Drugi korak je naredba iptables. Ona sav promet s HTTP porta 80 preusmjerava na port 10000 na kojemu radi SSLstrip.

 iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000 

Nakon toga koristimo naredbu :

 Arpspoof – t 192.168.132 192.168.1.1  

Ovu naredbu smo također koristili kod ARP napada. Ona govori računalu žrtve da smo mi ruter.

Sada koristimo naredbu:

 Sslstrip –a –k –f 

Ova naredba izvršava SSLstrip napad koji smo opisali ranije. Ovdje –a znači da se sav promet bilježi u log datoteku, -k znači da se gase sve sjednice (session) u tijeku ili da se ponovno pokrenu, dok –f služi za prikaz favicon-e, sličice lokota koja se prikazuje u adresnoj traci web preglednika.

Sada sav promet prolazi kroz naše računalo.

Sljedeća naredba pokreće program ettercap:

 ettercap –T –q –i eth0 

Ovdje –T znači da želimo koristiti tekstualni mod, -q je tihi način rada kod kojeg se ne prikazuje sadržaj paketa, -i eth0 znači da želimo koristiti uređaj eth0 (koristimo kabel kod povezivanja na internet).


Sad ako se žrtva u svojem web pregledniku prijavi na neku web stranicu koja je zaštićena SSL-om nama se u programu ettercap prikazuje koju web adresu je posjetila i koje korisničke podatke je koristila.

--Denis Ujvari 18:15, 9. lipnja 2013. (CEST)

Kako se zaštititi od ovog napada?

Potrebno je prije prijavljivanja na web stranicu u alatnoj traci provjeriti da piše https. Treba paziti da za prijavu koristimo sigurne mreže, ne javne. Trebalo bi provjeravati da li se događaju ARP poisoning napadi. Postoje već neki načini zaštite, a neki su u izradi. Hacker Moxie Marlinspike koji je otkrio ovaj napad je izradio plugin za web browsere koji se zove Convergence koji bi trebao promijeniti način na koji se provjeravaju certifikati.

Druge metode zaštite:


Više o tome:

http://www.blackhat.com/presentations/bh-dc-09/Marlinspike/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf - Dostupno 9.6.2013.

http://www.youtube.com/watch?v=gNhyjPxuy5w - Dostupno 9.6.2013.

http://www.youtube.com/watch?v=qzNv6e1z1_E - Dostupno 9.6.2013.

http://www.youtube.com/watch?v=l7kMpZFgrE4 - Dostupno 9.6.2013.

http://www.fer.unizg.hr/_download/repository/Napad_dijeljenjem_tokova_na_protokol_HTTPS.pdf - Dostupno 9.6.2013.

https://www.owasp.org/images/4/4b/OWASP_defending-MITMA_APAC2012.pdf - Dostupno 9.6.2013.

http://convergence.io/ - Dostupno 9.6.2013.


--Denis Ujvari 18:15, 9. lipnja 2013. (CEST)


ZAKLJUČAK

MITM napadi su napadi kod kojih se napadač spaja između žrtve i servera ili rutera i kroz sebe pušta svu komunikaciju. Dakle napadač glumi ruter i na taj način može čitati sve pakete koji se prenose. Imamo više scenarija i više vrsti MITM napada. Naj poznatiji napadi i oni koji se najčešće koriste su ARP poisoning i SSLstrip. ARP napadi se koriste kod komunikacije koja nije kriptirana, na stranicama koje ne koriste SSL. Kod kriptiranog SSL prijenosa koristi se SSL strip koji sigurnu kriptiranu vezu pretvara u nesigurnu. Dakle iz HTTPS protokola prelazi na HTTP. To mu omogućuje ARP poisoning napad i prikupljanje lozinki, praćenje posjećenih web stranica, slanje malwarea i slično.


Da bi se zaštitili potrebno je paziti da otvaramo sigurne https web stranice. Moguće je kreirati statičke ARP tablice, pratiti MAC adrese uređaja koji se spajaju na našu mrežu, koristiti Convergence plugin kako bi provjerili certifikate i slično. Jedan od najboljih načina je ne spajati se na javne mreže ili ako se spajamo ne se prijavljivati na web stranice.

--Denis Ujvari 19:04, 9. lipnja 2013. (CEST)

LITERATURA

http://it.toolbox.com/wiki/index.php/Man-in-the-Middle_Attack - Dostupno 3.6.2013.

http://www.blackhat.com/presentations/bh-usa-03/bh-us-03-ornaghi-valleri.pdf - Dostupno 3.6.2013.

http://www.quora.com/What-is-port-stealing - Dostupno 5.6.2013.

http://www.youtube.com/watch?v=RbSsD7yw7_w Dostupno: 7.6.2013.

http://www.youtube.com/watch?v=fjgWZyk4kGw - Dostupno 8.6.2013.

http://www.youtube.com/watch?v=-hd7XG-b6uk - Dostupno 8.6.2013.

http://arppoisoning.com/introduction-to-arp-poisoning/ - Dostupno 8.6.2013.

http://www.tekbar.net/hackers-and-security/seven-easy-way-to-help-you-defend-against-arp.html - Dostupno 8.6.2013.

http://www.irongeek.com/i.php?page=security/arpfreeze-static-arp-poisoning - Dostupno 8.6.2013.

http://www.data.ks.uni-freiburg.de/download/inetworkSS05/practical/arp/arp-spoofing.pdf - Dostupno 8.6.2013.

http://thoughtcrime.org/software/sslstrip/ - Dostupno 9.6.2013.

http://www.youtube.com/watch?v=ibF36Yyeehw - Dostupno 9.6.2013.

http://vimeo.com/50018478# - Dostupno 9.6.2013.

http://thoughtcrime.org/software/sslstrip/ - Dostupno 9.6.2013.

http://www.blackhat.com/presentations/bh-dc-09/Marlinspike/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf - Dostupno 9.6.2013.

http://www.youtube.com/watch?v=gNhyjPxuy5w - Dostupno 9.6.2013.

http://www.youtube.com/watch?v=qzNv6e1z1_E - Dostupno 9.6.2013.

http://www.youtube.com/watch?v=l7kMpZFgrE4 - Dostupno 9.6.2013.

http://www.fer.unizg.hr/_download/repository/Napad_dijeljenjem_tokova_na_protokol_HTTPS.pdf - Dostupno 9.6.2013.

https://www.owasp.org/images/4/4b/OWASP_defending-MITMA_APAC2012.pdf - Dostupno 9.6.2013.


--Denis Ujvari 19:13, 9. lipnja 2013. (CEST)

Osobni alati
Imenski prostori
Inačice
Radnje
Orijentacija
Traka s alatima