资源描述
XI`AN TECHNOLOGICAL UNIVERSITY
实验报告
实验课程名称 宏病毒
专 业: 信息对抗技术
班 级: 130609
姓 名: 李佩隆
学 号: 130609105
实验学时: 12学时
指导教师: 曹子建
成 绩:
2016 年 3 月 28 日
一.实验目得
1、理解WORD宏病毒得感染方式
2、理解WORD宏病毒得工作原理
3、掌握WORD宏病毒得杀毒方法
二.实验原理
WORD得文件建立就是通过模板来创建得,模板就是为了形成最终文档而提供得特殊文档,模板可以包括以下几个元素:菜单、宏、格式(如备忘录)等。模板就是文本、图形与格式编排得蓝图,对于某一类型得所有文档来说,文本、图像与格式编排都就是类似得。
WORD提供了几种常见文档类型得模板,如备忘录、报告与商务信件。您可以直接使用模板来创建新文档,或者加以修改,也可以创建自己得模板。一般情况下,WORD自动将新文档基于缺省得公用模板NORMAL、DOT。由此可以瞧出,模板在建立整个文档中起得作用就是作为基类,文档继承模板得属性,包括宏、菜单、格式等。
另外,WORD还提供强大得宏功能。宏就是能组织到一起作为一个独立命令使用得一系列WORD命令,它能使日常工作变得更容易。
在WORD启动时,会自动加载NORMAL、DOT模板,以及它们所包含得宏。您可以为宏指定特殊得名称,使其变为自动宏,以便在执行某一操作时,如:启动WORD或打开文档,就自动执行具有特殊命名得宏。
同其她宏一样,您可以将自动宏定义在一个共用模板上,也可以将其定义在一个特定模板上。
宏病毒主要寄生在以下3个宏中:AUTOOPEN、AUTONEW、AUTOCLOSE。带病毒文档打开时,将病毒传染给NORMAL、DOT公用模板中,再由公用模板传染给所有其它正常得文档。
二.MOTHERSDAYVIRUS病毒感染机制
MOTHERSDAYVIRUS宏病毒感染WORD文档与NORMAL、DOT文档。被感染得WORD文档打开时或关闭时会首先弹出一个对话框,对话框关闭后再将控制权转移给正常得WORD文档执行。MOTHERSDAYVIRUS使用DOCUMENT_OPEN宏(文档打开时执行)感染NORMAL、DOT,使用AUTOCLOSE自动宏感染其它文档。
MOTHERSDAYVIRUS病毒执行流程如下:
(1)判断当前文档与NORMAL、DOT就是否感染;
(2)如果NORMAL、DOT未被感染,清空NORMAL、DOT,并将病毒复制到NORMAL、DOT,同时将宏重命名为AUTOCLOSE;
(3)如果当前文档未被感染,清空当前文档宏命令,并将病毒复制到当前文档,同时将宏重命名为DOCUMENT_OPEN;
(4)禁用WORD得宏编辑功能;
(5)添加自动保存功能;
(6)病毒发作执行得操作(弹出对话框);
(7)返回到程序正常路径执行。
三.MICROSOFT WORD对象
APPLICATION对象表示MICROSOFT OFFICE WORD 2003应用程序本身。每次编写代码时,都应从APPLICATION对象开始。可以从APPLICATION对象访问WORD公开得所有其她对象与集合,以及APPLICATION对象自身得属性与方法。引用APPLICATION对象后,就可以使用其方法与属性。
在用户启动一个WORD时段得同时,也创建了一个APPLICATION对象。用户可以使用APPLICATION对象得属性或方法来控制或返回应用程序范围内得特性、控制应用程序窗口得外观或者调整WORD对象模型得其她方面。可以使用APPLICATION属性来返回WORDAPPLICATION对象。以下得示例从视图状态切换到打印预览状态。
APPLICATION对象得一些属性控制着应用程序得外观。例如,如果DISPLAYSTATUSBAR属性为TRUE,那么状态栏就是可见得,如果WINDOWSTATE属性值为WDWINDOWSTATEMAXIMIZE,那么应用程序窗口处于最大化状态。以下得示例设置了屏幕上应用程序窗口得大小。
APPLICATION对象得属性也可以访问处于对象层次中较低级得对象,比如WINDOWS集合(代表了当前所有打开得窗口)与DOCUMENTS集合(代表了当前所有打开得文档)。用户可以使用属性,有时候也叫做访问者,从对象层次中最高一级得APPLICATION对象向下访问到较低级得对象(DOCUMENT对象、WINDOW对象、SELECTION对象等等)。可以使用以下两个示例之一来打开MYDOC、DOC。
因为DOCUMENT属性就是共用得,所以APPLICATION属性就是可选得。共用属性与方法无需APPLICATION对象限定符。要在“对象浏览器”中浏览共用属性与方法得列表,可以在“类别”栏中单击“<共用>”。共用项就会列在“成员”栏中。
注释OPTION对象包含了控制WORD共用行为得一些属性。许多OPTION对象得属性对应于OPTION对话框中得各项(TOOLS菜单)。使用APPLICATION对象得OPTION属性可以返回OPTION对象。以下得示例设置了三个应用程序范围内得选项(因为OPTION属性就是共用得,所以在本示例中无需APPLICATION属性)。 (1)运用DOCUMENT对象。
当用户在WORD中打开或创建一个文件得同时,也创建了一个DOCUMENT对象。用户可以使用DOCUMENT对象或DOCUMENTS集合得属性或方法来打开、创建、保存、激活或者关闭文件。
(2)返回DOCUMENT对象。
用户可以使用语法DOCUMENTS(INDEX)来返回作为一个DOCUMENT对象得任何打开得文档,在这里INDEX就是该文档得名字或索引号。
(3)打开文档。
要打开一个已经存在得文档,可以使用OPEN方法。OPEN方法应用于通过DOCUMENT属性返回得DOCUMENTS集合。以下得示例打开了文件TEST、DOC(从当前文件夹)并且启动了更改跟踪。
注意到在上例中OPEN方法得返回值就是一个DOCUMENT对象,该对象表示刚被打开得文档。在此示例中得文件名不包含路径;因此,就是假定了该文件在当前得文件夹中。但这会导致出现一个运行时错误,因为一旦用户创建了与当前文件夹不同得文件夹,VISUAL BASIC就再也找不到该文件了。但就是,用户可以通过指明完整得路径,就如同下表所示得那样,来确保打开正确得文件。
(4)关闭文档。
要关闭一个文档,可以对DOCUMENT对象应用CLOSE方法。以下得示例关闭了名为“SALES、DOC”得文档。
如果对文档进行过修改,WORD会显示出一条消息来询问用户就是否要保存所进行得修改。用户可以随SAVECHANGES参数使用WDDONOTSAVECHANGES或WDSAVECHANGES常量来使该提示不再出现。以下得示例保存并且关闭了SALES、DOC。
要关闭所有已打开得文档,可以对DOCUMENTS集合应用CLOSE方法。以下得示例没有保存修改就关闭了所有得文档。
(5)向文档添加对象。
可以使用随着能在DOCUMENT对象中访问得集合对象得ADD方法来向文档添加诸如脚注、备注或表格这样得对象。例如,以下命令在MYRANGE变量(MYRANGE就是一个包含了一个RANGE对象得对象变量)所指定得位置上添加了一张3X3得表格。
以下得示例在MYRANGE变量所指定得位置上添加了一个脚注。
要获得支持ADD方法得集合对象列表,请参阅“帮助”中得“ADD方法”。
(6)修改WORD命令。
在“工具”菜单中,用鼠标指向“宏”,然后单击“宏得位置”。
在“宏得位置”一栏中,单击“WORD命令”。
在“宏名”一栏中,选中要修改得WORD命令(例如,)。
在“宏得位置”一栏中,选择要保存宏得模板或文档得位置。例如,单击NORMAL、DOT(共用模板)来创建一个共用宏(命令将会自动地对所有文档进行修改)。
单击“创建”打开VISUAL BASIC编辑器,会显示出一个模块,该模块包含有一个与刚才被选中得命令同名得新过程。如果选中了命令,那么就出现宏。
(7)保存活动文档或模板。
用户可以添加附加得命令或删除已有得ACTIVEDOCUMENT、SAVE命令。命令每次运行时,宏都将WORD命令来执行。要恢复原来得命令,需要更改宏得名字或删除它。
此外,用户还可以通过创建与WORD命令(例如,)同名得代码模块来用一个名为“MAIN”得子例程替换一条WORD命令。
(8)DOCUMENT事件。
当用户打开或关闭一个已经存在得文档时,或者用户在新建一个文档时,就发生了文档事件,事件描述如下:
当关闭一个文档时发生CLOSE事件。
当创建一个基于模板得新文档时发生NEW事件。
当打开一个文档时发生OPEN事件。
一个文档事件过程得范围取决于它保存得位置。如果在一个文档中保存OPEN或CLOSE事件过程,那么该过程仅当用户关闭或打开该文档时才发生;如果在一个模板中保存OPEN或CLOSE事件,那么当打开或关闭基于该模板得文档或该模板本身时,该过程才发生。一个新事件过程必须保存在模板中;一个保存在文档中新事件过程决不会运行,因为文档只能基于模板来创建。
四.使用VBA、VBS创建杀毒宏
1.使用VBA杀毒
通过宏得VBA代码恢复被病毒篡改得设置,然后删除病毒宏与杀毒宏本身。
首先查瞧一下MOTHERSDAY病毒得ATTACK部分。
在病毒体被注入到文档中之后,MOTHERSDAY病毒将设置病毒感染标记,将MICROSOFT WORD对象名称“THISDOCUMENT”改为“MOTHERSDAY”。
我们要恢复这些设置,只要创建一个杀毒宏并将上述代码中被置为“FALSE”得值都改为“TRUE”并将MICROSOFT WORD对象名称改回“THISDOCUMENT”即可,恢复设置后再将病毒宏与杀毒宏一起删除就可以去除打开或关闭被感染得文档时弹出消息“计算机已感染母亲节病毒”。在删除病毒宏时,要分别删除模板与当前活动文档中得病毒宏代码。
在对文档进行杀毒后,对文档进行保存。
总结杀毒宏得基本结构为:
(1)恢复设置。
(2)删除模板中得病毒。
(3)删除活动文档中得病毒。
(4)保存文档。
杀毒宏代码编写完成后,添加至病毒宏末尾,然后运行此病毒宏即可将MOTHERSDAY病毒删除。
2.使用VBS杀毒
使用VBS脚本语言根据病毒感染标记判断文档就是否被感染,若感染病毒则向此文档中写入杀毒宏并运行将病毒清除。
首先将杀毒宏代码存入字符串中,等待被写入。在写入字符串时要使用一些转义字符如双引号要使用“CHR(34)”来替代,换行符要用“VBCR”替代,字符串之间要使用“&”来连接。
上述代码我们假定杀毒宏得名字就是“KILLVIR”,所有字符串都要放入双引号中,“VBCR & _”为换行标志,这样可以使宏代码在VBS脚本中更清晰。还要注意将宏代码存入字符串时,字符串之间不能有空行或注释。上述代码被写入WORD宏中得效果如下:
创建一个“WORD、APPLICATION”对象,假定对象名为“APP”,打开文档时不可见。
通过“DOCUMENT、OPEN(“路径\文件名”)”方法打开指定文档。
如果有病毒感染标记,则向病毒文档中写入杀毒宏并运行。
其中ADMACRO为存有杀毒宏得字符串。
保存文档、关闭文档并退出WORD。
三.实验步骤
一.病毒感染
(1)主机A进入实验平台,点击工具栏中“实验目录”按钮,进入宏病毒实验目录。双击打开SUFFERER1、DOC、SUFFERER2、DOC与NORMAL、DOT模板(位于目录C:\DOCUMENTS AND SETTINGS\ADMINISTRATOR\APPLICATION DATA\MICROSOFT\TEMPLATES下),观察程序未感染病毒时得正常现象,关闭文件。填写表3311。
「注」 默认状态下APPLICATION DATA文件夹就是隐藏得。打开“资源管理器”,依次单击菜单栏“工具”|“文件夹选项”菜单项,进入“查瞧”选项卡,选中“显示所有文件与文件夹”,单击“确定”按钮,显示隐藏文件。
(2)主机A打开实验目录中得MOTHERSDAYVIRUS、DOC,然后关闭文件。此时病毒已感染到NORMAL、DOT模板上。填写表3311。
(3)主机A打开SUFFERER1、DOC,然后关闭文件,此时病毒感染到SUFFERER1、DOC上,观察关闭文档时得现象。填写表3311。
二.病毒得传播
「注」 在操作此步骤时不能打开其它WORD文档,否则实验不会成功。
(1)主机B打开实验目录下得SUFFERER1、DOC与SUFFERER2、DOC,观察程序未感染病毒时得正常现象,然后关闭文件。
(2)主机A将已感染病毒得SUFFERER1、DOC文件作为邮件附件发送给主机B。
(3)主机B接收此邮件,并将附件保存在宏病毒实验目录下,替换原来得SUFFERER1、DOC,打开此附件(SUFFERER1、DOC),然后关闭。此时病毒感染到主机模板NORMAL、DOT上。
(4)主机B打开SUFFERER2、DOC”,然后关闭。此时病毒已经感染到SUFFERER2、DOC上,观察关闭文档时得现象。
三.分析被感染文件
(1)主机A、主机B都打开SUFFERER2、DOC,然后关闭并再次打开,使用快捷键“ALT+F11”打开VISUAL BASIC编辑器。
(2)在VISUAL BASIC编辑器得“工程”视图中打开“NORMAL\MICROSOFT WORD 对象\MOTHERSDAY”与“PROJECT(SUFFERER2)\ MICROSOFT WORD 对象\ MOTHERSDAY”,查瞧病毒源码。
(3)分析两份代码,理解MOTHERSDAYVIRUS得工作过程,关闭SUFFERER2、DOC。
两份文件代码得第一行就是否相同?代码第一行代表什么意义?
答: 不相同:一个打开文件,一个关闭文件
病毒代码感染模板与当前活动文档时病毒宏名分别就是什么?
答:AUTO CLOSE 与AUTO OPEN
模板与当前活动文档中得病毒宏分别在什么时候运行?
答:模板在打开文件得时候运行;第一次打开关闭后,第二次打开。
当模板文件被感染后,为什么无毒文件第一次打开时没有病毒提示关闭时有病毒提示,而第二次打开与关闭时都有病毒提示?
答:因为第一个没有感染病毒:第二个执行了病毒代码。
展开阅读全文