从 2025 年 6 月到 12 月,流行的文本编辑器 Notepad++ 的更新服务器遭到入侵,导致攻击者通过其官方更新渠道分发恶意软件。攻击者在数月内不断变换攻击手法,使用了至少三种不同的复杂执行链,结合了 NSIS 安装器、旧漏洞利用、DLL 侧加载和 Lua 脚本等技术。最终目标是向位于越南、菲律宾、澳大利亚等地的个人、政府和金融机构的计算机植入 Cobalt Strike Beacon 等恶意载荷。此次供应链攻击凸显了软件分发渠道的脆弱性,提醒用户必须加强对软件更新过程的监控和防御。
此次攻击的核心在于,攻击者劫持了一个被广泛信任的软件更新渠道,使其能够精准地潜入全球范围内的高价值目标。
攻击概述
攻击者在 2025 年 6 月至 9 月期间控制了 Notepad++ 的托管服务商,并一直保持对内部服务的访问权限直到 12 月。在 7 月至 10 月期间,他们持续更换用于分发恶意更新的 C2 服务器地址、下载器以及最终的恶意载荷。
- 攻击目标多样:
- 位于越南、萨尔瓦多和澳大利亚的个人用户。
- 菲律宾的某个政府组织。
- 萨尔瓦多的某个金融组织。
- 越南的一家 IT 服务提供商。
尽管攻击手法多变,但通过检测异常网络流量、恶意文件和可疑的系统命令,安全解决方案成功阻止了这些已识别的攻击。
攻击链 #1:利用旧漏洞与 Metasploit
时间:2025 年 7 月下旬至 8 月初
这是攻击者首次部署恶意更新。合法的 Notepad++ 更新程序 GUP.exe 会下载一个名为 update.exe 的 NSIS 安装器。
信息收集:
- 执行
cmd /c whoami&&tasklist > 1.txt命令,收集当前用户名和进程列表。 - 通过
curl.exe将收集到的信息上传到temp[.]sh文件托管服务。 - 将上传后的文件 URL 发送回攻击者的服务器。
- 执行
核心技术:
攻击者没有使用常见的 DLL 侧加载技术,而是利用了 ProShow 软件一个 2010 年代的旧漏洞来执行恶意代码。这种方式可能是为了绕过现代安全软件对 DLL 侧加载的严密监控。
最终载荷:
- 漏洞利用成功后,会执行一个 Metasploit 下载器。
- 该下载器从 C2 服务器获取并启动一个 Cobalt Strike Beacon 载荷。
- 在 8 月初,攻击者更新了此攻击链,更换了下载 Cobalt Strike Beacon 和用于通信的 C2 服务器地址。
攻击链 #2:利用 Lua 脚本
时间:2025 年 9 月中下旬
时隔一个多月,攻击者恢复了攻击,并采用了新的感染链。update.exe 仍然是 NSIS 安装器,但进行了一些调整。
信息收集升级:
- 执行的命令更为详尽:
cmd /c "whoami&&tasklist&&systeminfo&&netstat -ano" > a.txt,以收集更全面的系统信息。 - 在后续攻击中,攻击者将这个单行命令拆分为多个独立命令,这与 Notepad++ 社区论坛上用户报告的行为一致。
- 执行的命令更为详尽:
核心技术:
- 安装器会释放一个合法的 Lua 解释器 (
script.exe) 和一个名为alien.ini的文件。 alien.ini实际上是一个编译后的 Lua 脚本,通过合法的解释器执行后,会在内存中解密并运行一个 shellcode。
- 安装器会释放一个合法的 Lua 解释器 (
最终载荷:
- 和攻击链 #1 类似,最终载荷依然是通过 Metasploit 下载器部署的 Cobalt Strike Beacon。
- 在 9 月底,攻击者再次更换了用于信息上传、载荷下载和 C2 通信的 URL。
攻击链 #3:经典的 DLL 侧加载
时间:2025 年 10 月
攻击者再次更换了分发恶意更新的 C2 服务器,并简化了初始安装包。
简化的安装器:
- 这次的 NSIS 安装器不再包含信息收集功能。
- 它唯一的任务是释放三个文件:一个合法的
BluetoothService.exe,一个恶意的log.dll,以及一个加密的 shellcode 文件。
核心技术:
这是一次典型的 DLL 侧加载攻击。当合法的
BluetoothService.exe运行时,它会加载同目录下的恶意log.dll。该 DLL 的功能就是解密并执行最终的 shellcode。这种手法常被认为是某些特定攻击组织的特征。最终载荷:
- 此链的最终载荷是名为 Chrysalis 的定制后门。
- 尽管此链未直接部署 Cobalt Strike,但研究人员在受感染的机器上发现了被额外部署的 Cobalt Strike Beacon,其配置与前两个攻击链中的 Beacon 高度相似。
结论与防御建议
攻击者通过控制一个广受开发者信赖的软件更新服务器,获得了入侵全球高价值目标的独特机会。他们技术娴熟,大约每月更换一次攻击链以逃避检测。
为防范此类供应链攻击,建议采取以下措施:
- 监控 NSIS 安装器: 检查系统中与 NSIS 安装器运行时相关的日志,例如
%localappdata%\Temp\ns.tmp目录的创建,并调查其来源。 - 监控网络流量: 检查企业环境中对
temp[.]sh域的 DNS 解析请求。该域名通常不应出现在正常业务流量中。同时,检查原始 HTTP 请求,查看 User-Agent 字段中是否包含temp[.]sh的 URL。 - 监控系统命令: 警惕系统中出现
whoami、tasklist、systeminfo和netstat -ano等用于信息侦察的命令执行。 - 使用泄露指标: 利用已知的恶意域名和文件哈希值来识别和拦截威胁。