One Gadget

Reading time: 2 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks

Osnovne Informacije

One Gadget omogućava dobijanje shel-a umesto korišćenja system i "/bin/sh". One Gadget će pronaći unutar libc biblioteke neki način da dobije shell (execve("/bin/sh")) koristeći samo jednu adresu.
Međutim, obično postoje neka ograničenja, najčešća i lako izbegnuta su kao [rsp+0x30] == NULL. Pošto kontrolišete vrednosti unutar RSP, samo treba da pošaljete još nekoliko NULL vrednosti kako bi se ograničenje izbeglo.

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

Da biste dodali adresu koju je naznačio One Gadget, potrebno je dodati osnovnu adresu gde je libc učitana.

tip

One Gadget je velika pomoć za Arbitrary Write 2 Exec tehnike i može pojednostaviti ROP lance jer je potrebno pozvati samo jednu adresu (i ispuniti zahteve).

ARM64

Github repozitorijum pominje da je ARM64 podržan od strane alata, ali kada se pokrene u libc-u Kali 2023.3 ne pronalazi nijedan gadget.

Angry Gadget

Iz github repozitorijuma: Inspirisan OneGadget, ovaj alat je napisan u python-u i koristi angr za testiranje ograničenja za gadgete koji izvršavaju execve('/bin/sh', NULL, NULL)
Ako ste iscrpeli gadgete koje možete isprobati iz OneGadget, Angry Gadget nudi mnogo više sa komplikovanim ograničenjima za isprobavanje!

bash
pip install angry_gadget angry_gadget.py examples/libc6_2.23-0ubuntu10_amd64.so

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks