Ret2ret & Reo2pop

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Ret2ret

Lengo kuu la mbinu hii ni kujaribu kupita ASLR kwa kutumia pointer iliyopo kwenye stack.

Kimsingi, mafuriko ya stack mara nyingi husababishwa na strings, na strings hukamilika na byte ya null mwishoni kwenye kumbukumbu. Hii inaruhusu kujaribu kupunguza mahali kinachoelekezwa na pointer iliyopo tayari kwenye stack. Kwa hivyo, ikiwa stack ilikuwa na 0xbfffffdd, mafuriko haya yanaweza kuita kuwa 0xbfffff00 (zingatia byte ya mwisho iliyozuiliwa).

Ikiwa anwani hiyo inaelekeza kwa shellcode yetu kwenye stack, ni rahisi kufanya mtiririko ufikie anwani hiyo kwa kuongeza anwani kwenye maagizo ya ret hadi hii ifikiwe.

Kwa hivyo, shambulio litakuwa kama ifuatavyo:

  • NOP sled

  • Shellcode

  • Kufunika stack kutoka kwa EIP na anwani za ret (RET sled)

  • 0x00 iliyoongezwa na string kubadilisha anwani kutoka kwenye stack ikielekeza kwenye NOP sled

Kufuatia kiungo hiki unaweza kuona mfano wa binary inayoweza kudukuliwa na katika hii shambulio.

Ret2pop

Kwa kesi unapoweza kupata pointer kamili kwenye stack ambayo haitaki kubadilishwa (katika ret2ret tulibadilisha byte ya mwisho kuwa 0x00), unaweza kutekeleza shambulio sawa la ret2ret, lakini urefu wa RET sled lazima uwe mfupi kwa 1 (hivyo 0x00 ya mwisho inafunika data moja kabla ya pointer kamili), na anwani ya mwisho ya RET sled lazima ielekeze kwa pop <reg>; ret. Kwa njia hii, data kabla ya pointer kamili itaondolewa kutoka kwenye stack (hii ni data inayoguswa na 0x00) na ret ya mwisho itaelekeza kwenye anwani kamili kwenye stack bila mabadiliko yoyote.

Kufuatia kiungo hiki unaweza kuona mfano wa binary inayoweza kudukuliwa na katika hii shambulio.

Marejeo

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Last updated