One Gadget

Reading time: 2 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Basic Information

One Gadget inaruhusu kupata shell badala ya kutumia system na "/bin/sh". One Gadget itapata ndani ya maktaba ya libc njia fulani ya kupata shell (execve("/bin/sh")) kwa kutumia tu anwani moja.
Hata hivyo, kawaida kuna vizuizi fulani, zile za kawaida na rahisi kuepukwa ni kama [rsp+0x30] == NULL Kwa kuwa unadhibiti thamani ndani ya RSP unahitaji tu kutuma thamani zaidi za NULL ili kuepuka vizuizi hivyo.

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

Ili kufikia anwani iliyoonyeshwa na One Gadget unahitaji kuongeza anwani ya msingi ambapo libc imepakiwa.

tip

One Gadget ni msaada mzuri kwa mbinu za Arbitrary Write 2 Exec na inaweza kurahisisha ROP mnyororo kwani unahitaji tu kuita anwani moja (na kutimiza mahitaji).

ARM64

Repo ya github inasema kwamba ARM64 inasaidiwa na chombo, lakini unapokimbia katika libc ya Kali 2023.3 haipati gadget yoyote.

Angry Gadget

Kutoka kwenye github repo: Imehamasishwa na OneGadget chombo hiki kimeandikwa kwa python na kinatumia angr kujaribu vikwazo kwa gadgets zinazotekeleza execve('/bin/sh', NULL, NULL)
Ikiwa umemaliza gadgets za kujaribu kutoka OneGadget, Angry Gadget inatoa mengi zaidi yenye vikwazo vigumu kujaribu!

bash
pip install angry_gadget

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

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks