Ret2ret & Reo2pop

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Ret2ret

Glavni cilj ove tehnike je pokušaj bypass-ovanja ASLR-a zloupotrebom postojećeg pokazivača na steku.

U osnovi, prekoračenja steka obično su uzrokovana stringovima, a stringovi se završavaju nulom na kraju u memoriji. To omogućava pokušaj smanjenja mesta na koje pokazuje već postojeći pokazivač na steku. Dakle, ako je stek sadržao 0xbfffffdd, ovo prekoračenje bi moglo da ga transformiše u 0xbfffff00 (primetite poslednji nula bajt).

Ako ta adresa pokazuje naš shellcode na steku, moguće je usmeriti tok ka toj adresi dodavanjem adresa instrukciji ret dok se ne dostigne ta adresa.

Stoga bi napad bio sledeći:

  • NOP klizaljka

  • Shellcode

  • Prepisivanje steka od EIP sa adresama instrukcije ret (RET klizaljka)

  • 0x00 dodat stringom menjajući adresu sa steka tako da pokazuje na NOP klizaljku

Pomoću ovog linka možete videti primer ranjivog binarnog fajla i u ovom eksploit.

Ret2pop

U slučaju da možete pronaći savršen pokazivač na steku koji ne želite da menjate (u ret2ret smo promenili poslednji najniži bajt u 0x00), možete izvesti isti napad kao ret2ret, 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, podaci pre savršenog pokazivača će biti uklonjeni sa steka (ovo su podaci pogođeni sa 0x00) i konačni ret će pokazivati na savršenu adresu na steku bez ikakve promene.

Pomoću ovog linka možete videti primer ranjivog binarnog fajla i u ovom eksploit.

Reference

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated