Muchisimas gracias a ambos por su tiempo! Lamentablemente sigo sin conseguir resultados, pero hice otras pruebas y se que estoy cerca de resolverlo!
En primer lugar, estuve investigando un poco sobre DEP en Windows y descubrí que tengo el parámetro noexecute=optin en el archivo bootini, lo que significa que DEP se aplica solo a componentes del SO, y se puede activar para distintos ejecutables pero manualmente. De todas formas me asegure de desactivarlo por completo con noexecute=alwasoff, y probé volver a ejecutar el exploit, y sigo sin resultados, con lo que descartamos que el problema sea por DEP.
Después probé agregar un breakpoint justo donde se hace el JMP ESP, pero el servicio crashea y vuelve exactamente al mismo resultado de la segunda imagen que publiqué anteriormente. No entiendo como es que no se me detiene la ejecución antes de realizar el JMP ESP.
Por otro lado encontre éste link que explica como explotar el mismo servidor sobre Win XP. Een éste caso utiliza Win XP SP3 ENG y el que yo estoy usando es Win XP SP2 SPA, pero lo único que cambia supongo que es la dirección del JMP ESP. Revisando me enteré que hay una lista de badchars a evitar en el shellcode. Yo hasta ahora solo incluía el \x00, pero según la página, la lista de badchars en este caso es la siguiente:
\x00\x0a\x0b\x27\x36\xce\xc1\x04\x14\x3a\x44\xe0\x42\xa9\x0d
Asi que volví a ejecutar el msfvenom agregando dicha lista, y ejecuto el exploit, y vuelvo a exactamente lo mismo... Verifique que la shellcode en memoria sea la misma que la que me genero msfvenom, y lo es... Y un dato curioso que tal vez sea la clave para entender mi problema, es el siguiente:
Justo después de la shellcode, en la pila el dato que le sigue es la dirección de memoria 0x000A0D2E , que es exactamente a donde me apunta EIP luego de ejecutar el exploit... Aquí les remarqué en rojo donde está la dirección que les digo:
https://s22.postimg.org/8uc7ommjl/test.png(en éste caso use BBBB para sobreescribir EIP). Fíjense, 71,7b son los últimos bytes de la shellcode, y luego le sigue la dirección que les comentaba.
Seguí insistiendo, cambie la shellcode por una serie de caracteres C, con una longitud mucha menor que la shellcode anterior, y en la memoria se ve 4343434343, y justo cuando termina la secuencia, aparece exactamente la misma dirección...
Con ésta información que les estoy dando, tienen algún otra idea de cuál puede ser mi problema? Muchas gracias desde ya!
Ahi lo logré señores!
Bajé el pyCommand mona.py y busque todos los JMP ESP que había, y en vez de sobreescribir EIP con el JMP ESP de la librería USER32.dll, utilicé un JMP ESP de la librería SHELL32.dll. La verdad no comprendo por qué con una dirección me funciona y con otra no...
Aquí ven los datos de la dirección que usaba antes y no me funcionaba:
Log data, item 12
Address=77D5AF0A
Message= 0x77d5af0a : jmp esp | {PAGE_EXECUTE_READ} [USER32.dll] ASLR: False, Rebase: False, SafeSEH: True, OS: True, v5.1.2600
.2180 (C:\WINDOWS\system32\USER32.dll)
Y aquí los datos de la direccion que uso ahora y funciona:
Log data, item 23
Address=7CA68265
Message= 0x7ca68265 : jmp esp | {PAGE_EXECUTE_READ} [SHELL32.dll] ASLR: False, Rebase: False, SafeSEH: True, OS: True, v6.00.29
00.2180 (C:\WINDOWS\system32\SHELL32.dll)
Saludos y gracias!
MOD: No hacer doble post.