Το προφίλ μας στο Google Plus
22

Επίθεση για σπάσιμο του WPA/WPA2 (1ο μέρος)

Σίγουρα δεν ζείτε σε πιθάρι. Είτε από παλαιότερά μας άρθρα και αναφορές, είτε από κάποια άλλη δημοσίευση στο internet, είτε από κάποιο φίλο, όπως και να ‘χει, γνωρίζετε πια ότι το πρωτόκολλο WEP σπάει πλέον πανεύκολα και δεν μπορεί να προσφέρει αποτελεσματική ασφάλεια σ’ ένα ασύρματο δίκτυο. Έτσι, για να αποφύγετε περιπέτειες με κακόβουλους εισβολείς, καταφύγατε στο WPA ή στο WPA2 που υπόσχονται σημαντικά μεγαλύτερη ασφάλεια. Και καλά κάνατε, αλλά μην εφησυχάζεστε. Όπως θα δείτε, υπό συγκεκριμένες συνθήκες, οι οποίες δεν είναι καθόλου σπάνιες, το WPA/WPA2 μπορεί να σπάσει εξίσου εύκολα και γρήγορα, όπως και το WEP.

Πιο συγκεκριμένα, το θέμα δεν αφορά την Enterprise έκδοση του πρωτοκόλλου, η οποία –ούτως η άλλως- απαιτεί ειδικούς server και συναντάται πολύ σπάνια, αλλά την έκδοση Personal, η οποία είναι και η μόνη που υποστηρίζεται από τη μαζική πλειοψηφία των modem/router που απευθύνονται για χρήση στο σπίτι. Η αχίλλειος πτέρνα του WPA/WPA2-Personal είναι η μέθοδος authentication, που –σε αντίθεση με το WPA/WPA2-Enterprise- γίνεται για όλους τους client μέσω ενός μοναδικού pre-shared key (ή PSK, απ’ όπου και η εναλλακτική ονομασία WPA/WPA2-PSK του πρωτοκόλλου). Δηλαδή, το access point (AP) ρυθμίζεται με ένα συγκεκριμένο passphrase (ένα αλφαριθμητικό ASCII από 8 ως 63 χαρακτήρες), το οποίο πρέπει να γνωρίζει ο κάθε client για να μπορέσει να περάσει το authentication και να συνδεθεί στο ασύρματο δίκτυο. Τι γίνεται όμως στο παρασκήνιο του authentication;

Το Παρασκήνιο του WPA/WPA2 Authentication

Βασικό ρόλο στη διαδικασία παίζει ένα κλειδί μήκους 256bit που ονομάζεται PMK (Pairwise Master Key). Για την δημιουργία του, αρχικά το passphrase «αλατίζεται» με το όνομα του δικτύου (ESSID ή απλά SSID) και το μήκος του ονόματος και στη συνέχεια κωδικοποιείται με τη μέθοδο PBKDF2, που αντιστοιχεί σε 4096 διαδοχικά περάσματα του αλγόριθμου SHA-1.

Η δημιουργία του Pairwise Master Key (PMK). Στο WPA/WPA2 Personal, το PMK είναι ίδιο για κάθε client και χαρακτηρίζει ένα AP, όσο αυτό χρησιμοποιεί το ίδιο SSID και passphrase. Κάθε client μπορεί να παράγει το PMK, εφόσον γνωρίζει τα δύο αυτά στοιχεία.Η δημιουργία του Pairwise Transient Key (PTK). Εξαρτώμενο από το Client MAC, και τα τυχαία ANonce και SNonce, το PTK είναι διαφορετικό για κάθε session του κάθε client και χρησιμοποιείται για να προστατεύσει την επικοινωνία αυτών με το AP.Όπως βλέπετε, βασικά συστατικά του PMK είναι το passphrase και το όνομα του δικτύου, οπότε μπορεί να δημιουργηθεί από το ίδιο το AP, καθώς και από οποιονδήποτε client γνωρίζει τα δύο αυτά στοιχεία. Έτσι, όταν ο χρήστης ενός client επιλέξει ένα διαθέσιμο WPA/WPA2 δίκτυο και εισάγει το αντίστοιχο passphrase για να συνδεθεί, ο client δημιουργεί το PMK και δηλώνει ασύρματα στο AP το ενδιαφέρον του. Ακολουθεί το authentication, μια επικοινωνία τεσσάρων εναλλάξ μηνυμάτων που ξεκινούν από το AP, γνωστή και ως 4-way handshake. Όσον αφορά στο WPA cracking, το κύριο ενδιαφέρον βρίσκεται στα πρώτα δύο μηνύματα:

  1. Το AP δημιουργεί ένα τυχαίο αριθμό (ANonce) και τον στέλνει στον client.
  2. Ο client, λαμβάνει το ANonce και δημιουργεί και αυτό ένα τυχαίο αριθμό (SNonce). Στη συνέχεια, χρησιμοποιώντας το PMK, το ANonce, το SNonce, την διεύθυνση MAC του και την διεύθυνση MAC του AP, δημιουργεί ένα νέο κλειδί που ονομάζεται PTK (Pairwise Transient Key) μήκους 512bit (με τον λιγότερο πολύπλοκο αλγόριθμο PRF-512). Με το PTK, ο client κωδικοποιεί το SNonce δημιουργώντας ένα MIC (Message Integrity Code), μια ψηφιακή υπογραφή του SNonce. Τέλος, ο client στέλνει το μη-κωδικοποιημένο SNonce και το MIC στο AP.

Τα πρώτα δύο μηνύματα του 4-way handshake, δηλαδή της διαδικασίας authentication στο WPA/WPA2. Η σύλληψη των δύο αυτών μηνυμάτων από κάποιον τρίτο, μαζί με τις υπόλοιπες πληροφορίες που ουσιαστικά είναι δημόσιες (SSID, διευθύνσεις MAC), επιτρέπουν θεωρητικά το σπάσιμο του WPA.Με αυτά τα δύο βήματα, το AP είναι πλέον σε θέση να πιστοποιήσει ότι ο client είναι «νόμιμος», χωρίς τη μεταφορά ευαίσθητων πληροφοριών, όπως το passphrase ή οποιοδήποτε άλλο κλειδί. Για να το κάνει αυτό, δεν έχει παρά να υπολογίσει και αυτό με τη σειρά του το PMK (αφού ως AP, προφανώς γνωρίζει το passphrase και το SSID του), στη συνέχεια να υπολογίσει το PTK (αφού γνωρίζει το PMK, τις απαραίτητες διευθύνσεις MAC, το AΝonce που το ίδιο δημιούργησε και το SNonce που έλαβε στο μήνυμα 2), να υπογράψει το SNonce με το PTK και να δει αν το αποτέλεσμα συμπίπτει με το MIC που έλαβε. Αν αυτό ισχύει, τότε προφανώς ο client γνωρίζει το ίδιο passphrase με το AP και συνεπώς είναι όντως «νόμιμος».
Για κάθε client, η διαδικασία αυτή συμβαίνει κατά τη σύνδεση στο AP και από εκεί και πέρα περιοδικά, κάθε φορά που το AP αποφασίζει ότι πρέπει να ανανεωθεί το PTK. Όμως, πώς βοηθούν αυτές οι γνώσεις στην εύρεση του passphrase και -κατά συνέπεια- στο σπάσιμο του WPA;

Cracking – θεωρία και ρεαλισμός

Δεν είναι πυρηνική επιστήμη. Παρά την εκτεταμένη χρήση (γνωστών) κωδικοποιήσεων, η μόνη παράμετρος που δεν μπορεί να είναι άμεσα γνωστή σε κάποιον τρίτο, είναι το passphrase, το οποίο –ούτως ή άλλως- είναι και το ζητούμενο. Κατά τα άλλα, το SSID του AP (και συνεπώς και το μήκος του) και οι διευθύνσεις MAC του AP και ενός συνδεδεμένου client μπορούν να βρεθούν εύκολα με ένα network scanner. Όμοια, με ένα wireless network sniffer που θα «τύχει» να είναι ενεργό την ώρα του authentication ενός client με το AP, μπορούν να βρεθούν και τα ANonce, SNonce και MIC του SNonce που κυκλοφορούν ελεύθερα στον αέρα. Και μ’ όλα αυτά τα στοιχεία, ένα πρόγραμμα μπορεί να παίρνει διαδοχικά passphrase (με brute force ή από dictionary) και να επαναλαμβάνει για το καθένα τη διαδικασία επαλήθευσης που κάνει και το AP, μέχρι, για κάποιο passphrase, η υπογραφή του SNonce με το PTK να ταιριάξει με το MIC. Αυτό θα είναι το ζητούμενο passphrase. Χμμμ… σαν πολύ απλά δεν φαίνονται τα πράγματα; Δεν μπορεί… :)
Όντως. Βλέπετε, για κάθε passphrase που θα δοκιμάζει το θεωρητικό αυτό πρόγραμμα cracking, θα πρέπει να δημιουργεί ένα διαφορετικό PMK. Αλλά, όπως αναφέρθηκε, η δημιουργία του PMK απαιτεί 4096 διαδοχικά περάσματα του αλγορίθμου SHA-1, μια εξαιρετικά χρονοβόρα διαδικασία που θα έχει ως αποτέλεσμα την δοκιμή μόνο μερικών δεκάδων passphrase ανά δευτερόλεπτο. Κι αυτό δεν αποτελεί πρακτική λύση.
Ένας cracker θα αντιμετώπιζε συνήθως ένα τέτοιο πρόβλημα δημιουργώντας ένα πίνακα με precomputed τιμές hash, όπως ένα rainbow table. Δηλαδή, θα ανέθετε σε ένα γρήγορο σύστημα (ή προτιμότερα κάποιο cluster) να υπολογίσει όλα τα PMK που αντιστοιχούν στα passphrase που περιέχονται σε κάποια random generated λίστα ή κάποιο μεγάλο dictionary. Η διαδικασία αυτή θα ήταν εξίσου χρονοβόρα, αλλά θα γινόταν μόνο μια φορά. Από εκεί και πέρα και για κάθε επίθεση, ο cracker θα χρησιμοποιούσε τον έτοιμο πίνακα που δημιούργησε, καταργώντας την ανάγκη υπολογισμού των PMK, γεγονός που θα εκτόξευε τις επιδόσεις της επίθεσης κατακόρυφα.
Όμως, στην περίπτωση του WPA, το passphrase, πριν κωδικοποιηθεί για να δημιουργηθεί το PMK, «αλατίζεται» με το SSID του AP. Αυτό σημαίνει ότι αν δημιουργηθεί πίνακας με precomputed τιμές των PMK, αυτός θα είναι άχρηστος για επιθέσεις σε δίκτυα με διαφορετικό SSID από το δίκτυο για το οποίο σχεδιάστηκε. Με λίγα λόγια, για αποδοτική επίθεση σε οποιοδήποτε τυχαίο δίκτυο, θα πρέπει να δημιουργηθούν διαφορετικοί πίνακες precomputed τιμών για κάθε πιθανό SSID. Αλλά, με τους πόρους που προσφέρει το hardware της εποχής, η δημιουργία πινάκων precomputed τιμών για κάθε πιθανό passphrase και κάθε πιθανό SSID είναι πρακτικά αδύνατη. Αλλά ακόμα και αν ήταν δυνατή, οι πίνακες θα ήταν τόσο μεγάλοι, που θα ήταν πρακτικά άχρηστοι. Στην πράξη, λοιπόν, σήμερα το *γενικό* σπάσιμο του WPA είναι αδύνατο.
Παραδόξως, αυτό δεν σημαίνει ότι τα ασύρματα δίκτυα που χρησιμοποιούν WPA είναι *γενικά* ασφαλή. Βλέπετε, η πλειονότητα των διαχειριστών τέτοιων δικτύων, δεν γνωρίζουν ότι η ασφάλεια που παρέχει το WPA οφείλεται στην σπανιότητα του passphrase και του SSID. Έτσι, πολλές φορές χρησιμοποιούν κοινά SSID (π.χ. myhome, mywlan κ.λπ.) ή αφήνουν το προκαθορισμένο SSID του AP (π.χ. default, linksys, netgear, dlink κ.λπ.). Ταυτόχρονα, χρησιμοποιούν καθόλου ή ελάχιστα πολύπλοκα passphrase για να μπορούν να τα θυμούνται και να τα μοιράζουν εύκολα στους χρήστες. Έτσι, ο επίδοξος cracker δεν χρειάζεται να λάβει υπόψη του ούτε όλα τα πιθανά SSID, ούτε όλα τα πιθανά passphrase. Του αρκούν μερικοί μόνο πίνακες precomputed PMK για τα πιο κοινά SSID, βασισμένοι σε εξίσου κοινά password dictionary. Μάλιστα, τέτοιοι πίνακες υπάρχουν έτοιμοι για λήψη στο internet, καθιστώντας την εύρεση του passphrase, σε τέτοια κοινά δίκτυα, δεκάλεπτη υπόθεση.  

