Qu'est-ce que le logiciel malveillant PlugX ?
PlugX est un cheval de Troie d'accès distant (RAT) modulaire qui donne à un attaquant un contrôle discret et durable sur un système Windows compromis. Actif depuis environ 2008, c'est l'un des outils les plus durables dans le cyberespionnage à nexus chinois, utilisé par de nombreux groupes différents. Il est surtout connu pour une conception basée sur des plugins qui permet aux opérateurs de ne charger que les capacités dont ils ont besoin, et pour l'utilisation du DLL side-loading, dans lequel un programme légitime est manipulé pour charger le malware, afin de s'installer et se dissimuler. PlugX est également suivi sous d'autres noms, notamment Korplug, SOGU et Kaba. En tant que RAT, PlugX est l'outil qu'un attaquant utilise après s'être introduit dans un système, pour maintenir l'accès, explorer un réseau et voler des données, plutôt que le moyen de la compromission initiale. Cette page explique ce qu'est PlugX, comment il fonctionne, ce qu'il peut faire, qui l'utilise, comment il a évolué, et comment les organisations le détectent et s'en défendent, en s'appuyant en partie sur les recherches de première main de l'équipe Threat Detection & Research (TDR) de Sekoia, qui a effectué le sinkholing d'un botnet PlugX mondial.
Ce qu'il faut retenir
- PlugX est un RAT modulaire qui donne aux attaquants un contrôle discret et durable des systèmes Windows compromis depuis environ 2008.
- C'est un outil d'espionnage à nexus chinois. Il a été utilisé par de nombreux groupes liés à l'État chinois, et son builder a été partagé entre nombre d'entre eux.
- Sa technique signature est le DLL side-loading. Un programme légitime signé numériquement est abusé pour charger le code malveillant, ce qui aide PlugX à se fondre dans l'environnement et à échapper à la détection.
- Ses plugins offrent un contrôle backdoor complet. Les opérateurs peuvent exécuter des commandes, parcourir et voler des fichiers, enregistrer les frappes clavier, capturer l'écran, et gérer les processus et services.
- Il continue d'évoluer. De nouveaux variants continuent d'apparaître, dont une version ver USB à propagation automatique, maintenant PlugX pertinent plus de quinze ans après son apparition.
Comment PlugX fonctionne
PlugX se comprend mieux en deux parties : comment il se charge sur un système, et ce qu'il fait une fois en cours d'exécution. Sa méthode de chargement est sa caractéristique la plus reconnaissable.
PlugX est presque toujours installé via le DLL side-loading. Cette technique implique trois fichiers délivrés ensemble : un programme légitime, souvent signé numériquement ; une DLL malveillante nommée de façon à ce que le programme la charge automatiquement ; et un fichier de données chiffré contenant le code PlugX réel. Quand le programme légitime s'exécute, il charge la DLL malveillante, qui à son tour déchiffre et exécute la charge PlugX directement en mémoire. Parce que le processus visible est une application légitime et approuvée, cette technique aide PlugX à contourner les outils de sécurité qui évaluent les logiciels selon leur réputation. Ce schéma de chargement en trois fichiers est resté remarquablement cohérent sur plus d'une décennie de versions de PlugX.
Une fois en cours d'exécution, PlugX opère comme un backdoor modulaire. Plutôt qu'être un seul grand programme avec toutes les fonctionnalités intégrées, il charge des plugins qui ajoutent chacun une capacité, de sorte que les opérateurs n'activent que ce dont une intrusion donnée a besoin. Il établit ensuite la persistance pour survivre à un redémarrage, et rappelle un serveur de commande et contrôle (C2) pour recevoir des instructions. Ses capacités principales sont présentées ci-dessous.
La communication avec le C2 est généralement chiffrée, et différents variants implémentent différents sous-ensembles de ces commandes. Cette conception modulaire et chiffrée explique en grande partie pourquoi PlugX est resté efficace et difficile à détecter aussi longtemps.
Qui utilise PlugX
PlugX est fortement associé au cyberespionnage à nexus chinois. Il est généralement admis qu'il a été développé à l'origine par un programmeur chinois, et son builder, l'outil utilisé pour générer des échantillons personnalisés, a été partagé entre une gamme de groupes d'intrusion, dont beaucoup sont liés aux intérêts étatiques chinois. Au fil des années, des groupes ayant utilisé PlugX incluent Mustang Panda (également suivi sous les noms TA416 et RedDelta), APT10, APT41, APT27 et Naikon, entre autres.
Parce que le builder a été partagé et que, selon certaines sources, son code a circulé plus largement, PlugX n'est pas lié à un seul acteur. Cela le rend moins utile pour l'attribution qu'un outil utilisé par un seul groupe, et signifie que sa présence indique une probable opération d'espionnage à nexus chinois sans, à elle seule, identifier laquelle. PlugX est aussi considéré comme un prédécesseur d'outils modulaires plus avancés comme ShadowPad, que certains groupes ont adopté tandis que d'autres continuaient à utiliser PlugX.
Comment PlugX a évolué
Peu de familles de malwares sont restées en usage aussi longtemps que PlugX. Ses opérateurs l'ont régulièrement mis à jour pour rester en phase avec les défenses : en affinant son chiffrement, en changeant les programmes légitimes qu'il abuse pour le DLL side-loading, en ajustant son format de configuration et en ajoutant des capacités comme des plugins d'enregistrement de frappes. Des campagnes récentes ont continué à déployer de nouveaux variants de PlugX contre des cibles gouvernementales, des télécommunications et d'autres cibles stratégiques, parfois aux côtés d'autres backdoors.
L'une des évolutions les plus significatives est survenue en 2020, quand des opérateurs associés à Mustang Panda ont ajouté un composant à propagation automatique qui transforme PlugX en ver capable d'infecter des clés USB. Ce variant peut traverser des environnements à isolation réseau (air gap) en se cachant sur des supports amovibles et en infectant automatiquement de nouvelles machines lorsqu'une clé infectée est branchée, lui permettant d'atteindre des systèmes non connectés à internet. Cette version ver USB s'est répandue au point de dépasser le contrôle de ses opérateurs, une histoire couverte plus en détail sur la page glossaire dédiée au ver PlugX et dans les recherches de première main de Sekoia ci-dessous.
Les recherches de Sekoia sur PlugX
L'équipe TDR de Sekoia a mené des recherches de première main largement citées sur le ver USB PlugX. En septembre 2023, après que le variant ver avait été documenté par d'autres chercheurs, Sekoia a pris le contrôle de l'unique adresse IP de commande et contrôle que des dizines de milliers de machines infectées contactaient encore quotidiennement, via une technique connue sous le nom de sinkholing, pour une somme nominale. Ce que l'équipe a découvert était frappant : bien que les opérateurs aient depuis longtemps abandonné le botnet, environ quatre-vingt-dix à cent mille adresses IP uniques y envoyaient encore des signaux chaque jour, dans plus de 170 pays, des années après le début de la campagne.
En analysant les communications chiffrées du ver, Sekoia a déterminé qu'il était possible d'envoyer une commande d'auto-suppression aux machines infectées, et a proposé un concept de désinfection souveraine : plutôt que d'émettre une commande de suppression globale, ce qui pose des risques juridiques et techniques, Sekoia a offert aux agences nationales de cybersécurité et aux forces de l'ordre la possibilité de nettoyer les infections sur leur propre territoire. Ce travail, et le suivi de la campagne de désinfection réelle, est détaillé dans un article de suivi publié sur le blog Sekoia. C'est un exemple clair de transformation d'une analyse approfondie de première main d'une menace en bénéfice concret pour les défenseurs. Il souligne aussi un point pratique : un botnet dormant n'est pas un botnet inoffensif, car quiconque prendrait le contrôle de cette infrastructure pourrait réutiliser les machines encore infectées.
Comment détecter et se défendre contre PlugX
Parce que PlugX s'appuie sur l'abus de logiciels légitimes et de plugins modulaires plutôt que sur une signature fixe unique, la défense contre lui privilégie le comportement à la détection statique :
- Surveiller le DLL side-loading. Surveiller les programmes légitimes et signés chargeant des DLL inattendues depuis des emplacements inhabituels, et les relations parent-enfant inhabituelles entre processus, qui sont les caractéristiques de la façon dont PlugX se charge.
- Détecter le comportement backdoor. Rechercher des fichiers blob chiffrés écrits sur le disque, des entrées de persistance comme de nouvelles clés de démarrage dans le registre, et des applications non-navigateur établissant des connexions sortantes sur des ports web, qui peuvent révéler une activité C2.
- Contrôler les supports amovibles. Parce qu'un variant ver de PlugX se propage via USB, appliquer des politiques qui bloquent l'exécution depuis des supports amovibles ou désactivent le stockage amovible là où il n'est pas nécessaire, en particulier dans les environnements sensibles ou à isolation réseau.
- Renforcer la protection contre l'accès initial. Puisque PlugX est déployé après une compromission, défendre les points d'entrée, via la sensibilisation au hameçonnage et la correction rapide des systèmes exposés à internet, l'empêche d'être installé en premier lieu.
- Utiliser le renseignement sur les menaces et la détection comportementale. Parce que PlugX a de nombreux variants et utilisateurs, traquer ses comportements connus, ses loaders et son infrastructure, et chercher les comportements plutôt que les indicateurs fixes, aide les équipes à le reconnaître dans différentes campagnes.
Avis d'expert : Un outil vieux de quinze ans qui fonctionne encore
La leçon la plus utile que PlugX enseigne est sa longévité. Un backdoor apparu vers 2008 infecte encore des machines dans plus de 170 pays, est encore mis à jour, et est encore déployé dans des campagnes d'espionnage actuelles. Cette endurance n'est pas due au fait que PlugX soit particulièrement avancé, mais parce que ses idées fondamentales, se charger via un programme signé approuvé et diviser les fonctionnalités en plugins chiffrés à la demande, sont difficiles à attraper avec une détection qui recherche des fichiers malveillants connus. Le processus visible est légitime, et la logique malveillante vit en mémoire et dans des blobs chiffrés.
C'est là qu'une approche centrée sur les comportements et pilotée par le renseignement sur les cybermenaces (CTI) prend toute sa valeur, et où les propres travaux de Sekoia sur PlugX sont instructifs. Sekoia est un éditeur européen de cybersécurité dont l'équipe TDR interne a étudié PlugX directement, jusqu'à effectuer le sinkholing d'un de ses botnets mondiaux, et ce renseignement sur les menaces alimente la plateforme. Plutôt que de s'appuyer uniquement sur la reconnaissance d'un échantillon PlugX spécifique, la plateforme AI SOC de Sekoia corrèle les signaux sur les endpoints, le réseau et d'autres sources et les mappe sur le framework MITRE ATT&CK, de sorte que les comportements derrière PlugX, un programme signé qui charge une DLL inattendue, une nouvelle entrée de persistance, un rappel chiffré depuis un processus inhabituel, sont reconnus ensemble comme une intrusion même quand les fichiers spécifiques sont nouveaux. La recherche de sinkholing de Sekoia est un exemple de transformation du renseignement de première main en quelque chose sur quoi les défenseurs et les agences nationales peuvent agir.
Le message pratique pour les défenseurs est qu'un outil aussi adaptable et largement partagé que PlugX se détecte en comprenant les comportements et le contexte, pas en faisant correspondre une liste d'échantillons connus. Les questions décisives sont comportementales : pourquoi cette application signée charge-t-elle cette DLL, pourquoi vient-elle de créer une entrée de persistance, et pourquoi contacte-t-elle un serveur inconnu. Y répondre dépend d'une visibilité sur l'ensemble de l'environnement, lue face au renseignement actuel sur le fonctionnement de PlugX.