04 abril 2018

Buffer Overflow Básico Parte 1


En esta entrada, haremos un Buffer Overflow Básico. Parte 1.

En esta parte y como todo tema de inicio, meteremos un poco de teoría.

Según wikipedia un Buffer Overflow o Desbordamiento de búfer tiene la siguiente descripción

Wikipedia dice así: En seguridad informática y programación, un desbordamiento de búfer (del inglés buffer overflow o buffer overrun) es un error de software que se produce cuando un programa no controla adecuadamente la cantidad de datos que se copian sobre un área de memoria reservada a tal efecto (buffer): Si dicha cantidad es superior a la capacidad preasignada, los bytes sobrantes se almacenan en zonas de memoria adyacentes, sobrescribiendo su contenido original, que probablemente pertenecían a datos o código almacenados en memoria. Esto constituye un fallo de programación.

En lenguaje coloquial: es cuando tu rebosas un vaso con agua o cerveza como quieras, y al sobrecargarlo con una cantidad mayor a la que debería recibir, provoca que se derrame y haga un desastre. En un programa provoca que haga crashh :)

Ahora ahí algunos cosas que debemos tener pendiente:

Registers
EAX    – The Accumulator Register
ECX    – The Counter Register
EDX    – The Data Register    
EBX    – The Base Register    
ESP    – The Stack Pointer     
EBP    – The Base Pointer      
ESI     – The Source Index      
EDI     – The Destination Index

The Instruction Pointer (EIP)

Estos son los registers que tambien veremos en el debugger, en un post posterior lo describiremos más exhaustivamente.

Ya casi estamos por empezamos paciencia paciencia.



Ahora veamos las cosas que necesitamos para poder seguir el flujo y así crear este exploit:
  1. Maquina virtual con windows 7.
  2. SLmail 5.5.0
  3. Immunity debugger
  4. mona.py

Ahora la maquina virtual de Microsoft la podemos descargar desde aqui.  El SLmail lo podemos descargar desde este link. El Immunity debugger de su página oficial Y el plugins de mona. El script base lo publicaremos en el github.

El archivo de mona.py va en la carpeta PyCommands, en mi casos esta en la ruta: C:\Program Files\Immunity Inc\Immunity Debugger\PyCommands

Recordando que las instalaciones son siguiente siguiente siguiente como suele ser en el sistema Windows, bueno, al terminar y ejecutar el programa slmail como administrador quedaría así.



Nuestro script base quedaría así



Entonces ahora ejecutamos el immunity como administrador y buscamos el proceso que se llama SLmail, luego que carga lo ejecutamos manualmete o ya sea desde el teclado con F9 y ejecutamos nuestro script (obviamente con la ip que tiene nuestra maquina virtual).

Nuestro resultado en la maquina virtual es:




En las partes 2 y 3 Crearemos nuestro exploit :)



Referencias:
https://es.wikipedia.org/wiki/Desbordamiento_de_bufer
https://github.com/risataimpt/Archivos_del_Blog

2 comentarios:

  1. Muy bueno estoy aprendiendo cada vez más, estoy esperando tus publicaciones.

    Suerte y mucho éxito

    ResponderBorrar
  2. Que bacán tu blog me gusto mucho además que enseñas bien, tienes talento.
    sigue así.

    ResponderBorrar

Las Publicaciones más Vistas

Comandos Drozer Pentest Móvil