6.5 KiB
WWW2Exec - GOT/PLT
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako ikionekana kwenye HackTricks au kupakua HackTricks kwa PDF Angalia MIPANGO YA KUJIUNGA!
- Pata bidhaa rasmi za PEASS & HackTricks
- Gundua Familia ya PEASS, mkusanyiko wetu wa kipekee wa NFTs
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Maelezo Msingi
GOT: Jedwali la Kielekezi cha Kijumla
Jedwali la Kielekezi cha Kijumla (GOT) ni mbinu inayotumiwa katika programu za kielekezi zinazounganishwa kwa njia ya kudumu kusimamia anwani za kazi za nje. Kwa kuwa anwani hizi hazijulikani hadi wakati wa uendeshaji (kutokana na uunganishaji wa kudumu), GOT hutoa njia ya kusasisha kwa kudumu anwani za alama hizi za nje mara tu zinapopatikana.
Kila kuingia katika GOT inalingana na alama katika maktaba za nje ambazo programu inaweza kuita. Wakati kazi inaitwa mara ya kwanza, anwani yake halisi inapatikana na kuhifadhiwa katika GOT. Wito wa baadaye kwa kazi hiyo hutumia anwani iliyohifadhiwa katika GOT, hivyo kuepuka gharama ya kupata tena anwani hiyo.
PLT: Jedwali la Uunganishaji wa Taratibu
Jedwali la Uunganishaji wa Taratibu (PLT) hufanya kazi karibu na GOT na hutumika kama trampoline kushughulikia wito kwa kazi za nje. Wakati programu inaita kazi ya nje kwa mara ya kwanza, udhibiti unapitishwa kwa kuingia katika PLT inayohusiana na kazi hiyo. Kuingia hii ya PLT inahusika na kuita uunganishaji wa kudumu kusuluhisha anwani ya kazi ikiwa haijasuluhishwa tayari. Baada ya anwani kusuluhishwa, inahifadhiwa katika GOT.
Hivyo, kuingia katika GOT hutumiwa moja kwa moja mara tu anwani ya kazi au kivinjari cha nje inaposuluhishwa. Kuingia katika PLT hutumiwa kurahisisha suluhisho la awali la anwani hizi kupitia uunganishaji wa kudumu.
Pata Utekelezaji
Angalia GOT
Pata anwani ya jedwali la GOT na: objdump -s -j .got ./exec
Tazama jinsi baada ya kupakia programu katika GEF unaweza kuona kazi zilizo katika GOT: gef➤ x/20x 0xDIR_GOT
Kwa kutumia GEF unaweza kuanza kikao cha kudeketa na kutekeleza got
kuona jedwali la got:
GOT2Exec
Katika programu ya kielekezi GOT ina anwani za kazi au kwa sehemu ya PLT ambayo itapakia anwani ya kazi. Lengo la andishi hili la kiholela ni kubadilisha kuingia katika GOT ya kazi ambayo itatekelezwa baadaye na anwani ya PLT ya kazi ya system
kwa mfano.
Kwa kawaida, uta badilisha GOT ya kazi ambayo itaitwa na parameta zinazodhibitiwa na wewe (hivyo utaweza kudhibiti parameta zinazotumwa kwa kazi ya mfumo).
Ikiwa system
haitumiwi na hati, kazi ya mfumo haitakuwa na kuingia katika PLT. Katika hali hii, utahitaji kuvuja kwanza anwani ya kazi ya system
na kisha kubadilisha GOT ili ielekeze kwenye anwani hii.
Unaweza kuona anwani za PLT na objdump -j .plt -d ./vuln_binary
Kuingia kwa GOT ya libc
GOT ya libc kawaida inaandikwa na RELRO ya sehemu, ikifanya iwe lengo zuri kwa hili ikiaminika ni rahisi kugundua anwani yake (ASLR).
Kazi za kawaida za libc zitaita kazi nyingine za ndani ambazo GOT yake inaweza kubadilishwa ili kupata utekelezaji wa kanuni.
Pata maelezo zaidi kuhusu mbinu hii hapa.
Kifaa cha Moja
{% content-ref url="../rop-return-oriented-programing/ret2lib/one-gadget.md" %} one-gadget.md {% endcontent-ref %}
Kinga
Kinga ya RELRO kamili inalenga kulinda dhidi ya mbinu hii kwa kusuluhisha anwani zote za kazi wakati programu inapoanza na kufanya jedwali la GOT liwe la kusoma tu baada ya hapo:
{% content-ref url="../common-binary-protections-and-bypasses/relro.md" %} relro.md {% endcontent-ref %}
Marejeo
- https://ir0nstone.gitbook.io/notes/types/stack/got-overwrite/exploiting-a-got-overwrite
- https://ir0nstone.gitbook.io/notes/types/stack/one-gadgets-and-malloc-hook
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako ikionekana kwenye HackTricks au kupakua HackTricks kwa PDF Angalia MIPANGO YA KUJIUNGA!
- Pata bidhaa rasmi za PEASS & HackTricks
- Gundua Familia ya PEASS, mkusanyiko wetu wa kipekee wa NFTs
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.