Man-in-the-middle napad (MITM) je vrsta napada u kojoj se napadač neprimetno ubaci između dve strane koje komuniciraju, i tako može da presretne, izmeni ili nadgleda komunikaciju — bez znanja učesnika.
Jednostavno objašnjenje:
Zamisli da šalješ pismo prijatelju. Napadač (MITM) ga presretne, pročita, možda izmeni sadržaj, i prosledi dalje — a ti i tvoj prijatelj ni ne znate da je neko umešan u vašu komunikaciju.
Kako funkcioniše u digitalnom svetu:
- Ti želiš da se povežeš na bezbedan sajt (recimo banka.com).
- Napadač se pozicionira između tebe i servera — na primer, pomoću lažnog Wi-Fi hotspota.
- Kad pošalješ zahtev za
https://banka.com
, napadač:- prima tvoju poruku
- šalje je dalje banci (kao da si ti)
- prima odgovor banke
- i prosleđuje ga tebi
- Tokom tog procesa, on može da čita ili menja podatke (npr. lozinke, brojeve računa, instrukcije za plaćanje).
Kada se to najčešće dešava:
- Na javnim Wi-Fi mrežama (kafići, aerodromi)
- Kada se koristi
--no-check-certificate
,http
umestohttps
, ili zastareli pregledači - Kada je SSL sertifikat istekao i korisnik ga ignoriše
Šta napadač može da uradi u MITM napadu:
- Ukrade lozinke i brojeve kartica
- Presretne e-mail poruke
- Umetne maliciozni kod (npr. viruse)
- Preusmeri plaćanja
- Lažno predstavi server ili korisnika
Kako se zaštititi:
✅ Koristi HTTPS (i proveri zaključanu ikonicu u pretraživaču)
✅ Nikada ne koristi --no-check-certificate
, osim ako si 100% siguran
✅ Izbegavaj javne Wi-Fi mreže bez VPN-a
✅ Ažuriraj softver i pretraživač redovno
✅ Proveri validnost sertifikata (klik na ikonicu katanca)
Otkrivanje man-in-the-middle (MITM) napada može biti izazovno jer napadač nastoji da se neprimetno umeša u komunikaciju. Ipak, postoje znaci i tehnike pomoću kojih se može otkriti prisustvo MITM napada. Evo kako:
🔍 1. Proveri HTTPS sertifikat
- Kada posećuješ sajt, klikni na ikonicu katanca pored URL-a.
- Ako:
- Sertifikat nije izdat od pouzdane institucije
- Ime sajta u sertifikatu ne odgovara adresi koju si posetio
- Sertifikat je istekao
to može biti znak da neko pokušava da se lažno predstavi kao taj sajt.
🔍 2. Neobično ponašanje mreže
- Usporena veza
- Često prekidanje sesija ili ponovno logovanje
- Pojavljivanje nepoznatih SSL poruka ili zahteva za prihvatanje sertifikata
🔍 3. Promena MAC adrese gateway-a
MITM napadači mogu koristiti tzv. ARP spoofing, gde tvoj uređaj “misli” da je napadačev uređaj ruter.
- Na Linuxu/macOS možeš proveriti gateway MAC adresu sa: bashCopyEdit
arp -a
- Ako se MAC adresa rutera promenila bez razloga, moguće je da neko pokušava MITM napad.
🔍 4. Skeneri i alati za otkrivanje MITM napada
Možeš koristiti specijalizovane alate:
- 🛠️ Wireshark – analizira mrežni saobraćaj i pokazuje anomalije
- 🛠️ arpwatch – prati promene ARP tabela
- 🛠️ Ettercap – može se koristiti i za napad i za detekciju MITM napada
- 🛠️ ZMap, Nmap – za otkrivanje uređaja i otvora (portova) u mreži
🔍 5. DNS neusklađenost
- Ako domen pokazuje na pogrešnu IP adresu (npr. preko
nslookup
ilidig
alata), moguće je da DNS saobraćaj presreće napadač.
🔐 6. Upotreba dodatne zaštite
- Koristi VPN – enkriptuje sav tvoj saobraćaj i otežava MITM
- Uključi HSTS u browseru – on sprečava sajtove da se otvore bez HTTPS
- Redovno ažuriraj sistem i browser
Evo konkretnih koraka i komandi za otkrivanje man-in-the-middle napada na Linuxu, uz kratko objašnjenje svakog.
🛡️ 1. Proveri ARP tabelu
MITM napadač može koristiti ARP spoofing (trovanje ARP-a) da tvoj računar “pomisli” da je on ruter.
➤ Komanda:
arp -a
✔️ Šta gledati:
- Prikaže listu IP adresa i njihovih MAC adresa.
- Ako više IP adresa ima istu MAC adresu, to je sumnjivo – može ukazivati na MITM napad.
🛡️ 2. Prati promene u ARP tabeli u realnom vremenu
Instaliraj arpwatch
, alat koji nadgleda ARP aktivnosti.
➤ Instalacija:
sudo apt install arpwatch
➤ Pokretanje:
sudo arpwatch -i eth0
Zameni eth0
imenom tvoje mrežne kartice (npr. wlan0
za Wi-Fi).
✔️ Šta radi:
- Loguje svaku promenu u ARP vezi (npr. ako se MAC adresa rutera promeni).
- Ako se to desi nenajavljeno, moguće je prisustvo MITM napada.
🛡️ 3. Analiziraj mrežni saobraćaj sa Wiresharkom
➤ Instalacija:
sudo apt install wireshark
➤ Pokretanje:
sudo wireshark
Filtriraj promet po protokolima:
http
,arp
,dns
,ssl
,tcp.port == 443
✔️ Šta tražiti:
- Dupli odgovori na DNS upite
- Neobična SSL certifikacija
- Sumnjive pakete sa nepoznatih MAC adresa
🛡️ 4. Proveri SSL sertifikate ručno
Poseti sumnjiv sajt u browseru i klikni na katanić (🔒) ➜ View Certificate
Ili koristi openssl
:
➤ Komanda:
echo | openssl s_client -connect example.com:443 | openssl x509 -noout -issuer -dates -subject
✔️ Šta tražiti:
- Da li je issuer (izdavalac) poznata institucija (npr. Let’s Encrypt, DigiCert)?
- Da li je CN (Common Name) odgovarajući (npr.
example.com
)? - Da li je sertifikat istekao?
🛡️ 5. Uporedi IP adresu sajta sa zvaničnom
➤ Komanda:
nslookup example.com
ili
dig example.com
Zatim proveri da li se IP adresa poklapa sa zvaničnom adresom sajta (npr. pomoću nekog drugog uređaja ili mreže).
🛡️ 6. Prati otvorene konekcije
➤ Komanda:
netstat -tnp
ili (modernije):
ss -tnp
Prikazuje aktivne TCP konekcije. Ako vidiš čudne adrese ili portove (posebno u ESTABLISHED
stanju), možeš ih dalje istražiti.
✅ Dodatni savet: koristi VPN
Korišćenjem VPN-a šifriraš sav saobraćaj između tebe i VPN servera, što efikasno blokira MITM napade na lokalnoj mreži (npr. kafići, hot-spotovi).
Evo jednostavne bash skripte za Linux koja automatski proverava moguće znake MITM napada:
🧠 Šta skripta radi:
- Proverava da li više IP adresa koristi istu MAC adresu (ARP spoofing).
- Prikazuje trenutno ARP stanje.
- Upozorava ako je MAC adresa gateway-a različita od poznate (ako je prethodno poznata).
- Proverava SSL sertifikat za uneti sajt.
- Upoređuje IP adresu sajta sa DNS rezultatima.
📜 Naziv fajla: mitm_check.sh
#!/bin/bash # MITM proverna skripta - autor: ChatGPT za Aleksandra # ⚙️ Interfejs koji koristiš (promeni po potrebi: eth0, wlan0 itd.) IFACE="wlan0" # ✅ 1. Prikaz ARP tabele i traženje duplikata MAC adresa echo "🔍 Provera ARP tabele za moguće duplikate MAC adresa..." arp -a | awk '{print $4}' | sort | uniq -d > /tmp/duplicate_macs.txt if [ -s /tmp/duplicate_macs.txt ]; then echo "⚠️ Upozorenje: Pronađene su duplikatne MAC adrese!" cat /tmp/duplicate_macs.txt else echo "✅ Nema duplikatnih MAC adresa u ARP tabeli." fi # ✅ 2. Prikaži trenutnu ARP tabelu echo -e "\n📋 Trenutna ARP tabela:" arp -a # ✅ 3. Provera MAC adrese gateway-a GATEWAY_IP=$(ip route | grep default | awk '{print $3}') GATEWAY_MAC=$(arp -n | grep "$GATEWAY_IP" | awk '{print $3}') echo -e "\n🌐 Gateway IP: $GATEWAY_IP" echo "🔐 MAC adresa gateway-a: $GATEWAY_MAC" # (opciono: uporedi sa prethodno zapamćenom vrednošću ako postoji fajl .known_mac) # ✅ 4. Provera SSL sertifikata za određeni sajt read -p $'\n🌐 Unesi domen za SSL proveru (npr. example.com): ' DOMAIN echo -e "\n📥 Provera SSL sertifikata za $DOMAIN ..." echo | openssl s_client -servername "$DOMAIN" -connect "$DOMAIN:443" 2>/dev/null | openssl x509 -noout -issuer -subject -dates # ✅ 5. Uporedi IP adresu sajta sa DNS rezultatima IP_RESOLVED=$(dig +short "$DOMAIN" | head -n 1) echo -e "\n🌍 DNS IP za $DOMAIN: $IP_RESOLVED" echo -e "\n✅ Provera završena." # Čisti temp fajl rm -f /tmp/duplicate_macs.txt
📦 Uputstvo za korišćenje:
- Snimi fajl:
nano mitm_check.sh
Nalepi sadržaj gore, zatim CTRL+O
, Enter
, CTRL+X
.
Daj dozvolu za izvršavanje:
chmod +x mitm_check.sh
Pokreni skriptu:
./mitm_check.sh
📌 Napomena:
- Ako koristiš
eth0
umestowlan0
, izmeni linijuIFACE="wlan0"
.