Maison de Lore | Petite attaque de bin
Tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au 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 essaie de contourner certaines vérifications en obtenant l’erreur :
malloc(): unaligned tcache chunk detected - Cet exemple fonctionne encore : https://guyinatuxedo.github.io/40-house_of_lore/house_lore_exp/index.html
Objectif
- Insérer un faux petit morceau dans le petit bin afin qu’il soit possible de l’allouer.
Notez que le petit morceau ajouté est le faux que l’attaquant crée et non un faux à une position arbitraire.
Exigences
- Créer 2 faux morceaux et les lier ensemble et avec le morceau légitime dans le petit bin :
fake0.bk->fake1fake1.fd->fake0fake0.fd->legit(vous devez modifier un pointeur dans le morceau de petit bin libéré via une autre vulnérabilité)legit.bk->fake0
Vous pourrez alors allouer fake0.
Attaque
- Un petit morceau (
legit) est alloué, puis un autre est alloué pour éviter la consolidation avec le morceau supérieur. Ensuite,legitest libéré (le déplaçant vers la liste des bins non triés) et un morceau plus grand est alloué, déplaçantlegitvers le petit bin. - Un attaquant génère quelques faux petits morceaux et effectue les liaisons nécessaires pour contourner les vérifications de validité :
fake0.bk->fake1fake1.fd->fake0fake0.fd->legit(vous devez modifier un pointeur dans le morceau de petit bin libéré via une autre vulnérabilité)legit.bk->fake0- Un petit morceau est alloué pour obtenir legit, rendant
fake0le premier de la liste des petits bins - Un autre petit morceau est alloué, obtenant
fake0comme morceau, 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
Tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
HackTricks

