una duda acerca del buffer overflow.

Iniciado por black_flowers, 3 Abril 2011, 00:29 AM

0 Miembros y 5 Visitantes están viendo este tema.

black_flowers

estoy intentando hacer un exploit guiandome por el tutorial de rojodos. Y antes de nada me asalta la duda de que si al producirse el stack overflow ... ¿no se cortará la ejecución del programa debido a la excepción generada? Es decir ¿me permitirá windows seguir ejecutando la shellcode que hay en el buffer una vez se produzca la excepción por buffer overflow?

AlbertoBSD

#1
si desactivas todas laprotecciones, el shellcode se ejecutara y la aplicacion original terminara de forma inesperada.

Saludos
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

black_flowers

Cita de: Anon en  3 Abril 2011, 05:48 AM
si desactivas todas laprotecciones, el shellcode se ejecutara y la aplicacion original terminara de forma inesperada.

Saludos
desactivar protecciones?? ¿te refieres al antivirus? ¿cómo se desactivan tales protecciones en windows7?. ¿no es una excepción del sistema operativo?

AlbertoBSD

Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

Garfield07

Las protecciones son pequeños cambios en la estructura de los programas que los protege de posibles fallos. Ejemplos son el valor canario, aletorización de memoria... En W7 el mayor problema que puedes tener es la aleatorización de memoria ;)


* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo

black_flowers

#5
Cita de: Anon en  3 Abril 2011, 15:17 PM
favor de leer:

http://wikipedia.org/wiki/Buffer_overflow_protection

Saludos
lo he leído y desactivado la opción /GS (buffer security check) en el compilador visual c++. Pero al hacer el overflow sigue saliendome un cuadro con un mensaje de error:

Debug Error!
Program:programa
module:programa
file:

Runtime check failure #2. Stack around the variable 'buffer' was corrupted


luego le doy a enter sale el mensaje de que el programa ha dejado de funcionar.
entonces sigue siendo un error referente al buffer overflow y no a una violación de segmento como debería ser en realidad.
Pero no entiendo cómo, ya que esta vez está desactivada la opción de protección sobre buffer overflow al compilarlo.

AlbertoBSD

podrias ponernos una captura de pantalla del error.

Saludos
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW


AlbertoBSD

 Que onda, muy posible que tu sistema tenga otras protecciones adicionales.


Te comento que la falla esta ahi, solo es necesario depurar el programa para saber que es lo que esta pasando internamente, prueba con IDA


Saludos
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

black_flowers

de hecho es un error que sólo mandan los programas hechos en visual c++. El mismo programa hecho en devc n omanda eser error. Debe de ser un error del .net runtime. Aunque por el nombre parece que es del debugger. Pero no lo estoy ejecutando en modo debug.