mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-19 09:34:03 +00:00
4.8 KiB
4.8 KiB
House of Lore | Ataque Small bin
{% hint style="success" %}
Aprenda e pratique Hacking AWS:Treinamento HackTricks AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: Treinamento HackTricks GCP Red Team Expert (GRTE)
Apoie o HackTricks
- Verifique os planos de assinatura!
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para os repositórios HackTricks e HackTricks Cloud.
Informações Básicas
Código
- Verifique em https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house_of_lore/
- Isso não está funcionando
- Ou: https://github.com/shellphish/how2heap/blob/master/glibc_2.39/house_of_lore.c
- Isso não está funcionando mesmo tentando contornar algumas verificações e recebendo 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
Objetivo
- Inserir um fake small chunk no small bin para que seja possível alocá-lo.
Observe que o small chunk adicionado é o falso criado pelo atacante e não um falso em uma posição arbitrária.
Requisitos
- Criar 2 chunks falsos e vinculá-los juntos e com o chunk legítimo no small bin:
fake0.bk
->fake1
fake1.fd
->fake0
fake0.fd
->legit
(você precisa modificar um ponteiro no chunk do small bin liberado por meio de alguma outra vulnerabilidade)legit.bk
->fake0
Então você poderá alocar fake0
.
Ataque
- Um pequeno chunk (
legit
) é alocado, em seguida, outro é alocado para evitar a consolidação com o top chunk. Em seguida,legit
é liberado (movendo-o para a lista de bins não ordenados) e um chunk maior é alocado, movendolegit
para o small bin. - Um atacante gera alguns chunks pequenos falsos e faz as ligações necessárias para contornar as verificações de integridade:
fake0.bk
->fake1
fake1.fd
->fake0
fake0.fd
->legit
(você precisa modificar um ponteiro no chunk do small bin liberado por meio de alguma outra vulnerabilidade)legit.bk
->fake0
- Um pequeno chunk é alocado para obter
legit
, fazendo com quefake0
entre na lista superior dos small bins - Outro pequeno chunk é alocado, obtendo
fake0
como um chunk, permitindo potencialmente ler/escrever ponteiros dentro dele.
Referências
- 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
{% hint style="success" %}
Aprenda e pratique Hacking AWS:Treinamento HackTricks AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: Treinamento HackTricks GCP Red Team Expert (GRTE)
Apoie o HackTricks
- Verifique os planos de assinatura!
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para os repositórios HackTricks e HackTricks Cloud.