House of Rabbit
Last updated
Last updated
Μάθετε & εξασκηθείτε στο Hacking του AWS:Εκπαίδευση HackTricks AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο Hacking του GCP: Εκπαίδευση HackTricks GCP Red Team Expert (GRTE)
Ικανότητα τροποποίησης του δείκτη fd ή μεγέθους fast bin: Αυτό σημαίνει ότι μπορείτε να αλλάξετε τον προωθούμενο δείκτη ενός τμήματος στο fastbin ή το μέγεθός του.
Ικανότητα ενεργοποίησης του malloc_consolidate
: Αυτό μπορεί να γίνει είτε με τη δέσμευση ενός μεγάλου τμήματος είτε με τη συγχώνευση του κορυφαίου τμήματος, το οποίο αναγκάζει τη συγχώνευση των τμημάτων του σωρού.
Δημιουργία επικαλυπτόμενων τμημάτων: Να υπάρχει ένα τμήμα που επικαλύπτεται με ένα άλλο, επιτρέποντας περαιτέρω διαχείριση του σωρού.
Δημιουργία ψεύτικων τμημάτων: Να εξαπατήσετε τον διανεμητή ώστε να θεωρήσει ένα ψεύτικο τμήμα ως νόμιμο κατά τις λειτουργίες του σωρού.
Στόχος: Δημιουργία ενός επικαλυπτόμενου τμήματος με την τροποποίηση του μεγέθους ενός τμήματος fastbin.
Βήμα 1: Δέσμευση Τμημάτων
Βήμα 2: Απελευθέρωση Χύματων
Βήμα 3: Τροποποίηση Μεγέθους Χαντρών
Βήμα 4: Ενεργοποίηση της malloc_consolidate
Η δέσμευση ενός μεγάλου κομματιού ενεργοποιεί τη λειτουργία malloc_consolidate
, συγχωνεύοντας μικρά κομμάτια στο γρήγορο bin. Το χειρισμένο μέγεθος του chunk1
προκαλεί επικάλυψη με το chunk2
.
Μετά τη συγχώνευση, το chunk1
επικαλύπτεται με το chunk2
, επιτρέποντας περαιτέρω εκμετάλλευση.
fd
Στόχος: Δημιουργία ψεύτικου κομματιού με τη χειρισμό του δείκτη fd
του γρήγορου bin.
Βήμα 1: Δέσμευση Κομματιών
Εξήγηση: Δεσμεύουμε δύο τμήματα, ένα μικρό και ένα μεγαλύτερο, για να ρυθμίσουμε τη στοίβα για το ψεύτικο τμήμα.
Βήμα 2: Δημιουργία ψεύτικου τμήματος
Βήμα 3: Απελευθέρωση του chunk1
Εξήγηση: Απελευθερώνουμε το chunk1
, προσθέτοντάς το στη λίστα fastbin.
Βήμα 4: Τροποποίηση του fd
του chunk1
Εξήγηση: Αλλάζουμε τον προωθούμενο δείκτη (fd
) του chunk1
ώστε να δείχνει στο ψεύτικο chunk μέσα στο chunk2
.
Βήμα 5: Ενεργοποίηση της malloc_consolidate
Η επαναδιάθεση ενός μεγάλου κομματιού ενεργοποιεί ξανά το malloc_consolidate
, το οποίο επεξεργάζεται το ψεύτικο κομμάτι.
Το ψεύτικο κομμάτι γίνεται μέρος της λίστας fastbin, καθιστώντας το ένα νόμιμο κομμάτι για περαιτέρω εκμετάλλευση.
Η τεχνική House of Rabbit περιλαμβάνει είτε την τροποποίηση του μεγέθους ενός κομματιού fast bin για τη δημιουργία επικαλυπτόμενων κομματιών είτε τη χειραγώγηση του δείκτη fd
για τη δημιουργία ψεύτικων κομματιών. Αυτό επιτρέπει στους εισβολείς να δημιουργήσουν νόμιμα κομμάτια στη στοίβα, επιτρέποντας διάφορες μορφές εκμετάλλευσης. Η κατανόηση και η εξάσκηση αυτών των βημάτων θα βελτιώσει τις δεξιότητές σας στην εκμετάλλευση της στοίβας.