House of Lore | Small bin Attack
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Isso não está funcionando
Isso não está funcionando mesmo que tente contornar algumas verificações, gerando o erro: malloc(): unaligned tcache chunk detected
Este exemplo ainda está funcionando: https://guyinatuxedo.github.io/40-house_of_lore/house_lore_exp/index.html
Inserir um chunk pequeno falso no pequeno bin para que seja possível alocá-lo. Note que o chunk pequeno adicionado é o falso que o atacante cria e não um falso em uma posição arbitrária.
Criar 2 chunks falsos e vinculá-los juntos e com o chunk legítimo no pequeno bin:
fake0.bk
-> fake1
fake1.fd
-> fake0
fake0.fd
-> legit
(você precisa modificar um ponteiro no chunk do pequeno bin liberado via alguma outra vulnerabilidade)
legit.bk
-> fake0
Então você poderá alocar fake0
.
Um chunk pequeno (legit
) é alocado, então outro é alocado para evitar a consolidação com o chunk superior. Em seguida, legit
é liberado (movendo-o para a lista de bin não ordenados) e um chunk maior é alocado, movendo legit
para o pequeno bin.
Um atacante gera alguns chunks pequenos falsos e faz a vinculação necessária para contornar as verificações de sanidade:
fake0.bk
-> fake1
fake1.fd
-> fake0
fake0.fd
-> legit
(você precisa modificar um ponteiro no chunk do pequeno bin liberado via alguma outra vulnerabilidade)
legit.bk
-> fake0
Um chunk pequeno é alocado para obter legit, tornando fake0
a lista superior de pequenos bins
Outro chunk pequeno é alocado, obtendo fake0
como um chunk, permitindo potencialmente ler/escrever ponteiros dentro dele.
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)