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

Το αντιστρέφειν δια της αναζητήσεως

Είμαστε βέβαιοι ότι γνωρίζετε αρκετά καλά τον αλγόριθμο κρυπτογράφησης MD5. Για την ακρίβεια, είμαστε σίγουροι ότι έχετε έρθει “αντιμέτωποι” μαζί του τουλάχιστον για μία φορά. Σκεφτείτε μόνο τις περιπτώσεις στις οποίες κρατάτε ένα ΜD5 hash κι αναζητάτε διακαώς το αρχικό string: Το πολυπόθητο password για κάποιο σύστημα! Αλήθεια, τι θα λέγατε για ένα εργαλείο που παίρνει ένα hash και προσπαθεί να το “αντιστρέψει”, αναζητώντας το αρχικό string σε δικτυακές βάσεις δεδομένων;

deltaHacker Μαΐου (τεύχος 008) | Το αντιστρέφειν δια της αναζητήσεως

Κάθε φορά που βρίσκουμε ένα string κωδικοποιημένο κατά MD5 (το λεγόμενο MD5 hash), θέλουμε πάση θυσία να μάθουμε το αρχικό string. Εκείνο, δηλαδή, από την κωδικοποίηση του οποίου προέκυψε το hash. Βλέπετε, ο συγκεκριμένος αλγόριθμος κρυπτογράφησης χρησιμοποιείται συνήθως για την ασφαλή αποθήκευση των password ενός συστήματος. Επομένως, όταν καταφέρνουμε ν’ αποκτήσουμε ορισμένα MD5 hashes, λόγου χάρη από το αρχείο /etc/passwd, το μόνο που μάς χωρίζει από την ολοκληρωτική κατάκτηση του συστήματος είναι η αποκρυπτογράφησή τους. Ακριβώς τότε, η χρήση κάποιων online εργαλείων αποτελεί την ευκολότερη λύση. Η πρώτη μας κίνηση είναι να τρέξουμε σε διάφορες βάσεις δεδομένων, οι οποίες διατηρούν τεράστιες λίστες με πιθανά password και τα αντίστοιχα MD5 hashes. Όπως αντιλαμβάνεστε, σ’ αυτές τις βάσεις αναζητάμε ένα προς ένα τα MD5 hashes που έχουμε ξεσηκώσει από το μηχάνημα-στόχο. Αν κι εφόσον εντοπίσουμε κάποιο, βρίσκουμε ταυτόχρονα και το αντίστοιχο password! Όλα καλά, λοιπόν, αλλά για σταθείτε μισό λεπτό… Οι δικτυακές βάσεις δεδομένων, σαν αυτές που περιγράψαμε, είναι αρκετές. Επίσης, η χειροκίνητη αναζήτηση των MD5 hash σε κάθε βάση, αποτελεί μια επαναλαμβανόμενη και μάλλον βαρετή εργασία. Μήπως θα ήταν προτιμότερο ν’ αφήναμε ένα πρόγραμμα να κάνει τη χαμαλοδουλειά; Φυσικά και θα ήταν! Ακριβώς γι’ αυτό το λόγο γράψαμε ένα προγραμματάκι σε Perl, το οποίο ανατρέχει σε δώδεκα δικτυακές βάσεις δεδομένων και προσπαθεί ν’ αντιστρέψει το MD5 hash που του δίνουμε. Στη συνέχεια θα εξετάσουμε τον κώδικα του προγράμματος. Αυτή τη φορά, όμως, δεν θα τον αναλύσουμε γραμμή προς γραμμή. Θεωρούμε πως κάτι τέτοιο θα ήταν ανούσιο, καθώς από ένα σημείο και μετά το πρόγραμμα επαναλαμβάνει τα ίδια πράγματα για διαφορετικές βάσεις. Έτσι, θα επικεντρώσουμε στη μέθοδο με την οποία στέλνουμε στη βάση το εκάστοτε MD5 hash και στη συνέχεια ελέγχουμε την απάντησή της.

Διαβάστε όλο το άρθρο στο deltaHacker Μαΐου (τεύχος 008). Όλες τις πληροφορίες για τις συνδρομές στο deltaHacker, το μοναδικό μηνιαίο περιοδικό με θεματολογία ethical hacking και security που δεν κυκλοφορεί στα περίπτερα και απευθύνεται σε όλους, θα τις βρείτε εδώ ακριβώς. Για παραγγελίες μεμονωμένων τευχών ή συνδρομών συμπληρώστε τη σχετική φόρμα.

Σημείωση: Οι συνδρομές μπορούν να ξεκινούν από όποιο τεύχος επιθυμείτε, αρκεί να υπάρχει σε stock.

3 Responses to “Το αντιστρέφειν δια της αναζητήσεως”

  1. tr3quart1sta | 21/05/2012 at 14:15

    /name is (.*)\./

    γιατι θελει παρενθεση?

    • Ion | 22/05/2012 at 15:47

      Χωρίς να έχω διαβάσει το άρθρο ακόμα, καταλαβαίνω ότι κάπου χρησιμοποιείται σαν κανονική έκφραση αυτό, για να πάρει το όνομα. Η παρένθεση χρειάζεται για να αποθηκευτεί αυτό που ακολουθεί το “name is” σε μια μεταβλητή. Παρακάτω δηλαδή θα πρέπει να χρησιμοποιείται ως $1, $2 κλπ.

  2. itsoum | 10/01/2014 at 00:47

    Αναρωτιέμαι υπάρχουν ακόμα σοβαρά site που χρησιμοποιούν md5;

    Γιατί να φτιάξει κάποιος ένα πρόγραμμα σαν το πάνω, το οποίο ουσιαστικά βασίζεται σε μια λύση της μορφής rainbow tables-dictionary, που δεν έχει σίγουρα αποτελέσματα;

    Γιατί να μην πάει σε κάτι σίγουρο που βασίζεται μάλιστα σε επιστημονικά paper σαν αυτό:

    “How to Break MD5 and Other Hash Functions”
    http://www.iacr.org/cryptodb/archive/2005/EUROCRYPT/2868/2868.pdf
    (δημοσιεύτηκε το 2005 παρακαλώ)
    ή σε κάποιο αντίστοιχο paper με καλύτερα μάλιστα αποτελέσματα(Tao Xie και Dengguo Feng του 2009) και νομίζω πως δημοιεύθηκε και ένα το 2013.

    Γιατί να μην χρησιμοποιήσει υλοποιήσεις collision generator που βασίζονται στα παραπάνω paper σαν τις παρακάτω;

    http://packetstormsecurity.com/files/41548/md5coll.c.html

    http://www.bishopfox.com/resources/tools/other-free-tools/md4md5-collision-code/

    Αλήθεια χρησιμοποιείται ακόμα ο Md5; Γιατί λύσεις salt μιλάμε, τι προσφέρουν τώρα;

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

Αρχείο δημοσιεύσεων