Opération StealthyTrident: des logiciels d’entreprise sont attaqués

LuckyMouse, TA428, HyperBro, Tmanger et ShadowPad liés dans une attaque de la chaîne d'approvisionnement mongole.

LuckyMouse, TA428, HyperBro, Tmanger et ShadowPad liés dans une attaque de la chaîne d’approvisionnement mongole.

Les chercheurs d’ESET ont découvert que le logiciel de chat appelé Able Desktop, qui fait partie d’une suite de gestion d’entreprise populaire en Mongolie et utilisée par 430 agences gouvernementales en Mongolie (selon Able), a été utilisé pour fournir la porte dérobée HyperBro (communément utilisée par LuckyMouse), le RAT Korplug (également connu sous le nom de PlugX), et un RAT appelé Tmanger (qui a été documenté pour la première fois par NTT Security et a été utilisé pendant les campagnes informatiques de l’opération Lagtime attribuée à TA428 par Proofpoint). Un lien avec la porte dérobée ShadowPad, qui est maintenant utilisée par au moins cinq acteurs différents de la menace, a également été trouvé.

Deux installateurs différents, protégés par des chevaux de Troie, ainsi qu’un système de mise à jour probablement compromis, ont été utilisés pour livrer les charges utiles. D’après notre télémétrie, nous pensons que le système de mise à jour d’Able est compromis depuis au moins juin 2020 et que les installateurs pirates ont livré depuis au moins mai 2018

De plus, hier, Avast a publié un billet de blog documentant une campagne visant les agences gouvernementales et un centre de données national en Mongolie. Au cours de cette campagne, les attaquants ont compromis une société inconnue qui fournissait des institutions gouvernementales en Asie de l’Est et ont profité de ce compromis pour livrer HyperBro par e-mail. Nous pensons que la société compromise était Able, car le nom de fichier utilisé dans cette pièce jointe malveillante est probablement AbleTimeAccess_Update.exe, et nous avons observé qu’un tel fichier était utilisé pour déposer le même échantillon d’HyperBro que celui décrit dans le blog d’Avast.

Un diagramme résumant les connexions entre LuckyMouse, TA428 et l’infrastructure C&C de la porte dérobée ShadowPad est présenté dans la figure 1.

Figure 1. Résumé des connexions entre LuckyMouse, TA428 et la porte dérobée du ShadowPad

En ce qui concerne l’attribution de l’opération StealthyTrident, étant donné que HyperBro est communément attribué à LuckyMouse, que Tmanger a été attribué à TA428 et qu’il utilise un des serveurs ShadowPad C&C, de multiples hypothèses concurrentes existent :

  • LuckyMouse a accès à Tmanger et au ShadowPad.
  • LuckyMouse partage son accès au serveur de mise à jour compromis d’Able Desktop avec le groupe TA428 ou un autre groupe ayant accès à Tmanger.
  • HyperBro est maintenant partagé avec le groupe TA428 ou un autre groupe ayant accès à Tmanger et ShadowPad.
  • LuckyMouse et TA428 sont des sous-groupes du même acteur de la menace.

Bien qu’à l’origine il ne soit utilisé que par le Winnti Group, il faut également noter que depuis au moins octobre 2019, le ShadowPad est partagé entre plusieurs acteurs de la menace, dont le Groupe WinntiCactusPeteTICKIceFog et KeyBoy.

Des éléments supplémentaires concernant la connexion entre Tmanger et TA428 seront publiés dans un deuxième billet de blog documentant une autre campagne où les attaquants ont utilisé à la fois Tmanger et ShadowPad.

Nous avons appelé cette campagne « Operation StealthyTrident », parce que les attaquants ont largement utilisé une technique de chargement latéral en trois volets, le « trident ».

Compromission d’Able Desktop

Able Desktop est un logiciel de chat qui fait partie de la suite de gestion d’entreprise Able utilisée en Mongolie. Il s’agit d’une application JavaScript basée sur Chromium qui utilise la bibliothèque NodeJS. Selon Able, leur suite logicielle est utilisée par 430 agences gouvernementales en Mongolie.

