-
UID:17777
-
- 注册时间2007-05-02
- 最后登录2025-05-02
- 在线时间18636小时
-
- 发帖786303
- 搜Ta的帖子
- 精华0
- 飞翔币211574
- 威望215717
- 飞扬币2615486
- 信誉值8
-
访问TA的空间加好友用道具
- 发帖
- 786303
- 飞翔币
- 211574
- 威望
- 215717
- 飞扬币
- 2615486
- 信誉值
- 8
|
概述 分析时间:2020-11-07 在早前笔者写的一篇恶意样本分析的笔记中有同学评论说是自己的电脑中了病毒,如下 经过沟通后获取样本,趁着周末就分析了一下,该样本的宏经过了密码保护,启用宏功能后程序会在后台下载 synpatic.exe和一个临时文件cache1 文件 并且会隐藏文件和执行,截止笔者分析时宏内的下载链接已经不能下载了。下面详细分析该文档的功能,包括的内容如下- 分析加密码保护的 vba 宏程序
- 使用 vipermonkey 模拟分析宏
样本分析基础静态分析样本文件是一个 excel 样本,由于是论坛的@无量那由他劫提供,打开文件后,接着查看一下宏内容,如下 这里先不要打开宏,使用alt+F11的快捷键打开接口 这个宏受密码保护,要想直接打开并不可能 在这里要说一下在早前的样本分析笔记中 Word文档宏病毒样本分析中有人给我说笔者写的调试方式 不能应对一些宏病毒,这里感谢提醒。除了oledump.py之外,这里提供另一个功能强大的宏病毒分析模拟程序ViperMonkey 除了提供宏代码提取,还能模拟执行宏程序。使用vipermonkey这个库是一个 python 的库,安装命令为pip install -U https://github.com/decalage2/ViperMonkey/archive/master.zip不过在 windows 上安装运行可能会有点问题,解决方案具体参考windwos找不到/tmp就能正常运行了。安装完成后使用如下命令提取宏运行如下命令分析内嵌的宏,如下vmonkey p.xls 得到如下 整理后保存为 a.vbs 如下 除了上面提到的方式提取脚本,有时候希望得到运行的结果,可以使用如下方式来进行模拟运行vmonkey -s a.xls 运行如下, 提取完成基本的信息后,下面分析程序。宏代码分析入口分析打开程序后来到入口位置 Workbook_Open 得到如下内容 开始程序会先统计excel的表单数量,接着调用 RegKeySave 函数关闭掉 excel和word 的宏警告 参考: https://getadmx.com/?Category=Office2016&Policy=word16.Office.Microsoft.Policies.Windows::L_VBAWarningsPolicy 接着将打开的 excel 文档的警告提示关闭,保存表单的数量。程序调用 MPS 函数后,设置表单的默认选项是第一个。这里基本的入口分析完成了,接着分析一下 MPS 函数分析MPS 函数分析进入到 MPS 函数内后得到如下结果 首先创建一个 FSO 对象和一个数组 FP 以及一个 URL 数组 我也不是很懂VBA语法,不过从赋值上来看是数组 这个函数的功能主要是判断是 ~cache1或者~Synaption.exe 是否存在,如果存在则复制到 tmpcache1.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 ,复制完成后还会将 tmpcache1.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 函数如下 访问上述地址后都是不能存在了 该样本运行后会还会自动填充数据,笔者认为这个宏提供的功能是一些常用的 excel 的过滤,排序等手动操作的过程,使用脚本来做重复的工作,不过这也是猜测。动态调试根据上面的静态分析已经很清晰了,下面进入动态调试来执行查看一些运行的变量来确保分析结果,同时也提供一些针对密码保护的宏样本分析手段。因为有时候分析的样本经过了重度混淆此时静态分析将会无从下手,如下是查看宏提示要求输入密码去除密码保护由于这个样本已经使用了密码保护,要想动态调试需要量样本的密码保护去掉,这里推荐使用 VBA PASSWORD BYPASS 来完成密码的绕过,有需要的可以到提供的下载。使用 VBA Password Bypass 打开样本是提示如下 提示要求打开样本后不要关闭 bypass 软件,此时对应的 excel 文件将被打开,打开后我们将宏功能打开VBA password bypasshttps://appnee.com/vba-password-bypasser/为了调试需要打开宏 程序会运行失败,如下 由于文件是有点不适合公开,打码了
接着点击 End 后使用 Alt+F11 打开宏,如下 核心部分在 ThisWorkbook 内,打开后如下 设置断点后开始调试命中断点后如下 可能运行样本时不一定能设置断点,此时按下F5后再次尝试即可设置断点,之后点击运行按钮
查看运行变量后观察到表单的数量有 6 个 接着调用 RegKeySave 函数关闭宏警告提示 运行完成后将会设置 excel word 的宏警告关闭。 之后禁用excel警告提示 ,紧接着来到 MPS 函数,运行时参数如下 接着进行文件判断后调用网络下载 继续执行到 send 函数执行后网络失败 不能下载远端的 payload 程序,则后续就不能继续分析了。信息收集分析经过上述分析后知道该样本是一个下载,此时将文件的 hash 信息到 VT 上查询, 还是被很多 AV 检测出来了标记为 Downloader ,查看分析历史,该样本在最早在 2015-01-15 就已经被创建了,内容是在 2012-07-02 的时候曾经被修改过,猜测这个样本该不会是一个钓鱼样本吧,并且首次提交 VT 分析的时间是笔者分析的时间,换句话说这个样本此前并未被上传分析过,如下 再结合文件的名称和内容来看就比较可疑,如下 不知道给我分析的人是不是自己的文档,希望各位不要随意点击未知邮件或者开启 office 的宏功能。总结建议最近分析了好几种不同的 office 类型的病毒,很多宏的病毒都是诱骗用户开宏来执行,在收到未知邮件或者文档时,不要着急开启宏功能,先确保文件的安全性在运行。样本特征sha1: e3f7fcd1ce2e4fd02c2470e52203512cdda2d944URLS 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 "HKCUSoftwareMicrosoftOffice" & Application.Version & "ExcelSecurityVBAWarnings", 1, "REG_DWORD""HKCUSoftwareMicrosoftOffice" & Application.Version & "WordSecurityVBAWarnings", 1, "REG_DWORD"
|