hacktricks/reversing-and-exploiting/linux-exploiting-basic-esp/one-gadget.md
2024-12-12 13:56:11 +01:00

3.2 KiB

One Gadget

{% hint style="success" %} Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Basic Information

One Gadget permite obter um shell em vez de usar system e "/bin/sh". One Gadget encontrará dentro da biblioteca libc alguma forma 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, você só precisa enviar mais alguns valores NULL para que a restrição seja evitada.

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 libc está carregado.

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

{% hint style="success" %} Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}