Ret2ret & Reo2pop
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lengo kuu la mbinu hii ni kujaribu kuzidi ASLR kwa kutumia kiashiria kilichopo kwenye stack.
Kimsingi, overflows za stack mara nyingi husababishwa na nyuzi, na nyuzi huishia na byte ya null mwishoni kwenye kumbukumbu. Hii inaruhusu kujaribu kupunguza mahali kinachoshikiliwa na kiashiria kilichopo tayari kwenye stack. Hivyo, ikiwa stack ilikuwa na 0xbfffffdd
, overflow hii inaweza kuibadilisha kuwa 0xbfffff00
(zingatia byte ya mwisho iliyowekwa 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
Badilisha 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.
Katika hali ambapo unaweza kupata kiashiria bora kwenye stack ambacho hutaki kubadilisha (katika ret2ret
tunabadilisha byte ya mwisho 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.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)