Ret2ret & Reo2pop
Reading time: 3 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Ret2ret
Glavni cilj ove tehnike je da pokuša da obiđe ASLR zloupotrebom postojećeg pokazivača na steku.
U suštini, prelivanja steka obično uzrokuju stringovi, a stringovi se završavaju nul bajtom na kraju u memoriji. Ovo omogućava da se pokuša smanjiti mesto na koje pokazuje postojeći pokazivač na steku. Dakle, ako je stek sadržavao 0xbfffffdd
, ovo prelivanje bi moglo da ga transformiše u 0xbfffff00
(obratite pažnju na poslednji nulti bajt).
Ako ta adresa pokazuje na naš shellcode na steku, moguće je usmeriti tok ka toj adresi dodavanjem adresa u ret
instrukciju dok se ne dostigne.
Stoga bi napad izgledao ovako:
- NOP klizaljka
- Shellcode
- Prepisivanje steka iz EIP-a sa adresama do
ret
(RET klizaljka) - 0x00 dodat od stringa modifikujući adresu sa steka tako da pokazuje na NOP klizaljku
Prateći ovu vezu možete videti primer ranjivog binarnog fajla i u ovom eksploataciju.
Ret2pop
U slučaju da možete pronaći savršeni pokazivač na steku koji ne želite da modifikujete (u ret2ret
menjamo poslednji najniži bajt u 0x00
), možete izvesti isti ret2ret
napad, ali dužina RET klizaljke mora biti skraćena za 1 (tako da konačni 0x00
prepisuje podatke neposredno pre savršenog pokazivača), a poslednja adresa RET klizaljke mora pokazivati na pop <reg>; ret
.
Na ovaj način, podatak pre savršenog pokazivača biće uklonjen sa steka (to su podaci pogođeni 0x00
) i konačni ret
će pokazivati na savršenu adresu na steku bez ikakvih promena.
Prateći ovu vezu možete videti primer ranjivog binarnog fajla i u ovom eksploataciju.
References
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.