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

3.2 KiB

One Gadget

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Información Básica

One Gadget permite obtener un shell en lugar de usar system y "/bin/sh". One Gadget encontrará dentro de la biblioteca libc alguna forma de obtener un shell (execve("/bin/sh")) usando solo una dirección.
Sin embargo, normalmente hay algunas restricciones, las más comunes y fáciles de evitar son como [rsp+0x30] == NULL. Como controlas los valores dentro del RSP, solo tienes que enviar algunos valores NULL más para que se evite la restricción.

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

Para la dirección indicada por One Gadget, necesitas agregar la dirección base donde se carga libc.

{% hint style="success" %} One Gadget es una gran ayuda para las técnicas de Arbitrary Write 2 Exec y puede simplificar las cadenas ROP ya que solo necesitas llamar a una dirección (y cumplir con los requisitos). {% endhint %}

{% hint style="success" %} Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)

Apoya a HackTricks
{% endhint %}