One Gadget
Reading time: 2 minutes
tip
Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apoya a HackTricks
- Revisa los planes de suscripci贸n!
- 脷nete al 馃挰 grupo de Discord o al grupo de telegram o s铆guenos en Twitter 馃惁 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a HackTricks y HackTricks Cloud repos de github.
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")
) utilizando 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 la restricci贸n sea evitada.
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
.
tip
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).
ARM64
El repositorio de github menciona que ARM64 es compatible con la herramienta, pero al ejecutarla en la libc de Kali 2023.3 no encuentra ning煤n gadget.
Angry Gadget
Del 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 OneGadget, Angry Gadget ofrece muchos m谩s con restricciones complicadas para probar!
pip install angry_gadget
angry_gadget.py examples/libc6_2.23-0ubuntu10_amd64.so
tip
Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apoya a HackTricks
- Revisa los planes de suscripci贸n!
- 脷nete al 馃挰 grupo de Discord o al grupo de telegram o s铆guenos en Twitter 馃惁 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a HackTricks y HackTricks Cloud repos de github.