One Gadget
Reading time: 2 minutes
tip
Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.
Podstawowe informacje
One Gadget pozwala uzyskać powłokę zamiast używać system i "/bin/sh". One Gadget znajdzie w bibliotece libc sposób na uzyskanie powłoki (execve("/bin/sh")
) używając tylko jednego adresu.
Jednak zazwyczaj istnieją pewne ograniczenia, najczęstsze i łatwe do ominięcia to [rsp+0x30] == NULL
. Ponieważ kontrolujesz wartości wewnątrz RSP, musisz tylko wysłać kilka dodatkowych wartości NULL, aby ograniczenie zostało ominięte.
ONE_GADGET = libc.address + 0x4526a
rop2 = base + p64(ONE_GADGET) + "\x00"*100
Aby uzyskać adres wskazany przez One Gadget, musisz dodać adres bazowy, w którym załadowana jest libc
.
tip
One Gadget to wielka pomoc dla technik Arbitrary Write 2 Exec i może upraszczać ROP łańcuchy, ponieważ musisz tylko wywołać jeden adres (i spełnić wymagania).
ARM64
Repozytorium githuba wspomina, że ARM64 jest wspierane przez narzędzie, ale podczas uruchamiania go w libc Kali 2023.3 nie znajduje żadnego gadgetu.
Angry Gadget
Z repozytorium github: Zainspirowany OneGadget, to narzędzie jest napisane w pythonie i używa angr do testowania warunków dla gadgetów wykonujących execve('/bin/sh', NULL, NULL)
Jeśli skończyły Ci się gadgety do wypróbowania z OneGadget, Angry Gadget oferuje znacznie więcej z skomplikowanymi warunkami do przetestowania!
pip install angry_gadget
angry_gadget.py examples/libc6_2.23-0ubuntu10_amd64.so
tip
Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.