Πριν διαβάσετε οτιδήποτε, θυμηθείτε την εξής πολύ απλή αρχή:
ΑΛΛΑΖΕΤΕ ΠΑΝΤΑ ΤΟ ΕΡΓΟΣΤΑΣΙΑΚΟ PASSWORD ΤΟΥ ACCESS POINT ΣΑΣ!
Tutorial για Netfaster 2 WPA cracking
- Το default password των Netfaster2 είναι η MAC του access point, ακολουθούμενη από μία παύλα και 4 αριθμούς. Δηλαδή είναι της μορφής 000559hhhhhh-xxxx.
- Τα πρώτα 6 ψηφία (000559) είναι κοινό χαρακτηριστικό όλων των Netfaster2 ενώ τα επόμενα έξι "h" είναι δεκαεξαδικοί αριθμοί. Μπορούμε να βρούμε τη MAC με πολλούς τρόπους (είτε χρησιμοποιώντας ένα πρόγραμμα σαν το inSSIDer σε Windows, είτε τρέχοντας την εντολή "iwlist scan" σε Linux).
- Αυτό που μας ενδιαφέρει είναι να έχουμε μια λίστα (δηλ. ένα απλό αρχείο κειμένου) με τους πιθανούς συνδυασμούς των τεσσάρων τελευταίων αριθμών. Τέτοιες λίστες δεν υπάρχουν έτοιμες (αφού εξαρτώνται άμεσα από την εκάστοτε MAC) αλλά μπορούμε να δημιουργήσουμε μία μέσω της σελίδας http://nasos.gr/nf
- Δυστυχώς η λίστα από μόνη της δεν μας λύνει το πρόβλημα, γιατί πρέπει να την εφαρμόσουμε κάπου. Αυτό το "κάπου" είναι το captured handshake μεταξύ του access point που θέλουμε να σπάσουμε και κάποιου σταθμού που συνδέεται σε αυτό (PC, laptop, κινητό κλπ).
- Για να "πιάσουμε" το WPA handshake (και στη συνέχεια να το σπάσουμε) πρέπει πρώτα να καταλάβουμε τι είναι αυτό.
- Προφανώς μπορούμε να βρούμε πολύ λεπτομερείς ορισμούς αν ψάξουμε στο Internet (πχ. να ένας γενικός ορισμός αλλά και ένας πιο λεπτομερής σχετικά με το 4-way handshake). Δεν βλάπτει όμως να το εξηγήσουμε επί τροχάδην.
- Όταν ένας σταθμός προσπαθεί να συνδεθεί σε κάποιο κλειδωμένο access point, πρέπει να "καταθέσει" κάποια διαπιστευτήρια. Αυτό είναι το password του WPA (αλλιώς Pre-Shared Key ή PSK). Ανταλλάσσει λοιπόν μια ακολουθία δεδομένων με το access point, η οποια είναι κρυπτογραφημένη και άρα δεν μπορεί να διαβαστεί ευθέως από κάποιον τρίτο που παρακολουθεί την ασύρματη αυτή επικοινωνία.
- Αυτό όμως δεν αποτρέπει τον τρίτο από το να υποκλέψει την κρυπτογραφημένη ακολουθία και να επιχειρήσει να τη σπάσει.
- Προφανώς το access point και ο συνδεδεμένος σταθμός ανταλλάσσουν διαρκώς δεδομένα, όμως αυτό το αρχικό handshake έχει μια μεγάλη διαφορά από τα υπόλοιπα data. Το handshake περιέχει -σε κρυπτογραφημένη μορφή- το ίδιο το password! (στην πράξη είναι λίγο πιο περίπλοκο αλλά δεν είναι επί του προκειμένου)
- Αν λοιπόν τύχει να παρακολουθούμε κάποιο access point ακριβώς τη στιγμή που συνδέεται κάποιος σταθμός πάνω του, μπορούμε να κάνουμε capture αυτό το handshake και να το αποθηκεύσουμε ως αρχείο στον υπολογιστή μας.
- Στις μέρες μας ίσως ο πιο συνήθης τρόπος για να το πραγματοποιήσουμε αυτό είναι μέσω του προγράμματος airodump-ng και μάλιστα στην εκδοχή του για Linux (το πρόγραμμα περιέχεται στη σουίτα εφαρμογών aircrack-ng, η οποια υπάρχει και για Windows αλλά γενικά προτείνεται η χρήση του σε Linux).
- Από τη στιγμή που έχουμε το handshake του Netfaster στον υπολογιστή μας, αρκεί να τρέξουμε ένα πρόγραμμα σαν το aircrack-ng για να το σπάσουμε και να βρούμε τον κωδικό.
- Στην περίπτωση του WPA όμως το aircrack-ng θα πρέπει να "διαβάζει" από κάποια λίστα ώστε να μπορέσει να αποκρυπτογραφήσει το handshake. Δεν υπάρχει άλλος τρόπος σπασίματος. Φυσικά η λίστα είναι αυτή που αναφέραμε πιο πάνω, με τη MAC του NF2, την παύλα και 10000 συνδυασμούς τετραψήφιων αριθμών (στην πράξη όμως οι συνηθισμένες λίστες για το σπάσιμο του WPA είναι μεγάλα text αρχεία με πολλές δεκάδες εκατομμύρια λέξεις).
- Λίγη προεργασία. Το πρώτο πράγμα που πρέπει να γνωρίζουμε είναι αν η ασύρματη κάρτα δικτύου μας (συγκεκριμένα το κεντρικό τσιπάκι της) μπορεί να "γυρίσει" σε monitor ή promiscuous mode.
- Αυτό είναι μια ειδική λειτουργία των καρτών δικτύου που τους επιτρέπει να επεξεργάζονται όλα τα δεδομένα που ανιχνεύουν. Η λειτουργία αυτή εξαρτάται σχεδόν αποκλειστικά από τους εκάστοτε drivers της κάρτας δικτύου. Μεγάλο ρόλο παίζει και το λειτουργικό σύστημα, αφού οι Linux drivers μιας κάρτας μπορεί να υποστηρίζουν promiscuous mode ενώ οι αντίστοιχοι Windows drivers όχι (μάλιστα αυτή η περίπτωση είναι και η πλέον συνηθισμένη, γι' αυτό τα Windows δεν προτείνονται γενικά για τέτοιες δουλειές).
- Στη συνέχεια θα πρέπει να εγκαταστήσουμε (ή απλά να τρέξουμε μέσω LiveCD ή USB stick) μια διανομή Linux στο PC μας. Μία γρήγορη λύση είναι η διανομή Backtrack, που περιέχει όλα τα εργαλεία που θα μας επιτρέψουν να σπάσουμε ασύρματα δίκτυα.
- Είναι πολύ σημαντικό λοιπόν να βεβαιωθούμε ότι η έκδοση του Backtrack που κατεβάσαμε υποστηρίζει την κάρτα δικτύου μας. Δεν είναι δύσκολο να το τσεκάρουμε με ένα απλό γκουγκλάρισμα.
- Αφού φορτώσει το Backtrack ανοίγουμε ένα παράθυρο κονσόλας και δίνουμε την εντολή "iwconfig". Αυτή θα μας δείξει την ονομασία της κάρτας δικτύου μας. Το πιο συνηθισμένο όνομα είναι το "wlan0".
- Στη συνέχεια τρέχουμε την εντολή "airmon-ng start wlan0" (ή οποιο όνομα έχει η κάρτα μας). Αυτή η εντολή ενεργοποιεί το promiscuous mode της κάρτας και αν παρατηρήσετε θα δείτε ότι της δίνει και μια νέα ονομασία (συνήθως "mon0"). Από εδώ και μπρος θα πρέπει να χρησιμοποιούμε τη νέα ονομασία στις εντολές που δίνουμε, δηλαδή "mon0" και όχι "wlan0"!
- Η επόμενη εντολή είναι η "airodump-ng" για να αρχίσουμε να ανιχνεύουμε τα πακέτα που μεταδίδονται ασύρματα τριγύρω μας. Η εντολή έχει αρκετές παραμέτρους, οι οποιες όμως γενικά χρησιμοποιούνται ανάλογα με την περίπτωση.
- Στη δική μας περίπτωση θέλουμε 3 πράγματα. Πρώτον να δηλώσουμε τη MAC address (αλλιώς BSSID) του Netfaster που μας ενδιαφέρει. Δεύτερον το κανάλι στο οποιο αυτό εκπέμπει και τρίτον να αποθηκεύσουμε κάπου τα δεδομένα που θα υποκλέψουμε.
- Ένα παράδειγμα είναι το παρακάτω: "airodump-ng --bssid 00:05:59:12:34:56 --channel 6 --write captureFile mon0". Το "captureFile" είναι ένα τυχαίο όνομα αρχείου. Προφανώς μπορείτε να βάλετε όποιο όνομα θέλετε.
- Η εφαρμογή θα αρχίσει να τρέχει και να μαζεύει πακέτα. Για να έχουμε ελπίδα επιτυχίας θα πρέπει στο κάτω μέρος της οθόνης να δούμε κάποιο συνδεδεμένο σταθμό (αγγλιστί: associated station). Αν δεν μπορούμε να εντοπίσουμε κάποιο station, τότε δεν πρόκειται να υποκλέψουμε το απαραίτητο handshake.
- Αν κάποια στιγμή ένας χρήστης συνδεθεί πάνω στο access point, τότε είναι πολύ πιθανό να κάνουμε capture το handshake. Θα εμφανιστεί ένα μήνυμα "WPA Handshake" πάνω δεξιά στο παράθυρο του airodump-ng και πρακτικά η δουλειά του έχει τελειώσει.
- Σταματάμε το airodump-ng με Control-C και τρέχουμε την εντολή "aircrack-ng", δηλώνοντας ως παραμέτρους το αρχείο που μόλις υποκλέψαμε (αυτό που ονόμασα "captureFile") καθώς και τη λίστα (wordlist) που δημιουργήσαμε/κατεβάσαμε.
- Σε περίπτωση που κάποιος χρήστης ήταν ήδη συνδεδεμένος πάνω στο access point τη στιγμή που ενεργοποιήσαμε το airodump-ng, τότε είτε θα πρέπει να περιμένουμε να αποσυνδεθεί και να συνδεθεί ξανά, είτε να... βοηθήσουμε λίγο την κατάσταση.
- Αφήνουμε το airodump-ng να τρέχει και εφόσον ξέρουμε τις MAC του σταθμού και του access point, τρέχουμε την εντολή "aireplay-ng -0 5 -c <MAC σταθμού> -a <MAC access point> mon0".
- Αυτό λέει στην κάρτα δικτύου μας να προσπαθήσει επί 5 φορές (βλ. "-0 5") να αποσυνδέσει το σταθμό από το access point. Φυσικά το "5" μπορεί να είναι "1" ή οποιοσδήποτε αριθμός, αλλά καλό είναι να μην το παρακάνουμε (βάζοντας πχ. 500).
- Ο σταθμός θα αποσυνδεθεί στιγμιαία από το access point και στη συνέχεια θα ξανασυνδεθεί αυτόματα. Οπότε εμείς θα πιάσουμε το handshake!