A la mi-2018, nous avons observé une première occurrence de l’application légitime Able Desktop utilisée pour télécharger et exécuter HyperBro, une porte dérobée communément attribuée à LuckyMouse (également connu sous le nom de Emissary Panda ou APT27). Able Desktop a également été utilisé pour télécharger et exécuter Tmanger ; dans ce cas, le logiciel Able Desktop lui-même n’a pas fait l’objet d’un cheval de Troie (c’est-à-dire qu’il ne contenait pas de code malveillant). L’hypothèse la plus probable est que le système de mise à jour d’Able Desktop a été compromis.

En plus des applications légitimes d’Able Desktop utilisées pour déposer et exécuter HyperBro, probablement en utilisant son système de mise à jour, nous avons également trouvé deux installateurs d’Able Desktop qui étaient en fait des chevaux de Troie et qui contenaient la porte dérobée HyperBro et la RAT Korplug. La première apparition de cet installateur Able Desktop contenant un cheval de Troie remonte à décembre 2017. Une chronologie de ces événements est présentée à la figure 2.

Figure 2. Timeline of the various implants used with either a trojanized Able Desktop installer or likely delivered through Able Desktop update

Nous avons informé Able de ces compromissions.

Mécanisme de mise à jour d’Able Desktop

Pour se mettre à jour, Able Desktop télécharge l’installateur de mise à jour via HTTPS. Le code responsable de la mise à jour est indiqué dans la figure 3.

Figure 3. Code JavaScript responsable de la mise à jour d’Able Desktop

Le programme d’installation de la mise à jour téléchargée est enregistré dans %USERPROFILE%\Documents\Able\Able Desktop.exe. Une fois téléchargé, l’installateur est exécuté. Dans le cas d’un installateur de mise à jour légitime, une nouvelle version d’Able Desktop sera installée.  Nous avons cependant observé qu’à partir de la mi-2018, l’exécutable téléchargé n’était pas un installateur légitime, mais plutôt la porte dérobée HyperBro. Puisque, dans le cas présent, l’exécutable n’est pas un installateur Able Desktop mais un simple logiciel malveillant, aucune installation de mise à jour n’a lieu et HyperBro est exécuté à la place -et Able Desktop n’est plus mis à jour.

De nombreux éléments soutiennent l’hypothèse d’un compromis du serveur de mise à jour :

  • Le nom de fichier et le chemin utilisés pour télécharger HyperBro sont le nom de fichier et le chemin utilisés par le système de mise à jour.
  • La mise à jour est téléchargée via HTTPS, une attaque de type « man-in-the-middle » est donc peu probable.
  • HyperBro a été déposé sur tous les ordinateurs utilisant Able Desktop pendant la même période que les précédentes mises à jour légitimes.
  • Le fichier malveillant Able Desktop.exe est déposé par le véritable logiciel Able Desktop et non par un logiciel malveillant se faisant passer pour Able Desktop.
  • Aucune mise à jour légitime n’a été installée depuis le début de la campagne.

Nous pensons que cela est suffisant pour affirmer que le mécanisme de mise à jour a été compromis. Il convient de noter qu’Able Desktop dispose de plusieurs serveurs de mise à jour, dont certains sont hébergés chez des organisations clientes. Comme nous n’avons aucune information sur le serveur de mise à jour utilisé par ces victimes, nous ne savons pas si Able a été compromis, ou si c’est l’un des serveurs de mise à jour de leurs clients.

La liste des serveurs de mise à jour utilisés par Able Desktop est présentée à la figure 4. Nous pouvons voir dans cette liste qu’Able Desktop est effectivement utilisé par plusieurs entités gouvernementales telles que l’Autorité des ressources minérales de Mongolie, le Ministère de la justice et des affaires étrangères, le Ministère de la construction et du développement urbain, la Banque de développement de Mongolie ou l’Université d’État mongole de l’éducation.

Puis, en juillet 2020, nous avons assisté au passage d’HyperBro, fourni par le système de mise à jour, à une porte dérobée attribuée à TA428 et appelée Tmanger.

Able Desktop trojanisé

En plus d’HyperBro et Tmanger qui sont téléchargés par le logiciel légitime Able Desktop, nous avons également trouvé deux installateurs différents protégés par des chevaux de Troie. Nous ne savons pas si ces installateurs étaient téléchargeables à partir du site web d’Able ou d’une autre source.  host and pcalocalresloader.dll are used in both the root of the Able Desktop.exe archive and data1.dat archive.