Τα εργαλεία

Οι εφαρμογές που θα χρειαστείτε είναι δύο.
Πρώτα, η σουίτα εργαλείων aircrack-ng, η οποία θα χρησιμεύσει κυρίως ως wireless sniffer για να συλλάβετε το απαραίτητο authentication session. Όπως ίσως γνωρίζετε από προηγούμενες αναφορές, η σουίτα είναι συμβατή μόνο με κάποιους συγκεκριμένους ελεγκτές ασύρματου δικτύου, οπότε ελέγξτε ότι ο υπολογιστής σας είναι εξοπλισμένος με κάποιον από αυτούς.
Το δεύτερο εργαλείο είναι το coWPAtty. Αυτό, θα αναλάβει να βρει το ζητούμενο passphrase, χρησιμοποιώντας το authentication session που θα συλλάβει το aircrack-ng και τον ανάλογο πίνακα precomputed PMK.
Και τα δύο εργαλεία, έρχονται προεγκατεστημένα στη διανομή BackTrack, γεγονός που την καθιστά ιδανική για το συγκεκριμένο σκοπό. Αν δεν την έχετε εγκατεστημένη στον υπολογιστή σας, χρησιμοποιήστε ένα Live CD ή USB stick.
Τέλος, θα χρειαστείτε τους έτοιμους πίνακες precomputed PMK. Υπάρχουν διάφορα σετ πινάκων διαθέσιμα στο internet. Δύο πολύ καλά είναι:

  • Το σετ της Offensive Security, της ομάδας που βρίσκεται πίσω από το ίδιο το BackTrack. Πρόκειται για 107 πίνακες που αντιστοιχούν σε 107 SSID που συναντώνται συχνά. Οι πίνακες είναι ιδιαίτερα αποδοτικοί αφού βασίζονται σ’ ένα dictionary 49 εκατομμύριων πιθανών passphrase! Κάθε πίνακας έχει μέγεθος 1.9Gb και είναι διαθέσιμος για λήψη ως torrent από τη σχετική σελίδα στο site της ομάδας. Επιλέξτε και κατεβάστε τους πίνακες για τα SSID που σας ενδιαφέρουν. Αν θέλετε να δείτε ακριβώς ποια passphrase καλύπτονται από τους πίνακες, στην ίδια σελίδα θα βρείτε το dictionary που χρησιμοποιήθηκε για την δημιουργία τους.
  • Το σετ του Renderman. Αποτελείται από 1000 πίνακες για τα 1000 πιο συχνά χρησιμοποιούμενα SSID, σύμφωνα με το WiGLE project. Λόγω του αριθμού τους, καλύπτουν περισσότερα δίκτυα απ’ ότι το προηγούμενο σετ, αλλά είναι λιγότερο αποδοτικοί αφού βασίζονται σ’ ένα dictionary ενός εκατομμυρίου πιθανών passphrase. Διανέμονται όλοι μαζί, σ’ ένα γιγαντιαίο torrent των 33Gb. Η λίστα των SSID που καλύπτουν είναι διαθέσιμη εδώ και το dictionary στο οποίο βασίζονται εδώ.
Στην πράξη

Ξεκινήστε τον υπολογιστή με το BackTrack και ανοίξτε μια κονσόλα. Πληκτρολογήστε:

airmon-ng

για να δείτε το όνομα του network interface που χρησιμοποιεί ο ασύρματος ελεγκτής σας. Πιθανότερα, αυτό θα είναι wlan0 (διαφορετικά, προσαρμόστε ανάλογα τα επόμενα). Στη συνέχεια πληκτρολογήστε:

airmon-ng start wlan0

για να θέσετε τον ελεγκτή ασύρματου δικτύου σε monitor mode.

Ενεργοποίηση του monitor mode στον ελεγκτή ασύρματου δικτύου με το airmon-ng.

Αμέσως μετά:

airodump-ng wlan0

Επιλογή δικτύου προς επίθεση με το airodump-ng. Με κόκκινη σήμανση, ο πίνακας των ενεργών AP της περιοχής. Με πράσινη, ο πίνακας με τους ενεργούς client που έχουν συνδεθεί σε κάποια από αυτά. Με κίτρινη, το AP που, λόγω του ιδιαίτερα συνήθους SSID (linksys), επιλέχθηκε για επίθεση στο δικό μας παράδειγμα. Με γαλάζια, ένας από τους client που είναι συνδεδεμένος στο συγκεκριμένο AP και ο οποίος (τυχαία) επιλέχθηκε να εξαναγκαστεί σε επανάληψη του authentication.

Το airodump-ng θα σας εμφανίσει δύο πίνακες. Στον πάνω πίνακα μπορείτε να δείτε όλα τα ενεργά AP της περιοχής και στον κάτω πίνακα μπορείτε να δείτε μια λίστα από client που είναι συνδεδεμένοι σε αυτά. Προς το παρόν, από τον πρώτο πίνακα διαλέξτε το AP στο οποίο θέλετε να επιτεθείτε. Το AP αυτό θα πρέπει να έχει όνομα (στήλη ESSID) για το οποίο να διαθέτετε τον αντίστοιχο πίνακα με precomputed PMK. Επίσης, θα πρέπει να χρησιμοποιεί το πρωτόκολλο WPA ή WPA2 στην PSK γεύση του (στήλες ENC και AUTH). Αφού διαλέξετε AP, σημειώστε κάπου το όνομά του, την MAC διεύθυνσή του, και το κανάλι στο οποίο λειτουργεί (στήλες ESSID, BSSID και CH) και τερματίστε το airodumb-ng με Ctrl-C. Χρησιμοποιώντας τα στοιχεία αυτά, τώρα πληκτρολογήστε:

airodump-ng –c κανάλι –-bssid διεύθυνση_MAC_του_AP –w όνομα_αρχείου_capture wlan0

π.χ.

airodump-ng –c 11 –-bssid 00:22:75:45:41:98 –w framecap wlan0

Με αυτόν τον τρόπο ζητάτε από το airodump-ng να συλλαμβάνει όλα τα frame που κυκλοφορούν στον αέρα και αφορούν το συγκεκριμένο AP και να τα αποθηκεύει στο αρχείο που ορίσατε (στο παράδειγμα, θα ονομαστεί framecap-01.cap). Όμως εσείς δεν θέλετε οποιαδήποτε frame. Θέλετε αυτά που ανταλλάσσονται μεταξύ του AP και κάποιου client κατά τη διαδικασία του authentication. Έτσι, αρχικά ελέγξτε τον κάτω πίνακα που εμφανίζει το airodump-ng για να δείτε αν υπάρχει κάποιος client συνδεδεμένος στο AP. Αν ο πίνακας είναι κενός, τότε δεν υπάρχει συνδεδεμένος client και το μόνο που μπορείτε να κάνετε είναι να περιμένετε κάποιον να συνδεθεί. Αν υπάρχει συνδεδεμένος client, αρχικά σημειώστε τη διεύθυνση MAC του client (στήλη STATION). Στη συνέχεια, ανοίξτε μια δεύτερη κονσόλα και πληκτρολογήστε:

aireplay-ng –-deauth=10 –a διεύθυνση_MAC_του_AP –c διεύθυνση_MAC_του_client wlan0

π.χ.

aireplay-ng –deauth=10 –a 00:22:75:45:41:98 –c 7C:6D:62:5C:13:EA wlan0

