mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 14:40:37 +00:00
7 KiB
7 KiB
House of Lore | Επίθεση Small bin
Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Red Team του HackTricks στο AWS)!
Άλλοι τρόποι υποστήριξης του HackTricks:
- Αν θέλετε να δείτε την εταιρεία σας διαφημισμένη στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα τηλεγραφήματος ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του GitHub.
Βασικές Πληροφορίες
Κώδικας
- Ελέγξτε αυτόν από https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house_of_lore/
- Αυτό δεν λειτουργεί
- Ή: https://github.com/shellphish/how2heap/blob/master/glibc_2.39/house_of_lore.c
- Αυτό δεν λειτουργεί ακόμα κι αν προσπαθεί να παρακάμψει μερικούς ελέγχους παίρνοντας το σφάλμα:
malloc(): unaligned tcache chunk detected
- Αυτό το παράδειγμα εξακολουθεί να λειτουργεί**:** https://guyinatuxedo.github.io/40-house_of_lore/house_lore_exp/index.html
Στόχος
- Εισαγωγή ενός ψεύτικου μικρού κομματιού στον μικρό κάδο ώστε να είναι δυνατή η εκχώρησή του.
Σημειώστε ότι το μικρό κομμάτι που προστέθηκε είναι το Ϩεύτικο που δημιουργεί ο επιτιθέμενος και όχι ένα πραγματικό σε μια αυθαίρετη θέση.
Απαιτήσεις
- Δημιουργία 2 ψεύτικων κομματιών και σύνδεσή τους μεταξύ τους και με το νόμιμο κομμάτι στον μικρό κάδο:
fake0.bk
->fake1
fake1.fd
->fake0
fake0.fd
->legit
(χρειάζεται να τροποποιήσετε ένα δείκτη στο απελευθερωμένο μικρό κομμάτι του μικρού κάδου μέσω κάποιας άλλης ευπάθειας)legit.bk
->fake0
Έτσι θα μπορείτε να εκχωρήσετε το fake0
.
Επίθεση
- Ένα μικρό κομμάτι (
legit
) εκχωρείται, στη συνέχεια εκχωρείται ένα άλλο για να αποτρέψει τη συγχώνευση με το κομμάτι κορυφής. Στη συνέχεια, τοlegit
απελευθερώνεται (μετακίνηση στη λίστα αταξινόμητων) και εκχωρείται ένα μεγαλύτερο κομμάτι, μετακινώντας τοlegit
στον μικρό κάδο. - Ένας επιτιθέμενος δημιουργεί μερικά ψεύτικα μικρά κομμάτια και κάνει την απαραίτητη σύνδεση για να παρακάμψει τους έλεγχους ακεραιότητας:
fake0.bk
->fake1
fake1.fd
->fake0
fake0.fd
->legit
(χρειάζεται να τροποποιήσετε ένα δείκτη στο απελευθερωμένο μικρό κομμάτι του μικρού κάδου μέσω κάποιας άλλης ευπάθειας)legit.bk
->fake0
- Εκχωρείται ένα μικρό κομμάτι για να πάρει το
legit
, κάνοντας τοfake0
στην κορυφαία λίστα των μικρών κάδων - Εκχωρείται άλλο ένα μικρό κομμάτι, παίρνοντας το
fake0
ως ένα κομμάτι, επιτρέποντας ενδεχομένως την ανάγνωση/εγγραφή δεικτών μέσα σε αυτό.
Αναφορές
- https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house_of_lore/
- https://heap-exploitation.dhavalkapil.com/attacks/house_of_lore
- https://guyinatuxedo.github.io/40-house_of_lore/house_lore_exp/index.html
Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Red Team του HackTricks στο AWS)!
Άλλοι τρόποι υποστήριξης του HackTricks:
- Αν θέλετε να δείτε την εταιρεία σας διαφημισμένη στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα τηλεγραφήματος ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του GitHub.