Le groupe Buhtrap est bien connu pour son ciblage des institutions financières et des entreprises russes. Toutefois, depuis la fin de 2015, nous avons assisté à un changement intéressant dans ses objectifs traditionnels. D'un groupe purement criminel qui perpétue la cybercriminalité à des fins lucratives, sa boîte à outils a été enrichie de logiciels malveillants utilisés pour mener des activités d'espionnage en Europe orientale et en Asie centrale.

Tout au long de notre suivi, nous avons vu ce groupe déployer sa porte dérobée principale ainsi que d'autres outils contre diverses victimes, mais c’est en juin 2019 que nous avons vu pour la première fois le groupe Buhtrap utiliser un exploit jour zéro dans le cadre d'une campagne. Plus précisément, nous avons pu observer Buhtrap utiliser un exploit d'escalade de privilèges locaux, CVE-2019-1132, contre une de ses victimes.

L'exploit abuse d'une vulnérabilité d'escalade des privilèges locaux dans Microsoft Windows, en particulier une déréférence de pointeur NULL dans le composant win32k.sys. Une fois l'exploit découvert et analysé, il a été signalé au centre de réponse de sécurité de Microsoft, qui a rapidement corrigé la vulnérabilité et publié un correctif.

Ce billet de blog couvre l'évolution de Buhtrap, passant du crime financier à d'espionnage.

Historique

La chronologie de la figure 1 met en évidence certains des développements les plus importants aux activités de Buhtrap.

Figure 1. Événements marquants dans la chronologie de Buhtrap

Il est toujours difficile d'attribuer une campagne à un acteur particulier lorsque le code source de ses outils est librement disponible sur le web. Cependant, comme le changement de cibles s'est produit avant la fuite du code source, nous évaluons avec une grande confiance que les mêmes personnes derrière les premières attaques de logiciels malveillants Buhtrap contre les entreprises et les banques sont également impliquées dans le ciblage des institutions gouvernementales. Bien que de nouveaux outils aient été ajoutés à leur arsenal et que des mises à jour aient été apportées aux anciens, les tactiques, techniques et procédures (TTP) utilisées dans les différentes campagnes de Buhtrap n'ont pas beaucoup changé au cours de toutes ces années. Ils font encore largement appel aux installateurs NSIS comme droppers et ceux-ci sont principalement livrés par le biais de documents malveillants. En outre, plusieurs de leurs outils sont signés avec des certificats de signature de code valides et abusent d'une application connue et légitime pour charger latéralement leurs charges utiles malveillantes.

Les documents utilisés pour livrer les charges utiles malveillantes sont souvent accompagnés de leurres bénins pour éviter de soulever des soupçons si la victime les ouvre. L'analyse de ces documents fournit des indices sur l'identité des cibles. Lorsque Buhtrap ciblait les entreprises, les leurres étaient généralement des contrats ou des factures. La figure 2 est un exemple typique d'une facture générique que le groupe a utilisée dans une campagne en 2014.

Figure 2. Document-leurre utilisé pour des campagnes contre des entreprises russes

Lorsque le groupe s'est tourné vers les banques, les documents-leurre sont devenus liés à la réglementation du système bancaire ou aux avis de FinCERT, une organisation créée par le gouvernement russe pour fournir aide et conseils à ses institutions financières (comme l'exemple de la figure 3).

Figure 3. Document- leurre utilisé dans les campagnes ciblant des institutions financières russes

C'est pourquoi, lorsque nous avons vu pour la première fois des documents-leurre liés aux opérations gouvernementales, nous avons immédiatement commencé à suivre ces nouvelles campagnes. L'un des premiers échantillons malveillants montrant un tel changement a été reçu en décembre 2015. Il téléchargeait un installateur NSIS dont le rôle était d'installer la porte dérobée principale de Buhtrap, mais le document-leurre - vu à la Figure 4 – suscitait la curiosité.

Figure 4. Document leurre utilisé dans les campagnes contre les organisations gouvernementales

L'URL dans le texte est révélatrice. Il est très similaire au site Web du Service national des migrations de l'Ukraine, dmsu.gov.ua. Le texte, en ukrainien, demande aux employés de fournir leurs coordonnées, en particulier leurs courriels.  Il tente également de les convaincre de cliquer sur le domaine malveillant inclus dans le texte.