Αποστολή πακέτων deauth στον client με χρήση του aireplay-ng. Με την παράμετρο --deauth=10 επιλέγεται η επανάληψη της αποστολής 10 φορές, για να σιγουρευτεί ότι ο client θα αναγκαστεί να επαναλάβει το authentication.

Έτσι, το aireplay-ng θα στείλει πακέτα deauth στον client, αναγκάζοντάς τον να επαναλάβει τη διαδικασία authentication ώστε το airodumb-ng να συλλάβει τα frame που χρειάζεται.
Είτε με φυσιολογικό, είτε με τεχνητά προκαλούμενο authentication, όταν το airodump-ng συλλάβει τα απαραίτητα frame, θα εμφανίσει (στο πάνω μέρος της κονσόλας που καταλαμβάνει) το μήνυμα “WPA handshake” ακολουθούμενο από τη διεύθυνση MAC του AP (Δυστυχώς, στην πράξη επιβεβαιώθηκε ότι, ενώ το airodump-ng συλλαμβάνει κάθε φορά επιτυχώς τα frame του authentication, κάποιες φορές δεν εμφανίζει αυτό το μήνυμα. Οπότε, αν τύχει μετά την εκτέλεση του aireplay-ng ή το φυσιολογικό authentication ενός client, να μην εμφανιστεί το εν λόγω μήνυμα, δοκιμάστε να προχωρήσετε στο επόμενο βήμα πάραυτα. Άλλωστε το coWPAtty είναι σε θέση να καταλάβει αν τα απαραίτητα frame δεν περιέχονται στο αρχείο του capture και να σας ενημερώσει σχετικά.). Σ’ αυτό το σημείο μπορείτε πλέον να διακόψετε τη σύλληψη frame με το airodump-ng (Ctrl-C).

Το airodump-ng επικεντρωμένο στο συγκεκριμένο δίκτυο, συλλαμβάνοντας frame. Τη στιγμή που θα συλλάβει τα frame του handshake, θα σας ειδοποιήσει εμφανίζοντας το μήνυμα που έχει σημανθεί με κόκκινο.Μένει να αναθέσετε στο coWPAtty την αναζήτηση του passphrase. Στην κονσόλα, πληκτρολογήστε:

cowpatty –r όνομα_αρχείου_capture –d αρχείο_πίνακα_precomputed_PMK –s SSID_του_AP

π.χ.

cowpatty –r framecap-01.cap –d linksys.wpa –s Linksys

Το coWPAtty επιτίθεται στο capture file με τον πίνακα linksys από το σετ της Offensive Security. Όπως φαίνεται στο στιγμιότυπο, μετά από σχεδόν 7 λεπτά, και τον έλεγχο 30 από τα 49 συνολικά εκατομμύρια passphrase, η έρευνα αποφέρει καρπούς! ;)

Αν το passphrase που χρησιμοποιεί το AP, είναι μέσα σε αυτά που χρησιμοποιήθηκαν για την δημιουργία του πίνακα των precomputed PMK, μέσα σε λίγα λεπτά η δευτερόλεπτα (ανάλογα με το μέγεθος του πίνακα και την ταχύτητα της CPU σας), το coWPAtty θα το εντοπίσει και θα το εμφανίσει στην οθόνη σας. Δεν ήταν και τόσο δύσκολο, ε;

Το συμπέρασμα που βγαίνει απ’ όλη αυτή την ιστορία είναι ότι πρέπει να δίνετε ιδιαίτερη σημασία στο SSID και το passphrase που δηλώνετε για το δίκτυό σας. Θα έχετε παρατηρήσει άλλωστε ότι ακόμα και οι εταιρίες πάροχοι internet, διαφοροποιούν πλέον τα default SSID από router σε router (π.χ. CONN-X_αριθμός αντί του σκέτου CONN-X). Επιλέγοντας ένα σπάνιο SSID, αποτρέπετε τους υποψήφιους cracker να επιτεθούν στο δικό σας δίκτυο, για το οποίο δεν υπάρχουν έτοιμοι πίνακες. Επιπλέον, επιλέγοντας ένα μεγάλο και περίπλοκο passphrase που δεν περιέχει κοινές λέξεις, καθιστάτε το δίκτυό σας πρακτικά άτρωτο. Τι λέτε; Δεν αξίζει τον κόπο;

Σπάνιο SSID - Επίθεση χωρίς πίνακες

Αν θέλετε οπωσδήποτε να δοκιμάσετε την τεχνική σε κάποιο AP, για το SSID του οποίου δεν βρίσκετε κάποιον έτοιμο πίνακα precomputed PMK, μπορείτε να χρησιμοποιήσετε ένα απλό αρχείο dictionary. Αλλάξτε απλά τη σύνταξη του coWPAtty και αντί του “–d αρχείο_πίνακα”, βάλτε “-f αρχείο_dictionary”. Φυσικά, η διαδικασία θα είναι *εκατοντάδες φορές* πιο αργή και καθόλου πρακτική για ογκώδη dictionary.

Σπάνιο SSID - Δημιουργήστε τους δικούς σας πίνακες

