mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-11 13:56:22 +00:00
41 lines
3 KiB
Markdown
41 lines
3 KiB
Markdown
# Relro
|
|
|
|
<details>
|
|
|
|
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
|
|
|
|
Njia nyingine za kusaidia HackTricks:
|
|
|
|
* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
|
|
* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee
|
|
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
|
|
|
|
</details>
|
|
|
|
## 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:
|
|
```bash
|
|
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](https://github.com/nobodyisnobody/docs/blob/main/code.execution.on.last.libc/README.md#1---targetting-libc-got-entries)**.**
|