Est-ce bientôt la fin du cauchemar Coinvault?

La suite des ransomwares: nouvelles méthodes de récolte de profits

Un jour après la diffusion de notre programme de déchiffrement pour la campagne No Ransom dans le cadre de la lutte contre le ransomware CoinVault, nous avons été contacté par notre confrère de chez Panda, Bart Blaze. Il nous signalait gentiment que de nouvelles versions de ce terrible ransomware étaient disponibles et qu’il serait ravi de les partager avec nous. Après avoir obtenu les nouveaux hash MD5 pour les fichiers, nous nous sommes mis en quête de plus d’indices et de plus de fichiers et nous avons analysé ce que cachaient ces nouvelles versions du malware: trois familles de malware dotées de similarités frappantes.

Au final, nous avons réalisé quelques découvertes surprenantes (pour en savoir plus sur celles-ci, poursuivez la lecture).

L’élément le plus important à signaler est que sur la base de notre analyse, la Brigage nationale de lutte contre les délits technologiques des Pays-Bas a pu interpeller deux suspects lundi dernier.

L’histoire débute avec CoinVault

Notre quête a débuté avec la découverte de la première version de CoinVault, en mai 2014 (cf. le tableau en bas de ce billet pour voir les MD5 et les informations complémentaires relatives à ce hash et à d’autres). Il est intéressant de voir que cet échantillon n’a pas pu être exécuté sur chaque ordinateur, si bien que nous n’avons pas poursuivi son analyse ici.

Puis, un beau jour Comhost est apparu

Deux mois après la détection de la version initiale de CointVault, nous avons détecté deux échantillons quasiment identiques. La seule différence entre les deux fichiers se situait au niveau de la manière dont le malware était décompacté et exécuté au départ de la section ressources du fichier binaire.

Les deux fichiers binaires chargeaient la même charge utile sous la forme d’un fichier exécutable baptisé ‘comhost.exe’. Comhost se distinguait totalement de CoinVault en termes de fonctionnalité. Alors que CoinVault était un ransomware traditionnel (du moins, jusqu’à ce stade), Comhost appartenait plutôt à la catégorie infostealer. Si vous êtes impatient de connaître la suite, passez cette partie.

Une fois exécuté, le malware résolvait les deux noms de domaine codés en dur en adresses IP. Ensuite, il lançait un enregistreur de frappes et une minuterie. Une fois que le délai défini était écoulé, la recherche de portefeuilles Bitcoin était lancée. Il est plus que probable que les attaquants ont mis en oeuvre cette fonction en raison de la difficulté croissante de l’extraction de bitcoins.

De plus, le malware était capable d’exécuter des commandes reçues d’un centre de commande.

Retour à CoinVault

Deux mois plus tard, nous avons identifié un autre exemple de CoinVault. Cette fois-ci, le code du programme affichait des similarités frappantes avec Comhost. Par exemple, certaines fonctions comme fixNOIPhosts() étaient pratiquement identiques, ce qui indiquait une connexion évidente entre CoinVault et Comhost. Le design du programme était également très proche de celui de Comhost.

Heureusement, les auteurs de ce malware avait commis une petite erreur. Au lieu d’écraser le fichier original avec le contenu chiffré, ils avaient créé un fichier dans le même répertoire avec une extension ._clf.

Ensuite, le fichier original était effacé en invoquant la fonction File.Delete(). En interne, cette méthode était mise en oeuvre en invoquant la fonction Win32Native.DeleteFile(). La fonction DeleteFile marquait le fichier en tant que supprimé dans l’entrée MFT. Cela signifie que les victimes de CoinVault infectées par cette version spécifique du malware étaient probalement en mesure de faire appel à l’activité forensique (pour autant qu’il n’y ait pas eu trop d’activité sur le disque après la suppression du fichier) pour récupérer les fichiers supprimés.

L’introduction de S.H.I.E.L.D Runner et d’une nouvelle fonction

Une mois après l’apparition du dernier échantillon de CoinVault, une nouvelle version de Comhost est apparue. Il s’agissait du premier échantillon qui contenait « S.H.I.E.L.D Runner ». La fonction de ce bout de code particulier a déjà été abordée dans un billet antérieur.

Apparemment, les auteurs du malware n’étaient pas très satisfaits de la version antérieure de Comhost. Ils avaient oublié d’ajouter une fonction d’enregistreur de frappes (pour vérifier le verrouillage des majuscules, etc.). Parmi les autres fonctions intéressantes ajoutées, citons la collection d’antivirus et de navigateurs par défaut qui envoyait des informations relatives à ces applications au centre de commande. Toutefois, la fonction la plus intéressante était la classe ActivecaptionWatcher qui était capable de réaliser des captures d’écran et de les envoyer au centre de commande.

Mailspreader et obfuscation supplémentaire

En novembre 2014, nous avions déjà écrit un billet au sujet de CointVault. Ce billet traitait d’un échantillon apparu quelques semaines après la dernière version de Comhost. Tous les échantillons apparus aux alentours de cette date avaient été obfusqués à l’aide de Confuser. Mais nous avions omis dans notre analyse une fonctionnalité que nous ne parvenions pas bien à situer à l’époque: la classe interne ’emailDownloader’.

Cette classe contenait des morceaux de codes intéressants qui devaient être analysés davantage. Il y avait des références vers plusieurs fichiers exécutables, mais où étaient-ils ? Et question plus importante encore: quel était leur rôle lors de l’infection?

Il se fait que ces fichiers étaient introduits par un troisième malware de la famille CoinVault: le Mailspreader. La section Ressources du fichier binaire montre que plusieurs fichiers avaient été intégrés et nous les avons extraits afin de pouvoir les étudier séparémment.

L’économie de code est une caractéristique partagée par tous les modules découverts dans les échantillons de CoinVault. Bien que simple, cette fonction était suffisante pour atteindre les résultats souhaités. Un thread était créé, puis lancé afin d’exploiter tous les avantages offerts par le fichier « MailSpreader.exe ».

Comme nous l’avons déjà dit, le centre de commande que nous avons découvert est partagé avec un autre échantillon aux caractéristiques similaires (un hash MD5 égal à AF0E5A5DF0BE279AA517E2FD65CADD5C), un autre indicateur de la relation qui existe entre CoinVault et Mailspreader.

A l’aide de ces fichiers exécutables et d’une manière directe de rendre l’infection ‘invisible’, les individus malintentionnés lançaient un nouveau processus qui était masqué presqu’instantanément et qui actionnait tout le code malveillant du message électronique.

Nous n’avons pas encore expliqué ce que représente ces fichiers exécutables, ni leur fonction réelle dans l’escroquerie. Commençons par ‘mailpv.exe’ qui faisait partie de CoinVault et qui adoptait certaines méthodes de « dropper » pour obtenir la charge utile principale. Pour ‘nk2edit.exe’ et ‘livecv.exe.’ Une recherche rapide sur Google a permis de dévoiler leur véritable nature: il s’agissait de deux outils légitimes utilisés pour interagir avec Outlook et Windows Live Messenger.

Le fichier ‘livecv.exe‘ possédait le hash MD5 de D7FC749BB3B10FCC38DE498E8DB2639A et il présentait une signature vérifiée pour l’exécutable. Comme l’explique le développeur dans la description de l’utilitaire: « LiveContatcsView est un petit utilitaire qui permet d’afficher les détails de tous vos contacts dans Windows Live Messenger ».

Un résultat identique fut obtenu après avoir vérifié ‘nk2edit.exe‘ (C1A591727E4519AC0D94C59B680E00E4). Il s’agit d’un utilitaire pratique qui interagit avec le carnet d’adresses AutoComplete dans Microsoft Outlook.

CoinVault, paix à son âme

Suite à la publication de notre analyse précédente de CoinVault, la menace et ses créateurs étaient restés inactifs pendant un certain temps. Ce n’est qu’en avril 2015 qu’un nouvel échantillon avait été détecté. Le changement le plus remarquable était la présence d’expressions dans un néerlandais parfait dans le fichier binaire. Le néerlandais est une langue relativement difficile à écrire sans fautes. Par conséquent, nous avions pensé au début de notre enquête que les auteurs présumés du malware avaient un lien avec les Pays-Bas.

Parmi les autres fonctions intéressantes qui avaient été ajoutées, il y avait la vérification et l’arrêt des processus d’analyse et de détection comme processhacker, spyhunter, roguekiller, etc. De plus, cette version prenait également en charge le stockage des données de configuration dans des fichiers .ini.

Peu de temps après l’apparition de ces nouvelles versions, la police des Pays-Bas a réussi a saisir le serveur de commande utilisé par les criminels et elle été en mesure de nous transmettre les identifiant des porte-monnaie bitcoin, les IV et les clés nécessaires pour créer un outil de déchiffrement.

Et puis… tout s’est arrêté. Nous n’avons plus rien entendu au sujet de CoinVault pendant un certain temps et il semblait que la campagne était terminée.

Bonjour, BitCryptor

Nous avions raison sur le fait que la campagne CoinVault avait arrêté. Toutefois, un mois plus tard BitCryptor est apparu.

BitCryptor est sans conteste le successeur de CoinVault car la majorité du code est identique. Toutefois, à la différence de CoinVault, BitCryptor ne cible pas des victimes néerlandophones. Tout le contenu en néerlandais a été retiré (ainsi que tous les liens vers CoinVault). On notera l’ajout d’une petite fonction exécutée en arrière-plan pour vérifier si la victime a déjà payé.

Conclusion

Depuis notre premier rapport sur CoinVault et la présentation de la campagne No Ransom, les cybercriminels à l’origine de ces créations ont tenté d’introduire des modifications afin de cibler de nouvelles victimes. Pour remporter la bataille contre les ransomwares, il faut compter sur l’effort conjoint des autorités policières et judiciaires, des sociétés privées et des utilisateurs. Dans ce cas en particulier, la coopération a débouché sur un résultat d’envergure: l’arrestation de deux suspects.

