Funciones de ROP de Windows 7 asignadas a 0x00 ########

1

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.

    
pregunta 0xc0ff33 07.11.2017 - 02:48
fuente

1 respuesta

1

A veces simplemente no puede ROP si su función vulnerable se rompe en cadenas terminadas en nulo.

Sin embargo, todavía tienes otras opciones:

  • Intente encontrar una condición de pérdida de memoria. Obtiene al menos una dirección de retorno antes de que el último byte nulo rompa su carga útil y genere un exploit en la segunda etapa
  • Puede escribir una cadena de ROP que incluya ASLR y módulos basados en datos (si usa mona, dígale que incluya los módulos independientemente de su seguridad: !mona -cm aslr=true,rebase=true y no nulos !mona -cp nonull ) y cambiar las compensaciones relativas de direcciones base en los gadgets sobre la marcha en algunos intentos de fuerza bruta. Es posible que tenga suerte y caiga bien, ya que la entropía del espacio de direcciones de 32 bits es muy reducida.
respondido por el Rilke Petrosky 19.04.2018 - 16:10
fuente

Lea otras preguntas en las etiquetas