实例讲解如何绕过 Office 文档的反分析技术

简介: 本文讲的是实例讲解如何绕过 Office 文档的反分析技术,今天我们来试着分析一个使用Word文档的恶意VBA项目。该文档的作者对文件中的VBA项目进行了密码保护,以防止对恶意代码的检查,同时也使用了一些防止密码删除的技术。
本文讲的是 实例讲解如何绕过 Office 文档的反分析技术今天我们来试着分析一个使用Word文档的恶意VBA项目。该文档的作者对文件中的VBA项目进行了密码保护,以防止对恶意代码的检查,同时也使用了一些防止密码删除的技术。因此自动分析工具就基本不起作用了,但我们还是展示了如何跨越所有这些反分析障碍的技术,下面我们开始。

实例讲解如何绕过 Office 文档的反分析技术

我们首先打开文档,然后就会接到一个钓鱼消息,声称该文档是使用早期版本的Microsoft Office创建的,想要查看内容的话我们必须启用宏。 

当我们启用宏时,文档开始指向cfai66.fr

 实例讲解如何绕过 Office 文档的反分析技术

要了是解什么使文档发送到一个法国域名,我们必须在“开发人员”选项卡中检查文档的宏。但是,作者用密码保护着VBA项目,来防止我们检查。这就限制了我们从Microsoft Office内部准确分析VBA脚本的能力。

 实例讲解如何绕过 Office 文档的反分析技术

要继续分析,我们可以尝试使用Office文件的一些常见的十六进制编辑技术手动删除密码。首先,我们在文档中搜索字符串“DPB”并将其更改为“DPx”。Office的某些版本会将其解释为损坏的密码哈希。但是,这对我们的文档不起作用,我们仍然收到密码提示。

接下来,我们尝试用我们创建的受密码保护的VBA启用文档替换我们文档的“CMG”,“DPB”和“GC”值。遗憾的是,我们的文件的作者有意地搞砸了“CMG”的价值,以摒弃这个领域的长度。我们尝试将我们的新CMG复制到恶意文档也失败了。此外,我们还尝试了在CMG的引号内外填充数据以保留文件的长度,但也失败了。左边的是新文件,右边的是恶意文件。 实例讲解如何绕过 Office 文档的反分析技术

由于我们的密码删除尝试都失败了,我们只能继续使用受欢迎的Office产品分析工具OfficeMalScanner检查我们的文档。使用scan / brute选项运行该工具并没有产生任何结果:

 实例讲解如何绕过 Office 文档的反分析技术

使用info 选项重新运行该工具可以显示3个VBA对象:

 实例讲解如何绕过 Office 文档的反分析技术

要动态分析这些VBA对象,我们可以使用一个名为ViperMonkey的新工具。ViperMonkey是用Python编写的VBA仿真引擎,旨在分析和解组Microsoft Office文件(Word,Excel,PowerPoint,Publisher等)中包含的恶意VBA宏。

然而,ViperMonkey无法完全分析VBA,因为

1.)不会识别VBA函数UBound

2.)无法评估“i = UserForm1.T.Top”的变量赋值,因为它无法定位UserForm1.T.Top的值。

 实例讲解如何绕过 Office 文档的反分析技术

看来我们必须手动逆向Module1 的VBA脚本。首先,我们将脚本加载到新的Word文档中,以便我们可以使用内置的VBA调试器进行调试。调试脚本后,我们很快就发现了导致ViperMonkey失败的代码。

 实例讲解如何绕过 Office 文档的反分析技术

此代码无法运行,因为Form1无法使用OfficeMalScanner工具转储,除非Form1的元数据被转储,并且Form1.T.Top的值无法找到。这是一个阻止自动VBA分析的好方法,因为不能获取密码保护形式的变量(我所知道的)。我们将不得不手动跟踪代码并逆向使用此变量的函数来尝试确定什么它的价值应该是。

实例讲解如何绕过 Office 文档的反分析技术

跟踪i = Form1.T.Top的变量赋值最终将i分配给变量T,之后将我们带到第56行。

变量fr将被赋值T-11,然后在线60变量Wet将被赋值1-fr。

第62行指出,如果Wet = 0,则rd将是变量rd的字符表示。

如果我们以相反的逻辑顺序取这些语句,我们得到以下内容:

如果rd作为Char,Wet必须等于0:

Wet= 0
 Wet= 1  -  fr(1)= 0
 fr = T(12)-11 = 1
 T(12)= i(12)= UserForm1.T.Top(12)
 UserForm1.T.Top == 12

 实例讲解如何绕过 Office 文档的反分析技术

如果我们用12的值替换UserForm1.T.Top并调试脚本,我们慢慢地就会看到可读的文本填充变量onearm。这时,我们已经成功地逆向了VBA的逻辑,并在变量中显示了以下批处理文件:

 实例讲解如何绕过 Office 文档的反分析技术

该脚本将从cfai66.fr网站下载恶意的PNG文件(实际上是一个EXE)(不确定这是否已被盗用的合法网站),并在我们的机器上执行。此文件是一个通用的木马程序,不属于特定的广告系列。  

删除文件

i.bat
npzdi.exe

网络通信

cfai66.fr/parabola.png
cfa-noisylegrand.com/parapola.png

