Cipher Block Chaining CBC-MAC

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

CBC

Εάν το cookie είναι μόνο το όνομα χρήστη (ή το πρώτο μέρος του cookie είναι το όνομα χρήστη) και θέλετε να προσομοιώσετε το όνομα χρήστη "admin". Τότε, μπορείτε να δημιουργήσετε το όνομα χρήστη "bdmin" και να δοκιμάσετε όλα τα πιθανά πρώτα bytes του cookie.

CBC-MAC

Το Cipher block chaining message authentication code (CBC-MAC) είναι μια μέθοδος που χρησιμοποιείται στην κρυπτογραφία. Λειτουργεί παίρνοντας ένα μήνυμα και κρυπτογραφώντας το μπλοκ προς μπλοκ, όπου η κρυπτογράφηση κάθε μπλοκ συνδέεται με το προηγούμενο. Αυτή η διαδικασία δημιουργεί μια αλυσίδα μπλοκ, εξασφαλίζοντας ότι η αλλαγή ακόμα και ενός μόνο bit του αρχικού μηνύματος θα οδηγήσει σε μια μη προβλέψιμη αλλαγή στο τελευταίο μπλοκ κρυπτογραφημένων δεδομένων. Για να γίνει ή να αναιρεθεί μια τέτοια αλλαγή, απαιτείται το κλειδί κρυπτογράφησης, εξασφαλίζοντας την ασφάλεια.

Ευπάθεια

Με το CBC-MAC συνήθως το IV που χρησιμοποιείται είναι 0. Αυτό είναι ένα πρόβλημα επειδή 2 γνωστά μηνύματα (m1 και m2) ανεξάρτητα θα δημιουργήσουν 2 υπογραφές (s1 και s2). Έτσι:

  • E(m1 XOR 0) = s1

  • E(m2 XOR 0) = s2

Έπειτα ένα μήνυμα που αποτελείται από τη σύζευξη των m1 και m2 (m3) θα δημιουργήσει 2 υπογραφές (s31 και s32):

  • E(m1 XOR 0) = s31 = s1

  • E(m2 XOR s1) = s32

Το οποίο είναι δυνατό να υπολογιστεί χωρίς να γνωρίζετε το κλειδί της κρυπτογράφησης.

Φανταστείτε ότι κρυπτογραφείτε το όνομα Administrator σε μπλοκ των 8bytes:

  • Administ

  • rator\00\00\00

Μπορείτε να δημιουργήσετε ένα όνομα χρήστη με το όνομα Administ (m1) και να ανακτήσετε την υπογραφή (s1). Έπειτα, μπορείτε να δημιουργήσετε ένα όνομα χρήστη με το αποτέλεσμα του rator\00\00\00 XOR s1. Αυτό θα δημιουργήσει E(m2 XOR s1 XOR 0)

Last updated