House of Lore | Small bin Attack
Last updated
Last updated
Impara e pratica l'Hacking su AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica l'Hacking su GCP: HackTricks Training GCP Red Team Expert (GRTE)
Controlla quello da https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house_of_lore/
Questo non funziona
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
Inserire un falso small chunk nel small bin in modo da poterlo allocare. Nota che il piccolo chunk aggiunto è quello falso creato dall'attaccante e non uno falso in una posizione arbitraria.
Creare 2 chunk falsi e collegarli insieme 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
In questo modo sarà possibile allocare fake0
.
Viene allocato un piccolo chunk (legit
), quindi un altro viene allocato per evitare la consolidazione con il top chunk. Successivamente, legit
viene liberato (spostandolo nell'elenco dei chunk non ordinati) e viene allocato un chunk più grande, spostando legit
nel small bin.
Un attaccante genera un paio di falsi small chunks e crea i collegamenti necessari 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 diventare fake0
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.
Impara e pratica l'Hacking su AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica l'Hacking su GCP: HackTricks Training GCP Red Team Expert (GRTE)