One Gadget

Reading time: 2 minutes

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks

Basiese Inligting

One Gadget stel jou in staat om 'n shell te verkry in plaas van om system en "/bin/sh" te gebruik. One Gadget sal binne die libc-biblioteek 'n manier vind om 'n shell te verkry (execve("/bin/sh")) met net een adres.
E however, normaalweg is daar 'n paar beperkings, die mees algemene en maklik om te vermy is soos [rsp+0x30] == NULL. Aangesien jy die waardes binne die RSP beheer, hoef jy net nog 'n paar NULL-waardes te stuur sodat die beperking vermy word.

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

Om die adres wat deur One Gadget aangedui word, moet jy die basisadres waar libc gelaai word, byvoeg.

tip

One Gadget is 'n groot hulp vir Arbitrary Write 2 Exec tegnieke en kan ROP kettings vereenvoudig aangesien jy net een adres hoef aan te roep (en die vereistes moet vervul).

ARM64

Die github repo noem dat ARM64 ondersteun word deur die hulpmiddel, maar wanneer dit in die libc van 'n Kali 2023.3 loop, vind dit nie enige gadget nie.

Angry Gadget

Van die github repo: Geïnspireer deur OneGadget is hierdie hulpmiddel in python geskryf en gebruik angr om beperkings vir gadgets wat execve('/bin/sh', NULL, NULL) uitvoer, te toets.
As jy geen gadgets meer het om van OneGadget te probeer nie, bied Angry Gadget baie meer met ingewikkelde beperkings om te probeer!

bash
pip install angry_gadget

angry_gadget.py examples/libc6_2.23-0ubuntu10_amd64.so

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks