病毒是一种普遍存在的计算机病毒,常隐藏于文档或模板中,但不直接感染可执行程序。它诞生于上世纪90年代,并自此以来在网络上不断涌现各种类型的宏病毒。早期的宏病毒是技术先驱们展示高超技艺的平台,仅感染文档文件。然而,随着时间的推移,宏病毒的威胁日益加大,不再局限于感染文档文件,而成为分发恶意程序的常见手段。宏病毒执行起来简便、隐蔽且迅速,一旦用户打开携带宏病毒的文档,其中的宏病毒将会被激活执行。
对于攻击者而言,宏病毒是一种有力的工具,尤其是与社会工程学相结合的宏病毒。例如,乌克兰电网事件(BlackEnergy)中,工作人员只是打开了一份看似正常的文档,却导致了无法挽回的损失。不仅仅是BlackEnergy,近来肆虐的各种勒索软件也离不开Office宏的帮助。通过传统的宏病毒,一旦用户打开带有宏病毒的文档,其中的宏病毒就会被执行,从而释放并激活恶意软件。
面对不同的场景,宏有不一样的定义,当在写程序的时候提及到宏,比如C语言的编程中会用到#define宏定义,避免同一动作的一再重复。当我们使用office的办公软件时,Microsoft Office会为我们提供宏的加载,它们基于VB语言编写,用于执行作为一个独立命令来执行的一系列Word 命令,使日常工作变得容易。
本文中提到的宏,采用了狭义的定义,即office办公软件中的宏。
执行恶意功能的宏就是宏病毒。宏病毒是使用宏语言编写的恶意程序,存在于字处理文档、电子数据表格、数据库、演示文档等数据文件中,可以在ofice系列办公软件中运行,利用宏的功能将自己复制到其他数据文件中。宏病毒感染的是数据文件。宏病毒与传统的病毒有很大的不同,它不感染可执行文件,而是潜伏在Microsoft Office文档中,一旦用户打开含有宏的文档,其中的宏就会被执行。宏是使用VBA编写的,编写过程简单,任何人只需掌握一些基本的宏编写技能就可以编写出破坏力巨大的宏病毒。
宏病毒的强大是建立在强大的VBA组件的基础上的。同时,宏病毒与系统平台无关,任何计算机如果能够运行Microsoft Office办公软件,都有可能感染宏病毒。随着Microsoft Ofice系列办公软件成为电子文档的工业标准,Word,Excel和PowerPoint等已成为个人计算机和互联网上广泛使用的文档格式,宏病毒成为传播最广泛,危害最大的一类病毒。根据文档载体的不同,宏病毒可以细分为很多种,Word、Excel、Access、PowerPoint等都有想应的宏病毒。
由于office支持加载宏,于是有了非法分子通过插入自己的恶意宏代码到word文档、PPT、Excel等office软件,并且传播和感染了很多的个人电脑。
1)目前宏病毒可以分为ToDOLE病毒、pldt病毒。首先,在分析宏病毒前,我们需要知道,宏是加载在office软件上的,加载前office软件必定能识别出来。也就是无论是word文档、Excel或者PPT,都能加载宏病毒。
2)分析环境:Win10虚拟机,Microsoft 2010
3)样本信息:
样本类型:PPT文件
1)查看PPT内容:
2)查看宏引用,无宏,但是已经确认它是带有宏病毒了,那宏病毒代码段在哪呢?
3)寻找宏病毒代码,office软件加载宏时,都会先识别和找出宏,但这个ppt没有宏,却被判断了带有宏病毒,那么它有可能是链接到了有宏病毒的文档中去了,这个链接可能是文档,也可能是链接。接着我们仔细看。
4)在第四页、第六页的PPT上,我们发现了有Excel文档的链接,并且除了链接到Excel外,我们并未发现其他的可疑,于是我们双击打开Excel文件。
5)打开Excel文件,触发了office软件的安全提醒,我们先禁用宏,然后在分析。
6)打开office自带的VB调试器,步骤:文件->自定义功能区->开发者工具(框框√上)->Visual Basic编辑
7)打开可发现对象ThisWorkbook和模块ToDOLE,它们便是宏的恶意代码。
8)其中PPT的还有一页是链接到Excel文件,它们是不同Excel文件,但是宏代码一样
1)对象的代码
2)模块ToDOLE的部分代码
图1
图2
图3
图4
图5
图6
图7
3)行为分析
宏病毒会有自动执行、隐秘执行、调用外部例程、命令执行、复制自身或者创建文件等行为,主要的关键代码有:auto_open和auto_close,CreateOject,Reg修改,On Error Resume Next,Application.DisplayStatusBar = False Options.SaveNormalPrompt = False 。
其中,在2)的图1的开始地方,便可发现auto_open函数的调用
来自于CSDN的总结,隐藏执行的操作。
调用外部例程和命令执行的总结
从2)的图7,可看出样本有外部调用例程和命令执行的行为。
安全杀毒软件、打全系统补丁是预防计算机病毒的基本措施,也适用于宏病毒,除此之外,针对宏病毒还有专门的防治措施。
由于宏病毒的肆虐,Microsoft在Office办公软件中提供了禁止宏的功能,用户只需要将其打开激活即
可再次运行宏。word2013如图所示:
Word2019如下图所示:
如果怀疑文档中存在宏病毒,可以在Ofice打开文档的时候,始终按住SHift键,将禁止存在的一起自动宏。这和禁用宏有异曲同工之妙,Shift键可以在退出时禁止任何AutoClose宏。这种方法的缺陷也很明显,它只能对付一时,当宏病毒利用其它菜单选项来实现破坏活动,这种方法就不再有效。
对于普通用户来说,清理宏病毒显得麻烦,因为文档被宏病毒感染后(实际上是文档使用的模板文栏被感染),使用文档时常常会出现一些异常情况,即使用杀毒软件将所有带毒的文档文件都处理一遍,但是,当重新打开它们时病毒又出现了。有些用户采用的是将Ofice卸载重装,但是有时候问题还是没有被解决。
下面以删除Word宏病毒为例分步骤详细说明宏病毒的清理:
1)退出Word程序,先查看系统盘根目录下是否存在Autoexec.DOT文件,如果存在,而又不知道它是什么时候出现,则将其删除。
2)找到Normal.DOT文件,一般位于C:Documents and Settingsl AdministratorlApplicationDataMicrosoftTemplates目录下,用先前干净的备份将其替换,也可以直接删除,Word不会因为找不到Normal.DOT而拒绝启动,它会自动重新生成一个干净的没有任何外来宏的Noraml.DOT。
3)查看Noraml.DOT所在的目录中是否存在其他模板文件,如果存在且不是自己复制进去的,将其删除。
4)重新启动Word程序,查看Word是否恢复正常了
5)最后检查宏病毒防护是否被启用了,某些病毒会自动禁用宏病毒防护功能,如果不启用禁用宏功能,Word会很快再次被病毒感染。
在面对未知链接,未知自我保护意识总的来说,宏病毒的本质就是社会工程学,它诱导诱惑受害者启动宏代码。面对未知的软件和链接,未知的office软件,不要轻易打开,尽量做到杀软在线和将重要文件存储在云端或者多设备备份,保护个人隐私。
原文始发于微信公众号(蓝鸟安全):社会工程学之office宏病毒分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论