Υπάρχει τρόπος να βρείτε τον τύπο κρυπτογράφησης/κωδικοποίησης που χρησιμοποιείται;
Για παράδειγμα, δοκιμάζω μια διαδικτυακή εφαρμογή που αποθηκεύει τον κωδικό πρόσβασης στη βάση δεδομένων σε κρυπτογραφημένη μορφή (WeJcFMQ/8+8QJ/w0hHh+0g==
). Πώς μπορώ να προσδιορίσω τι είδους κατακερματισμός ή κρυπτογράφηση χρησιμοποιείται;
Επεξεργασία: Μόλις παρατήρησα ένα πολύ καλό σενάριο με το όνομα hashID. Το όνομα το περιγράφει λίγο πολύ.
Σε γενικές γραμμές, η χρήση της εμπειρίας για να κάνετε εκπαιδευμένες εικασίες είναι ο τρόπος με τον οποίο γίνονται αυτά τα πράγματα.
Εδώ είναι μια λίστα με έναν πολύ μεγάλο αριθμό αποτελεσμάτων κατακερματισμού, ώστε να ξέρετε πώς φαίνεται το καθένα και να δημιουργήσετε υπογραφές/σχέδια ή απλά να επαληθεύσετε οπτικά.
- [Online Hash Crack Hashes Generator](https://www.onlinehashcrack.com/hash-generator.php)
- [InsidePro Software Forum > Hash Types](https://web.archive.org/web/20160403135857/https://forum.insidepro.com/viewtopic.php?t=8225) (μέσω Archive.org)
Υπάρχουν δύο *κύρια* πράγματα στα οποία πρέπει πρώτα να δώσετε προσοχή:
- το μήκος του κατακερματισμού (κάθε συνάρτηση κατακερματισμού έχει ένα συγκεκριμένο μήκος εξόδου)
- το αλφάβητο που χρησιμοποιείται (είναι όλα τα αγγλικά γράμματα; οι αριθμοί 0-9 και τα A-F έτσι δεκαεξαδικά; τι ειδικοί χαρακτήρες υπάρχουν, αν υπάρχουν;)
Αρκετά προγράμματα παραβίασης κωδικών πρόσβασης (John the ripper για παράδειγμα) εφαρμόζουν κάποια αντιστοίχιση μοτίβων στην είσοδο για να μαντέψουν τον αλγόριθμο που χρησιμοποιήθηκε, αλλά αυτό λειτουργεί μόνο σε γενικούς κατακερματισμούς. Για παράδειγμα, αν πάρετε οποιαδήποτε έξοδο κατακερματισμού και περιστρέψετε κάθε γράμμα κατά 1, τα περισσότερα προγράμματα αντιστοίχισης προτύπων θα αποτύχουν.
Ο μόνος τρόπος είναι να μαντέψετε. Με την εμπειρία, οι εικασίες θα είναι πιο σωστές.
Για παράδειγμα: Με βάση το μήκος της εξόδου: MD5 είναι 128 bits ή 16 bytes, η έξοδος SHA1 είναι 160 bits ή 20 bytes. Με βάση το σετ χαρακτήρων της εξόδου: BASE64 παράγει έξοδο με εκτυπώσιμους χαρακτήρες.
Στο τέλος της ημέρας, είναι η προσέγγιση δοκιμής και λάθους που σας διδάσκει τον τρόπο.
Ο μόνος τρόπος είναι όταν υπάρχουν κάποια μεταδεδομένα που σας το λένε. Για παράδειγμα, εργάζομαι τελευταία με PDF και η μορφή περιλαμβάνει ένα λεξικό που περιέχει το φίλτρο, τον αλγόριθμο, το μέγεθος του κλειδιού κ.λπ. Αλλά αν το μόνο που έχετε είναι το κρυπτογραφημένο κείμενο, τότε το μόνο που έχετε είναι μια αδιαφανής μάζα δεδομένων.