概述
分析时间:2020-11-07
更新:2020-11-09 增加解决方案和防护建议
在早前笔者写的一篇恶意样本分析的笔记中有同学评论说是自己的电脑中了病毒,如下
1
经过沟通后获取样本,趁着周末就分析了一下,该样本的宏经过了密码保护,启用宏功能后程序会在后台下载
synpatic.exe和一个临时文件cache1
文件 并且会隐藏文件和执行,截止笔者分析时宏内的下载链接已经不能下载了。下面详细分析该文档的功能,包括的内容如下
- 分析加密码保护的
vba
宏程序
- 使用
vipermonkey
模拟分析宏
样本分析
基础静态分析
样本文件是一个 excel
样本,由于是论坛的@无量那由他劫提供,打开文件后,接着查看一下宏内容,如下
这里先不要打开宏,使用alt+F11的快捷键打开接口
这个宏受密码保护,要想直接打开并不可能
ps
在这里要说一下在早前的样本分析笔记中
Word文档宏病毒样本分析中有人给我说笔者写的调试方式
不能应对一些宏病毒,这里感谢提醒。除了oledump.py之外,这里提供另一个功能强大的宏病毒分析模拟程序ViperMonkey 除了提供宏代码提取,还能模拟执行宏程序。
使用vipermonkey
这个库是一个 python
的库,安装命令为
pip install -U https://github.com/decalage2/ViperMonkey/archive/master.zip
不过在 windows
上安装运行可能会有点问题,解决方案具体参考windwos找不到/tmp就能正常运行了。安装完成后使用如下命令提取宏
运行如下命令分析内嵌的宏,如下
vmonkey p.xls
4
得到如下
5
整理后保存为 a.vbs
如下
6
除了上面提到的方式提取脚本,有时候希望得到运行的结果,可以使用如下方式来进行模拟运行
vmonkey -s a.xls
7
运行如下,
8
提取完成基本的信息后,下面分析程序。
宏代码分析
入口分析
打开程序后来到入口位置 Workbook_Open
得到如下内容
9
开始程序会先统计excel的表单数量,接着调用 RegKeySave
函数关闭掉 excel和word
的宏警告
参考: https://getadmx.com/?Category=Office2016&Policy=word16.Office.Microsoft.Policies.Windows::L_VBAWarningsPolicy
接着将打开的 excel
文档的警告提示关闭,保存表单的数量。程序调用 MPS
函数后,设置表单的默认选项是第一个。这里基本的入口分析完成了,接着分析一下 MPS
函数分析
MPS 函数分析
进入到 MPS
函数内后得到如下结果
10
首先创建一个 FSO
对象和一个数组 FP
以及一个 URL
数组
我也不是很懂VBA语法,不过从赋值上来看是数组
这个函数的功能主要是判断是 \~cache1或者\~Synaption.exe
是否存在,如果存在则复制到 tmp\cache1.exe
并使用隐藏的窗口的方式启动。
参考: https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/shell-function
其中 FP
数组用来保存两个文件名分别是 \~cache1 \~Synptics.exe
程序,然后 URL
数组用来保存要下载的文件 url
地址,接着调用 FSO
对象判断 cache1和Synaption.exe
是否存在,如果存在则将对应的文件复制到 %TMP%
目录下的 cache1.exe
,复制完成后还会将 tmp\cache1.exe
以隐藏 shell
窗口启动进程的方式运行。 如果文件不存在则分别到如下地址下载,只要有一个文件下载成功则启动进程
URL(1) = "https://docs.google.com/uc?id=0BxsMXGfPIZfSVzUyaHFYVkQxeFk&export=download"
URL(2) = "https://www.dropbox.com/s/zhp1b06imehwylq/Synaptics.rar?dl=1"
URL(3) = "https://www.dropbox.com/s/zhp1b06imehwylq/Synaptics.rar?dl=1"
目前改地址已经不能访问了,调用的 FDW
函数如下
11
访问上述地址后都是不能存在了
12
13
该样本运行后会还会自动填充数据,笔者认为这个宏提供的功能是一些常用的 excel
的过滤,排序等手动操作的过程,使用脚本来做重复的工作,不过这也是猜测。
动态调试
根据上面的静态分析已经很清晰了,下面进入动态调试来执行查看一些运行的变量来确保分析结果,同时也提供一些针对密码保护的宏样本分析手段。因为有时候分析的样本经过了重度混淆此时静态分析将会无从下手,如下是查看宏提示要求输入密码
去除密码保护
由于这个样本已经使用了密码保护,要想动态调试需要量样本的密码保护去掉,这里推荐使用 VBA PASSWORD BYPASS
来完成密码的绕过,有需要的可以到提供的下载。使用 VBA Password Bypass
打开样本是提示如下
14
提示要求打开样本后不要关闭
bypass
软件,此时对应的
excel
文件将被打开,打开后我们将宏功能打开
VBA password bypass
https://appnee.com/vba-password-bypasser/
为了调试需要打开宏
程序会运行失败,如下
由于文件是有点不适合公开,打码了
15
接着点击
End
后使用
Alt+F11
打开宏,如下
16
核心部分在
ThisWorkbook
内,打开后如下
17
设置断点后开始调试命中断点后如下
可能运行样本时不一定能设置断点,此时按下F5后再次尝试即可设置断点,之后点击运行按钮
18
查看运行变量后观察到表单的数量有 6
个
19
接着调用
RegKeySave
函数关闭宏警告提示
20
运行完成后将会设置
excel word
的宏警告关闭。
21
之后禁用excel警告提示 ,紧接着来到
MPS
函数,运行时参数如下
22
接着进行文件判断后调用网络下载
23
继续执行到 send
函数执行后网络失败
24
不能下载远端的 payload
程序,则后续就不能继续分析了。
2020-11-09更新
后续,感染病毒的同学问我为啥保存的excel文件会变为.xlsm文件
096
这个恶意软件为了让用户开启宏功能,将用户的数据全部隐藏掉,开启宏运行后就执行后台程序然后再显示用户数据,如果用户没有开启宏执行,则默认显示一个表,其余的全部不显示。
如下没有开启宏的情况,只有一个表可见
开启宏之后就会自动加载其余剩下的表
097
在 VBA
脚本内有如下函数
098
Workbook_BeforeSave
是 excel
的函数,触发条件是用户保存数据时的动作
参考 https://docs.microsoft.com/en-us/office/vba/api/excel.workbook.beforesave
保存 excel
的触发条件为
- ctrl+s
- File->save
- File->saveAs
如果前两个触发,则传入的 SaveAsUI
动作是将所有的表单设置为不可见,只保留一个可见
099
此时试运行的情况,当保存触发,程序执行完红色框的程序后,只有一个表保留,其他的都被隐藏了,如下
当执行文件另存为的时候只显示一个可显示选项保存为 xlsm
文件,如下
点击另存为触发函数
接着将另存为的文档其余的表单隐藏,只保留一个
102
弹出保存文档框并提供保存的文件只能是.xlsm格式
103
此时的数据格式只有一个可见
接着会在最后判断 cache1
是否存在,如果存在则再次复制到 %ALLUSERSPROFILE%\synaptics\Synaptics.exe
下
可以查看解决办法,好像格式有点变了
信息收集分析
经过上述分析后知道该样本是一个下载,此时将文件的 hash
信息到 VT
上查询,
25
还是被很多
AV
检测出来了标记为
Downloader
,查看分析历史,该样本在最早在
2015-01-15
就已经被创建了,内容是在
2012-07-02
的时候曾经被修改过,猜测这个样本该不会是一个钓鱼样本吧,并且首次提交
VT
分析的时间是笔者分析的时间,换句话说这个样本此前并未被上传分析过,如下
26
再结合文件的名称和内容来看就比较可疑,如下
27
不知道给我分析的人是不是自己的文档,希望各位不要随意点击未知邮件或者开启
office
的宏功能。
解决办法 2020-11-09 更新
数据恢复
在宏开启的时候,新建一个excel文档数据复制数据到新的excel文档,不要在使用这个有宏excel程序即可 如果复制了原始宏的数据会提示如下是我测试的结果
091
重新保存为新表即可。
将宏的保护功能开启
打开注册表执行如下命令 Win+R 弹出如下框输入 regedit
092
找到
`**HKEY_CURRENT_USER\soft\Microsoft\Office\version` 下的
`excel|word**` 将security的宏警告开启,
上述的程序将此功能关闭了,修改值如下
修改前
093
选中
VBAWarings
右键-->修改值,将
1-->0
094
保存后如下
修改后
095
修改后保存下次运行带有宏自动运行的文档就会有提示要求开启宏。
该样本已经将系统宏警告防护关闭,后续的带有宏的程序就能直接运行,请将此防护功能开启
总结
建议
最近分析了好几种不同的 office
类型的病毒,很多宏的病毒都是诱骗用户开宏来执行,在收到未知邮件或者文档
时,不要着急开启宏功能,先确保文件的安全性在运行。
样本特征
sha1: e3f7fcd1ce2e4fd02c2470e52203512cdda2d944
URLS
URL(1) = "https://docs.google.com/uc?id=0BxsMXGfPIZfSVzUyaHFYVkQxeFk&export=download"
URL(2) = "https://www.dropbox.com/s/zhp1b06imehwylq/Synaptics.rar?dl=1"
URL(3) = "https://www.dropbox.com/s/zhp1b06imehwylq/Synaptics.rar?dl=1"
RegKey
"HKCU\Software\Microsoft\Office\" & Application.Version & "\Excel\Security\VBAWarnings", 1, "REG_DWORD"
"HKCU\Software\Microsoft\Office\" & Application.Version & "\Word\Security\VBAWarnings", 1, "REG_DWORD"