jeu, 22/09/2016 - 16:31
L’un des chevaux de Troie bancaires les plus actifs que nous avons observés ces derniers temps dans les campagnes d’e-mails malveillants et les kits d’exploitation de vulnérabilités est souvent désigné sous les noms Ursnif ou Gozi ISFB[6]. Grâce à Frank Ruiz de FoxIT InTELL, nous savons que le développeur de l’une de ses variantes depuis 2014 a nommé celle-ci Dreambot. Le malware Dreambot évolue activement et des échantillons récents ont particulièrement retenu notre attention en raison de l’ajout d’une fonction de communication Tor, ainsi que d’une fonctionnalité peer-to-peer (P2P). Dreambot se propage actuellement via de nombreux kits d’exploitation mais aussi par des pièces jointes et des liens.
Il est à noter que, si Dreambot est l’une des variantes les plus virulentes et répandues d’Ursnif, il en existe d’autres en activité, notamment « IAP »[5]. Le code source Gozi ISFB a fuité, ce qui a donné lieu à des développements supplémentaires.
Analyse
Le malware Dreambot est toujours en phase active de développement et, ces derniers mois, nous en avons vu diverses versions en circulation. La version à fonctionnalité Tor de Dreambot est en activité depuis au moins juillet 2016, date à laquelle nous avons observé pour la première fois le malware télécharger le logiciel client Tor et se connecter au réseau Tor avec succès. Aujourd’hui, de nombreux échantillons de Dreambot comportent cette fonctionnalité, mais rares sont ceux qui l’utilisent comme principale méthode de communication avec leur infrastructure de commande et de contrôle (C&C). Cependant, à l’avenir, cette fonction pourra être employée beaucoup plus fréquemment, ce qui crée des problèmes supplémentaires pour la défense contre le malware.
Pour cette analyse, nous avons examiné la version 2.14.845, dont la configuration diffère des autres versions de Dreambot du fait qu’elle n’utilise pas l’algorithme de génération de domaine (DGA). Par conséquent, les variables et paramètres DGA en sont absents. Ci‑dessous un exemple de données de configuration décryptées, les lignes intéressantes étant encadrées en rouge.
Figure 1 – Décryptage des données de configuration utilisées par Dreambot
Trois types d’URL sont présents dans la configuration décryptée. Le premier est utilisé pour la communication HTTP standard (c’est-à-dire non Tor) avec les serveurs C&C. Le bot contacte le serveur C&C au moyen d’une requête typique. Par exemple, l’enregistrement initial auprès du serveur C&C se présente sous la forme suivante : url_config + « /images/ » + données_codées + (.jpeg|.gif|.bmp).
Le deuxième type d’URL apparaissant dans les données de configuration (encadré en rouge sur la Fig. 1) correspond aux adresses C&C .onion. Il s’agit pour le bot du choix par défaut, qui opère de la même façon que le HTTP standard, excepté que toutes les communications sont cryptées et passent par un tunnel Tor.
Le troisième type d’URL sert à télécharger le client Tor, dont nous pensons qu’il est décrypté à l’aide de la clé de chiffrement Serpent[7]. Une fois le client Tor téléchargé, le bot crée une clé de registre nommée « TorClient » afin d’y stocker ses données, dans le sous-dossier HKCU\\Software\AppDataLow\Software\Microsoft\{random guid}. Cette clé contient le chemin d’accès au client, qui est déposé dans le dossier %TMP%, avec un nom de fichier du type [A-F0-9]{4}.bin.
Figure 2 – Clé de registre TorClient
La valeur de la clé de registre est facile à décrypter, car l’algorithme XOR [8] est réutilisé dans une grande partie du code (par exemple, pour le décryptage des chaînes de la section .bss). Cette clé de 4 octets est générée au moment de l’exécution par application de la fonction XOR à la valeur TOKEN_USER avec l’opérande 0xE8FA7DD7.
Pour les deux types de requêtes POST HTTP (Tor et non Tor), la configuration inclut un contrôle du drapeau Tor (ici à eax+10). Si ce drapeau est positionné, Dreambot envoie aussi bien les requêtes d’enregistrement C&C que de téléchargement de données au moyen de Tor.
Figure 3 – Drapeaux de configuration pour la communication via Tor
En dehors de la variante Dreambot avec fonctionnalité Tor, nous avons observé des versions P2P (par exemple la version 2.15.798), en circulation depuis beaucoup plus longtemps. Propagée aux côtés des autres variantes, cette version utilise l’algorithme DGA habituel ou bien des adresses préprogrammées dans le codée, ainsi que ce qui semble être un protocole de communication peer-to-peer. Cette fonctionnalité a besoin d’une adresse IP supplémentaire dans la configuration qui fournit la liste des nœuds. Ce protocole opère sur TCP et UDP et emploie un format de paquet personnalisé. En raison de l’ajout de cette fonctionnalité, le code du logiciel client est près de deux fois plus volumineux que dans la version Tor. Nous poursuivons encore nos investigations sur cette fonctionnalité et n’entrerons pas davantage dans le détail pour l’instant.
Campagnes de kits d’exploitation
L’un des premiers exemples intéressants de la diffusion de Dreambot nous est venu d’une instance du kit d’exploitation Niteris. Quelques mois plus tard, nous avons repéré la même chaîne de redirection mais pointant cette fois vers un kit flash Nuclear Pack en deux étapes, non documenté. Ce kit d’exploitation Nuclear Pack particulier présentait un comportement identique à Spartan, issu de la même source, dans lequel une charge flash initiale agissait comme filtre avant d’envoyer le kit d’exploitation et la charge malveillante aux utilisateurs finaux. Les acteurs GooNky et AdGholas ont aussi utilisé couramment le kit Angler alors que ce dernier était encore extrêmement actif. Les Figures 4 à 7 illustrent ces chaînes d’infection.
Figure 4 – 11-09-2015 – Agence publicitaire infectée par une chaîne de trafic volumétrique pointant vers Niteris[4]
Figure 5 – 03-02-2016 – Même chaîne de redirection mais pointant cette fois vers un kit flash Nuclear Pack en deux étapes, non documenté[6]
Figure 6 – 11-04-2016 – Publicité malveillante diffusée par GooNky en Suisse
Figure 7 – 10-05-2016 – Publicité malveillante diffusée par AdGholas en Suisse
La Figure 8 montre la diffusion de Dreambot dans le cadre d’une campagne publicitaire malveillante au Japon, utilisant le kit Neutrino, tandis que la Figure 9 présente un échantillon récent de Dreambot propagé comme charge secondaire via ElTest et le cheval de Troie Smokebot. Dans ce dernier exemple, nous constatons que cette instance de Dreambot passe par Tor pour se connecter à l’infrastructure C&C.
Figure 8 – 09-07-2016 – Publicité malveillante japonaise basée sur le domaine du redirecteur
Figure 9 – 15-08-2016 – Chaîne d’infection EITest dans Smokebot, chargeant une instance de Dreambot via Tor pour se connecter au serveur C&C
Campagnes d’e-mails
Dreambot a été activement diffusé par e-mail en 2016. Nous avons observé des campagnes ciblant divers pays, notamment l’Australie, l’Italie, la Suisse, le Royaume-Uni, les Etats-Unis, la Pologne et le Canada, comptant de quelques milliers à des centaines de milliers de messages malveillants. Nous présentons quelques exemples de ces campagnes utilisant des liens ou des pièces jointes qui installent Dreambot.
Dans le premier exemple, l’auteur a eu recours à un leurre prétendant que le destinataire était assigné à comparaître devant la Cour fédérale d’Australie. Si le destinataire suivait le lien indiqué, il aboutissait à une page web imitant le site officiel du tribunal et lui donnant des instructions pour l’amener à télécharger un fichier JavaScript zippé qui, une fois exécuté, téléchargeait à son tour Dreambot.
Figure 10 – 08-07-2016 – Message utilisé pour diffuser Dreambot en Australie
Figure 11 – 08-07-2016 – Site factice d’un tribunal amenant au téléchargement de Dreambot
Dans l’exemple suivant, des utilisateurs en Australie ont été ciblés par un e-mail prétendument en rapport avec Microsoft et Office365. Le lien contenu dans le message pointait directement vers un programme de téléchargement JavaScript zippé, hébergé sur Microsoft SharePoint : l’ouverture de ce fichier avait pour effet d’installer Dreambot. (Les chercheurs de Proofpoint ont alerté Microsoft sur la présence de ce malware).
Figure 12 – 11-08-2016 – Message utilisé pour diffuser Dreambot en Australie via Microsoft SharePoint
Dans l’exemple suivant, des utilisateurs aux Etats-Unis ont reçu des messages avec des pièces jointes censées contenir un avis de paiement. Le document Microsoft Word joint renfermait des macros malveillantes qui, en cas d’activation, téléchargeaient Dreambot.
Figure 13 – 08-06-2016 – Message utilisé pour diffuser Dreambot aux Etats-Unis
Figure 14 – 08-07-2016 – Pièce jointe Microsoft Word comportant des macros malveillantes utilisées pour diffuser Dreambot aux Etats-Unis
Dans la campagne suivante, des utilisateurs en Suisse ont reçu des messages en allemand, personnalisés à leur nom et à celui de leur entreprise, soi-disant accompagnés d’une facture correspondant à une commande. La pièce jointe au format Microsoft Word contenait des macros malveillantes qui, en cas d’activation, téléchargeaient Dreambot.
Figure 15 – 10-08-2016 – Message diffusant Dreambot en Suisse
Figure 16 – 10-08-2016 – Pièce jointe Microsoft Word utilisée pour diffuser Dreambot en Suisse
Dans un autre exemple, des utilisateurs en Pologne ont reçu un message personnalisé à leur nom et accompagné d’une fausse facture pour un achat qu’ils auraient effectué. Les pièces jointes au format Microsoft Word contenaient des macros malveillantes qui, en cas d’activation, téléchargeaient Dreambot.
Figure 17 – 22-06-2016 – Message utilisé pour diffuser Dreambot en Pologne
Figure 18 – 22-06-2016 – Pièce jointe Microsoft Word utilisée pour diffuser Dreambot en Pologne
Conclusion
Dreambot est l’un des chevaux de Troie bancaires les plus actifs que nous ayons observés ces derniers temps, dont les vecteurs de diffusion se répartissent entre divers kits d’exploitation et des campagnes d’e-mails comportant des pièces jointes ou des URL malveillantes. Souvent désigné sous les appellations Ursnif et Gozi ISFB, Dreambot se propage dans des pays du monde entier et son développement se poursuit activement. En particulier, nous avons observé des échantillons communiquant avec ses serveurs C&C à la fois par Tor et P2P. Pour les versions Tor, notamment, l’activité de Dreambot sur les machines infectées peut être particulièrement difficile à détecter au niveau du réseau, ce qui pose de nouveaux défis aux équipes de sécurité et informatiques.
Nous continuerons de surveiller Dreambot et sa liste croissante de fonctionnalités au fur et à mesure de l’évolution du paysage des chevaux de Troie bancaires.
Références
[1]http://www.threatgeek.com/2016/06/new-ursnif-variant-targeting-italy-and-us.html
[2]https://www.govcert.admin.ch/blog/13/swiss-advertising-network-compromised-and-diffusant-a-trojan
[3]https://securityblog.switch.ch/2016/02/10/attack-of-the-killer-ads/
[4]http://malware.dontneedcoffee.com/2014/06/cottoncastle.html
[5]http://blog.notesonmalware.se/post/2014/10/09/Ursnif-still-in-active-development
[6]https://securityintelligence.com/gozi-goes-to-bulgaria-is-cybercrime-heading-to-less-chartered-territory/#.VdQEtfnddi8
[7]https://fr.wikipedia.org/wiki/Serpent_(cryptographie)
[8]https://fr.wikipedia.org/wiki/Fonction_OU_exclusif
A propos de l'auteur