C'était le premier d'une série d'échantillons malveillants utilisés par le groupe Buhtrap pour cibler les institutions gouvernementales que nous avons rencontrées.  Un autre document de leurre plus récent qui, à notre avis, a été distribué par le groupe Buhtrap est le suivant, qui montre un document attirant un groupe de personnes très différentes, bien qu’étant aussi lié au gouvernement.

Figure 5.  Documents leurre utilisés dans les campagnes contre les organisations gouvernementales

Analyse de campagnes ciblées utilisant le jour zéro

Les outils utilisés dans les campagnes d'espionnage étaient très semblables à ceux utilisés contre les entreprises et les institutions financières.  L'un des premiers échantillons malveillants que nous avons analysés était un échantillon contenant SHA-1 2F2640720CCE2F83CA2F0633330F13651384DDD6A.  Cet installateur NSIS téléchargerait le paquet régulier contenant la porte dérobée Buhtrap et afficherait le document-leurre illustré à la Figure 4.

Depuis, nous avons vu plusieurs campagnes différentes de ce groupe contre des organisations gouvernementales. Dans ces derniers, ils utilisaient régulièrement des vulnérabilités pour augmenter leurs privilèges afin d'installer leurs logiciels malveillants. Nous les avons vus exploiter d'anciennes vulnérabilités dans le passé, comme CVE-2015-2387. Cependant, il s'agissait toujours de vulnérabilités connues. Le jour zéro qu'ils ont utilisé récemment appartenait même schéma : l'utiliser pour qu'ils puissent exécuter leurs logiciels malveillants avec les privilèges les plus élevés.

Au fil des années, des progiciels aux fonctionnalités différentes sont apparus. Récemment, nous avons trouvé deux nouveaux paquets qui valent la peine d'être décrits car ils s'écartent de leur jeu d'outils typique.

Variante sur une porte dérobée Legacy - E0F3557EA9F2BA4F7074CAA0D0CF3B187C4472FF

Ce document contient une macro malveillante qui, lorsqu'elle est activée, dépose un installateur NSIS dont la tâche est de préparer l'installation de la porte dérobée principale. Cependant, cet installateur NSIS est très différent des premières versions utilisées par ce groupe. Il est beaucoup plus simple et n'est utilisé que pour définir la persistance et lancer deux modules malveillants qui y sont intégrés.

Le premier module, appelé « grabber » par son auteur, est un voleur de mot de passe autonome. Il essaiera de récupérer les mots de passe des clients de messagerie, des navigateurs, etc. et de les envoyer à un serveur C&C. Ce module a également été détecté dans le cadre de la campagne utilisant un jour zéro. Ce module utilise des API Windows standard pour communiquer avec son serveur C&C.

Figure 6. Capacités réseau du module Grabber

Le deuxième module est quelque chose que nous en sommes venus à attendre des opérateurs de Buhtrap : un installateur NSIS contenant une application légitime qui sera abusée pour charger latéralement la porte arrière principale de Buhtrap. L'application légitime qui fait l'objet d'un abus dans ce cas est AVZ, un antivirus gratuit.

Meterpreter et tunnel DNS - C17C335B7DDB5C8979444EC36AB668AE8E4E0A72

Ce document contient une macro malveillante qui, lorsqu'elle est activée, dépose un installateur NSIS dont la tâche est de préparer l'installation de la porte dérobée principale. Une partie du processus d'installation consiste à établir des règles de pare-feu pour permettre au composant malveillant de communiquer avec le serveur C&C. Voici un exemple de commande que l’installeur NSIS utilise pour configurer ces règles :

cmd.exe /c netsh advfirewall firewall add rule name=\"Realtek HD Audio Update Utility\" dir=in action=allow program=\"<path>\RtlUpd.exe\" enable=yes profile=any

Cependant, la charge utile finale est quelque chose que nous n'avons jamais vu associé à Buhtrap. Deux charges utiles sont cryptées dans son corps. Le premier est un très petit téléchargeur shellcode, tandis que le second est le Meterpreter de Metasploit. Meterpreter est un shell inversé qui donne à ses opérateurs un accès complet au système compromis.

Le reverse shell du Meterpreter utilise en fait un tunnel DNS pour communiquer avec son serveur C&C en utilisant un module similaire à celui qui est décrit ici. La détection des tunnels DNS peut être difficile pour les défenseurs, car tout le trafic malveillant se fait via le protocole DNS, par opposition au protocole TCP plus courant. Ci-dessous se trouve un extrait de la communication initiale de ce module malveillant.

7812.reg0.4621.toor.win10.ipv6-microsoft[.]org
7812.reg0.5173.toor.win10.ipv6-microsoft[.]org
7812.reg0.5204.toor.win10.ipv6-microsoft[.]org
7812.reg0.5267.toor.win10.ipv6-microsoft[.]org
7812.reg0.5314.toor.win10.ipv6-microsoft[.]org
7812.reg0.5361.toor.win10.ipv6-microsoft[.]org
[…]

Dans cet exemple, le nom de domaine du serveur C&C se fait passer pour Microsoft. En fait, les attaquants ont enregistré différents noms de domaine pour ces campagnes, la plupart d'entre eux abusant des marques Microsoft d'une façon ou d'une autre.

Conclusion

Bien que nous ne sachions pas pourquoi ce groupe a soudainement changé de cible, c'est un bon exemple des lignes de plus en plus floues qui séparent les groupes d'espionnage purs de ceux qui font surtout de la criminalité. Dans ce cas, il n'est pas clair si un ou plusieurs membres de ce groupe ont décidé de changer d'orientation et pour quelles raisons, mais c'est certainement quelque chose que nous verrons probablement davantage à l'avenir.

Indicateurs de compromission (IoC)

Noms de détection d’ESET

VBA/TrojanDropper.Agent.ABM
VBA/TrojanDropper.Agent.AGK
Win32/Spy.Buhtrap.W
Win32/Spy.Buhtrap.AK
Win32/RiskWare.Meterpreter.G

Échantillons du logiciel malveillant

Main packages SHA-1

2F2640720CCE2F83CA2F0633330F13651384DD6A
E0F3557EA9F2BA4F7074CAA0D0CF3B187C4472FF
C17C335B7DDB5C8979444EC36AB668AE8E4E0A72

Grabber SHA-1

9c3434ebdf29e5a4762afb610ea59714d8be2392

Serveurs C&C

https://hdfilm-seyret[.]com/help/index.php
https://redmond.corp-microsoft[.]com/help/index.php
dns://win10.ipv6-microsoft[.]org
https://services-glbdns2[.]com/FIGm6uJx0MhjJ2ImOVurJQTs0rRv5Ef2UGoSc
https://secure-telemetry[.]net/wp-login.php

Certificats

Company name Fingerprint
YUVA-TRAVEL 5e662e84b62ca6bdf6d050a1a4f5db6b28fbb7c5
SET&CO LIMITED b25def9ac34f31b84062a8e8626b2f0ef589921f

Techniques MITRE ATT&CK

Tactic ID Name Description
Execution T1204 User execution The user must run the executable.
T1106 Execution through API Executes additional malware through CreateProcess.
T1059 Command-Line Interface Some packages provide Meterpreter shell access.
Persistence T1053 Scheduled Task Some of the packages create a scheduled task to be executed periodically.
Defense evasion T1116 Code Signing Some of the samples are signed.
Credential Access T1056 Input Capture Backdoor contains a keylogger.
T1111 Two-Factor Authentication Interception Backdoor actively searches for a connected smart card.
Collection T1115 Clipboard Data Backdoor logs clipboard content.
Exfiltration T1020 Automated Exfiltration Log files are automatically exfiltrated.
T1022 Data Encrypted Data sent to C&C is encrypted.
T1041 Exfiltration Over Command and Control Channel Exfiltrated data is sent to a server.
Command and Control T1043 Commonly Used Port Communicates with a server using HTTPS.
T1071 Standard Application Layer Protocol HTTPS is used.
T1094 Custom Command and Control Protocol Meterpreter is using DNS tunneling to communicate.
T1105 Remote File Copy Backdoor can download and execute file from C&C server.