Hash Length Extension Attack
Reading time: 3 minutes
tip
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Περίληψη της επίθεσης
Φανταστείτε έναν διακομιστή που υπογράφει κάποια δεδομένα προσθέτοντας ένα μυστικό σε κάποια γνωστά καθαρά δεδομένα και στη συνέχεια κατακερματίζοντας αυτά τα δεδομένα. Αν γνωρίζετε:
- Το μήκος του μυστικού (αυτό μπορεί επίσης να βρεθεί με brute force από μια δεδομένη περιοχή μήκους)
- Τα καθαρά δεδομένα
- Ο αλγόριθμος (και είναι ευάλωτος σε αυτή την επίθεση)
- Η προσθήκη είναι γνωστή
- Συνήθως χρησιμοποιείται μια προεπιλεγμένη, οπότε αν πληρούνται οι άλλες 3 απαιτήσεις, αυτό ισχύει επίσης
- Η προσθήκη ποικίλλει ανάλογα με το μήκος του μυστικού + δεδομένα, γι' αυτό χρειάζεται το μήκος του μυστικού
Τότε, είναι δυνατό για έναν επιτιθέμενο να προσθέσει δεδομένα και να δημιουργήσει μια έγκυρη υπογραφή για τα προηγούμενα δεδομένα + προστιθέμενα δεδομένα.
Πώς;
Βασικά, οι ευάλωτοι αλγόριθμοι δημιουργούν τους κατακερματισμούς πρώτα κατακερματίζοντας ένα μπλοκ δεδομένων, και στη συνέχεια, από τον προηγουμένως δημιουργημένο κατακερματισμό (κατάσταση), προσθέτουν το επόμενο μπλοκ δεδομένων και το κατακερματίζουν.
Τότε, φανταστείτε ότι το μυστικό είναι "secret" και τα δεδομένα είναι "data", ο MD5 του "secretdata" είναι 6036708eba0d11f6ef52ad44e8b74d5b.
Αν ένας επιτιθέμενος θέλει να προσθέσει τη συμβολοσειρά "append" μπορεί να:
- Δημιουργήσει έναν MD5 από 64 "A"s
- Αλλάξει την κατάσταση του προηγουμένως αρχικοποιημένου κατακερματισμού σε 6036708eba0d11f6ef52ad44e8b74d5b
- Προσθέσει τη συμβολοσειρά "append"
- Ολοκληρώσει τον κατακερματισμό και ο προκύπτων κατακερματισμός θα είναι έγκυρος για "secret" + "data" + "padding" + "append"
Εργαλείο
GitHub - iagox86/hash_extender
Αναφορές
Μπορείτε να βρείτε αυτή την επίθεση καλά εξηγημένη στο https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks
tip
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.