Man-in-the-middle napad (MITM)

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:

  1. Ti želiš da se povežeš na bezbedan sajt (recimo banka.com).
  2. Napadač se pozicionira između tebe i servera — na primer, pomoću lažnog Wi-Fi hotspota.
  3. 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
  4. 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 umesto https, 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: bashCopyEditarp -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 ili dig 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:

  1. Proverava da li više IP adresa koristi istu MAC adresu (ARP spoofing).
  2. Prikazuje trenutno ARP stanje.
  3. Upozorava ako je MAC adresa gateway-a različita od poznate (ako je prethodno poznata).
  4. Proverava SSL sertifikat za uneti sajt.
  5. 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:

  1. 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 umesto wlan0, izmeni liniju IFACE="wlan0".

By Abel

Leave a Reply

Your email address will not be published. Required fields are marked *