6.5 KiB
WWW2Exec - GOT/PLT
Jifunze kuhusu udukuzi wa 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 udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Maelezo Msingi
GOT: Jedwali la Kielekezi cha Kimataifa
Jedwali la Kielekezi cha Kimataifa (GOT) ni mbinu inayotumiwa katika programu za kielekezi za kudumu kusimamia anwani za kazi za nje. Kwa kuwa anwani hizi hazijulikani hadi wakati wa uendeshaji (kutokana na kielekezi cha 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 Uhusiano wa Taratibu
Jedwali la Uhusiano 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 kielekezi cha kudumu kusuluhisha anwani ya kazi ikiwa haijatatuliwa tayari. Baada ya anwani kutatuliwa, inahifadhiwa katika GOT.
Hivyo, kuingia za GOT hutumiwa moja kwa moja mara tu anwani ya kazi au kivinjari cha nje inapopatikana. Kuingia za PLT hutumiwa kurahisisha suluhisho la awali la anwani hizi kupitia kielekezi cha 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 kudebugi 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 kudumu ni kubadilisha kuingia cha GOT cha 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 skripti, 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 za GOT za libc
GOT ya libc kawaida inakusanywa na RELRO ya sehemu, ikifanya iwe lengo zuri kwa hii ikidhani inawezekana 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 Full RELRO inalenga kulinda dhidi ya mbinu hii kwa kutatua 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 udukuzi wa 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 udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.