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.
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.
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.
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.
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.
Une deuxième configuration de chiffrement du réseau a également été observée, comme le montre la figure 6.
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.
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.
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.
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 |