Un groupe de cyberespions très probablement lié au gouvernement iranien a infecté des serveurs Microsoft Exchange avec un nouvel implant de malware appelé BellaCiao qui agit comme un injecteur pour le dépôt de futures charges utiles. Le logiciel malveillant exploite les requêtes DNS pour recevoir des commandes des attaquants codées en adresses IP. Selon les chercheurs de Bitdefender, il semble que les attaquants personnalisent leurs attaques en fonction de chaque victime, y compris le binaire du malware, qui contient des informations codées en dur comme le nom de l'entreprise, des sous-domaines personnalisés et des adresses IP. Les informations de débogage et les chemins d'accès aux fichiers de compilation laissés dans l'exécutable laissent penser que les attaquants ont classé leurs victimes par code de pays, comme IL (Israël), TR (Turquie), AT (Autriche), IN (Inde) ou IT (Italie).

Le groupe à l'origine du malware est connu dans l’industrie de la sécurité sous le nom de Charming Kitten, APT35 ou Phosphorus. Cette équipe de pirates informatiques opérerait pour le compte du Corps des gardiens de la révolution islamique (CGRI), communément appelé Pasdaran, une organisation paramilitaire de la république islamique d'Iran qui dépend directement du Guide de la révolution. Récemment, Microsoft a signalé que, depuis la fin de l’année 2021, Charming Kitten s'en prend à des infrastructures américaines critiques, notamment les ports maritimes, les entreprises du secteur de l’énergie, les systèmes de transport, ainsi qu'une grande entreprise de services publics et de gaz. Le groupe est également connu pour mettre à jour et développer fréquemment son arsenal de logiciels malveillants avec des outils personnalisés. Si sa méthode d'attaque préférée est l'hameçonnage très ciblé et sophistiqué, qui comprend l'usurpation d'identité de personnes réelles, il n'hésite pas non plus à adopter des exploits de vulnérabilités récemment corrigées, comme ce fût le cas par exemple de Log4Shell et Zoho ManageEngine (CVE-2022-47966).

Déploiement et fonctionnement du malware BellaCiao

Même si les attaquants de Bitdefender ne sont pas sûrs du vecteur d'infection utilisé pour déployer BellaCiao, ils ont trouvé l'implant sur des serveurs Exchange. Ils soupçonnent donc les attaquants d'exploiter l'un des exploits Exchange connus de ces dernières années, comme ProxyLogon, ProxyShell, ProxyNotShell ou OWASSRF. Une fois déployé, l'implant désactive Microsoft Defender à l'aide d'une commande PowerShell et crée un nouveau service de persistance appelé Microsoft Exchange Services Health ou Exchange Agent Diagnostic Services. Les noms choisis visent à se fondre dans les processus et services légitimes liés à Exchange. Outre BellaCiao, les pirates ont également déployé des portes dérobées qui fonctionnent comme des modules pour Internet Information Services (IIS), le serveur web qui sous-tend Exchange. L'une d'entre elles est une porte dérobée IIS open-source appelée IIS-Raid et l'autre est un module IIS écrit en .NET et utilisé pour l'exfiltration d’identifiants.

Certains échantillons de BellaCiao sont conçus pour déployer un webshell, un script web qui fonctionne comme une porte dérobée et permet aux attaquants d'envoyer des commandes à distance. Le webshell n'est pas téléchargé à partir d'un serveur externe, mais il est encodé dans l'exécutable BellaCiao lui-même sous la forme de chaînes en base64 malformées. Cependant, pour savoir à quel moment déposer le webshell, dans quel répertoire et avec quel nom, l'implant BellaCiao interroge un serveur de commande et de contrôle par DNS à l'aide d'un canal de communication personnalisé mis en place par les auteurs de l'attaque. Le logiciel malveillant effectue une requête DNS pour un sous-domaine codé en dur dans son code toutes les 24 heures. Comme les attaquants contrôlent le DNS pour le sous-domaine, ils peuvent renvoyer l'adresse IP qu'ils souhaitent et, ce faisant, ils transmettent des commandes au logiciel malveillant, car BellaCiao possède des routines spéciales pour interpréter ces adresses IP.

Des échantillons aussi conçus pour déployer des scripts PowerShell 

Une adresse IP se compose de quatre valeurs numériques (octets) séparées par des points, par exemple 111.111.111.111. Le logiciel malveillant a une adresse IP codée en dur au format L1.L2.L3.L4 qu’il compare ensuite à l'adresse IP reçue de la requête DNS, par exemple R1.R2.R3.R4. Si les derniers octets R4 et L4 correspondent, le webshell est déployé. S'ils ne correspondent pas, le webshell n'est pas déployé et si R4 est égal à L4-1, toutes les traces du webshell sont supprimées. Les autres octets R1, R2 et R3 sont également utilisés pour déterminer les noms de répertoires et de fichiers à choisir dans une liste lors du déploiement du webshell. Le webshell surveille les requêtes web qui incluent une chaîne particulière, laquelle agit comme un mot de passe secret dans l'en-tête et offre aux attaquants trois possibilités : le téléchargement de fichiers, le chargement de fichiers et l'exécution de commandes.

D'autres échantillons de BellaCiao ont été conçus pour déployer des scripts PowerShell qui agissent comme un serveur web local et un outil de connexion en ligne de commande appelé Plink, utilisé pour établir une connexion proxy inverse au serveur web. Cela permet aux attaquants d'exécuter des commandes et des scripts, de charger et de télécharger des fichiers, de télécharger des journaux Web, etc. Le rapport de Bitdefender comprend une liste d'indicateurs de compromission comme les noms de domaine, les noms de fichiers et les chemins d'accès, les hachages de scripts PowerShell et les adresses IP. Il n'inclut pas les hachages de fichiers pour les échantillons de BellaCiao, car ces derniers contiennent des informations codées en dur sur les victimes.