3 KiB
Relro
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 ikitangazwa kwenye HackTricks au kupakua HackTricks kwa PDF Angalia MIPANGO YA KUJIUNGA!
- Pata bidhaa rasmi za PEASS & HackTricks
- Gundua Familia ya PEASS, mkusanyiko wetu wa NFTs za kipekee
- 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.
Relro
RELRO inasimama kwa Relocation Read-Only, na ni kipengele cha usalama kinachotumika kwenye binaries kudhibiti hatari zinazohusiana na GOT (Global Offset Table) overwrites. Hebu tuchambue dhana hii katika aina zake mbili tofauti kwa uwazi: Partial RELRO na Full RELRO.
Partial RELRO
Partial RELRO inachukua njia rahisi ya kuboresha usalama bila kuathiri sana utendaji wa binary. Kwa kuweka GOT juu ya variables za programu kwenye kumbukumbu, Partial RELRO inalenga kuzuia buffer overflows kufikia na kuharibu GOT.
Hii haizuii GOT kutumiwe kutoka kwa vulnerabilities za kuandika kiholela.
Full RELRO
Full RELRO inaimarisha ulinzi kwa kufanya GOT na sehemu ya .fini_array kuwa soma-tu kabisa. Mara tu binary inapoanza, anwani zote za kazi zinafumbuliwa na kupakiwa kwenye GOT, kisha, GOT inaashiria kama soma-tu, ikizuia uhariri wowote wakati wa muda wa uendeshaji.
Hata hivyo, ubadilishaji na Full RELRO ni kwa upande wa utendaji na wakati wa kuanza. Kwa sababu inahitaji kutatua alama zote za kudumu wakati wa kuanza kabla ya kuashiria GOT kama soma-tu, binaries zenye Full RELRO zilizowezeshwa zinaweza kupata nyakati ndefu za kupakia. Gharama ya ziada ya kuanza hii ndio sababu Full RELRO haielekezwi kwa chaguo-msingi kwenye binaries zote.
Inawezekana kuona ikiwa Full RELRO ime wezeshwa kwenye binary na:
readelf -l /proc/ID_PROC/exe | grep BIND_NOW
Kupita
Ikiwa Full RELRO imewezeshwa, njia pekee ya kuipita ni kupata njia nyingine ambayo haitaji kuandika kwenye jedwali la GOT ili kupata utekelezaji wa aina yoyote.
Tafadhali kumbuka kwamba GOT ya LIBC kawaida ni Partial RELRO, hivyo inaweza kuhaririwa kwa kuandika kwa hiari. Taarifa zaidi katika Kulenga viingilio vya libc GOT.