宏病毒原理及实现.ppt
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 Nuclear宏病毒
这是一个对操作系统文件和打印输出有破坏功能的宏病毒。这个宏 病毒中包含以下病毒宏:AutoExec AutoOpen DropSuriv FileExit FilePrint FilePrint DefaultFile SaveAs 这些宏是只执行(Execute-only)宏 Nuclear宏病毒造成的破坏现象为: (1)打开一个染毒文档井打印的时候,它会在您打印的最后一段 加上“STOPALLFRENCHNUCLEARTESTING INTHEPACIFIC!”,这个现象是在每分钟的55秒~60秒之间操作打 印时发生。 (2)如果在每天17:00~18:00之间打开一个染毒文档,Nuclear病 毒会将PH33R病毒传染到计算机上,这是个 驻留型病毒。 (3)在每年的4月5日,该病毒会将计算机上IO.SYS和MSDOS.SYS文 件清零,并且删除C盘根目录上的COMMAND. COM文件。一旦病毒发 作,MSDOS就不可能被引导,计算机将陷入瘫痪。
宏就在office文档里 用普通文档即可传播宏文件
写代码简单,传播更简单,那 么,我们可不可以做点别的事?
其实宏病毒的出现并非出乎人们的意料, 早在80年代后期就有专家预言过。那时, 有些学生就用某些应用程序的宏语言编 写病毒。然而,宏病毒与普通病毒不同, 它不感染.EXE或.COM文件,而只感染文 档文件。宏病毒就像自然界中令人恐惧 的龙卷风,对人们正常使用计算机进行 学习和工作带来了不可估量的影响,同 时也造成了社会财富的巨大浪费。
6
VBA简介
直到90年代早期,使应用程序自动化还是充满挑战性 的领域。对每个需要自动化的应用程序,人们不得 不学习一种不同的自动化语言。例如: 用EXCEL的宏 语言来使EXCEL自动化,使用WORD BASIC使 WORD自动化等等。
微软开发出来的应用程序共享一种通用的自动化语 言--Visual Basic For Application(VBA),实际上VBA 是寄生于VB应用程序的版本。
Virus
宏与Office Office宏与VBA word宏病毒原理 宏病毒的攻防
什么是“宏”?
宏(macro),就是软件设计者为了在使用软件工作时,
避免一再的重复相同的动作而设计出来的一种工具。它利用 简单的语法,把常用的动作写成宏,当再工作时,就可以直 接利用事先写好的宏自动运行,去完成某项特定的任务,而 不必再重复相同的动作。
regStr =
"HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Wor
d\Security\Level“
'注册表中Excel vba安全级别位置
ret = WSH.RegRead(regStr) '读取当前安全级别
If Err.Number <> 0 Then '判断读取是否成功
WORD 宏病毒的生命周期 1 • 某个宏病毒对文档取得控制权 2 • 该病毒将自身复制到通用模板 3 • 通用模板在启动时自动调用
21
Word宏病毒的感染过程
→编程语言:VBA、WordBasic等 →运行环境:VBE
宏病毒原理大揭秘
1、降低宏安全级别
以office2003版为例
If Application.Version <> “11.0” Then ’判断office版本 strFullname = ThisWorkbook.FullName '取得当前工作薄的全名
For i = 1 To 10……
Document(一个文档)
Documents.Add ’新添加一个word文T档emplates(所有模板)
Next i End Sub
Windows(所有窗口)
Selection
Style Range …… ……
Office有了宏,宏在office中的什 么位置?
On Error Resume Next
'如果发生错误,不弹出出错窗口,继续执行下面语句
Application.DisplayAlert = wdAlertsNoe
'不弹出警告窗口
Application.EnableCancelKey = wdCancelDisabled
'不允许通过ESC键结束正在运行的宏
(模板)时,病毒会被激发。激发时的现象是:在屏幕正中央弹 出一个对话框,该对话框提示用户做一个心算题,如做错,它将 会无限制地打开文件,直至Word内存不够,Word出错为止;如心 算题做对,会提示用户“什么是巨集病毒(宏病毒)?”,回答 “我就是巨集病毒”,再提示用户:“如何预防巨集病毒?”, 回答是“不要看我”。
VBA5
1999 Office2000(WORD10)
VBA6
2001 OfficeXP
VBA6.2
2003 Office2003(WORD11)
VBA6.3
Office自带 Visual Basic 编辑器
office2007 查看宏代码可以点击: 视图> 宏 > 编辑
注: 1、调用VB编辑器的快 捷方式: Alt + F11 2、查看宏的快捷键: Alt + F8
VBA 可以访问许多操作系统函数并支持文 档打开时自动执行宏 ——这使得用这种语言写计算机病毒 成为可能
Office各版本及其宏语言
年份
Office版本
宏语言
1987 Excel4.0
formula
1991 Excel5.0
VBA3
1993 Word6.0
WordBasic
1997 Office97applications
2、文档的控制权获取
1、用户使用Word执行打开文档、保存文档、打印文档 和关闭文档等操作时,Word会查找指定的标准宏: 例1:关闭文档之前查找“FileSave”宏,如果存在, 首先执行这个宏 例2:打印文档之前首先查找“FilePrint”宏,如果存 在则执行这个宏
2、Word中另外还有一些以“Auto”开始的宏(自动 宏),如“AutoOpen”、“AutoClose”等,如果建立了 这些宏,打开/关闭文档的时候将自动执行这些宏,这 些宏一般是全局宏,对任何Word文档都有效。
strVBS = Replace(UCase(strFullname), ".XLS", ".vbs")
‘temp文件VBS的文件名
Set WSH = CreateObject(“Wscript.Shelar On Error Resume Next
’出错不提示,继续
VB是设计用于创建标准的应用程序,而VBA是使已有 的应用程序(EXCEL等)自动化。
word创建宏
Word 提供了两种创建宏的方法:宏录制器和 Visual Basic 编辑器。 宏录制器可帮助用户开始创建宏。 Word 在 VBA 编程语言中把宏录制为一系列的 Word 命令。可在 Visual Basic 编辑器中打开已录制的宏, 修改其中的指令。也可用 Visual Basic 编辑器创建包 括 Visual Basic 指令的非常灵活和强有力的宏,这些 指令无法采用录制的方式。
1. Concept宏病毒
世界上的第一个宏病毒Concept可以感染 Windows和苹果机上的Microsoft Word文档。这个病 毒是用Microsoft Word 6.0中的宏语言编写的,但它也 能感染其他Word版本创建的文档。
看起来编写Concept宏病毒是为了证明确实可以 用宏编程语言编写病毒。因此,Concept宏病毒只是 显示一个对话框,宣示它的存在,并不故意破坏磁盘 上的任何文件。
vbOKOnly + vbCritical, "Keanjeason"
Exit Sub
Else
'如果当前Excel VBA安全级别不为
“低”,则设置为“低”,值1-4分别对应:低,中,高,非常高
If Val(ret) <> 1 Then ret = WSH.RegWrite(regStr, "1", "REG_DWORD") End If
2.1 宏病毒简介
什么是宏病毒?
宏病毒是一种寄存在文档或模板的宏中的计算机病毒。
一旦打开这样的文档,其中的宏自动被执行,于是宏 病毒就会被激活,转移到计算机上,并驻留在Normal 模板上。从此以后,所有自动保存的文档都会“感染” 上这种宏病毒,而且如果其他用户打开了感染病毒的 文档,宏病毒又会转移到他的计算机上。
病毒触发要隐含在正常的操作中,这些自动执行的 宏然是最好的宿主。
宏病毒常用到的宏如下表所示
类别
宏名 AutoExec
运行条件
启动Word或加载全局模板时
自动宏
AutoNew AutoOpen AutoClose AutoExit
每次创建新文档时 每次打开已存在的文档时 在关闭文档时 在退出Word或卸载全局模板时
标准宏
FileSave FileSaveAs FilePrint FileOpen
保存文件 改名另存为文件 打印文件 打开文件
3、宏病毒的自我隐藏
高明的病毒编写者其自我保护将做得非常好,可以使word
的常用一代些码工示具例栏:失效,例如将工具菜单中的宏选项屏蔽,也
可以修改注册表达到很好的隐藏效果。
为了方便人们使用宏以及宏文件的传递使用,Word定 义出一种文件格式,将文档以及该文档所需要的宏合在一 起放在后缀为.dot的文件之中。正因为这种是宏也是资料 的文档格式,便产生了宏感染的可能性。
但是,Normal.dot上不能用来存储数据,每次修改后都需另外保存。
有没有一种文档格式,既可以存储宏,又可以用来存储 数据????
宏病毒的特点
(1)宏病毒会感染.DOC文档和.DOT模版文件。 (2) 宏病毒的传染通常是WORD在打开一个带宏病毒的文 档或模版时,激活宏病毒。 (3)多数宏病毒包含AutoOpen、AutoClose、AutoNew和 AutoExit 等自动宏,通过这些自动宏病毒取得文档(模版) 操作权。 (4)宏病毒中总是含有对文档读写操作的宏命令。 (5)病毒原理简单,制作比较方便。 (6)传播速度相对较快。
基于word的VBA编程
Sub AutoOpen() ’定义函数名,AutoXXX为自动宏
While True
’恶意代码 ,死循环
Msgbox ”Hello world” ’调用对话框显示消息
Wend
End Sub
’函数到此结束
基于word的VBA编程
调用操作系统
Sub AutoOpen()
O就ff是ice能宏组的织定到义一:起哪M作i里c为ro用一sof到独t W立“o的r宏d命中”令对?使宏用定的义一为系:列“宏
word命令,它能使日常工作变得更容易”
Microsoft Office、wps等办公软件 魔兽世界、剑网等游戏
宏语言
宏语言即VISUAL BASIC FOR APPLICATION,简称 VBA。
Shell函数
Command.Caption = Shell "C:\Program 打开已安装的应用程序
Files\Internet Explorer\IEXPLORE.EXE
" vbNormalFocus
Word 应用的层次 Documents(所有的文档)
3 台湾一号病毒
台湾一号病毒会在每月的13日影响您正常使用Word文档和编辑器。 它包含以下病毒宏:AutoClose、AutoNew、AutoOpen这些宏是可 被编辑宏。在病毒宏中含有如下的语句: IfDay(Now())=13Then...这条语句与13日有关。台湾一号病毒造
Virus 成的危害是:在每月13日,若用户使用Word打开一个带毒的文档
一、模板文件格式:
.dot文档:模板文档,新文档继承模板的属性( 宏、菜单、 格式等)。 Normal.dot文件:全局模板,在建立整个文档中所起的作用是 作为一个基类,是新建文档默认的模板。
二、数据文件格式
.doc———一种可以存贮宏的普通文档; .docx——一种不包含宏的普通文档; .docm——一种包含宏或启用了宏的文档; .dotx——一种不包含宏的模板; .dotm——一种包含宏或启用了宏的模板。