Les installateurs d’Able Desktop, qu’ils soient légitimes ou protégés par un trojan, sont des installateurs 7-Zip SFX et ne sont pas signés. Dans le cas des installateurs protégés par un cheval de Troie, le logiciel Able Desktop légitime est fourni avec HyperBro ou Korplug. La charge utile et son hôte à chargement latéral sont contenus dans un fichier data1.dat qui est une archive SFX 7-Zip, tandis que Able Desktop est contenu dans un fichier data.dat qui est un installateur avancé.  Le contenu de l’installateur protégé par un trojan est résumé à la figure 5. Les mêmes hôtes IntgStat.exe à chargement latéral et pcalocalresloader.dll sont utilisés dans la racine de l’archive Able Desktop.exe et de l’archive data1.dat.

Figure 5. Contenu de l’installateur d’Able Desktop protégé par un cheval de Troie

L’installateur SFX 7-Zip exécute d’abord IntgStat.exe, un exécutable Symantec légitime, qui est un hôte DLL à chargement latéral utilisé pour charger pcalocalresloader.dll. Cette DLL est utilisée pour décrypter et charger la charge utile codée XOR stockée dans thumb.db. Cette charge utile, codée XOR avec 0x04, une fois mise en mémoire par le chargeur de charge utile, décompressera et exécutera un exécutable PE intégré, comprimé LZNT1, qui est utilisé pour renommer data.dat (l’installateur légitime) et data1.dat (la charge utile malveillante) respectivement en Able Desktop.exe et data1.exe, puis les exécutera.

Une fois exécutée, l’archive SFX 7-Zip data1.exe nouvellement renommée extrait son contenu et exécute le deuxième hôte à chargement latéral IntgStat.exe, qui charge ensuite pcalocalresloader.dll. Là encore, pcalocalresloader.dll est utilisé pour charger la charge utile codée XOR stockée dans le fichier thumb.db. Comme précédemment, cette charge utile va décompresser et exécuter un exécutable PE compressé en LZNT1, qui est en fait HyperBro.

Notez que, dans le cas de l’installateur d’Able Desktop, qui a été piraté par Korplug, le même hôte à chargement latéral et la même DLL sont utilisés pour exécuter data1.dat, tandis que l’hôte à chargement latéral utilisé pour exécuter Korplog lui-même n’est pas IntgStat.exe, mais siteadv.exe – un exécutable légitime de McAfee – et la DLL de chargement est appelée siteadv.dll. Hormis ce changement d’hôte de chargement latéral, le mécanisme de livraison de la charge utile est le même.

HyperBro 

La porte dérobée HyperBro est la porte dérobée personnalisée de LuckyMouse utilisée depuis au moins 2013 et en développement continu. La variante utilisée ici est similaire à la variante décrite par Palo Alto Networks et Kaspersky. HyperBro a été livré aux victimes à la fois par le logiciel légitime Able Desktop et par un installateur Able Desktop protégé par un trojan.

Comme pour la version utilisée avec l’installateur Able Desktop protégé par un cheval de Troie, dans le cas de l’implant HyperBro téléchargé par le logiciel légitime Able Desktop, la première étape consiste en un SFX 7-Zip contenant :

  • thinprobe.exe, un exécutable Symantec légitime utilisé pour le téléchargement latéral de DLL
  • thinprobe.dll, un chargeur HyperBro
  • thumbs.db, la charge utile codée XOR.

La DLL de chargement d’HyperBro, thinprobe.dll, est exécutée par DLL à chargement latéral en utilisant l’exécutable thinprobe.exe, qui est un exécutable Symantec légitime et signé. Bien que l’hôte à chargement latéral utilisé avec l’HyperBro téléchargé soit différent, la DLL utilisée pour décoder et exécuter la charge utile thumbs.db est exactement la même.

Cette technique est très similaire à l’attaque à trois tridents signalée par un chercheur de Kaspersky. Les deux hôtes à chargement latéral thinprobe.exe et Intgstat.exe  étaient auparavant utilisés par LuckyMouse pour charger HyperBro.

Notez, cependant, que contrairement aux droppers HyperBro précédemment documentés employant un tel trident, la charge utile ici n’est pas encodée Shikata Ga Nai mais XOR avec la valeur 0x04.

L’URL C&C de l’implant HyperBro utilisé avec l’installateur trojanisé d’Able Desktop est https://developer.firefoxapi[.]com/ajax, tandis que l’URL C&C utilisée par celui téléchargé par le légitime Able Desktop est https://139.180.208[.]225/ajax.

Compte tenu des horodatages de compilation d’HyperBro, la version utilisée avec l’installateur protégé par un cheval de Troie a été compilée le vendredi 8 décembre à 5:22:23 2017, tandis que la version téléchargée par Able Desktop a été compilée le lundi 11 mars à 3:23:54 2019. Cela suggère que l’installateur protégé par un trojan a été utilisé avant la version téléchargée par le programme de mise à jour d’Able Desktop. L’installateur trojanisé a été vu pour la première fois dans notre télémétrie en mai 2018, tandis que la version téléchargée par Able Desktop a été vue pour la première fois en juin 2020 (voir la chronologie dans la figure 2).

Korplug 

Le Korplug RAT (également connu sous le nom de PlugX) est utilisé par de nombreux groupes de menace différents. Dans le cas présent, il n’a été livré que par l’intermédiaire de l’installateur d’Able Desktop protégé par un trojan et nous n’avons constaté aucun cas de téléchargement de Korplug par un logiciel Able Desktop légitime.

Comme nous l’avons déjà mentionné, et comme dans le cas des installateurs protégés par un cheval de Troie avec HyperBro, Korplug est intégré à l’installateur avec le logiciel Able Desktop légitime et exécuté deux fois via le modèle trident par DLL à chargement latéral en utilisant IntgStat.exe comme exécutable hôte et ensuite siteadv.exe. La même DLL est utilisée pour décoder et exécuter la charge utile thumbs.db codée en XOR que celle utilisée avec l’installateur trojanisé avec HyperBro, ce qui permet d’établir un lien solide entre ces deux installateurs trojanisés.

L’adresse C&C utilisée par Korplug est 45.77.173[.]124:443. Il est intéressant de noter que cette adresse a également été utilisée par un implant CobaltStrike ciblant une école en Mongolie pendant la même période.

Son horodatage de compilation (Sun Dec 08 06:22:34 2019) ainsi que l’horodatage de compilation de l’installateur (Wed Sep 04 16:52:04 2019) suggèrent qu’elle a été utilisée après que l’installateur d’Able Desktop ait été piraté par HyperBro et avant que HyperBro ne soit téléchargé par le logiciel légitime d’Able Desktop. Voir la chronologie à la figure 2.

Tmanger 

Tmanger est une RAT qui a été documentée pour la première fois par NTT Security et qui a été utilisée dans l’opération Lagtime IT qui a été attribuée à TA428 par Proofpoint. Elle est appelée Tmanger parce que c’est apparemment le nom donné par son développeur, comme on peut le voir par exemple dans son cheminement PDB :

c:\users\waston\desktop\20190403_tmanger\20191118 tm_new 1.0\release\mloaddll.pdb 

Si l’on considère la variante que nous avons observée lors de l’opération StealthyTrident, aucun chemin de PDB n’était présent, mais elle reste très similaire à celle documentée par NTT Security dans son blog. À titre d’exemple de similarité entre les deux échantillons, la procédure de connexion utilisée par l’un des échantillons Tmanger documentés par NTT Security (14140782A68FF20000C7E9F58336620A65D4D168) et celle déposée par Able Desktop sont présentées côte à côte dans la figure 6.

Figure 6. Comparaison de la routine de connexion dans l’échantillon Tmanger déposé par Able Desktop (à gauche) et l’un des échantillons documentés par NTT SecurityUne différence notable est que dans le cas de la variante Able Desktop, Tmanger est empaqueté sous la forme d’un seul exécutable, alors que la variante décrite par NTT Security consiste en trois DLL.

La télémétrie ESET montre le premier téléchargement de cette variante de Tmanger par le logiciel légitime d’Able Desktop en juillet 2020. Tmanger a remplacé HyperBro sur ce système et HyperBro n’a plus été téléchargé par la suite.

Les adresses C&C utilisées par cet implant Tmanger, téléchargées par Able Desktop, sont stockées dans une configuration cryptée RC4 et sont les suivantes.

  • 45.77.55[.]145:80 
  • 45.77.55[.]145:443 
  • 45.77.55[.]145:8080 

Le protocole de communication est le TCP et les messages sont cryptés en RC4.

Il est intéressant de noter que la première adresse fait partie de l’infrastructure du réseau ShadowPad et, à notre connaissance, aucune de ces adresses ne se chevauche avec l’infrastructure de LuckyMouse.

Conclusion 

ESET Recherche a découvert une campagne ciblant les organisations mongoles qui s’appuyaient sur des installateurs Able Desktop compromis et des compromis du système de mise à jour Able pour livrer des logiciels malveillants HyperBro, Korplug et Tmanger.

Cette campagne montre un lien avec la porte dérobée de ShadowPad, car nous avons observé des chevauchements entre l’infrastructure réseau de ShadowPad C&C et l’une des adresses de Tmanger C&C.

En dehors de l’utilisation d’HyperBro, développé et couramment utilisé par LuckyMouse, nous n’avons pas trouvé de chevauchement significatif avec le jeu d’outils ou l’infrastructure réseau de LuckyMouse. Cela signifie-t-il que LuckyMouse a accès à ShadowPad et Tmanger ou bien LuckyMouse a-t-elle partagé son accès à un serveur de mise à jour d’Able Desktop compromis avec le groupe TA428 ? Une autre hypothèse pourrait être que, tout comme ShadowPad, HyperBro est maintenant partagé avec d’autres acteurs de la menace. Enfin, une dernière hypothèse pourrait être que LuckyMouse et TA428 sont des acteurs de menace étroitement liés ou sont en fait les mêmes.

Des indicateurs de compromis peuvent également être trouvés sur GitHub. Pour toute demande de renseignements, ou pour soumettre des échantillons sur le sujet, contactez-nous à l’adresse suivante : threatintel@eset.com.

Remerciements

L’auteur tient à remercier Matthieu Faou, qui a contribué à cette recherche.

IoCs 

Noms de détection d’ESET

Win32/HyperBro.AD 
Win32/LuckyMouse.BL 
Win32/Korplug.ND 
Win32/Korplug.QD
Win64/Spy.Tmanger.A

Trojanized Able Desktop 

0B0CF4ADA30797B0488857F9A3B1429F44335FB6
B51835A5D8DA77A49E3266494A8AE96764C4C152 

Payload loader 

23A227DD9B77913D15735A25EFB0882420B1DE81
2A630E25D0C1006B6DBD7277F8E52A3574BEFFEC 

HyperBro 

8FFF5C6EB4DAEE2052B3578B73789EB15711FEEE
0550AAE6E3CEABCEF2A3F926339E68817112059A 

Korplug 

5D066113534A9E31F49BEFDA560CF8F8890496D0 

Tmanger 

ED6CECFDAAEB7F41A824757862640C874EF3F7AE 

Domaines C&C 

developer.firefoxapi[.]com 

Adresses IP du serveur C&C

45.77.173[.]124
45.77.55[.]145
139.180.208[.]225 

C&C URLs 

https://developer.firefoxapi[.]com/ajax
https://139.180.208[.]225/ajax 

Techniques MITRE ATT&CK 

Tactic ID Name Description 
Initial Access T1195.002Supply Chain Compromise: Compromise Software Supply Chain One of the Able update servers was likely compromised in order to deploy HyperBro and Tmanger. 
Execution T1204.002User Execution: Malicious File Able Desktop trojanized installer is executed by the user. 
Persistence T1574.002Hijack Execution Flow: DLL Side-Loading HyperBro, Korplug and Tmanger are executed via DLL side-loading. 
Defense Evasion T1140Deobfuscate/Decode Files or Information HyperBro and Korplug payloads are XOR encoded. 
Tmanger configuration is RC4 encrypted. 
T1574.002Hijack Execution Flow: DLL Side-Loading HyperBro and Korplug side-loading hosts are legitimate, signed executables from trusted security vendors. 
Collection T1056.001Input Capture: Keylogging Tmanger supports keylogging. 
T1113Screen Capture Tmanger supports screen capture. 
Command And Control T1573.001Encrypted Channel: Symmetric Cryptography Tmanger messages are RC4 encrypted. 
T1008Fallback Channels Tmanger can fallback to a secondary C&C. 
T1095Non-Application Layer Protocol Tmanger communicates using raw TCP. 
T1071.001Application Layer Protocol: Web Protocols HyperBro communication protocol is HTTP. 
Exfiltration T1041Exfiltration Over C2 Channel Tmanger can exfiltrate files via a dedicated command. 

Note: Ce tableau a été réalisé en utilisant la version 8 de MITRE ATT&CK. 

Infolettre

Discussion