Source originale : Informations sur les menaces de sécurité Microsoft
Au cours des dernières années, le marché des cryptomonnaies s’est considérablement développé, suscitant l’intérêt des investisseurs et des acteurs malveillants. La crypto-monnaie elle-même a été utilisée par les cybercriminels pour leurs opérations, notamment pour le paiement de rançons dans le cadre d'attaques de ransomwares, mais nous avons également observé des acteurs malveillants ciblant directement les organisations du secteur des crypto-monnaies à des fins financières. Les attaques ciblant ce marché ont pris de nombreuses formes, notamment la fraude, l'exploitation de vulnérabilités, les fausses applications et l'utilisation de voleurs d'informations, alors que les attaquants tentent de mettre la main sur les fonds de crypto-monnaie.
Nous assistons également à des attaques plus complexes dans lesquelles l’acteur malveillant fait preuve d’une grande connaissance et préparation, prenant des mesures pour gagner la confiance de sa cible avant de déployer des charges utiles. Par exemple, Microsoft a récemment enquêté sur une attaque au cours de laquelle l’auteur de la menace, identifié sous le nom DEV-0139, a profité des groupes de discussion Telegram pour cibler des sociétés d’investissement en crypto-monnaie. DEV-0139 a rejoint les groupes Telegram utilisés pour faciliter la communication entre les clients VIP et les plateformes d'échange de crypto-monnaie et a identifié sa cible parmi les membres. L’acteur menaçant s’est fait passer pour des représentants d’une autre société d’investissement en crypto-monnaie et, en octobre 2022, a invité la cible à un autre groupe de discussion et a fait semblant de demander des commentaires sur la structure des frais utilisée par les plateformes d’échange de crypto-monnaie. L'auteur de la menace avait une connaissance plus large de cette partie spécifique du secteur, ce qui indique qu'il était bien préparé et conscient du défi actuel que les entreprises ciblées peuvent rencontrer.
Après avoir gagné la confiance de la cible, DEV-0139 a ensuite envoyé un fichier Excel militarisé portant le nom OKX Binance & Huobi VIP fee comparision.xls qui contenait plusieurs tableaux sur les structures de frais entre les sociétés d'échange de crypto-monnaie. Les données contenues dans le document étaient probablement exactes pour accroître leur crédibilité. Ce fichier Excel militarisé lance la série d’activités suivante :
Une macro malveillante dans le fichier Excel militarisé abuse de UserForm de VBA pour obscurcir le code et récupérer certaines données.
La macro malveillante supprime une autre feuille Excel intégrée au formulaire et l'exécute en mode invisible. Ladite feuille Excel est codée en base64 et déposée dans C:\ProgramData\Microsoft Media\ sous le nom VSDB688.tmp
Le fichier VSDB688.tmp télécharge un fichier PNG contenant trois exécutables : un fichier Windows légitime nommé logagent.exe, une version malveillante de la DLL wsock32.dll et une porte dérobée codée XOR.
Le fichier logagent.exe est utilisé pour charger le wsock32.dll malveillant, qui agit comme un proxy DLL pour le wsock32.dll légitime. Le fichier DLL malveillant est utilisé pour charger et déchiffrer la porte dérobée codée XOR qui permet à l'acteur malveillant d'accéder à distance au système infecté.
Figure 1. Aperçu de l'attaque
Une enquête plus approfondie grâce à notre télémétrie a conduit à la découverte d'un autre fichier qui utilise la même technique de proxy DLL. Mais au lieu d'un fichier Excel malveillant, il est livré dans un package MSI pour une application CryptoDashboardV2, daté de juin 2022. Cela peut suggérer que d'autres campagnes connexes sont également menées par le même acteur malveillant, en utilisant les mêmes techniques.
Dans cet article de blog, nous présenterons les détails découverts lors de notre enquête sur l’attaque contre une société d’investissement en cryptomonnaie, ainsi que l’analyse des fichiers associés, pour aider des organisations similaires à comprendre ce type de menace et à se préparer à d’éventuelles attaques. Les chercheurs de Volexity ont également récemment publié leurs conclusions sur cette attaque.
Comme pour toute activité observée par un acteur étatique, Microsoft informe directement les clients qui ont été ciblés ou compromis, en leur fournissant les informations dont ils ont besoin pour sécuriser leurs comptes. Microsoft utilise les désignations DEV-#### comme nom temporaire donné à un cluster d'activités de menace inconnu, émergent ou en développement, permettant à Microsoft Threat Intelligence Center (MSTIC) de le suivre en tant qu'ensemble unique d'informations jusqu'à ce que nous atteignions un niveau élevé. confiance quant à l’origine ou à l’identité de l’acteur derrière l’activité. Une fois qu'il répond aux critères, un DEV est converti en acteur nommé.
Compromis initial
Pour identifier les cibles, l’acteur malveillant a recherché des membres de groupes d’investissement en crypto-monnaie sur Telegram. Dans l'attaque spécifique, DEV-0139 a contacté sa cible le 19 octobre 2022 en créant un groupe Telegram secondaire portant le nom <NameOfTheTargetedCompany> <> OKX Fee Adjustment et en invitant trois employés. L'acteur malveillant a créé de faux profils en utilisant les informations des employés de la société OKX. La capture d'écran ci-dessous montre les comptes réels et malveillants de deux des utilisateurs présents dans le groupe.
Figure 2. Profils légitimes des employés d'échange de crypto-monnaie (à gauche) et faux profils créés par l'acteur menaçant (à droite)
Il convient de noter que l’auteur de la menace semble avoir une connaissance approfondie du secteur des cryptomonnaies et des défis auxquels l’entreprise ciblée peut être confrontée. L’acteur menaçant a posé des questions sur les structures de frais, qui sont les frais utilisés par les plateformes d’échange de crypto-monnaies pour le trading. Les frais constituent un défi majeur pour les fonds d'investissement car ils représentent un coût et doivent être optimisés pour minimiser l'impact sur la marge et les bénéfices. Comme beaucoup d’autres entreprises de ce secteur, les coûts les plus importants proviennent des frais facturés par les bourses. Il s’agit d’un sujet très spécifique qui démontre à quel point l’acteur menaçant était avancé et bien préparé avant de contacter sa cible.
Après avoir gagné la confiance de la cible, l’acteur malveillant a envoyé à la cible un document Excel militarisé contenant plus de détails sur les frais pour paraître légitime. L’acteur malveillant a profité de la discussion sur la structure tarifaire pour demander à la cible d’ouvrir le fichier Excel militarisé et de renseigner ses informations.
Analyse de fichiers Excel militarisée
Le fichier Excel armé, qui porte le nom de fichier OKX Binance & Huobi VIP fee comparision.xls (Sha256 : abca3253c003af67113f83df2242a7078d5224870b619489015e4fde060acad0), est bien conçu et contient des informations légitimes sur les frais actuels utilisés par certains échanges cryptographiques. Les métadonnées extraites ont montré que le fichier a été créé par l'utilisateur Wolf :
Figure 3. Les informations contenues dans le fichier Excel malveillant
La macro est obscurcie et abuse de UserForm (une fonctionnalité utilisée pour créer des fenêtres) pour stocker des données et des variables. Dans ce cas, le nom du UserForm est IFUZYDTTOP, et la macro récupère les informations avec le code suivant IFUZYDTTOP.MgQnQVGb.Caption où MgQnQVGb est le nom du label dans le UserForm et .caption permet de récupérer les informations stockées dans le UserForm .
Le tableau ci-dessous montre les données récupérées du UserForm :
La macro récupère certains paramètres du UserForm ainsi qu'un autre fichier XLS stocké en base64. Le fichier XLS est déposé dans le répertoire C:\ProgramData\Microsoft Media sous le nom VSDB688.tmp et s'exécute en mode invisible.
Figure 4. Le code désobscurci pour charger la feuille de calcul extraite en mode invisible.
De plus, la feuille principale du fichier Excel est protégée par le mot de passe dragon pour encourager la cible à activer les macros. La feuille n'est alors plus protégée après l'installation et l'exécution de l'autre fichier Excel stocké en Base64. Ceci est probablement utilisé pour tromper l'utilisateur afin qu'il active les macros et ne pas éveiller les soupçons.
Feuille de calcul extraite
Le deuxième fichier Excel, VSDB688.tmp (Sha256 : a2d3c41e6812044573a939a51a22d659ec32aea00c26c1a2fdf7466f5c7e1ee9), est utilisé pour récupérer un fichier PNG qui est analysé ultérieurement par la macro pour extraire deux fichiers exécutables et la porte dérobée cryptée. Vous trouverez ci-dessous les métadonnées de la deuxième feuille de calcul :
Figure 5. Le deuxième fichier est complètement vide mais contient la même technique d'abus UserForm que la première étape.
Le tableau ci-dessous montre les données désobscurcies extraites du UserForm :
La macro récupère certains paramètres du UserForm puis télécharge un fichier PNG depuis hxxps://od.lk/d/d021d412be456a6f78a0052a1f0e3557dcfa14bf25f9d0f1d0d2d7dcdac86c73/Background.png. Le fichier n'était plus disponible au moment de l'analyse, ce qui indique que l'auteur de la menace l'a probablement déployé uniquement pour cette attaque spécifique.
Figure 6. Code désobfusqué qui montre le téléchargement du fichier Background.png
Le PNG est ensuite divisé en trois parties et écrit dans trois fichiers différents : le fichier légitime logagent.exe, une version malveillante de wsock32.dll et la porte dérobée chiffrée XOR avec le GUID (56762eb9-411c-4842-9530-9922c46ba2da). Les trois fichiers sont utilisés pour charger la charge utile principale sur le système cible.
Figure 7. Les trois fichiers sont écrits dans C:\\ProgramData\SoftwareCache\ et exécutés à l'aide de l'API CreateProcess.
Analyse du chargeur
Deux des trois fichiers extraits du fichier PNG, logagent.exe et wsock32.dll, sont utilisés pour charger la porte dérobée chiffrée XOR. Les sections suivantes présentent notre analyse approfondie des deux dossiers.
Logagent.exe
Logagent.exe (Hash : 8400f2674892cdfff27b0dfe98a2a77673ce5e76b06438ac6110f0d768459942) est une application système légitime utilisée pour enregistrer les erreurs du Lecteur Windows Media et envoyer les informations de dépannage.
Le fichier contient les métadonnées suivantes, mais il n'est pas signé :
Logagent.exe importe la fonction de wsock32.dll qui est utilisée de manière abusive par l'acteur malveillant pour charger du code malveillant dans le système ciblé. Pour déclencher et exécuter le wsock32.dll malveillant, logagent.exe est exécuté avec les arguments suivants précédemment récupérés par la macro : 56762eb9-411c-4842-9530-9922c46ba2da /shadow. Les deux arguments sont ensuite récupérés par wsock32.dll. Le GUID 56762eb9-411c-4842-9530-9922c46ba2da est le nom de fichier du fichier malveillant wsock32.dll à charger et /shadow est utilisé comme clé XOR pour le déchiffrer. Les deux paramètres sont nécessaires au fonctionnement du malware, ce qui peut potentiellement entraver l’analyse isolée.
Figure 8. Exécution de la ligne de commande à partir du processus en cours d'exécution logagent.exe
Wsock32.dll
Le wsock32.dll légitime est l'API Windows Socket utilisée par les applications pour gérer les connexions réseau. Dans cette attaque, l’auteur de la menace a utilisé une version malveillante de wsock32.dll pour échapper à la détection. Le wsock32.dll malveillant est chargé par logagent.exe via le chargement latéral de DLL et utilise le proxy de DLL pour appeler les fonctions légitimes du vrai wsock32.dll et éviter la détection. Le proxy DLL est une technique de piratage dans laquelle une DLL malveillante se situe entre l'application appelant la fonction exportée et une DLL légitime qui implémente cette fonction exportée. Dans cette attaque, le wsock32.dll malveillant agit comme un proxy entre logagent.exe et le wsock32.dll légitime.
Il est possible de remarquer que la DLL transmet l'appel aux fonctions légitimes en regardant la table des adresses d'importation :
Figure 9. Importer la table d'adresses depuis
Figure 10. La récupération des données avec PeStudio a révélé le nom de fichier d'origine du fichier malveillant wsock32.dll.
Lorsque le wsock32.dll malveillant est chargé, il récupère d'abord la ligne de commande et vérifie si le fichier avec le GUID comme nom de fichier est présent dans le même répertoire à l'aide de l'API CreateFile pour récupérer un descripteur de fichier.
Figure 11. Vérification de la présence du fichier 56762eb9-411c-4842-9530-9922c46ba2da pour le décryptage
Le wsock32.dll malveillant charge et décode l'implant final dans la mémoire avec le nom GUID qui est utilisé pour accéder à distance à la machine infectée.
Une fois le fichier chargé dans la mémoire, il donne un accès à distance à l’acteur menaçant. Au moment de l’analyse, nous n’avons pas pu récupérer la charge utile finale. Cependant, nous avons identifié une autre variante de cette attaque et récupéré la charge utile, qui est abordée dans la section suivante. Les implants identifiés se reconnectaient au même serveur de commande et de contrôle (C2).
Attaque associée
Nous avons identifié un autre fichier utilisant un mécanisme similaire à logagent.exe et délivrant la même charge utile. Le chargeur est présenté sous forme de package MSI et, comme indiqué, d'une application appelée CryptoDashboardV2 (Hash : e5980e18319027f0c28cd2f581e75e755a0dace72f10748852ba5f63a0c99487). Après avoir installé le MSI, il utilise une application légitime appelée tplink.exe pour charger la DLL malveillante appelée DUser.dll et utilise également le proxy de DLL.
Figure 12. Détails d'installation du fichier MSI
Une fois le package installé, il exécute et charge la DLL à l'aide de la commande suivante : C:\Users\user\AppData\Roaming\Dashboard_v2\TPLink.exe » 27E57D84-4310-4825-AB22-743C78B8F3AA /sven, où il utilise visiblement un GUID différent.
Une analyse plus approfondie du DUser.dll malveillant a montré que son nom d'origine est également HijackingLib.dll, identique à celui du malveillant wsock32.dll. Cela pourrait indiquer l’utilisation du même outil pour créer ces proxys DLL malveillants. Vous trouverez ci-dessous les détails du fichier DUser.dll :
Une fois la DLL exécutée, elle charge et décode l'implant dans la mémoire et commence à baliser le même domaine. Dans ce cas, l'implant utilise le nom GUID 27E57D84-4310-4825-AB22-743C78B8F3AA et la clé XOR /sven.
Analyse implantaire
La charge utile décodée dans la mémoire par la DLL malveillante est un implant utilisé par l'acteur malveillant pour accéder à distance à la machine compromise. Nous avons pu obtenir celui de la deuxième variante que nous avons découverte. Vous trouverez ci-dessous les détails de la charge utile :
Détails de la détection
Antivirus Microsoft Defender
Microsoft Defender Antivirus détecte les composants de menace comme étant les logiciels malveillants suivants :
TrojanDownloader:O97M/Wolfic.A
TrojanDownloader:O97M/Wolfic.B
TrojanDownloader:O97M/Wolfic.C
TrojanDownloader:Win32/Wolfic.D
TrojanDownloader:Win32/Wolfic.E
Comportement : Win32/WolficDownloader.A
Comportement : Win32/WolficDownloader.B
Microsoft Defender pour point de terminaison
Les alertes portant les titres suivants dans le centre de sécurité peuvent indiquer une activité de menace sur votre réseau :
Un exécutable a chargé une DLL inattendue
Détournement de l'ordre de recherche des DLL
Le malware « Wolfic » a été empêché