hacktricks/reversing-and-exploiting/linux-exploiting-basic-esp/one-gadget.md

2.1 KiB

One Gadget

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

Outras maneiras de apoiar o HackTricks:

Informação Básica

One Gadget permite obter um shell em vez de usar system e "/bin/sh". One Gadget encontrará dentro da biblioteca libc alguma maneira de obter um shell (execve("/bin/sh")) usando apenas um endereço.
No entanto, normalmente existem algumas restrições, as mais comuns e fáceis de evitar são como [rsp+0x30] == NULL. Como você controla os valores dentro do RSP, basta enviar mais valores NULL para evitar a restrição.

ONE_GADGET = libc.address + 0x4526a
rop2 = base + p64(ONE_GADGET) + "\x00"*100

Para o endereço indicado pelo One Gadget, você precisa adicionar o endereço base onde o libc está carregado.

{% hint style="success" %} One Gadget é de grande ajuda para técnicas de Arbitrary Write 2 Exec e pode simplificar cadeias ROP pois você só precisa chamar um endereço (e atender aos requisitos). {% endhint %}