Αν θέλετε να δοκιμάζετε συχνά την τεχνική σε ένα συγκεκριμένο AP (επειδή, λόγου χάρη, ο ιδιοκτήτης αλλάζει συχνά passphrase), αλλά δεν βρίσκετε έτοιμο πίνακα precomputed PMK για το αντίστοιχο SSID, μπορείτε να δημιουργήσετε εσείς τον πίνακα. Θα χρειαστείτε ένα dictionary και το εργαλείο genpmk, το οποίο συνοδεύει το coWPAtty (άρα και το BackTrack). Για τη δημιουργία, ανοίξτε μια κονσόλα και πληκτρολογήστε:

genpmk –f αρχείο_dictionary –d όνομα_αρχείου_πίνακα –s το_σπάνιο_SSID

π.χ.

genpmk –f wordlist.txt –d xaker-table.wpa –s xaker

Δημιουργία πίνακα precomputed PMK με το genpmk. Στον υπολογιστή της δοκιμής, η δημιουργία του πίνακα από ένα μικρό dictionary 18000 λέξεων διήρκησε 2½ λεπτά. Αναλογικά, η δημιουργία ενός αποδοτικού πίνακα, σαν αυτούς της Offensive Security, θα απαιτούσε 4½ μέρες.Η διαδικασία θα διαρκέσει σχεδόν όσο και η αντίστοιχη επίθεση χωρίς πίνακα, δηλαδή *πολύ χρόνο*, αλλά στη συνέχεια διαδοχικές επιθέσεις σε δίκτυα με το συγκεκριμένο SSID θα είναι εύκολες και γρήγορες.

Pyrit – Το επόμενο βήμα

Η μέθοδος επίθεσης με το coWPAtty παρουσιάζεται σαν αναφορά σε αυτό το εισαγωγικό άρθρο για το σπάσιμο του WPA/WPA2. Στην πράξη, η πλέον αποδοτική επίθεση γίνεται με το Pyrit, ένα εργαλείο κάπως δύστροπο στο στήσιμό του –ο λόγος που το αποφύγαμε σ’ αυτή την εισαγωγή- αλλά με χαρακτηριστικά που εκτοξεύουν επιδόσεις και ευχρηστία όπως:

  • υποστήριξη GPU που το καθιστά τρομερά πιο γρήγορο από το coWPAtty,
  • οργάνωση των precomputed PMK σε βάσεις δεδομένων,
  • δικτύωση για δημιουργία WPA cracking clusters (!!!),

Έτσι, στο δεύτερο μέρος αυτού του αφιερώματος στο σπάσιμο του WPA/WPA2, μπορείτε να δείτε αναλυτικά και βήμα-βήμα (όπως πάντα) πώς να στήνετε και να χρησιμοποιείτε το πανίσχυρο αυτό εργαλείο. Ακόμα εδώ είστε;

Μοιράσου το:

Google DiGG ReddIt LinkedIn Microsoft Live del.icio.us StumbleUpon RSS PDF Print

22 Responses to “Επίθεση για σπάσιμο του WPA/WPA2 (1ο μέρος)”

  1. zuss | 05/12/2011 at 20:42

    Να ρωτησω, γιατι ολα αυτα στα back|track 4 και οχι στην τελευταια εκδοση του; Αν και να μου πεις μασημενη τροφη

    • praeto | 05/12/2011 at 21:04

      1. Δες την κατηγορία στην οποία ανήκει το άρθρο.
      2. Δες την ημερομηνία του άρθρου.
      3. Ένωσε τις τελείες :)

    • subZraw | 05/12/2011 at 21:34

      Αυτό το αφιέρωμα είχε δημοσιευτεί για πρώτη φορά στον πρόγονο του deltaHacker. Αλλά έννοια σου και πήρε τ' αυτί μου ότι κάπου, κάποιος, ήδη σκέφτεται να γράψει ανανεωμένο αφιέρωμα. Κι όταν το γράψει θα το δημοσιεύσει αποκλειστικά στο deltaHacker, περιττό να σημειώσω :D

  2. Timewarper | 07/12/2011 at 07:44

    Εξαιρετικό άρθρο και ειδοποιός διαφορά του απο παρόμοια άρθρα πιστεύω ειναι η λεπτομερής ανάπτυξης του θεωρητικού υποβάθρου του wpa/wpa2 encryption και συνεπώς και της επίθεσης.

    Κάτι αλλο, παρατηρώ τουλάχιστον στη γειτονιά μου πολλά wep encrypted wifi's και αφου απο οτί φαινεται υπαρχει κόσμος που κανει ακόμα αυτο το μοιραίο λαθος θα ηταν καλή ιδεα καποιος να ποσταρει ενα ανάλογο συντομο αφιέρωμα-revision στο wep (ναι, ζω σε πιθάρι).

    Εχω διαβάσει σχετικά με wep επιθέσεις αλλα άρθρα αλλα σε πάνε κατευθείαν στο τι πρόγραμμα να χρησιμοποιήσεις και με ποιές παραμέτρους. Θα ήταν ωραίο ενα αρθράκι να σου λέει 2 λόγια και για ποίο λογο δουλεύει θεωρητικά το πράγμα.
    (Αν δεν γίνεται αυτο θα εκτιμούσα ενα λινκ για το παλιό αρθρο σχετικά με το wep γιατι δεν το βρίσκω πουθενά)

    Τhanks in advance. :)

    • subZraw | 07/12/2011 at 09:27

      Για το WEP είχαμε γράψει μια δυο φορές στον πρόγονο του deltaHacker και, πράγματι, ακόμη και σήμερα υπάρχουν άνθρωποι που το χρησιμοποιούν! Ναι, μοιάζει απίστευτο, κι όμως συμβαίνει. Ίσως λοιπόν αξίζει ν' ανεβάσουμε ένα αρθράκι που είχαμε γράψει σχετικά πρόσφατα στον πρόγονο. Σ' αυτό η επίθεση γίνεται μέσα από το BackTrack 4 και η θεωρία (σκοπίμως) δεν αναπτύσσεται επαρκώς. Επιδεικνύεται όμως πόσο εύκολα σπάει το WEP κι αυτό νομίζουμε ότι είναι σημαντικό. Στο περιοδικό πάντως θα μπορούμε ν' αναπτύξουμε καλύτερα τη θεωρία, να δούμε και πώς γίνεται η επίθεση με εναλλακτικούς τρόπους μέσα από το BackTrack 5R1. Εν αναμονή, λοιπόν!

  3. giannis | 22/01/2012 at 23:18

    φοβερό και πολύ αναλυτικό post!
    έχω όμως μια απορία.
    επειδή είμαι καινούργιος και δεν έχω ασχοληθεί πολλές ώρες θέλω να ρωτήσω το έξεις.
    κατέβασα χτες τη μεγάλη λίστα των 33 giga και μου έβγαλε αυτά τα αρχεία :SSID.txt wpa_tables.tar.lzma
    wpa_tables.tar.lzma.md5sum wpa_tables.tar.lzma.sha512sum
    το wpa_tables.tar.lzma το αποσυμπίεσα και μου εμφάνισε 9 φακέλους οι οποιοι έχουν μέσα μερικά αρχεία τα οποια όταν πατάω ιδιότητες για να δω τον τύπο αρχείων μου γραφει : τύπος αρχείου : αρχείο
    αυτά για να τα τρέξω πρέπει να τα μετατρέψω σε .txt?
    τι ακριβώς πρέπει να κάνω ρε παιδιά? έχω κολλήσει! :(

    • praeto | 22/01/2012 at 23:23

      Τα αρχεία αυτά είναι οι πίνακες precomputed PMK, η λειτουργία των οποίων περιγράφεται στο άρθρο.

      Δεν χρειάζεται να μετατραπούν ή να μετονομαστούν σε τίποτα. Είναι έτοιμοι για χρήση από το cowpatty, ακριβώς όπως περιγράφει το άρθρο.

  4. giannis | 22/01/2012 at 23:54

    μπερδεύομαι σε αυτό εδώ το κομμάτι
    cowpatty –r όνομα_αρχείου_capture –d αρχείο_πίνακα_precomputed_PMK –s SSID_του_AP
    αρχείο_πίνακα_precomputed_PMK θα βάλω το όνομα του αρχείου (2WIRE007) η το όνομα του φακέλου ( xac-0) όπου βρίσκονται?

    • praeto | 23/01/2012 at 01:03

      Ρε συ Γιάννη, με συγχωρείς κιόλας, αλλά έλεος... για ποιόν λόγο μπερδεύεσαι όταν η οδηγία δεν γίνεται να είναι πιο σαφής: ΑΡΧΕΙΟ_πίνακα_precomputed_PMK. Αρχείο.

      Εκεί λοιπόν θα βάλεις το όνομα του αρχείου του πίνακα precomputed PMK που θες να χρησιμοποιήσεις. Το όνομα αυτό αντιστοιχεί και στο SSID για το οποίο είναι σχεδιασμένος ο πίνακας φυσικά.

  5. giannis | 23/01/2012 at 01:06

    το κατάφερα :)

  6. mp3nick | 08/02/2012 at 13:20

    Γεια σας και απο μενα! παρουσιαστηκε ενα μικρο προβλημα ,εμφανιζει στο cowpatty
    [buffer overflow detected
    //
    bfd10000-bfd25000 rw-p bffeb000 00:00 0 [stack] ]

    τι μπορει να φτεει?

    • praeto | 08/02/2012 at 14:19

      Χρησιμοποιείς σίγουρα την τελευταία έκδοση του cowpatty;

      Παρεμπιπτόντως, γιατί δεν δοκιμάζεις το pyrit μιας και το cowpatty έχει να ενημερωθεί απ' το 2009; Στο δεύτερο μέρος αυτού του άρθρου υπάρχουν αναλυτικές οδηγίες για τη χρήση του.

  7. karf | 09/02/2012 at 01:39

    +1 praeto

  8. Sp1r0us | 18/07/2012 at 15:40

    Θα ήθελα να επισημάνω 2 μικρά λαθάκια στο σημείο με το airodump.Στο παράδειγμα που δίνεται από κάτω το ονομάζεται airodum'b' και στο σημείο με το bssid στο ίδιο παράδειγμα θέλει 2 παύλες.Αυτά :)

  9. mimis3610 | 01/10/2012 at 18:25

    γεια σε ολους...μια ερωτηση γιατι ειμαι καινουργιος....η ιδια διαδικασια με τισ εντολες γινεται και στην τελευταια εκδοση του backtrack την backtrack5r3;;σας ευχαριστω..!!

    • subZraw | 01/10/2012 at 18:27

      Καλησπέρα,
      Προσωπικά δεν το έχω δουλέψει στο τελευταίο BackTrack. Φαντάζομαι όμως ότι σε γενικές γραμμές θα μπορείς ν' ακολουθήσεις κι εκεί τη διαδικασία. Δεν χάνεις κάτι να δοκιμάσεις. Το νου σου, όμως: Το σπάσιμο του WPA/WPA2 δεν είναι ό,τι πιο εύκολο :)

      • mimis3610 | 01/10/2012 at 21:42

        το καταλαβα χα χα χα..ερωτηση..που θα βρω πίνακες precomputed PMK; και πως θα τους βαλω στο backtrack;....χρησιμοποιω το backtrack μεσω του vmware player

  10. thodoris863 | 21/01/2013 at 20:38

    καλησπερα εχω εκτελεση ολεσ τησ εντολες σωστα αλλα μολισ φτανω στο cowpatty δε μοθ βγαζει τιποτα μοθ λεει no such file γιατι σθμβενςι αυτο?

    • subZraw | 22/01/2013 at 23:08

      Διάβασε σε παρακαλώ όλη τη συζήτηση που έχει προηγηθεί.

      Καταλαβαίνω ότι δεν έχεις εμπειρία από το Linux και τη γραμμή εντολών. Αυτό φυσικά δεν είναι κακό ή μεμπτό. Από την άλλη, όμως, για να μάθει κανείς να πετάει πρέπει πρώτα να μάθει να περπατάει -- έτσι δεν είναι;

      Προτείνω να διαβάσεις τη μίνι σειρά εισαγωγικών άρθρων στη γραμμή εντολών του Linux (για την ακρίβεια στο BASH shell). Η σειρά αποτελείται από τέσσερα άρθρα που είναι δημοσιευμένα στα τεύχη 015 (http://deltahacker.gr/?p=7294) και 016 (http://deltahacker.gr/?p=7711) του deltaHacker.

  11. Rasen_Shurik3n | 23/01/2013 at 14:20

    Επιτρέψτε μου να συμπληρώσω, πως αν κάποιος δεν θέλει να μπλέξει με εξωτερικά εργαλεία (έστω ότι δεν χρησιμοποιεί BackTrack που εμπεριέχονται όλα) και χρησιμοποιεί την σουίτα aircrack-ng σε κάποιο άλλο OS, την δουλεία του cowpatty μπορεί να την κάνει *και* το aircrack με τις ίδιες σχεδόν εντολές

  12. baspax11 | 03/11/2013 at 22:00

    Ρε παιδια σε πίνακες precomputed PMK που ψαχνω δεν βρισκω πίνακες για Thomson...
    Σε ενα ρουτερ πχ Thomson709350 το οποιο εχει αλλαξει κωδικό αλλα οχι ssid τι πρεπει να βαλω precomputed PMK για Thomson η να ψάξω με ενα απλο dictionary με pyrit με μεθοδο attack_passthrough?
    Και αν ειναι ετσι τοτε ποιο ο λογος να κατεβάσω τοσο ογκώδεις πινακες αφου και με μια απλη εφαρμογη απο το android μου ανοιγουν σχεδον ολοι οι default codes τον router οπως τις Cyta , Thomson κτλ..

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

Google Site-Search

Πρόσφατα

  • Tabber

Σχόλια

  • orestis46 στο Το δικό σας εργαστήριο με το VirtualBox

    1) Δεν γίνεται να δώσουμε στο VM την φυσική κάρτα eth0 απευθείας για να έχει την ίδια MAC...

    Ημερομηνία: 22/10/2014

  • subZraw στο Το δικό σας εργαστήριο με το VirtualBox

    Γεια κι από εδώ :) 1) Η ιδέα με το virtualization είναι ότι τα VMs δεν πρέπει να βλέπουν...

    Ημερομηνία: 21/10/2014

  • sip03ds στο Το δικό σας εργαστήριο με το VirtualBox

    Γειά χαρά, έχω μια απορία σχετικά με το bridge networking (libvirt - που χρησιμοποιεί το virtualbox -- ή...

    Ημερομηνία: 19/10/2014

  • stathisb στο Το Kali με WiFi, στο PenTest Lab

    Παρακαλώ αν μπορεί κάποιος ας βοηθήσει στο σχετικό topic http://deltahacker.gr/topic/%CF%80%CF%81%CF%8C%CE%B2%CE%BB%CE%B7%CE%BC%CE%B1-%CE%BC%CE%B5-%CF%84%CE%BF-install-%CF%84%CE%BF%CF%85-kali-linux-%CF%83%CE%B5-virtualbox/#post-12359

    Ημερομηνία: 09/10/2014

  • Cr0wTom στο Να Άννα ένας ανανάς!

    Χαίρομαι που το διαλευκαναμε :D Όσο αναφορά το ερώτημα σου για την αγορα, σου λεω οτι στο 99% των...

    Ημερομηνία: 08/10/2014

Άρθρα

Θέματα

Αρχείο