mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 20:53:37 +00:00
4.9 KiB
4.9 KiB
House of Lore | Piccolo attacco binario
Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata su HackTricks o scaricare HackTricks in PDF Controlla i PIANI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri La Famiglia PEASS, la nostra collezione di NFT esclusivi
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi i tuoi trucchi di hacking inviando PR a HackTricks e ai repository github di HackTricks Cloud.
Informazioni di base
Codice
- Controlla quello da https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house_of_lore/
- Questo non funziona
- Oppure: https://github.com/shellphish/how2heap/blob/master/glibc_2.39/house_of_lore.c
- Anche questo non funziona anche se cerca di aggirare alcuni controlli ottenendo l'errore:
malloc(): unaligned tcache chunk detected
- Questo esempio funziona ancora**:** https://guyinatuxedo.github.io/40-house_of_lore/house_lore_exp/index.html
Obiettivo
- Inserire un falso small chunk nel small bin in modo che sia possibile allocarlo.
Nota che il small chunk aggiunto è quello falso creato dall'attaccante e non uno falso in una posizione arbitraria.
Requisiti
- Creare 2 chunk falsi e collegarli tra di loro e con il chunk legittimo nel small bin:
fake0.bk
->fake1
fake1.fd
->fake0
fake0.fd
->legit
(è necessario modificare un puntatore nel chunk del small bin liberato tramite qualche altra vulnerabilità)legit.bk
->fake0
Allora sarai in grado di allocare fake0
.
Attacco
- Viene allocato un small chunk (
legit
), quindi un altro viene allocato per evitare la consolidazione con il top chunk. Quindi,legit
viene liberato (spostandolo nell'elenco non ordinato) e viene allocato un chunk più grande, spostandolegit
nel small bin. - Un attaccante genera un paio di piccoli chunk falsi e crea il collegamento necessario per aggirare i controlli di integrità:
fake0.bk
->fake1
fake1.fd
->fake0
fake0.fd
->legit
(è necessario modificare un puntatore nel chunk del small bin liberato tramite qualche altra vulnerabilità)legit.bk
->fake0
- Viene allocato un piccolo chunk per ottenere
legit
, facendo diventarefake0
il primo della lista dei piccoli bin - Viene allocato un altro piccolo chunk, ottenendo fake0 come chunk, consentendo potenzialmente di leggere/scrivere puntatori al suo interno.
Riferimenti
- 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
Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata su HackTricks o scaricare HackTricks in PDF Controlla i PIANI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri La Famiglia PEASS, la nostra collezione di NFT esclusivi
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi i tuoi trucchi di hacking inviando PR a HackTricks e ai repository github di HackTricks Cloud.