检测

https://otx.alienvault.com/pulse/599514487e26f94848cf58a2/

结论

这是一个有趣的使用Word文档来进行的VBA项目,并且采用了密码保护来阻碍分析。经过几次密码删除尝试,使用OfficeMalScanner和ViperMonkey自动进行工具分析,我们最终手动逆向了VBA函数从而发现了在调试过程中导致脚本失败的缺失值。




原文发布时间为:2017年8月20日
本文作者:鲁班七号
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
10月前
|
前端开发 C#
C# 基于NPOI+Office COM组件 实现20行代码在线预览文档(word,excel,pdf,txt,png)
C# 基于NPOI+Office COM组件 实现20行代码在线预览文档(word,excel,pdf,txt,png)
|
2月前
|
Web App开发 JavaScript 前端开发
2024年纯前端VUE在线编辑微软Office/金山WPS的Word/Excel文档
现在,随着数字化进程渗透到到各行各业,数据安全已经成为了数字化革命中的重要组成部分,而在线Office成在OA、ERP、文档系统中得到了广泛的应用,为我国的信息化事业也做出了巨大贡献。随着操作系统、浏览器及Office软件的不断升级和更新换代,加上国家对信息化、数字化系统要求的不断提升,一些厂家的WebOffice控件产品不断被淘汰出局,而现存的几个产品也存在以下几个问题:
430 1
2024年纯前端VUE在线编辑微软Office/金山WPS的Word/Excel文档
|
10月前
|
Web App开发 存储 C#
C# 10分钟入门基于WebOffice实现在线编辑文档,实时保存到服务器(所有office,兼容WPS)
C# 10分钟入门基于WebOffice实现在线编辑文档,实时保存到服务器(所有office,兼容WPS)
|
5月前
|
安全
猿大师办公助手网页在线安全浏览 Office Word 文档,只读打开 / 禁止编辑 / 禁止复制 / 禁止另存 / 禁止打印 / 禁止截屏
在企业 OA 系统或者在线协作办公场景中,有一些合同公文或者客户数据等重要文档需要我们在线共享给其他人,但是我们只希望其他人只能预览阅读文档,不能随便编辑修改文档,也禁止复制共享 Word 文档的内容到其他文档或者编辑器,不能将共享文件另存为本地文件夹,并且禁止用户打印该 Word 文档,那么该如何实现呢?
77 0
|
5月前
|
JSON 安全 数据安全/隐私保护
WebOffice 网页版在线 Office 的 Word 文档权限控制,限制编辑,只读、修订模式、禁止复制等
在一些在线 Office 文档中,有很多重要的文件需要保密控制,比如:报价单、客户资料等数据,只能给公司成员查看,但是不能编辑,并且不能拷贝,防止重要资料外泄。可以通过猿大师办公助手的在线 Office 的文档编辑权限来解决这些问题!
91 1
|
5月前
网页编辑Office Word文档,开启修订功能,启用留痕、显示留痕并接受留痕
在日常办公环境场景下,有时候会遇到帮助他人修改文档或者为文档提供修改意见,如果我们在文档中直接修改,其他人很不容易看到我们修改了哪个部分,如果一旦你的修改意见不被采纳,原作者还需要恢复原来的文档,这样为别人带来了更多的工作。 如果用猿大师办公助手在网页中编辑Office Word文档,开启修订功能,启用留痕、显示留痕并接受留痕,就可以很好的来解决此问题。
359 1
|
12月前
|
Java Apache
超实用!教你如何在POI-TL框架中熟练使用Configure类,快速完成Office文档生成!
POI-TL是一个用于生成Office文档的Java库,Configure类是该库中的一个配置类,其作用是提供了一些全局的配置选项,可以用于定制化生成的文档。
264 0
|
8月前
|
存储 数据安全/隐私保护 对象存储
接入OnlyOffice,支持协同编辑Office文档,可私有化部署的企业知识库 zyplayer-doc 2.2.1 发布啦
zyplayer-doc是一款适合企业和个人私有化部署使用的WIKI知识库管理系统,提供在线化的知识库管理功能,专为私有化部署而设计,最大程度上保证企业或个人的数据安全,您可以完全以内网的方式来部署使用它。
352 0
|
9月前
|
人工智能 自然语言处理 Oracle
WAIC 2023 | 微软Office产品团队技术负责人蔡玮鑫:Copilot中大语言模型应用实践经验
WAIC 2023 | 微软Office产品团队技术负责人蔡玮鑫:Copilot中大语言模型应用实践经验
102 0
|
10月前
|
Web App开发 JSON 前端开发
猿大师办公助手可实现微软Office Word文档在线安全预览,并且禁止编辑、拷贝、截屏、录屏、保存、导出、打印等!
现在,随着数字化进程渗透到到各行各业,数据安全已经成为了数字化革命中的重要组成部分,而在线Office成在OA、ERP、文档系统中得到了广泛的应用,为我国的信息化事业也做出了巨大贡献。随着操作系统、浏览器及Office软件的不断升级和更新换代,加上国家对信息化、数字化系统要求的不断提升,一些厂家的WebOffice控件产品不断被淘汰出局,而现存的几个产品也存在以下几个问题
327 0

热门文章

最新文章