分享免费的编程资源和教程

网站首页 > 技术教程 正文

Office 文档投毒已成为一种流行攻击趋势,谨防中招

goqiw 2024-11-17 10:12:26 技术教程 28 ℃ 0 评论

1 前言

随着反病毒技术的快速发展和普及,人们的安全意识与日俱增,普通的恶意程序传播变得越来越困难,越来越多的攻击者开始利用恶意文档进行攻击。相比于可执行文件,Office、Word、Powerpoint 作为我们日常工作和生活中必不可少的办公软件,涉及领域广,影响范围大,并且用户对于文档类型的恶意软件防范意识较弱。攻击者利用社会工程学通过对文档名称和内容进行编排,结合鱼叉等攻击方式,用户很容易中招。

2 文档类恶意软件

在日常分析工作中,各式各样的文档型恶意软件数见不鲜。无论是木马、勒索、挖矿等都可以看到恶意文档的身影。据统计,2021年利用文档下载执行恶意软件占所有恶意软件的43%。所以了解文档型恶意软件当前形式以及常见手法,对于如何预防恶意软件以及提高公众的安全意识至关重要。

2.1 利用漏洞执行恶意代码

恶意文档利用漏洞进行下载执行,攻击行为更加隐蔽,杀软查杀率低,所以一旦 Office 相关漏洞被公开,就会有很多不法攻击者开始利用这些 1Day 或者 Nday 进行攻击。对于那些未公开的 0day,一般获取方法如下:

1. 投入大量人力物力去挖掘;

2. 花费大量金钱去购买。

而这些不计成本的攻击,在 APT(Advanced Persistent Threat) 攻击中,尤为突出。根据统计,可以看到在地下安全论坛中 Office 漏洞占据所有漏洞的比例高达23%(数据来源: Atlas VPN)。

在过往的APT攻击中,如海莲花、摩诃草等组织,多次利用 Office 漏洞进行攻击。其中比较著名的有公式编辑器漏洞,包括 CVE-2017-11882、CVE-2018-0802、CVE-2018-0798;OOXML 类型混淆漏洞包括 CVE-2015-1641、CVE-2017-11826。

随着漏洞利用的不断上升,相信会有更多的关于 Office 的漏洞加入攻击者的武器库,如2021年9月份披露的 CVE-2021-40444。

2.2 利用宏执行恶意代码

执行恶意宏代码是恶意文档中最常见的攻击手法。VBA(Visual Basic for Applications)是 Visual Basic 的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是 Microsoft Office 软件。

2.2.1 5.0宏

1994年微软发行的 Excel 5.0版本中,具备VBA宏功能。该功能默认情况下关闭,点击启动内容即可自动执行。

云沙箱:

对于使用密码的宏代码,可以采用 oletools 或者使用 VBA_Password_Bypasser 软件进行分析。

2.2.2 4.0宏

在 Excel5.0 使用 VBA 宏之前,Excel 4.0使用的是 XLM 宏。由于 Office 产品的向后兼容,虽然 XLM 宏已经很少使用,但依旧可以运行。近年来,Excel 4.0宏被恶意使用的情况开始增加,不少研究人员也对此状况进行了分析和评论。

4.0宏的创建:

通过设置,该宏和VBA宏一样可以直接开机运行。

2.2.3 p-code

P-code 的利用是由 Dr. Bontchev 提出,在利用 VBA 编写宏时,会以三种不同可执行形式存在,分别为:

1. 源代码: 大多数情况下,我们可以通过 alt+F11 进行查看和编辑的代码。也是比较简单的形式。

2. P-code: 当每个宏代码被输入到 VBA 编辑器中时,它会立即被编译成 p 代码(堆栈机器的伪代码)并存储在模块流中的不同位置。P-code是大部分时间执行的代码。

3. Execodes: 当 p-code 至少被执行一次时,进一步解析存储在文档的其他地方(在流中,其名称以 开头__SRP_,后跟一个数字),从那里它可以执行得更快。但是execode 的格式极其复杂,并且特定于创建它们的特定 Office 版本(不是 VBA 版本)。

在 P-Code 刚刚提出时,利用 P-code 进行恶意宏代码的隐藏,在使用 olevba等工具时会导致错误的宏代码输出。但是随着 P-Code 的不断披露,在最新版的 oletools 中,已经可以同时显示源代码和 P-Code 了,这也导致这种攻击形式逐渐下降。

除了 oletools 工具外,也可以使用 pcodedmp 进行分析。


2.3 其他方式

2.3.1 默认密码

通过使用默认密码 “VelvetSweatshop” 加密 Excel 文档,用户不需要使用输入密码也可以正常打开。但是当杀软对该样本进行静态检测时,则需要通过输入默认密码解密原始样本,才能检测到其中的恶意特征,当时具有较强的免杀,但是2019年之后安全厂商已经攻克这个问题。免杀效果大大下降。但依旧具有一定效果。

加密前:

利用默认密码加密后:

2.3.2 插入复合数据

利用 Office 特性,插入具有恶意宏的数据和对象。包括内嵌JS、内嵌恶意宏数据表等。如下图所示:

通过对插入数据表进行编辑,加入恶意宏,当用户在此对该数据表进行编辑时,触发恶意宏。

不过该类方法存在的弊端就是大部分需要与用户进行交互才能触发恶意行为。

2.3.3 DDE技术

随着时代的发展,利用宏代码进行恶意攻击的技术无论是攻击者还是防御者都已经众所周知。对于在未知来源的宏文档时格外小心,很多企业会对宏文档实施组织策略或者删除电子邮件中文档中的宏代码。但是DDE技术的出现打破了单纯利用恶意宏代码的局面。

动态数据交换(DDE)是一种允许在 MS Office 应用程序之间传输数据的协议,它在共享数据的应用程序之间发送消息,并使用共享内存在应用程序之间交换数据。通过自定义 DDE 字段,插入执行代码。通过使用 DDE 可以在不启用宏的情况下执行命令。

一种典型插入 DDE 命令:

  • 通过 Ctril+F9,添加命令即可。
  • 在恶意代码研究中,一般采用 oletools 中的 msodde 攻击提取 DDE 命令。

虽然 DDE 技术规避的利用宏代码的技术,但是它的缺点也很明显,就是在用户在打开过程中,需要交互点击确定按钮才可以执行。

2.3.4 远程模板注入

Word 模板注入是利用 Word 文档加载附加模板时的缺陷,加载的模板是带宏的恶意模板,从而间接执行宏代码。通常以 zip 压缩包的方式进行解压之后,通过在 /word/_rels/settings.xml.rels 设置目标地址。

运行之后远程加载带有恶意宏的文档从而运行恶意宏代码。


3 预防措施

  • 面对手法多样的恶意事件,可以采取相应措施进行防范;
  • 及时更新 Windows 操作系统和 Office 相关组件;
  • 对于接收到不明来源的软件或文档谨慎操作,非敏感文件可以上传沙箱进行检测;
  • 定期举行安全培训,提高用户安全意识。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表