Résumé

Un groupe APT que nous appelons BackdoorDiplomacy, en raison de la verticale principale de ses victimes, cible les ministères des Affaires étrangères et les entreprises de télécommunication en Afrique et au Moyen-Orient depuis au moins 2017. Pour les vecteurs d'infection initiaux, le groupe privilégie l'exploitation de dispositifs vulnérables exposés à Internet, tels que les serveurs web et les interfaces de gestion des équipements réseau. Une fois sur un système, ses opérateurs font appel à des outils open-source pour scanner l'environnement et effectuer des mouvements latéraux. L'accès interactif s'effectue de deux manières : (1) via une porte dérobée personnalisée que nous appelons Turian et qui est dérivée de la porte dérobée Quarian et (2) dans un nombre plus restreint de cas, lorsqu'un accès plus direct et interactif est nécessaire, certains outils d'accès à distance open-source sont déployés. Dans plusieurs cas, le groupe a été observé en train de cibler des supports amovibles pour la collecte et l'exfiltration de données. Enfin, les systèmes d'exploitation Windows et Linux ont été ciblés.

Liens avec des groupes connus

BackdoorDiplomacy partage des points communs avec plusieurs autres groupes asiatiques. Le plus évident d'entre eux est le lien entre le backdoor Turian et le backdoor Quarian. Des observations spécifiques concernant le lien turien-quarien sont consignées ci-dessous dans la section Turian. Nous pensons que ce groupe est également lié à un groupe que Kaspersky a appelé CloudComputating et qui a également été analysé par Sophos.

Plusieurs victimes ont été compromises via des mécanismes qui correspondent étroitement à la campagne Rehashed Rat et à la campagne MirageFox-APT15 documentées respectivement par Fortinet en 2017 et Intezer en 2018. Les opérateurs de BackdoorDiplomacy ont eu recours à leur forme spécifique de détournement de DLL Search-Order Hijacking.

Enfin, la méthode de chiffrement du réseau utilisée par BackdoorDiplomacy est assez similaire à une porte dérobée que Dr.Web a nommée Backdoor.Whitebird.1. Whitebird a été utilisé pour cibler des institutions gouvernementales au Kazakhstan et au Kirghizistan (tous deux voisins d'une victime de BackdoorDiplomacy en Ouzbékistan) dans la même période de 2017 à aujourd'hui où BackdoorDiplomacy a été actif.

Victimologie

Quarian a été utilisé pour cibler le ministère syrien des Affaires étrangères en 2012, ainsi que le département d'État américain en 2013. Cette tendance à cibler les ministères des Affaires étrangères se poursuit avec Turian.

Des victimes ont été découvertes dans les ministères des Affaires étrangères de plusieurs pays africains, ainsi qu'en Europe, au Moyen-Orient et en Asie. Parmi les autres cibles figurent des sociétés de télécommunication en Afrique et au moins une organisation caritative du Moyen-Orient. Dans chaque cas, les opérateurs ont utilisé des tactiques, techniques et procédures (TTP) similaires, mais ont modifié les outils utilisés, même dans des régions géographiques proches, probablement pour rendre la traque du groupe plus difficile. Voir la figure 1 pour une carte des victimes par pays et par verticale.

Figure 1. Victimes par pays et par axe vertical

Vecteurs d'attaque

BackdoorDiplomacy a ciblé des serveurs avec des ports exposés à Internet, exploitant probablement des vulnérabilités non corrigées ou un système de téléchargement de fichiers dont la sécurité est mal appliquée. Dans un cas précis, nous avons observé que les opérateurs exploitaient une vulnérabilité F5 BIP-IP (CVE-2020-5902) pour déposer une porte dérobée Linux. Dans un autre cas, un serveur Microsoft Exchange a été exploité via un dropper PowerShell qui a installé China Chopper, un webshell bien connu et utilisé par divers groupes depuis 2013. Dans un troisième, nous avons observé un serveur Plesk avec une sécurité de chargement de fichiers mal configurée exécuter un autre webshell similaire à China Chopper. Voir la figure 2 pour un aperçu de la chaîne d'exploitation.

Figure 2. Chaîne d'exploitation de la compromission initiale à la porte dérobée avec communications C&C

Reconnaissance et mouvement latéral

Après la compromission initiale, le groupe BackdoorDiplomacy a souvent utilisé des outils de reconnaissance et d'équipe rouge open-source pour évaluer l'environnement à la recherche de cibles d'opportunité supplémentaires et de mouvements latéraux. Parmi les outils documentés figurent :

  • EarthWorm, a simple network tunnel with SOCKS v5 server and port transfer functionalities
  • EarthWorm, un simple tunnel réseau doté de fonctionnalités de serveur SOCKS v5 et de transfert de port.
  • Mimikatz, et diverses versions dont SafetyKatz
  • Nbtscan, un scanner NetBIOS en ligne de commande pour Windows
  • NetCat, un utilitaire de mise en réseau qui lit et écrit des données sur des connexions réseau
  • PortQry, un outil permettant d'afficher l'état des ports TCP et UDP sur des systèmes distants.
  • SMBTouch, utilisé pour déterminer si une cible est vulnérable à EternalBlue.
  • Divers outils du dump des outils de la NSA ShadowBrokers, y compris, mais sans s'y limiter :
    • DoublePulsar
    • EternalBlue
    • EternalRocks
    • EternalSynergy.

Les répertoires couramment utilisés pour la mise en place d'outils de reconnaissance et de mouvement latéral sont les suivants :

  • C:\Program Files\Windows Mail\en-US\
  • %LOCALAPPDATA%\Microsoft\InstallAgent\Checkpoints\
  • C:\ProgramData\ESET\ESET Security\Logs\eScan\
  • %USERPROFILE%\ESET\ESET Security\Logs\eScan\
  • C:\Program Files\hp\hponcfg\
  • C:\Program Files\hp\hpssa\
  • C:\hp\hpsmh\
  • C:\ProgramData\Mozilla\updates\

Parmi les outils énumérés ci-dessus, beaucoup ont été obscurcis avec VMProtect (v1.60-2.05), un thème récurrent avec les outils BackdoorDiplomacy.

Windows

Droppers de la porte dérobée

Dans certains cas, des opérateurs ont été observés en train de télécharger les droppers de la porte dérobée. Les opérateurs ont tenté de déguiser leurs droppers backdoor et d'échapper à la détection de diverses manières.

  • Conventions de dénomination conçues pour se fondre dans les opérations normales (exe, msvsvr.dll, alg.exe, etc.).
  • Dépôt d'implants dans des dossiers nommés pour des logiciels légitimes (par exemple, C:\Program Files\hp, C:\ProgramData\ESET, C:\ProgramData\Mozilla)
  • Détournement de l'ordre de recherche des DLL

Dans l'un de ces cas, les opérateurs ont téléchargé, via un webshell, à la fois ScnCfg.exe (SHA-1: 573C35AB1F243D6806DEDBDD7E3265BC5CBD5B9A), un exécutable McAfee légitime, et vsodscpl.dll, une DLL malveillante nommée d'après une DLL McAfee légitime appelée par ScnCfg.exe. La version de vsodscpl.dll (SHA-1 : FCD8129EA56C8C406D1461CE9DB3E02E616D2AA9) déployée a été appelée par ScnCfg.exe, et vsodscpl.dll a extrait Turian de son code, l'a écrit en mémoire et l'a exécuté.

Sur un autre système, les opérateurs ont déposé sur le disque une copie légitime de credwize.exe, l'assistant de sauvegarde et de restauration des justificatifs Microsoft, et l'ont utilisée pour exécuter la bibliothèque malveillante New.dll, une autre variante de Turian.

Turian

Environ la moitié des échantillons que nous avons collectés étaient obfusqués avec VMProtect. Une compilation des commandes d'opérateurs observées est incluse dans la section Commandes d'opérateurs. Les schémas de chiffrement réseau uniques sont également abordés individuellement ci-dessous.

Similitudes avec Quarian

Le rapport initial de Kaspersky indique que les victimes de Quarian se trouvaient au ministère syrien des Affaires étrangères, une cible similaire à celle de Turian.

Dans de nombreux échantillons de Turian que nous avons collectés, il existe des similitudes évidentes avec Quarian. Les mutex sont utilisés par les deux pour vérifier qu'une seule instance est en cours d'exécution, bien que les mutex utilisés soient nommés différemment. Nous avons observé les mutex suivants utilisés par Turian :

  • winsupdatetw
  • clientsix
  • client
  • updatethres
  • Autres : générés dynamiquement sur la base du nom d'hôte du système, limités à huit caractères hexadécimaux, en minuscules et précédés d'un zéro.

Les domaines et les adresses IP des serveurs C&C sont extraits à l'aide de routines XOR similaires, Quarian utilisant une clé de déchiffrement de 0x44 et Turian de 0xA9.

Turian et Quarian lisent tous deux les quatre premiers octets du fichier cf dans le même répertoire que l'exécutable du malware, qui sont ensuite utilisés comme longueur de sommeil dans le cadre de la routine de balise C&C.

Le processus de connexion au réseau Turian suit un schéma similaire à celui de Quarian, en tentant d'établir une connexion directe. Si cela échoue à cause d'un proxy local avec une réponse de 407 (Autorisation requise), les deux tentent d'utiliser les informations d'identification mises en cache localement. Cependant, la requête envoyée au proxy par Turian ne contient aucune des erreurs grammaticales envoyées par Quarian. Voir la Figure 3 pour une comparaison des tentatives de connexion au proxy.

Figure 3. Comparaison des tentatives de connexion au proxy, Turian (gauche) et Quarian (droite)

Enfin, Turian et Quarian créent tous deux un shell distant en copiant cmd.exe sur alg.exe.

Persistance

Après l'exécution initiale, Turian établit la persistance en créant le fichier tmp.bat dans le répertoire de travail actuel, en écrivant les lignes suivantes dans le fichier, puis en exécutant le fichier :

ReG aDd HKEY_CURRENT_USER\sOFtWArE\MIcrOsOft\WindOwS\CurRentVeRsiOn\RuN /v Turian_filename> /t REG_SZ /d “<location_of_Turian_on_disk>\<Turian_fiilename>” /f

ReG aDd HKEY_LOCAL_MACHINE\sOFtWArE\MIcrOsOft\WindOwS\CurRentVeRsiOn\RuN /v <Turian_filename> /t REG_SZ /d “<location_of_Turian_on_disk>\<Turian_fiilename>” /f

del %0

Turian vérifie ensuite la présence du fichier Sharedaccess.ini dans son répertoire de travail. Si ce fichier est présent, Turian tente de charger l'IP ou le domaine C&C à partir de ce fichier, s'il est présent. Nous n'avons pas observé Turian passer des IP ou des domaines de cette manière, mais des tests ont confirmé que Turian cherche à charger l'adresse C&C à partir de ce fichier. Après avoir vérifié Sharedaccess.ini, Turian tente de se connecter avec une IP ou un domaine codé en dur et configure son protocole de chiffrement réseau.

Chiffrement du réseau

Quarian est connu pour avoir utilisé une clé XOR de huit octets (voir Quarian: Reversing the C&C Protocol)) et un nonce de huit octets pour créer une clé de session (voir ThreatConnect sur l'analyse du protocole réseau de Quarian dans Divide and Conquer: Unmasking China’s ‘Quarian’ Campaigns Through Community). Le turien a une méthode distincte pour échanger les clés de chiffrement du réseau. Voir la figure 4 pour une analyse de la configuration du chiffrement du réseau Turian.

Figure 4. Configuration du chiffrement du réseau turien

Après avoir reçu le dernier paquet de 56 octets, Turian appelle la fonction d'initialisation du chiffrement réseau de la figure 5, et accepte les 56 octets de données du dernier paquet C&C comme seul argument.

Figure 5. Vue décompilée par Hex-Rays de la fonction d'initialisation de la clé de chiffrement

Une deuxième configuration de chiffrement du réseau a également été observée, comme le montre la figure 6.

Figure 6. Deuxième protocole de configuration du chiffrement du réseau Turian

La dernière itération de la boucle à quatre itérations (QWORD byte[5]) est utilisée comme graine pour la fonction d'initialisation de la clé, comme le montre la figure 7 ci-dessous.

Figure 7. Deuxième fonction d'initialisation de clé

Commandes de l'opérateur

La liste complète des commandes de l'opérateur Turian est présentée dans le Tableau 1.

Tableau 1. Commandes du C&C de Turian

ID Description
0x01 Get system information including OS version, memory usage, local hostname, system adapter info, internal IP, current username, state of the directory service installation and domain data.
0x02 Interactive shell – copy %WINDIR%\system32\cmd.exe to %WINDIR%\alg.exe and spawn alg.exe in a new thread.
0x03 Spawn a new thread, acknowledge the command and wait for one of the three-digit commands below.
0x04 Take screenshot.
0x103/203 Write file.
0x403 List directory.
0x503 Move file.
0x603 Delete file.
0x703 Get startup info.

Ciblage des supports amovibles

Un sous-ensemble de victimes a été ciblé par des exécutables de collecte de données conçus pour rechercher des supports amovibles (très probablement des lecteurs flash USB). L'implant recherche systématiquement de tels lecteurs, en ciblant spécifiquement les supports amovibles (la valeur de retour de GetDriveType est 2). S'il est trouvé, l'implant utilise une version intégrée de WinRAR pour exécuter ces commandes codées en dur :

  • CMD.exe /C %s a -m5 -hp1qaz@WSX3edc -r %s %s\\*.*
  • CMD.exe /C %s a -m5 -hpMyHost-1 -r %s %s\\*.*
  • CMD.exe /C rd /s /q \"%s"\

Les paramètres de la commande se décomposent comme suit :

  • a == ajouter des fichiers aux archives
  • -m[0:5] == niveau de compression
  • -hp<password>
  • -r == récurser dans les sous-répertoires
  • rd == supprimer un répertoire
  • /s == supprimer une arborescence de répertoires
  • /q == mode silencieux
  • \"%s"\ == répertoire sur lequel agir

L'implant, lorsqu'il détecte l'insertion d'un support amovible, tente de copier tous les fichiers du disque dans une archive protégée par un mot de passe et place l'archive dans le répertoire suivant, qui est codé en dur et donc identique pour chaque victime :

  • C:\RECYCLER\S-1-3-33-854245398-2067806209-0000980848-2003\

L'implant a également la capacité de supprimer des fichiers, sur la base de la troisième commande énumérée ci-dessus.

Outils d'accès à distance

Les opérateurs de BackdoorDiplomacy ont parfois besoin d'un accès ou d'une interactivité plus importants que ceux fournis par Turian. Dans ce cas, ils utilisent des outils d'accès à distance open-source tels que Quasar, qui offre une grande variété de possibilités et fonctionne sur pratiquement toutes les versions de Windows.

Linux

Nous avons découvert, via un domaine de serveur C&C partagé, une porte dérobée Linux utilisant une infrastructure réseau similaire et qui a été déployée après avoir exploité une vulnérabilité connue dans l'interface utilisateur de gestion du trafic (TMUI) des équilibreurs de charge F5 BIG-IP ,qui permet l'exécution de code à distance (RCE). La variante Linux tente de persister en s'inscrivant dans le fichier /etc/init.d/rc.local

Ensuite, elle exécute une boucle pour extraire des chaînes de caractères de la mémoire :

  • bash -version
  • echo $PWD
  • /bin/sh
  • /tmp/AntiVirtmp
  • eth0
  • /proc/%d/exe

Ensuite, il appelle sa fonction de démon et crée un processus enfant qui commence à déchiffrer l'adresse IP et/ou le nom de domaine du C&C, puis lance une boucle pour atteindre le C&C en utilisant Mozilla/5.0 (X11; Linux i686; rv:22.0) Firefox/22.0 comme agent utilisateur. Cette boucle C&C continue jusqu'à ce qu'une connexion réussie soit établie. Une fois la connexion établie, l'agent Linux passe par une configuration de chiffrement de réseau similaire à celle de la version Windows de Turian. Voir la figure 8 pour le protocole de chiffrement du réseau utilisé par la variante Linux de Turian.

Figure 8. Variante Linux de Turian - routine de configuration du protocole de chiffrement du réseau

Après avoir reçu le dernier paquet de 56 octets, l'agent Linux appelle la fonction d'initialisation de la clé de chiffrement du réseau décrite à la Figure 9.

Figure 9. Fonction d'initialisation de la clé de chiffrement du réseau décompilée par Hex-Rays

Une fois la configuration du protocole réseau terminée avec succès, il crée un autre processus enfant et tente de créer un shell inverse TTY :

  • python -c 'import pty; pty.spawn("/bin/sh")'

Conclusion

BackdoorDiplomacy est un groupe qui cible principalement les organisations diplomatiques au Moyen-Orient et en Afrique, et moins fréquemment, les entreprises de télécommunications. Leur méthodologie d'attaque initiale est axée sur l'exploitation d'applications vulnérables exposées à l'Internet sur les serveurs Web, afin de déposer et d'exécuter un webshell. Après la compromission, via le webshell, BackdoorDiplomacy déploie des logiciels open-source pour la reconnaissance et la collecte d'informations, et privilégie l'utilisation du détournement de l'ordre de recherche des DLL pour installer son backdoor, Turian. Enfin, BackdoorDiplomacy utilise un exécutable distinct pour détecter les supports amovibles, probablement des clés USB, et copier leur contenu dans la corbeille du disque principal.

BackdoorDiplomacy partage des tactiques, des techniques et des procédures avec d'autres groupes asiatiques. Turian représente probablement une nouvelle évolution de Quarian, la porte dérobée dont l'utilisation a été observée pour la dernière fois en 2013 contre des cibles diplomatiques en Syrie et aux États-Unis. Le protocole de chiffrement réseau de Turian est presque identique à celui utilisé par Whitebird, une porte dérobée exploitée par Calypso, un autre groupe asiatique. Whitebird a été déployé au sein d'organisations diplomatiques au Kazakhstan et au Kirghizistan pendant la même période que BackdoorDiplomacy (2017-2020). En outre, BackdoorDiplomacy et APT15 utilisent les mêmes techniques et tactiques pour déposer leurs portes dérobées sur les systèmes, à savoir le détournement de l'ordre de recherche des DLL mentionné plus haut.

BackdoorDiplomacy est également un groupe multiplateforme qui cible les systèmes Windows et Linux. La variante Linux de Turian partage les mêmes caractéristiques de protocole de chiffrement réseau et tente de renvoyer un reverse shell TTY à l'opérateur.

Indicateurs de compromission (IoC)

Échantillons

SHA-1 Filename ESET Detection Name Description
3C0DB3A5194E1568E8E2164149F30763B7F3043D logout.aspx ASP/Webshell.H BackdoorDiplomacy webshell – variant N2
32EF3F67E06C43C18E34FB56E6E62A6534D1D694 current.aspx ASP/Webshell.O BackdoorDiplomacy webshell – variant S1
8C4D2ED23958919FE10334CCFBE8D78CD0D991A8 errorEE.aspx ASP/Webshell.J BackdoorDiplomacy webshell – variant N1
C0A3F78CF7F0B592EF813B15FC0F1D28D94C9604 App_Web_xcg2dubs.dll MSIL/Webshell.C BackdoorDiplomacy webshell – variant N3
CDD583BB6333644472733617B6DCEE2681238A11 N/A Linux/Agent.KD Linux Turian backdoor
FA6C20F00F3C57643F312E84CC7E46A0C7BABE75 N/A Linux/Agent.KD Linux Turian backdoor
5F87FBFE30CA5D6347F4462D02685B6E1E90E464 ScnCfg.exe Win32/Agent.TGO Windows Turian backdoor
B6936BD6F36A48DD1460EEB4AB8473C7626142AC VMSvc.exe Win32/Agent.QKK Windows Turian backdoor
B16393DFFB130304AD627E6872403C67DD4C0AF3 svchost.exe Win32/Agent.TZI Windows Turian backdoor
9DBBEBEBBA20B1014830B9DE4EC9331E66A159DF nvsvc.exe Win32/Agent.UJH Windows Turian backdoor
564F1C32F2A2501C3C7B51A13A08969CDC3B0390 AppleVersions.dll Win64/Agent.HA Windows Turian backdoor
6E1BB476EE964FFF26A86E4966D7B82E7BACBF47 MozillaUpdate.exe Win32/Agent.UJH Windows Turian backdoor
FBB0A4F4C90B513C4E51F0D0903C525360FAF3B7 nvsvc.exe Win32/Agent.QAY Windows Turian backdoor
2183AE45ADEF97500A26DBBF69D910B82BFE721A nvsvcv.exe Win32/Agent.UFX Windows Turian backdoor
849B970652678748CEBF3C4D90F435AE1680601F efsw.exe Win32/Agent.UFX Windows Turian backdoor
C176F36A7FC273C9C98EA74A34B8BAB0F490E19E iexplore32.exe Win32/Agent.QAY Windows Turian backdoor
626EFB29B0C58461D831858825765C05E1098786 iexplore32.exe Win32/Agent.UFX Windows Turian backdoor
40E73BF21E31EE99B910809B3B4715AF017DB061 explorer32.exe Win32/Agent.QAY Windows Turian backdoor
255F54DE241A3D12DEBAD2DF47BAC5601895E458 Duser.dll Win32/Agent.URH Windows Turian backdoor
A99CF07FBA62A63A44C6D5EF6B780411CF1B1073 Duser.dll Win64/Agent.HA Windows Turian backdoor
934B3934FDB4CD55DC4EA1577F9A394E9D74D660 Duser.dll Win32/Agent.TQI Windows Turian backdoor
EF4DF176916CE5882F88059011072755E1ECC482 iexplore32.exe Win32/Agent.QAY Windows Turian backdoor

Réseau

Serveurs C&C

AS Hoster IP address Domain
AS20473 AS-CHOOPA 199.247.9[.]67 bill.microsoftbuys[.]com
AS132839 POWER LINE DATACENTER 43.251.105[.]218 dnsupdate.dns2[.]us
#rowspan# 43.251.105[.]222 #rowspan#
AS40065 Cnservers LLC 162.209.167[.]154 #rowspan#
AS132839 POWER LINE DATACENTER 43.225.126[.]179 www.intelupdate.dns1[.]us
AS46573 LAYER-HOST 23.247.47[.]252 www.intelupdate.dns1[.]us
AS132839 POWER LINE DATACENTER 43.251.105[.]222 winupdate.ns02[.]us
AS40065 Cnservers LLC 162.209.167[.]189 #rowspan#
AS25820 IT7NET 23.83.224[.]178 winupdate.ns02[.]us
#rowspan# 23.106.140[.]207 #rowspan#
AS132839 POWER LINE DATACENTER 43.251.105[.]218 #rowspan#
AS20473 AS-CHOOPA 45.76.120[.]84 icta.worldmessg[.]com
AS20473 AS-CHOOPA 78.141.243[.]45 #rowspan#
#rowspan# 78.141.196[.]159 Infoafrica[.]top
#rowspan# 45.77.215[.]53 szsz.pmdskm[.]top
#rowspan# 207.148.8[.]82 pmdskm[.]top
AS132839 POWER LINE DATACENTER 43.251.105[.]139 www.freedns02.dns2[.]us
#rowspan# 43.251.105[.]139 web.vpnkerio[.]com
AS20473 AS-CHOOPA 45.77.215[.]53
AS135377 UCloud (HK) Holdings Group Limited 152.32.180[.]34
AS132839 POWER LINE DATACENTER 43.251.105[.]218 officeupdates.cleansite[.]us
AS25820 IT7NET 23.106.140[.]207 dynsystem.imbbs[.]in
#rowspan# #rowspan# officeupdate.ns01[.]us
#rowspan# #rowspan# systeminfo.oicp[.]net
AS40676 Psychz Networks 23.228.203[.]130 systeminfo.myftp[.]name
#rowspan# #rowspan# systeminfo.cleansite[.]info
#rowspan# #rowspan# updateip.onmypc[.]net
#rowspan# #rowspan# buffetfactory.oicp[.]io

Fournisseurs DDNS

Registrar Domain
expdns[.]net update.officenews365[.]com
ezdnscenter[.]com bill.microsoftbuys[.]com
changeip[.]org dnsupdate.dns2[.]us
dnsupdate.dns1[.]us
www.intelupdate.dns1[.]us
winupdate.ns02[.]us
www.freedns02.dns2[.]us
officeupdates.cleansite[.]us
officeupdate.ns01[.]us
systeminfo.cleansite[.]info
updateip.onmypc[.]net
hichina[.]com Infoafrica[.]top
domaincontrol[.]com web.vpnkerio[.]com
exhera[.]com dynsystem.imbbs[.]in
systeminfo.oicp[.]net