Buenas! Estoy intentando desarrollar un exploit para una vulnerabilidad de un buffer overflow basado en SEH en una aplicación para Windows. Pero me encontré con el siguiente problema;  No encuentro ninguna dll sin safe seh, por lo que no puedo utilizar ninguna dll a mi favor.
Sólo el ejecutable no tiene la protección safe seh, pero todas las direcciones de este comienzan con 0x00, por lo que cuando paso cualquier dirección de estas por el payload sencillamente llegan mal escritas.

Explico 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 y 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)

Comento que estoy utilizando el immunity debugger y el plugin mona para intentar realizar la explotación.


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 apesar de ello se entiende bastante bien mi problema...

Gracias!
Eso es lo que suele pasar hoy con los exploits, llegas a encontrar los BOF pero después te chocas con las mitigaciones.
Pregunta en CrackLatinos a ver si te pueden tirar un cable

Código: Seleccionar todo

{******************************************************************************}
{** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING  **}
{******************************************************************************}
{**                                                                          **}
{** The prototypes, declarations and information in this file has been       **}
{** compiled from various sources as well as through reverse engineering     **}
{** techniques. We make no guarantee as to the correctness of the contents.  **}
{** Caution is recommended, USE AT YOUR OWN RISK.                            **}
{**                                                                          **}
{******************************************************************************}
Responder

Volver a “Exploits”