Ceci étant dit, maintenant plus que jamais, la formation sur la manière dont ces menaces fonctionnent et choisissent leurs victimes est vitale ainsi que le signalement le plus tôt possible de nouveaux incidents. Nous remercions notre confrère Bart Blaze qui a partagé les échantillons. Nous avons vraiment passé un bon moment.

MD5:

0f1830174d7b08c0d1fcd9aea00cdc97 Trojan-Ransom.MSIL.CoinVault.l
10438b6d4f479779234ef60560d2f40c Trojan-Ransom.MSIL.CoinVault.p
174a3f6982d254a74d2db202fd87ec26 Trojan-Ransom.MSIL.CoinVault.f
289b43d3c234585285a38b2a0f4db2e3 Trojan-Ransom.MSIL.CoinVault.i
2f707ed9f368cd5838f5fb76abcd5bd9 Trojan-Ransom.MSIL.CoinVault.q
30bc17990350f44d74f4a2ca25cdb9e3 Trojan-Ransom.MSIL.CoinVault.s
45db7e51b39fd0669b4f78eedc00ad2f Trojan-Ransom.MSIL.CoinVault.n
4d46310bdfdc5c49615be5c61b13c8ae Trojan-Ransom.MSIL.CoinVault.r
4d52e7e6f4dc77c39c50ed84ce1b10b5 Trojan-Ransom.MSIL.CoinVault.s
60a5b27a525ca21026ffff1f0d0baa6a Trojan-Ransom.MSIL.CoinVault.t
648280e5ba36ff038e97e444ecdb9d8e Trojan-Ransom.MSIL.CoinVault.g
716dfea51b1a8d95859cfda38ff7fa9d Trojan-Ransom.MSIL.CoinVault.j
73848ec02d5d9f4d0fdd5be31ef86449 Trojan-Ransom.MSIL.CoinVault.u
78fd303be07db8fa35b98645bef10ca4 Trojan-Ransom.MSIL.CoinVault.v
7fff4eabcdfb21e7884a240e668f1e8b Trojan-Ransom.MSIL.CoinVault.i
80db8e54a1a28e0167a4d66b3be84a5d Trojan-Ransom.MSIL.CoinVault.af
876050d738f434fc149970cc0d073dbe Trojan-Ransom.MSIL.CoinVault.w
8e1bdc1c484bc03880c67424d80e351d Trojan-Ransom.MSIL.CoinVault.x
a6499dac9a7b59830c77442eb030c93c Trojan-Ransom.MSIL.CoinVault.a
a76df48770a6cffc62e4d1a21749071b Trojan-Ransom.MSIL.CoinVault.m
a90d5d05728fec4c592393c7f4ec173e Trojan-Ransom.MSIL.CoinVault.e
ac4b5ce347820c8817afd49eacee3ec5 Trojan-Ransom.MSIL.CoinVault.y
af0e5a5df0be279aa517e2fd65cadd5c Trojan-Ransom.MSIL.CoinVault.z
aff8fefe76cc51d5e7120ef3f422ce29 Trojan-Ransom.MSIL.CoinVault.ah
b3a7fc445abfba3429094542049063c2 Trojan-Ransom.MSIL.CoinVault.x
b3bb6facbb557ddd9aada93f6b2efab8 Trojan-Ransom.MSIL.CoinVault.h
b3e1c2fce9763a2bdd08223c406bcf7f Trojan-Ransom.MSIL.CoinVault.aa
b92ec8ccc085b853545fc54781d0c1a3 Trojan-Ransom.MSIL.CoinVault.ab
be1f48b6b4c0515ac0d865713968e1c3 Trojan-Ransom.MSIL.CoinVault.ac
cb91d0db64d9245426c7789ed00ba4d3 Trojan-Ransom.MSIL.CoinVault.k
d5f291f2bc38873e145f6e6b13fb05db Trojan-Ransom.MSIL.CoinVault.d
d7732b4132440e9e8902080032897c15 Trojan-Ransom.MSIL.CoinVault.ad
d92e1be4fdfdea99dfa23de27f3bb568 Trojan-Ransom.MSIL.CoinVault.ae
e6227eaefc147e66e3c7fa87a7e90fd6 Trojan-Ransom.MSIL.CoinVault.af
e7414d82d69b902b5bc1efd0f3e201d7 Trojan-Ransom.MSIL.CoinVault.b
e883706376bb45ef53ec52fbd090a29a Trojan-Ransom.MSIL.CoinVault.ai
e8b83233071fd752e29b436113d5ea9d Trojan-Ransom.MSIL.CoinVault.ag
f293970741bbe0ee0c1b8ce6cb045d4d Trojan-Ransom.MSIL.CoinVault.b

Posts similaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *