mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-29 16:10:54 +00:00
4.9 KiB
4.9 KiB
Maison de Lore | Attaque Small bin
Apprenez le piratage AWS de zéro à héros avec htARTE (Expert de l'équipe rouge AWS de HackTricks)!
Autres façons de soutenir HackTricks :
- Si vous souhaitez voir votre entreprise annoncée dans HackTricks ou télécharger HackTricks en PDF, consultez les PLANS D'ABONNEMENT !
- Obtenez le swag officiel PEASS & HackTricks
- Découvrez La famille PEASS, notre collection exclusive de NFTs
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez vos astuces de piratage en soumettant des PR aux HackTricks et HackTricks Cloud dépôts GitHub.
Informations de base
Code
- Vérifiez celui de https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house_of_lore/
- Cela ne fonctionne pas
- Ou : https://github.com/shellphish/how2heap/blob/master/glibc_2.39/house_of_lore.c
- Cela ne fonctionne pas même s'il tente de contourner certaines vérifications en obtenant l'erreur :
malloc(): unaligned tcache chunk detected
- Cet exemple fonctionne toujours**:** https://guyinatuxedo.github.io/40-house_of_lore/house_lore_exp/index.html
Objectif
- Insérer un faux petit chunk dans le small bin pour ensuite pouvoir l'allouer.
Notez que le petit chunk ajouté est celui que l'attaquant crée et non un faux à une position arbitraire.
Exigences
- Créer 2 faux chunks et les lier entre eux et avec le chunk légitime dans le small bin :
fake0.bk
->fake1
fake1.fd
->fake0
fake0.fd
->legit
(vous devez modifier un pointeur dans le chunk du small bin libéré via une autre vulnérabilité)legit.bk
->fake0
Vous pourrez ensuite allouer fake0
.
Attaque
- Un petit chunk (
legit
) est alloué, puis un autre est alloué pour empêcher la consolidation avec le chunk supérieur. Ensuite,legit
est libéré (le déplaçant vers la liste non triée) et un chunk plus grand est alloué, le déplaçant vers le small bin. - Un attaquant génère quelques faux petits chunks et effectue les liens nécessaires pour contourner les vérifications de cohérence :
fake0.bk
->fake1
fake1.fd
->fake0
fake0.fd
->legit
(vous devez modifier un pointeur dans le chunk du small bin libéré via une autre vulnérabilité)legit.bk
->fake0
- Un petit chunk est alloué pour obtenir
legit
, plaçantfake0
en tête de la liste des petits bins - Un autre petit chunk est alloué, obtenant fake0 en tant que chunk, permettant potentiellement de lire/écrire des pointeurs à l'intérieur.
Références
- 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
Apprenez le piratage AWS de zéro à héros avec htARTE (Expert de l'équipe rouge AWS de HackTricks)!
Autres façons de soutenir HackTricks :
- Si vous souhaitez voir votre entreprise annoncée dans HackTricks ou télécharger HackTricks en PDF, consultez les PLANS D'ABONNEMENT !
- Obtenez le swag officiel PEASS & HackTricks
- Découvrez La famille PEASS, notre collection exclusive de NFTs
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez vos astuces de piratage en soumettant des PR aux HackTricks et HackTricks Cloud dépôts GitHub.