One Gadget
Reading time: 2 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Основна інформація
One Gadget дозволяє отримати shell замість використання system та "/bin/sh". One Gadget знайде в бібліотеці libc спосіб отримати shell (execve("/bin/sh")
), використовуючи лише одну адресу.
Однак, зазвичай є деякі обмеження, найпоширеніші з яких і легко уникнути - це [rsp+0x30] == NULL
. Оскільки ви контролюєте значення всередині RSP, вам просто потрібно надіслати ще кілька NULL значень, щоб уникнути обмеження.
ONE_GADGET = libc.address + 0x4526a
rop2 = base + p64(ONE_GADGET) + "\x00"*100
Щоб до адреси, вказаної One Gadget, потрібно додати базову адресу, де завантажено libc
.
tip
One Gadget є чудовою допомогою для технік Arbitrary Write 2 Exec і може спростити ROP ланцюги, оскільки вам потрібно лише викликати одну адресу (і виконати вимоги).
ARM64
Репозиторій github згадує, що ARM64 підтримується інструментом, але при його запуску в libc Kali 2023.3 він не знаходить жодного гаджета.
Angry Gadget
З репозиторію github: Натхненний OneGadget, цей інструмент написаний на python і використовує angr для перевірки обмежень для гаджетів, що виконують execve('/bin/sh', NULL, NULL)
Якщо у вас закінчилися гаджети для спроб з OneGadget, Angry Gadget пропонує набагато більше з ускладненими обмеженнями для спроб!
pip install angry_gadget
angry_gadget.py examples/libc6_2.23-0ubuntu10_amd64.so
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.