Hola!
Qué binario es? Puedes dar más info? Quizás puedas hacer un shellcode que sólo necesite 1 dirección del ejecutable y la misma pueda pasarse al final del shellcode (para que el 0x00 se tome como fin de string).
Saludos!
Buenas! Gracias por su respuesta!
Lamentablemente no puedo dar más información sobre el programa ya que la vulnerabilidad la descubrí yo, por lo que se trata de un 0day...
Intentaré explicar mejor el problema:
Este problema me lo encuentro cuando tengo que sobreescibir el SEH Y apuntar hacia las instrucciones pop, pop, ret (instrucciones que las tengo que sacar De alguna dll). Como digo no logró hacer esto ya que todas las dll según me indica el comando !mona modules se encuentran protegidas con safeseh por lo que no logró hacer que el seh apunte a Estas direcciones de estas dll...
Si consigo sobreescibir el seh con éxito, pero Cuando se intenta dirigirse estas direcciones donde se encuentran las instrucciones pop, pop, ret sencillamente se me genera una excepción causada supongo por el safeseh. Entonces sencillamente no puedo usar ninguna dll. Únicamente el mismo ejecutable me figura sin safe seh, pero este tampoco consigo usarlo con éxito ya que todas las direcciones del ejecutable comienzan con 0x00 por lo que por un motivo que desconozco el seh se sobreescribe mal (llega bien toda la dirección exceptuando por la parte de la misma que contiene el 00)
Es de mis primeras veces intentando explotar un buffer overflow por lo que no soy un experto en el tema. Tampoco entiendo al 100% la teoría por lo que es posible que haya cometido un montón de errores tratando de explicarme, pero creo que ya se entiende mejor mi problema...
Gracias!