hacktricks/binary-exploitation/arbitrary-write-2-exec/aw2exec-__malloc_hook.md

3.8 KiB

WWW2Exec - __malloc_hook

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:

Malloc Hook

Conforme você pode ver no site oficial da GNU, a variável __malloc_hook é um ponteiro que aponta para o endereço de uma função que será chamada sempre que malloc() for chamado armazenado na seção de dados da biblioteca libc. Portanto, se este endereço for sobrescrito com um One Gadget, por exemplo, e malloc for chamado, o One Gadget será chamado.

Para chamar malloc é possível esperar que o programa o chame ou chamando printf("%10000$c") que aloca muitos bytes fazendo com que o libc chame malloc para alocá-los no heap.

Mais informações sobre One Gadget em:

{% content-ref url="../rop-return-oriented-programing/ret2lib/one-gadget.md" %} one-gadget.md {% endcontent-ref %}

{% hint style="warning" %} Observe que os hooks são desativados para GLIBC >= 2.34. Existem outras técnicas que podem ser usadas em versões modernas do GLIBC. Veja: https://github.com/nobodyisnobody/docs/blob/main/code.execution.on.last.libc/README.md. {% endhint %}

Referências

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks: