One Gadget

Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Información Básica

One Gadget permite obtener una shell en lugar de usar system y "/bin/sh". One Gadget encontrará dentro de la biblioteca libc alguna forma de obtener una 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 adicionales para evitar la restricción.

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

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

One Gadget es de gran ayuda para técnicas de Escritura Arbitraria 2 Ejecutar y puede simplificar las cadenas ROP ya que solo necesitas llamar a una dirección (y cumplir con los requisitos).

ARM64

El repositorio de GitHub menciona que ARM64 es compatible con la herramienta, pero al ejecutarla en la libc de un Kali 2023.3 no encuentra ningún gadget.

Angry Gadget

Desde el repositorio de GitHub: Inspirado por OneGadget esta herramienta está escrita en Python y utiliza angr para probar restricciones para gadgets que ejecutan execve('/bin/sh', NULL, NULL) Si te has quedado sin gadgets para probar de One Gadget, ¡Angry Gadget ofrece muchos más con restricciones complicadas para intentar!

pip install angry_gadget

angry_gadget.py examples/libc6_2.23-0ubuntu10_amd64.so
Aprende hacking en AWS de cero a héroe con htARTE (Experto en Red Team de AWS de HackTricks)!

Otras formas de apoyar a HackTricks:

Última actualización