12 abril 2018

Buffer Overflow Básico Parte 3


Buffer Overflow Básico. Parte 3.

En esta parte cerramos los post de buffer overflow básico :)

Bueno, siguiendo el flujo anterior, ya tenemos nuestro Script con una dirección de memoria  que nos permitiría saltar a nuestro shellcode.

Ahora creamos un bytearray con mona



En breve descripción este bytearray, nos genera un tipo de shellcode que nos permitirá detectar si existe algún carácter nulo o que nos interrumpa la ejecución del shellcode final

Ya que vamos a mencionar en varias ocasiones el termino shellcode, es necesario saber que es un shellcode

Según wikipedia: Una shellcode es un conjunto de órdenes programadas generalmente en lenguaje ensamblador y trasladadas a opcodes (conjunto de valores hexadecimales) que suelen ser inyectadas en la pila (o stack) de ejecución de un programa para conseguir que la máquina en la que reside se ejecute la operación que se haya programado.

08 abril 2018

Buffer Overflow Básico Parte 2


Buffer Overflow Básico. Parte 2.

En esta parte seguimos nuestra creación de exploit, si no entiendes algunas cosas o quieres replicarlo, en la publicación anterior esta el detalle y un poco de teoría básica Clik Aqui.

Ok, si esta todo listo manos a la obra.

Después de que ya sabemos la cantidad con la que el programa reboza, entonces ahora creamos un patrón para determinar la cantidad exacta del offset

Primero crearemos una carpeta llamada "logsSLMAIL", esta sera en el escritorio donde se guardaran los archivos y después tecleamos el siguiente comando en immunity



Ahora creamos un patrón, este puede ser con metasploit o con el mismo immunity



El código modificado quedaría así y luego lo ejecutamos

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.

Las Publicaciones más Vistas

Comandos Drozer Pentest Móvil