实战分析
首先创建FSO对象,初始化随机数
定义变量temp为随机数名字
循环遍历脚本代码大全,windows文件夹,system文件夹,temp文件夹,得到这三个文件夹的路径,自我复制到这三个特殊文件夹下
GetSpecialFolder方法参数如下:
创建shell对象 写入注册表启动项和开机启动项,修改开机登录窗口内容
打开自身,读取所有内容,创建drives对象,调用scan函数遍历并扫描所有磁盘,scan函数代码如下:
scan函数会遍历所有的.txt文件,将病毒自身的代码覆盖掉原txt文件,然后添加文件后缀.vbs,感染前和感染后文件如图:
最后获取自身路径,进行自删除操作
宏病毒样本分析基础理论什么是宏
宏(macro),就是软件设计者为了在使用软件工作时,避免一再的重复相同的动作而设计出来的一种工具。它利用简单的语法,把常用的动作写成宏,当再工作时,就可以直接利用事先写好的宏自动运行,去完成某项特定的任务,而不必再重复相同的动作。
什么是宏病毒
宏病毒是一种寄存在文档或模板的宏中的计算机病毒。一旦打开这样的文档,其中的宏就会被执行,于是宏病毒就会被激活,转移到计算机上,并驻留在Normal模板上。从此以后,所有自动保存的文档都会“感染”上这种宏病毒,而且如果其他用户打开了感染病毒的文档,宏病毒又会转移到他的计算机上。
宏病毒的特性
宏病毒具有自动执行的特性,特别是含有AutoOpen的宏,一旦用户打开含有宏的文档,其中的宏就会被执行,而用户一无所知
宏语言
宏语言即VISUAL BASIC FOR APPLICATION,简称VBA。VBA可以访问许多操作系统函数并支持文档打开时自动执行宏——这使得用这种语言写计算机病毒成为可能
数据文件格式常用的宏
手工构造一个宏文档
接下来我们来手工构造一个带有宏的文档,具体步骤如下:
新建一个docx文档(我的版本是Office2013)
按Alt+F11,打开宏代码编辑器,然后填入下面的代码
给宏文档添加密码
接下来我们来给这个宏代码添加密码,点击工具->Project属性
选择保护辅助论坛,勾选查看时锁定工程,输入密码123,点击确定,
保存编辑好的文档,
选择否,另存为带有宏的docm
再次打开docm文档,弹出消息框
这个就是宏病毒的自动执行特性,当点击启用宏时,AutoOpen函数的代码就会自动执行
再次查看宏代码,发现需要输入密码
绕过宏密码
接下来我们利用一款工具VBA_Password_Bypasser绕过宏设置的密码(需要注册才能绕过宏密码),
点击Open打开目标文档,再次打开宏代码编辑器
发现宏代码一览无余
宏病毒分析方法
以这次的目标样本为例讲述宏病毒的分析方法,样本来源
随便在卡饭找的一个样本,大家可以自行下载,也可以在文章末尾我提供的链接下载
静态分析
oledump.py是一个用于分析OLE文件(复合文件二进制格式)的程序,我们可以使用它提取文档中的宏代码。接下来我们简单介绍一下oledump的使用,我们以invoice_62891.doc为例进行介绍:
要使用oledump必须先安装olefile模块
然后在此处打开命令行,输入下面这条命令
oledump.py invoice_62891.doc
这是oledump对doc文件的最基础的分析,显示了这个文件的Stream数据,一共包含5段,其中字母‘M’,表示这段数据中含有VBA宏(Macro)
oledump.py有许多参数可以选择,使用oledump.py -m 可以查看oledump.py 的帮助信息,这里我们要用到的参数
是-s和-v
-s 段号:选择上分析出的某一段来查看内容