Ret2ret & Reo2pop

Reading time: 3 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Ret2ret

Lengo kuu la mbinu hii ni kujaribu kupita ASLR kwa kutumia kiashiria kilichopo kwenye stack.

Kimsingi, overflows za stack mara nyingi husababishwa na nyuzi, na nyuzi huishia na byte ya null mwishoni katika kumbukumbu. Hii inaruhusu kujaribu kupunguza mahali panaposhikiliwa na kiashiria kilichopo tayari kwenye stack. Hivyo kama stack ilikuwa na 0xbfffffdd, overflow hii inaweza kuibadilisha kuwa 0xbfffff00 (zingatia byte ya mwisho iliyo na sifuri).

Ikiwa anwani hiyo inashikilia shellcode yetu kwenye stack, inawezekana kufanya mtiririko ufikie anwani hiyo kwa kuongeza anwani kwenye amri ya ret hadi hii ifikie.

Hivyo shambulio litakuwa kama ifuatavyo:

  • NOP sled
  • Shellcode
  • Andika upya stack kutoka EIP kwa anwani za ret (RET sled)
  • 0x00 iliyoongezwa na nyuzi ikibadilisha anwani kutoka kwenye stack na kuifanya ishikilie NOP sled

Kufuata kiungo hiki unaweza kuona mfano wa binary iliyo hatarini na hii moja exploit.

Ret2pop

Ikiwa unaweza kupata kiashiria bora kwenye stack ambacho hutaki kubadilisha (katika ret2ret tunabadilisha byte ya mwisho ya chini kuwa 0x00), unaweza kufanya shambulio sawa la ret2ret, lakini urefu wa RET sled lazima upunguzwe kwa 1 (hivyo 0x00 ya mwisho inabadilisha data kabla ya kiashiria bora), na anwani ya mwisho ya RET sled lazima ishikilie pop <reg>; ret.
Kwa njia hii, data kabla ya kiashiria bora itatolewa kutoka kwenye stack (hii ni data iliyoathiriwa na 0x00) na ret ya mwisho itashikilia anwani bora kwenye stack bila mabadiliko yoyote.

Kufuata kiungo hiki unaweza kuona mfano wa binary iliyo hatarini na hii moja exploit.

References

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks