Turla Crutch: garder une backdoor ouverte

Les chercheurs d'ESET découvrent une nouvelle porte dérobée utilisée par Turla pour exfiltrer des documents volés de Dropbox.

Les chercheurs d’ESET découvrent une nouvelle porte dérobée utilisée par Turla pour exfiltrer des documents volés de Dropbox.

Les chercheurs d’ESET ont trouvé un voleur de documents et de portes dérobées jusqu’alors non documenté. Surnommé Crutch par ses développeurs, nous avons pu l’attribuer au tristement célèbre groupe APT Turla. D’après nos recherches, il a été utilisé de 2015 à, au moins, début 2020. Nous avons vu Crutch sur le réseau d’un ministère des affaires étrangères dans un pays de l’Union européenne, ce qui suggère que cette famille de logiciels malveillants n’est utilisée que contre des cibles très spécifiques, comme c’est le cas pour de nombreux outils Turla.

Turla est un groupe de cyberespionnage actif depuis plus de dix ans. Il a compromis de nombreux gouvernements, en particulier des entités diplomatiques, dans le monde entier, en exploitant un vaste arsenal de logiciels malveillants que nous avons décrit au cours des dernières années.

Attribution à Turla

Au cours de nos recherches, nous avons pu identifier des liens étroits entre un dropper Crutch de 2016 et Gazer. Ce dernier, également connu sous le nom de WhiteBear, était une porte dérobée de deuxième étage utilisée par Turla en 2016-2017. Notre analyse est basée sur le dropper Crutch avec SHA-

A010D5449D29A1916827FDB443E3C84C405CB2A5 et le dropper Gazer avec SHA-1
1AE4775EFF21FB59708E8C2B55967CD24840C8D9. Nous avons identifié les similitudes suivantes :

  • Les deux échantillons ont été déposés dans C:\Intel\~intel_upd.exe sur la même machine avec un intervalle de cinq jours en septembre 2017
  • Les deux échantillons déposent des fichiers CAB contenant les différents composants des logiciels malveillants:
    C:\Users\user\Documents\Visual Studio 2012\Projects\MemoryStarter\Release\Extractor.pdb et
    C:\Users\user\Documents\Visual Studio 2012\Projects\MemoryStarter\x64\Release\Extractor.pdb
  • Les chargeurs déchiffrent leurs charges utiles en utilisant la même clé RC4 :
    E8 8E 77 7E C7 80 8E E7 CE CE CE C6 C6 CE C6 68

Compte tenu de ces éléments et du fait que les familles de logiciels malveillants Turla ne sont pas connues pour être partagées entre différents groupes, nous pensons que Crutch est une famille de logiciels malveillants qui fait partie de l’arsenal Turla.

Une autre observation intéressante est la présence de FatDuke et Crutch en même temps sur une machine. Le premier est une porte dérobée de troisième étape que nous avons attribuée aux Ducs / APT29 dans notre rapport sur l’opération Ghost. Cependant, nous n’avons aucune preuve d’interaction entre ces deux familles de logiciels malveillants. Il est possible que les deux groupes aient compromis indépendamment la même machine.

Activité d’espionnage

Selon les données LiveGrid® d’ESET, Turla a utilisé Crutch contre plusieurs machines du ministère des affaires étrangères dans un pays de l’Union européenne. Ces outils ont été conçus pour exfiltrer des documents et autres fichiers sensibles vers des comptes Dropbox contrôlés par les opérateurs de Turla.

Nous avons pu capturer certaines des commandes envoyées par les opérateurs à plusieurs instances de Crutch v3, ce qui est utile pour comprendre le but de l’opération. Les opérateurs faisaient principalement de la reconnaissance, des mouvements latéraux et de l’espionnage.

La principale activité malveillante est la mise en scène, la compression et l’exfiltration de documents et de divers fichiers, comme le montre la figure 1. Il s’agit de commandes exécutées manuellement par les opérateurs, ce qui ne montre pas la collecte automatisée de documents par le composant moniteur de lecteur décrit dans une section ultérieure. L’exfiltration est effectuée par une autre commande de porte dérobée et n’est donc pas illustrée dans les exemples ci-dessous.

Figure 1. Commandes manuelles exécutées par les opérateurs pendant la phase d’espionnage

Par ailleurs, les opérateurs ont un certain sens de l’humour. A un moment donné, ils ont exécuté la commande suivante :

Horaires de travail des opérateurs

Afin d’avoir une idée approximative des heures de travail des opérateurs, nous avons exporté les heures auxquelles ils ont téléchargé des fichiers ZIP vers les comptes Dropbox qu’ils exploitent. Ces fichiers ZIP contiennent des commandes pour la porte dérobée et sont téléchargés vers le Dropbox par les opérateurs, de manière asynchrone par rapport au moment où la porte dérobée lit et exécute leur contenu. Ainsi, cela devrait indiquer quand les opérateurs travaillent et non pas quand les machines de la victime sont actives.

Nous avons collecté 506 horodatages différents, qui vont d’octobre 2018 à juillet 2019. Ils sont représentés sur la figure 2.

Figure 2. Heures de travail des opérateurs de Crutch en fonction des téléchargements vers Dropbox

Compte tenu du graphique, les opérateurs sont susceptibles d’opérer dans le fuseau horaire UTC+3.

Compromission et livraison de logiciels malveillants

Nous pensons que Crutch n’est pas une première étape détournée et qu’il est déployé après que les opérateurs ont d’abord compromis le réseau d’une organisation.

La première méthode consiste à utiliser un implant de première étape tel que Skipper. En 2017, nous avons vu Crutch être déployé quelques mois après que l’ordinateur ait été compromis par Skipper. Ensuite, les opérateurs de logiciels malveillants ont également compromis d’autres machines sur le réseau local en se déplaçant latéralement.

La deuxième méthode dont nous avons été témoins est l’utilisation de PowerShell Empire. Nous n’avons pas pu découvrir comment le script malveillant est arrivé sur la machine, mais nous pensons que c’est par le biais d’un autre implant, bien qu’un document d’hameçonnage ne puisse être exclu. Il convient de noter que les scripts de PowerShell Empire utilisaient OneDrive et Dropbox.

Crutch version 1 à 3

De 2015 à la mi-2019, l’architecture des logiciels malveillants utilisait une porte dérobée communiquant avec le Dropbox et un moniteur de disque sans capacités réseau.

La figure 3 présente l’architecture de la version 3 de Crutch. Elle comprend une porte dérobée qui communique avec un compte Dropbox codé en dur en utilisant l’API HTTP officielle. Elle peut exécuter des commandes de base telles que la lecture et l’écriture de fichiers ou l’exécution de processus supplémentaires. Il persiste via le détournement de DLL sur Chrome, Firefox ou OneDrive. Dans certaines variantes, nous avons remarqué la présence de canaux de récupération C&C utilisant soit GitHub soit un domaine ordinaire.

Le deuxième binaire principal est un moniteur de disque amovible qui recherche les fichiers ayant une extension intéressante (.pdf, .rtf, .doc, .docx). Il stocke ensuite les fichiers dans une archive chiffrée.

Figure 3. Architecture de Crutch v3

Crutch version 4

En juillet 2019, nous avons trouvé une nouvelle version de Crutch. Bien que nous n’ayons pas le numéro de version du développeur, nous pensons qu’elle a suffisamment évolué pour être qualifiée de version 4. Cette nouvelle version est une version mise à jour du moniteur à disque amovible avec des capacités de mise en réseau.

La figure 4 montre l’architecture de Crutch v4, dont la principale différence est qu’elle ne prend plus en charge les commandes de backdoor. D’autre part, il peut automatiquement télécharger les fichiers trouvés sur les disques locaux et amovibles vers le stockage Dropbox en utilisant la version Windows de l’utilitaire Wget.

Figure 4. Architecture de Crutch v4

Le répertoire de travail de cette v4 est C:\Intel, où se trouvent les composants suivants :

  • outllib.dll: La DLL de Crutch
  • finder.exe: Le véritable chercheur d’éléments Outlook de Microsoft Outlook (SHA-1 : 830EE9E6A1BB7588AA8526D94D2D9A2B491A49FA)
  • resources.dll: DLL authentique qui est une dépendance de finder.exe (SHA-1: 31D82C554ABAB3DD8917D058C2A46509272668C3)
  • outlook.dat: Fichier de configuration de Crutch. Il contient le jeton API de la boîte de dépôt.
  • ihlp.exe: Le véritable utilitaire RAR (SHA-1 : A92C801F491485F6E27B7EF6E52E02B461DBCFAA)
  • msget.exe: Une version propre de l’utilitaire Wget pour Windows (SHA-1 : 457B1CD985ED07BAFFD8C66FF40E9C1B6DA93753)

Comme Crutch v3, il persiste à utiliser le détournement de DLL. Cependant, dans ce cas, l’application hôte est un ancien composant de Microsoft Outlook qui est déposé sur le système compromis par les opérateurs.

