Η ονομασία Rainbow Tables ίσως παραπέμπει σε κάτι πολύχρωμο και όμορφο αλλά στην πραγματικότητα είναι ένα πολύ ισχυρό εργαλείο hacking.
Τι είναι τα Rainbow Tables; Πώς θα μπορούσε μια τόσο χαριτωμένη ονομασία να είναι τόσο επιβλαβής;
Η βασική ιδέα πίσω από τα Rainbow Tables:....
Το σενάριο είναι ότι ένας κακόβουλος χρήστης κατάφερε να αποκτήσει πρόσβαση σε ένα διακομιστή και να υποκλέψει τη βάση δεδομένων που χρησιμοποιεί. Η βάση περιέχει ονόματα χρηστών και κωδικούς πρόσβασης.Οι κωδικοί πρόσβασης που βρίσκονται καταχωρημένοι στη βάση είναι κρυπτογραφημένοι, και έτσι δεν μπορεί να τους διαβάσει και να τους χρησιμοποιήσει. Για να του είναι χρήσιμοι θα πρέπει να σπάσει την κρυπτογράφηση των κωδικών (ή τουλάχιστον τον κωδικό πρόσβασης του διαχειριστή).
Ποιες είναι οι επιλογές για να σπάσει την κρυπτογράφηση των κωδικών πρόσβασης;
Μπορεί να προσπαθήσει να χρησιμοποιήσετε ένα εργαλείο brute-force, όπως το John the Ripper, που προσπαθεί να μαντέψει επαναληπτικά κάθε πιθανό συνδυασμό ενός κωδικού πρόσβασης. Δεύτερη επιλογή του είναι να φορτώσει ένα λεξικό κωδικών πρόσβασης που περιέχουν εκατοντάδες χιλιάδες κωδικούς πρόσβασης που χρησιμοποιούνται συνήθως για να ανακαλύψει αν η λίστα εμπεριέχει, αυτόν που ζητάει. Αυτές οι μέθοδοι μπορεί να χρειαστούν εβδομάδες, μήνες ή ακόμη και χρόνια, και αρκετούς υπολογιστικούς πόρους αν οι κωδικοί πρόσβασης είναι αρκετά ισχυροί.
Όταν ένας κωδικός πρόσβασης δοκιμαστεί σε ένα σύστημα γίνεται «hashed» χρησιμοποιώντας την κρυπτογράφηση, έτσι ο πραγματικός κωδικός πρόσβασης δεν αποστέλλεται σε μορφή απλού κείμενου διαμέσου της γραμμής επικοινωνίας. Αυτό αποτρέπει από αυτούς που «ακούν» το δίκτυο σας να υποκλέψουν τον κωδικό πρόσβασης. Το hash του κωδικού πρόσβασης συνήθως μοιάζει με ένα σωρό γράμματα και αριθμούς που δεν έχουν κανένα νόημα και έχει συνήθως διαφορετικό μέγεθος από το αρχικό κωδικό πρόσβασης. Έτσι ο κωδικός πρόσβασης «password», αλλά έχει σαν MD5 hash το «5f4dcc3b5aa765d61d8327deb882cf99″
Για την επαλήθευση ενός χρήστη, το σύστημα παίρνει την hashed τιμή που δημιουργείται από τη συνάρτηση κατακερματισμού κωδικών πρόσβασης στον υπολογιστή-πελάτη και τη συγκρίνει με την τιμή κατακερματισμού που αποθηκεύεται σε έναν πίνακα στο διακομιστή. Αν τα αθροίσματα ελέγχου ταιριάζουν, τότε ο χρήστης έχει επικυρωθεί και θα χορηγηθεί η πρόσβαση.
Ο κατακερματισμός (hashing) ενός κωδικού πρόσβασης είναι 1-way function, πράγμα που σημαίνει ότι δεν μπορεί να αποκρυπτογραφηθεί το hash για να δείτε ποιο είναι το σαφές κείμενο του κωδικού πρόσβασης. Δεν υπάρχει κλειδί για την αποκρυπτογράφηση του hash μόλις αυτή δημιουργηθεί. Δεν υπάρχει «αποκωδικοποιητής» αν θέλετε.
Τα προγράμματα για σπάσιμο κωδικών πρόσβασης λειτουργούν με παρόμοιο τρόπο που χρησιμοποιείται από τη διαδικασία σύνδεσης. Το πρόγραμμα ξεκινά παίρνοντας κωδικούς πρόσβασης σε μορφή απλού κειμένου. Δια μέσω ενός hash algorithm αλγόριθμου, όπως τον MD5, φτιάχνει τις hash τιμές των κωδικών. Στη συνέχεια συγκρίνει τα hash που βγήκαν με τα hashes των κωδικών πρόσβασης μιας βάσης δεδομένων. Αν διαπιστωθεί ταύτιση τότε το πρόγραμμα έχει ανακαλύψει τον κωδικό πρόσβασης. Όπως είπαμε και πριν, αυτή η διαδικασία μπορεί να διαρκέσει πάρα πολύ καιρό.
Εισαγωγή στα Rainbow Tables
Τα Rainbow Tables είναι τεράστιοι πίνακες γεμάτοι με....Διαβάστε περισσότερα στο: www.iguru.gr