实例讲解如何绕过 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日
本文作者:鲁班七号
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
5月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的计算机office课程平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的计算机office课程平台的详细设计和实现(源码+lw+部署文档+讲解等)
|
5月前
|
JavaScript Java 测试技术
基于ssm+vue.js的计算机office课程平台附带文章和源代码设计说明文档ppt
基于ssm+vue.js的计算机office课程平台附带文章和源代码设计说明文档ppt
27 1
|
2月前
|
C# 开发者 Windows
WPF遇上Office:一场关于Word与Excel自动化操作的技术盛宴,从环境搭建到代码实战,看WPF如何玩转文档处理的那些事儿
【8月更文挑战第31天】Windows Presentation Foundation (WPF) 是 .NET Framework 的重要组件,以其强大的图形界面和灵活的数据绑定功能著称。本文通过具体示例代码,介绍如何在 WPF 应用中实现 Word 和 Excel 文档的自动化操作,包括文档的读取、编辑和保存等。首先创建 WPF 项目并设计用户界面,然后在 `MainWindow.xaml.cs` 中编写逻辑代码,利用 `Microsoft.Office.Interop` 命名空间实现 Office 文档的自动化处理。文章还提供了注意事项,帮助开发者避免常见问题。
128 0
|
4月前
|
Docker 容器
如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格(二)
使用Docker部署的WPS Office服务可以通过内网穿透工具Cpolar实现远程访问。首先,创建一个名为“wps office”的隧道,选择HTTP协议和3000端口,分配免费的随机域名,并指定中国地区。然后,通过Cpolar的管理界面获取HTTP公网地址,用以远程访问WPS Office。由于随机域名会变化,可以升级Cpolar套餐并保留一个二级子域名,确保长期稳定的远程访问。配置子域名后,更新隧道设置,完成固定公网地址的绑定,从而实现随时随地通过固定地址访问WPS Office。
|
4月前
|
安全 Linux 网络安全
如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格(一)
在群晖NAS上使用Docker部署WPS Office并结合Cpolar内网穿透的步骤包括: 1. 通过SSH命令行拉取`linuxserver/wps-office`镜像。 2. 在群晖容器管理界面运行镜像,设置启动选项和端口映射。 3. 本地访问群晖IP:3000端口以使用WPS Office。 4. 安装Cpolar套件,手动添加并安装到群晖,通过9200端口访问其Web管理界面。 5. 使用Cpolar配置内网穿透,实现远程访问WPS Office。 这一过程允许用户即使在没有公网IP的情况下,也能通过Cpolar将内网的WPS Office服务暴露到公网,便于远程办公和文档处理。
|
5月前
|
Web App开发 JavaScript 前端开发
2024年纯前端VUE在线编辑微软Office/金山WPS的Word/Excel文档
现在,随着数字化进程渗透到到各行各业,数据安全已经成为了数字化革命中的重要组成部分,而在线Office成在OA、ERP、文档系统中得到了广泛的应用,为我国的信息化事业也做出了巨大贡献。随着操作系统、浏览器及Office软件的不断升级和更新换代,加上国家对信息化、数字化系统要求的不断提升,一些厂家的WebOffice控件产品不断被淘汰出局,而现存的几个产品也存在以下几个问题:
636 7
2024年纯前端VUE在线编辑微软Office/金山WPS的Word/Excel文档
|
10月前
网页编辑Office Word文档,开启修订功能,启用留痕、显示留痕并接受留痕
在日常办公环境场景下,有时候会遇到帮助他人修改文档或者为文档提供修改意见,如果我们在文档中直接修改,其他人很不容易看到我们修改了哪个部分,如果一旦你的修改意见不被采纳,原作者还需要恢复原来的文档,这样为别人带来了更多的工作。 如果用猿大师办公助手在网页中编辑Office Word文档,开启修订功能,启用留痕、显示留痕并接受留痕,就可以很好的来解决此问题。
410 7
|
10月前
|
JSON 安全 数据安全/隐私保护
WebOffice 网页版在线 Office 的 Word 文档权限控制,限制编辑,只读、修订模式、禁止复制等
在一些在线 Office 文档中,有很多重要的文件需要保密控制,比如:报价单、客户资料等数据,只能给公司成员查看,但是不能编辑,并且不能拷贝,防止重要资料外泄。可以通过猿大师办公助手的在线 Office 的文档编辑权限来解决这些问题!
185 1
|
5月前
|
安全
猿大师办公助手网页在线安全浏览 Office Word 文档,只读打开 / 禁止编辑 / 禁止复制 / 禁止另存 / 禁止打印 / 禁止截屏
在企业 OA 系统或者在线协作办公场景中,有一些合同公文或者客户数据等重要文档需要我们在线共享给其他人,但是我们只希望其他人只能预览阅读文档,不能随便编辑修改文档,也禁止复制共享 Word 文档的内容到其他文档或者编辑器,不能将共享文件另存为本地文件夹,并且禁止用户打印该 Word 文档,那么该如何实现呢?
165 0
|
存储 数据安全/隐私保护 对象存储
接入OnlyOffice,支持协同编辑Office文档,可私有化部署的企业知识库 zyplayer-doc 2.2.1 发布啦
zyplayer-doc是一款适合企业和个人私有化部署使用的WIKI知识库管理系统,提供在线化的知识库管理功能,专为私有化部署而设计,最大程度上保证企业或个人的数据安全,您可以完全以内网的方式来部署使用它。
483 0