mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-01 00:49:40 +00:00
4.9 KiB
4.9 KiB
Casa do Lore | Ataque Small bin
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras maneiras de apoiar o HackTricks:
- Se você quiser ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF Verifique os PLANOS DE ASSINATURA!
- Adquira o swag oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe seus truques de hacking enviando PRs para os HackTricks e HackTricks Cloud repositórios do github.
Informações Básicas
Código
- Verifique o código 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 falso pequeno chunk no small bin para então ser possível alocá-lo.
Observe que o chunk pequeno adicionado é o falso que o atacante cria e não um falso em uma posição arbitrária.
Requisitos
- Criar 2 chunks falsos e vinculá-los entre si 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, então outro é alocado para evitar a consolidação com o chunk superior. Em seguida,legit
é liberado (movendo-o para a lista não ordenada) e um chunk maior é alocado, movendolegit
para o small bin. - Um atacante gera alguns chunks pequenos falsos e faz a ligação necessária 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
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras maneiras de apoiar o HackTricks:
- Se você quiser ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF Verifique os PLANOS DE ASSINATURA!
- Adquira o swag oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe seus truques de hacking enviando PRs para os HackTricks e HackTricks Cloud repositórios do github.