Cyble 分析了通过 DLL 侧加载、DLL 代理和使用 Sliver 专门针对德国公民发起的网络攻击。
关键要点
Cyble 研究与情报实验室 (CRIL) 发现了一次正在进行的网络攻击,目标是德国的组织。
攻击通过嵌入在存档中的欺骗性 LNK 文件发起。当不知情的用户执行此 LNK 文件时,它会触发 cmd.exe 复制并运行合法可执行文件 wksprt.exe。
该可执行文件侧载了一个采用 DLL 代理的恶意 DLL,确保主机应用程序在后台执行恶意 shellcode 时继续无缝运行。
Shellcode 最终解密并执行最终的有效载荷:Sliver,一个著名的开源红队/对手模拟框架。
一旦部署,Sliver 就会起到植入物的作用,使威胁行为者能够与受感染的系统建立通信并进行进一步的恶意操作,从而增强他们对受感染网络的控制。
概述
Cyble 研究与情报实验室 (CRIL) 最近发现了一个正在进行的活动,涉及一个包含欺骗性 LNK 文件的存档文件。虽然最初的感染媒介尚不清楚,但这次攻击很可能是通过鱼叉式网络钓鱼电子邮件发起的。
存档文件“ Homeoffice-Vereinbarung-2025.7z ”一旦解压,就会包含一个快捷方式 (.LNK) 文件以及其他几个组件,包括合法可执行文件(DLL 和 EXE 文件)、一个恶意DLL 文件、一个加密 DAT 文件和一个诱饵 PDF。有趣的是,存档中大多数文件的创建时间都是一年左右,只有诱饵文档是最近创建的。这表明威胁行为者 (TA) 尚未更新其核心组件,而是选择引入新的诱饵文档来保持活动的相关性。
执行后,LNK 文件会触发打开一个伪装成家庭办公室协议的诱饵文档。此文档是欺骗用户的诱饵。同时,LNK 文件还会执行合法的可执行文件,随后执行 DLL 侧载。合法的可执行文件会加载恶意 DLL,该 DLL 旨在从存储在同一提取存档中的 DAT 文件中检索和解密 shellcode。整个过程完全发生在内存中,使攻击能够逃避安全产品的检测。
该 shellcode 旨在解密并执行嵌入的有效载荷,即 Sliver 植入物,这是 TA 用于进一步恶意操作的开源红队和命令与控制框架。执行后,植入物会与特定的远程服务器/端点建立连接,使 TA 能够在受害者的系统上执行其他恶意操作。
下图概述了感染过程。
图 1 – 感染链
技术细节
一旦受害者提取存档文件(可能通过电子邮件附件发送),攻击就开始了,其中包含多个文件
-
IPHLPAPI.dll – 恶意 DLL 文件
-
IPHLPLAPI.dll – 重命名为合法的 IPHLPAPI.DLL
-
ccache.dat – 包含加密的 Shellcode
-
wksprt.lnk – 加载 wksprt 文件的快捷方式文件
-
00_Homeoffice-Vereinbarung-2025.pdf – 诱饵文档
-
Homeoffice-Vereinbarung-2025.pdf.lnk – 主快捷方式文件
然而,只有伪装成 PDF 的 Homeoffice-Vereinbarung-2025.pdf.lnk 可见,其他文件仍处于隐藏状态。当用户运行此 LNK 文件时,它会触发 cmd.exe 执行一系列命令,将文件复制到特定目录并执行其他任务。下图显示了嵌入在 LNK 文件中的命令。
图 2 – .LNK 文件的内容
执行 LNK 文件后,会在用户的本地应用数据文件夹(%localappdata%InteI)中创建一个名为“ InteI ”的目录。然后, C:WindowsSystem32中的合法 Windows 文件wksprt.exe会被复制到这个新建的 InteI 目录中。随后,隐藏文件IPHLPAPI.dll、IPHLPLAPI.dll 和 ccache.dat会被复制到“ InteI ”目录中,并保留其隐藏属性。
为了在受害者的机器上建立持久性,将解压文件夹中的一个文件wksprt.lnk复制到启动文件夹(%appdata%MicrosoftWindowsStart MenuProgramsStartup )。此 LNK 文件旨在执行已复制到“ InteI”目录的wksprt.exe,确保可执行文件在系统启动时自动运行。
图3. LNK文件的命令行参数
在最后一步之前,执行诱饵文件“ 00_Homeoffice-Vereinbarung-2025.pdf ”以维持打开合法文档的外观。
图4 –诱饵文件
诱饵文件是一份用德语编写的家庭办公协议 (Homeoffice-Vereinbarung),是组织与员工之间现有雇佣合同的补充协议,概述了远程工作的条款。根据此诱饵文件的内容,我们认为此活动旨在针对德国的个人或组织。此外,观察到初始 .7z 文件已从德国位置上传到 VirusTotal,支持这一评估。最后,从“ InteI ”目录启动wksprt.exe以执行进一步的操作。
该恶意DLL文件的检测率极低,如下所示。
图 5 – 恶意 DLL 文件的检测率低
DLL 侧加载和 DLL 代理:
合法可执行文件 wksprt.exe从当前目录旁加载恶意 DLL ( IPHLPAPI.dll )。恶意IPHLPAPI.dll随后加载稍微重命名的合法 DLL (IPHLPLAPI.dll ),使其看起来像是真实的。两个 DLL 都导出相同的函数,如下所示。
图6 – 两个DLL的导出函数
恶意 DLL 充当代理,拦截来自可执行文件的函数调用并将其转发到合法 DLL,其中包含该函数的实际实现,如下所示。
图7 – DLL代理
函数调用的转发确保应用程序保持其正常行为,同时允许恶意 DLL 执行其自己的代码。此外,恶意 DLL 会生成一个新线程来读取文件 ccache.dat 的内容,如下所示。
图8 – 从.dat文件中读取加密内容
读取“ ccache.dat ”文件的内容后,恶意线程解密恶意数据。它使用以下加密 API 来生成和解密密钥:
-
加密获取上下文
-
创建哈希值
-
加密哈希数据
-
加密导出密钥
-
加密解密
该线程现在将解密的内容复制到新分配的内存中并执行。下图显示了“ccache.dat”的解密内容以及对解密内容的控制转移。
图 9 – 解密内容
解密的内容是一个 shellcode,它运行另一个解密循环来检索其中嵌入的实际有效负载,如下所示。
图 10 – 最终有效载荷
该 shellcode 旨在执行嵌入式 Sliver 植入程序,这是 TA 用于恶意目的的开源红队框架。一旦执行,植入程序就会连接到以下端点,在受害者的系统上执行其他活动。
-
hxxp://www.technikzwerg[.]de/auth/auth/authenticate/samples.html
-
hxxp://www.technikzwerg[.]de/auth/auth/authenticate/samples.php
归因
虽然我们目前无法明确将此活动归因于任何特定团体,但初始感染载体、stager DLL 行为、shellcode 注入和 Sliver 框架表现出与过去活动中的APT29 相关的典型模式。此外,该组织在其操作中经常使用 DLL 侧载技术。然而,最近分析的样本引入了 DLL 代理,这是 APT29 活动中以前未观察到的技术。
[2025 年 1 月 21 日更新]
虽然这些相似之处值得注意,但在做出任何明确的归因之前还需要进一步调查。
结论
此次攻击活动通过冒充员工远程工作协议来针对德国的组织。利用这一诱饵,威胁行为者部署了欺骗性的 LNK 文件和恶意组件,在受害者的系统上获得初步立足点,从而导致其被入侵并进一步被利用。
通过使用 DLL 侧载、DLL 代理、shellcode 注入和 Sliver 框架等高级规避技术,攻击者可以有效绕过传统安全措施。这种多阶段网络攻击凸显了威胁行为者的日益复杂和适应性,强调了 APT 操作日益复杂,以及对增强检测和防御策略的迫切需求。
可以从链接的 Github 存储库下载用于检测此活动的 Yara 和 Sigma规则。
-
https://github.com/CRIL-Threat-Intelligence/Sigma_rules/blob/main/Detects_DLL_SideLoading_using_wksprt.exe.txt
-
https://github.com/CRIL-Threat-Intelligence/Yara_rules/blob/main/Detect_malicious_IPHLPAPI.txt
原文始发于微信公众号(Ots安全):Sliver 恶意软件利用 DLL 侧载和代理技术攻击德国实体
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论