Auteurs : Marine Pichon, Alexis Bonnefoi
Ce rapport est le fruit d'une collaboration fructueuse entre les équipes du CERT d’Orange Cyberdefense, notamment l'équipe CSIRT, World Watch et notre département de rétro-ingénierie.
Remerciements : un grand merci à Daniel Lunghi (Trend Micro) pour son aide lors de l’analyse de ShadowPad. Son analyse sur le sujet est disponible à cette adresse : www.trendmicro.com/en_us/research/25/b/updated-shadowpad-malware-leads-to-ransomware-deployment.html
Une mention spéciale à Thomas Brossard pour son analyse forensique.
Un groupe d’attaquants relativement méconnu a ciblé, entre juin et octobre 2024, des organisations européennes, y compris dans le secteur de la santé.
Remarque : cette investigation s’est clôturée le 15 février 2025.
L'année dernière, le CERT d'Orange Cyberdefense a enquêté sur une série d'incidents non-attribués impliquant le malware ShadowPad. Cette campagne, désormais traquée sous le nom Green Nailao ("Nailao" signifiant "fromage" en chinois – un clin d’œil à un sujet fédérateur au sein de notre équipe World Watch), a principalement impacté des organisations en lien avec le secteur de la santé localisées en Europe occidentale, durant la seconde moitié de 2024.
Il convient de noter que des techniques et des charges malveillantes similaires ont également été mentionnés publiquement dans un rapport de l'équipe DFIR de HackersEye.
Dans au moins deux cas, l'intrusion s'est conclue par l'exécution d'un nouveau ransomware au sein des systèmes des victimes. Ce ransomware a été baptisé NailaoLocker.
Orange Cyberdefense n’attribue cette campagne à aucun groupe d’attaquants spécifique. Néanmoins, nous estimons avec une confiance modérée que les modes opératoires observés présentent des similitudes avec ceux d'acteurs chinois.
Dans quatre cas observés par le CERT d’Orange Cyberdefense, une instance VPN Check Point a été systématiquement compromise. Nos analystes évaluent (avec une confiance modérée) que ce vecteur d’accès initial a été facilité par l'exploitation de la vulnérabilité CVE-2024-24919, une vulnérabilité critique affectant les équipements Check Point Security Gateway ayant des fonctionnalités d'accès à distance VPN ou d'accès mobile activées (liens vers nos bulletins informatifs World Watch et Vulnerability Intelligence Watch pour nos clients). Corrigée en mai 2024 mais exploitée dans la nature depuis au moins début avril 2024, cette faille permet aux attaquants de lire certaines informations sur les passerelles et surtout, d'énumérer et d'extraire les mots de passe hashés pour tous les comptes locaux. Étant donné que les quatre instances Check Point observées par notre CERT étaient encore vulnérables lors de leur compromission, la CVE-2024-24919 a probablement permis aux attaquants de récupérer les identifiants des utilisateurs et de se connecter au VPN en utilisant des comptes légitimes dérobés.
Les attaquants ont ensuite effectué une reconnaissance du réseau et des mouvements latéraux afin d'obtenir des privilèges supplémentaires, principalement via RDP. Ils ont ensuite été observés en train d'exécuter manuellement un binaire légitime "logger.exe", utilisé pour charger latéralement (Hijack Execution Flow - T1574) une DLL malveillante ("logexts.dll"). Lors de son exécution, la DLL copie une troisième charge chiffrée ("0EEBB9B4.tmp") dans une clé de registre Windows (le nom de cette clé étant lié au numéro de série du volume du disque système).
La DLL supprime ensuite le fichier "0EEBB9B4.tmp", le récupère à nouveau à partir de la clé de registre et l'injecte dans un autre processus. Enfin, un service ou une tâche de démarrage est créé pour exécuter "logger.exe" et lui assurer sa persistance. Lors de l'analyse, nous avons pu associer "0EEBB9B4.tmp" à une nouvelle version du célèbre malware ShadowPad (la DLL agissant en tant que loader).
Il convient également de noter que nous avons observé des TTPs très similaires utilisés pour distribuer PlugX autour d'août 2024. Dans ce cas spécifique, les attaquants ont utilisé un exécutable légitime de McAfee appelé “mcoemcpy.exe” pour charger latéralement une DLL malveillante (“McUtil.dll”). La DLL crée un service Windows pour assurer la persistance et tente d'escalader les privilèges en utilisant des API afin de s'octroyer le token SeDebugPrivilege. Le loader décrypte ensuite un troisième fichier hautement obfusqué nommé “Mc.cp” et injecte le shellcode extrait dans un processus lancé mais suspendu (Process Hollowing - T1055.012). Une fois injecté, le processus reprend son exécution pour faire tourner le shellcode en mémoire. Ces trois fichiers correspondent au flux d'exécution bien documenté de la "PlugX trinity" qui peut être créé à l'aide d'un des builders PlugX disponible en ligne.
ShadowPad est connu pour son utilisation dans de nombreuses campagnes de cyber-espionnage ciblant des entités gouvernementales, des institutions académiques, des organisations énergétiques, des think tanks ou des entreprises de technologie. Cette backdoor modulaire est suspectée d'être partagé ou vendu de manière privée entre plusieurs APT chinoises depuis au moins 2015. Nous avons identifié dans ces cas ce que nous pensons être un nouveau variant de ShadowPad comportant une obfuscation complexifiée et des mesures anti-débogage.
Nous avons observées l’établissement de communication entre ShadowPad et un serveur de commande et contrôle (C2). Cela permet aux attaquants de disposer d'un point d'accès au sein des systèmes d'information des victimes, plus discret et indépendant de l'accès via le compte VPN.
Nous avons observé dans certains cas l’écoulement de plus de deux semaines entre les premières étapes de compromission mentionnées ci-dessus et des activités de post-exploitation. Il convient également de noter que nous avons observé dans certains cas l’installation de plusieurs backdoors ShadowPad sur différentes machines appartenant à la même organisation.
Comme l'ont déjà souligné certains chercheurs en Cyber Threat Intelligence, l'infrastructure de ShadowPad se distingue parfois par l'utilisation de certificats TLS auto-signés imitant des entreprises technologiques américaines. Nous pouvons confirmer cette observation, ayant identifié un serveur de commande et de contrôle (C2) se faisant passer pour Intel Corporation et un autre usurpant l'identité de Dell Technologies.
En pivotant sur les certificats, nous avons pu récupérer d'autres adresses IP appartenant probablement au même cluster ShadowPad. Celles-ci ont été incluses dans la liste des IoCs disponible à la fin de ce rapport. Tous les serveurs C2 potentiels de ShadowPad sont associés à différents AS , mais beaucoup sont hébergés par le fournisseur VULTR.
Concernant l'infrastructure d'anonymisation utilisée par les attaquants pour se connecter initialement au VPN Check Point, nous avons remarqué qu'une des IP est un IoT compromis situé en Suède, faisant potentiellement partie d'un botnet ou d'un réseau ORB (Operational Relay Box). Nous avons aussi détecté une autre IP qui correspond à un nœud de sortie de Proton VPN.
Dans au moins un cas, les chercheurs d'Orange Cyberdefense ont observé les attaquants accéder à certains fichiers et dossiers et finalement créer des archives .zip, correspondant vraisemblablement à des tentatives d'exfiltration de données. Nous estimons que les attaquants ont notamment récupéré la base de données “ntds.dit” au sein de l'Active Directory, qui stocke généralement les détails des comptes utilisateurs, les mots de passe, les appartenances aux groupes et d'autres attributs d'objet. Malheureusement, dans presque tous les cas, la faible rétention des journaux du pare-feu ou et l’absence de détails sur le trafic a limité notre analyse de l’exfiltration effectuée par les attaquants.
Après cette exfiltration, les attaquants ont exécuté un script ciblant une liste d'adresses IP locales, via Windows Management Instrumentation (WMI) pour envoyer trois fichiers à chaque hôte :
“usysdiag.exe” est un exécutable légitime signé par Beijing Huorong Network Technology Co., Ltd, un fournisseur de logiciels de sécurité chinois. Comme "logger.exe", l'exécutable est utilisé pour charger latéralement une autre DLL (sensapi.dll) et un fichier "usysdiag.exe.dat" en utilisant un service Windows nouvellement créé nommé “aaa”.
Une fois chargée latéralement, la DLL NailaoLoader utilise l'API GetModuleHandleW et effectue des vérifications sur certaines valeurs d'octets afin de s'assurer qu'elle est chargée par le bon binaire. Cela lance la routine du malware. Les valeurs contrôlées sont en fait l'adresse de retour de l'appel de fonction LoadLibrary dans le binaire légitime, qui est ensuite utilisée pour réécrire les instructions et arriver à la fonction principale du malware.
La méthode utilisée par NailaoLoader pour charger NailaoLocker est assez simple. Le malware compose d'abord le nom de ce dernier, en utilisant l'API GetModuleFilenameW (“nom_binaire_légitime.exe.dat”, tel que “usysdiag.exe.dat”). Le loader ouvre la charge en .dat (NailaoLocker) avec CreateFileW avec un accès en lecture/écriture, puis obtient la taille du fichier et le déchiffre avec la boucle « decrypted_byte = ((encrypted_byte + 0x4b) ^ 0x3f) - 0x4b ».
Nous avons observé cette exacte boucle dans plusieurs échantillons de NailaoLoader, mais cette boucle peut possiblement différer dans d'autres campagnes.
Le loader écrit ensuite des données d'octets aléatoires provenant du binaire légitime dans la charge utile “.dat”, avant de supprimer cette dernière afin d'empêcher sa récupération. NailaoLoader charge finalement les sections exécutables déchiffrées de NailaoLocker dans un segment de mémoire, récupère les imports, puis passe à son point d'entrée.
Le ransomware vérifie d'abord la présence de "sensapi.dll", puis supprime le fichier de la mémoire puis du disque. Il délivre ensuite le mutex “Global\lockv7”.
NailaoLocker crée un fichier spécifique pour traquer ce qui a été chiffré avec succès et ce qui a échoué. Ce suivi s’est avéré très utile lors de nos réponses à incident .
Écrit en C++, NailaoLocker est relativement peu sophistiqué, ne semblant pas destiné à garantir un chiffrement complet :
Le ransomware utilise l'extension “.locked” et effectue un chiffrement asymétrique à l'aide de l'algorithme AES-256-CTR. Il dépose une note de rançon dans : “%ALLUSERPROFILE%unlock_please_view_this_file_unlock_please_view_this_file_unlock_please_view_this_file_unlock_please_view_this_file_unlock_please_view_this_file_unlock_please_view_this_file_unlock.html” et la charge via SOFTWARE\Microsoft\Windows\CurrentVersion\Run.
La note de rançon comprend un argumentaire d'extorsion assez classique, demandant à la victime de contacter une adresse e-mail Proton créée pour l’occasion, et d’acheter un déchiffreur payable en Bitcoin.
Il est intéressant de noter qu’en nous basant sur le contenu des notes de rançon, nous avons trouvé d’autres fichiers HTML similaires contenant un lien vers un fournisseur de services de cybercriminalité peu sophistiqué, connu sous le nom de Kodex Softwares (anciennement Evil Extractor). Ce dernier semble commercialiser trois logiciels malveillants vendus à la demande depuis octobre 2022, promus sur les forums Cracked et Nulled récemment fermés par les forces de l’ordre. L’un de ces outils semble disposer de capacités de ransomware fonctionnant pour les systèmes Windows. Néanmoins, la comparaison d’un échantillon du ransomware Kodex datant de 2023 avec ceux de NailaoLocker n’a révélé aucun chevauchement.
Comme mentionné précédemment, nous associons avec une confiance modérée ce cluster aux modes opératoires d'attaque chinois. Cette association se base sur :
Nous avons également trouvé quelques ressemblances assez faibles au niveau des TTPs vis-à-vis de Cluster Alpha (STAC1248) impliqué dans l’opération Crimson Palace en 2023, qui a été détaillée par Sophos. Cluster Alpha a notamment été observé exploitant la même application légitime "usysdiag.exe" pour charger latéralement "SensAPI.dll". Cependant, dans le cas de Sophos, il semble que la DLL soit uniquement utilisée pour charger et exécuter un shellcode ("dllhost.exe"), avant que la DLL et l'application légitime ne soient supprimées. Sophos ne mentionne aucun déploiement de ransomware, "dllhost.exe" permettant plutôt l'établissement d'une session de commande et contrôle à distance. Cluster Alpha est associé avec une confiance élevée par Sophos aux intérêts de l'État chinois.
Le déploiement d’un ransomware après l'utilisation d'outils traditionnels de cyber-espionnage est assez surprenant. De ce point de vue, Green Nailao rappelle fortement un article récemment publié par Symantec. Néanmoins, le cluster détaillé par les chercheurs de Symantec diffère légèrement de Green Nailao, car il implique la distribution de la souche de ransomware RA World, que nous n'avons pas observée dans nos différents cas. Initialement basé sur le code source du ransomware Babuk divulgué publiquement, RA World (ou RA Group) est une opération de double extorsion qui a fait surface en avril 2023. En juillet 2024, ce ransomware a été attribué avec une faible confiance par Palo Alto à un acteur de la menace chinois connu sous le nom de BRONZE STARLIGHT.
Néanmoins, malgré ces divers chevauchements avec des modes opératoires d'attaque connus, nous n'associons pas Green Nailao à un groupe spécifique. À ce jour, nous ne pouvons que formuler plusieurs hypothèses sur les objectifs finaux de cette campagne :
Le ciblage du secteur de la santé au sens large par des APTs, y compris d’origine chinoise, n'est certainement pas un nouveau phénomène. Comme rappelé par l’ANSSI dans son paysage des menaces pour le secteur de la santé, bien que de telles campagnes puissent parfois être menées de manière opportuniste, elles permettent souvent aux groupes malveillants d'accéder à des systèmes d'information pouvant être utilisés ultérieurement pour mener d'autres offensives. Par exemple, des chercheurs de Mandiant ont déjà observé APT41 cibler des entités pharmaceutiques américaines début 2020, tandis qu'APT18 ou APT10 ont elles aussi été précédemment reliées à des cyberattaques affectant le même secteur.