Conclusion

Au cours des dernières années, nous avons publiquement documenté de multiples familles de logiciels malveillants exploités par Turla. Crutch montre que le groupe ne manque pas de nouvelles portes dérobées ou de portes dérobées actuellement non documentées. Cette découverte renforce encore la perception que le groupe Turla dispose de ressources considérables pour exploiter un arsenal aussi vaste et diversifié.

Crutch est capable de contourner certaines couches de sécurité en abusant d’une infrastructure légitime – ici Dropbox – afin de se fondre dans le trafic normal du réseau tout en exfiltrant les documents volés et en recevant des commandes de ses opérateurs.

Des indicateurs de compromis peuvent également être trouvés sur GitHub. Pour toute demande de renseignements, ou pour soumettre des échantillons sur le sujet, contactez-nous à l’adresse suivante : threatintel@eset.com.

Indicateurs de compromission

Hashes

SHA-1DescriptionESET detection name
A010D5449D29A1916827FDB443E3C84C405CB2A5Crutch dropper similar to GazerWin64/Agent.VX
2FABCF0FCE7F733F45E73B432F413E564B92D651Crutch v3 backdoor (packed)Win32/Agent.TQL
A4AFF23B9A58B598524A71F09AA67994083A9C83Crutch v3 backdoor (unpacked)Win32/Agent.TQL
778AA3A58F5C76E537B5FE287912CC53469A6078Crutch v4Win32/Agent.SVE

Chemins

Répertoires de travail de Crutch

  • C:\Intel\
  • C:\AMD\Temp\

Noms de fichier

  • C:\Intel\outllib.dll
  • C:\Intel\lang.nls
  • C:\Intel\~intel_upd.exe
  • C:\Intel\~csrss.exe
  • C:\Program Files (x86)\Google\Chrome\Application\dwmapi.dll
  • C:\Program Files (x86)\Mozilla Firefox\rasadhlp.dll
  • %LOCALAPPDATA%\Microsoft\OneDrive\dwmapi.dll

Réseau

  • hotspot.accesscam[.]org
  • highcolumn.webredirect[.]org
  • ethdns.mywire[.]org
  • theguardian.webredirect[.]org
  • https://raw.githubusercontent[.]com/ksRD18pro/ksRD18/master/ntk.tmp

Techniques MITRE ATT&CK

Note: Ce tableau a été créé avec la version 7 de MITRE ATT&CK.

TacticIDNameDescription
Initial AccessT1078.003Valid Accounts: Local AccountsCrutch operators abused local accounts that have the same password across the victim’s network. This was used when compromising additional machines in the network, the initial breach is unknown.
PersistenceT1053.005Scheduled Task/Job: Scheduled TaskCrutch v4 persists using a Windows scheduled task.
T1574.001Hijack Execution Flow: DLL Search Order HijackingCrutch v3 persists by doing DLL search order hijacking on Google Chrome, Mozilla Firefox or Microsoft OneDrive.
Defense EvasionT1036.004Masquerading: Masquerade Task or ServiceCrutch v4 persists using a scheduled task that impersonates the Outlook item finder.
T1120Peripheral Device DiscoveryCrutch monitors when a removable drive is plugged into the compromised machine.
T1025Data from Removable MediaCrutch monitors removable drives and exfiltrates files matching a given extension list.
T1074.001Data Staged: Local Data StagingThe Crutch v3 removable-drive monitor stages the stolen files in the C:\AMD\Temp directory.
T1119Automated CollectionCrutch automatically monitors removable drives in a loop and copies interesting files.
T1560.001Archive Collected Data: Archive via UtilityCrutch uses the WinRAR utility to compress and encrypt stolen files.
T1008Fallback ChannelsCrutch v3 uses a hardcoded GitHub repository as a fallback channel.
T1071.001Application Layer Protocol: Web ProtocolsThe network protocol of Crutch uses the official Dropbox API over HTTP.
T1102.002Web Service: Bidirectional CommunicationCrutch uses Dropbox to download commands and to upload stolen data.
ExfiltrationT1020Automated ExfiltrationCrutch v4 automatically exfiltrates the stolen files to Dropbox.
T1041Exfiltration Over C2 ChannelCrutch exfiltrates data using the primary C&C channel (Dropbox HTTP API).
T1567.002Exfiltration Over Web Service: Exfiltration to Cloud StorageCrutch exfiltrates stolen data to Dropbox.

Infolettre

Discussion