Selon Unit 42 (Palo Alto Networks), entre juin et décembre 2025, l’infrastructure d’hébergement officielle de Notepad++ a été compromise par le groupe étatique Lotus Blossom, permettant un détournement du trafic vers le serveur d’update et une distribution sélective de mises à jour malveillantes. Les cibles principales se trouvaient en Asie du Sud-Est (gouvernement, télécoms, infrastructures critiques), avec une extension observée vers l’Amérique du Sud, les États-Unis et l’Europe sur des secteurs variés (cloud, énergie, finance, gouvernement, manufacturing, développement logiciel). Cette attaque de la chaîne d’approvisionnement s’appuie sur une capacité AitM pour profiler et filtrer dynamiquement les victimes prioritaires, notamment des administrateurs et développeurs.

L’exploitation repose sur des contrôles de vérification insuffisants dans d’anciennes versions de l’updater WinGUp de Notepad++, permettant la redirection vers des serveurs contrôlés par l’attaquant. Des victimes recevaient un installateur NSIS malveillant (update.exe) déclenchant deux chaînes d’infection : 1) DLL sideloading abusant du binaire légitime Bitdefender BluetoothService.exe pour charger log.dll et déchiffrer/implanter la backdoor Chrysalis ; 2) exécution d’un script Lua pour charger un Cobalt Strike Beacon. Chrysalis emploie des techniques d’évasion avancées, dont Microsoft Warbird, hachage d’API personnalisé et contrôle persistant de la machine compromise. 🧿

Unit 42 a observé, d’août à novembre 2025, des communications C2 vers 45.76.155.202, puis un basculement vers 45.77.31.210. Entre septembre et novembre, des connexions sortantes vers C2 ont été suivies de téléchargements de update.exe cohérents avec Chrysalis, avec des beacons émis quelques secondes après. En sept.–oct. 2025, une variante injection Lua utilisant l’API EnumWindowStationsW a livré Cobalt Strike depuis 45.76.155.202/update/update.exe. Parallèlement, une variante Bluetooth DLL sideloading a tenté des téléchargements depuis 45.32.144.255/update/update.exe. Côté éditeur, Notepad++ recommande d’installer la v8.9.1 avec renforcement de sécurité, annonce avoir migré son site vers un nouvel hébergeur plus sécurisé, et indique qu’à partir de v8.8.9 WinGUp vérifie certificat et signature, avec XMLDSig pour l’XML d’update et une v8.9.2 prochaine qui imposera ces vérifications. 🔐

IOC principaux observés:

  • Hashes: 1f6d28370f4c2b13f3967b38f67f77eee7f5fba9e7743b6c66a8feb18ae8f33e; a3cf1c86731703043b3614e085b9c8c224d4125370f420ad031ad63c14d6c3ec; a511be5164dc1122fb5a7daa3eef9467e43d8458425b15a640235796006590c9
  • Domaines: skycloudcenter[.]com; self-dns[.]it[.]com; safe-dns[.]it[.]com; cdncheck[.]it[.]com
  • IPs: 95[.]179[.]213[.]0; 45[.]76[.]155[.]202; 45[.]77[.]31[.]210; 61[.]4[.]102[.]97; 59[.]110[.]7[.]32
  • URLs: 95[.]179[.]213[.]0/update/AutoUpdater.exe; 95[.]179[.]213[.]0/update/Upgrade.exe; 45[.]32[.]144[.]255/update/update.exe; 45[.]76[.]155[.]202/update/update.exe; 59[.]110[.]7[.]32/dpixel; self-dns[.]it[.]com/help/Get-Start; self-dns[.]it[.]com/resolve; self-dns[.]it[.]com/dns-query; safe-dns[.]it[.]com/help/Get-Start; safe-dns[.]it[.]com/resolve; safe-dns[.]it[.]com/dns-query
  • Autres: Mutex Chrysalis « Global\Jdhfv_1.0.1 »

TTPs et techniques associées (MITRE ATT&CK quand indiqué) : AitM sur flux d’update, exploitation de vérifications insuffisantes dans WinGUp, NSIS malveillant (update.exe), DLL sideloading via Bitdefender BluetoothService.exe/log.dll (T1574.001), injection Lua avec EnumWindowStationsW menant à Cobalt Strike, usurpation/masquage (T1036.001/T1036.005), spawning de sous-processus inhabituels (T1202), évasion via Microsoft Warbird et hachage d’API. 📡

Conclusion: cette opération illustre une évolution vers l’interdiction supply chain ciblant les « keyholders » administratifs via un détournement d’infrastructure d’update à faible empreinte. Il s’agit d’une publication de recherche visant à étendre la compréhension de la campagne, documenter l’infrastructure et les chaînes d’infection, et fournir des IOCs et requêtes de chasse.

🧠 TTPs et IOCs détectés

TTP

[‘AitM sur flux d’update’, ’exploitation de vérifications insuffisantes dans WinGUp’, ‘NSIS malveillant (update.exe)’, ‘DLL sideloading via Bitdefender BluetoothService.exe/log.dll (T1574.001)’, ‘injection Lua avec EnumWindowStationsW menant à Cobalt Strike’, ‘usurpation/masquage (T1036.001/T1036.005)’, ‘spawning de sous-processus inhabituels (T1202)’, ‘évasion via Microsoft Warbird et hachage d’API’]

IOC

{‘hashes’: [‘1f6d28370f4c2b13f3967b38f67f77eee7f5fba9e7743b6c66a8feb18ae8f33e’, ‘a3cf1c86731703043b3614e085b9c8c224d4125370f420ad031ad63c14d6c3ec’, ‘a511be5164dc1122fb5a7daa3eef9467e43d8458425b15a640235796006590c9’], ‘domaines’: [‘skycloudcenter[.]com’, ‘self-dns[.]it[.]com’, ‘safe-dns[.]it[.]com’, ‘cdncheck[.]it[.]com’], ‘ips’: [‘95[.]179[.]213[.]0’, ‘45[.]76[.]155[.]202’, ‘45[.]77[.]31[.]210’, ‘61[.]4[.]102[.]97’, ‘59[.]110[.]7[.]32’]}


🔗 Source originale : https://unit42.paloaltonetworks.com/notepad-infrastructure-compromise/?utm_campaign=u42+research-EN_notepadcompromise-li