Les chercheurs ont identifié de nouveaux logiciels malveillants furtifs que les pirates utilisent depuis 15 mois pour détourner les serveurs Microsoft Exchange après qu’ils ont été piratés.
Baptisé SessionManager, le logiciel malveillant se présente comme un module légitime pour Internet Information Services (IIS), le serveur Web installé par défaut sur les serveurs Exchange. Les organisations déploient souvent des modules IIS pour rationaliser des processus spécifiques sur leur infrastructure Web. Les chercheurs de la société de sécurité Kaspersky ont identifié 34 serveurs appartenant à 24 organisations qui ont été infectés par SessionManager depuis mars 2021. Au début de ce mois, a déclaré Kaspersky, 20 organisations restaient infectées.
Furtivité, persévérance, puissance
Les modules IIS malveillants offrent un moyen idéal pour déployer des portes dérobées puissantes, persistantes et furtives. Une fois installés, ils répondront aux requêtes HTTP spécialement conçues envoyées par l’opérateur demandant au serveur de collecter des e-mails, d’ajouter d’autres accès malveillants ou d’utiliser les serveurs compromis à des fins clandestines. Pour un œil non averti, les requêtes HTTP semblent anodines, même si elles donnent à l’opérateur un contrôle total sur la machine.
« Ces modules malveillants attendent généralement des requêtes HTTP apparemment légitimes mais spécifiquement conçues de la part de leurs opérateurs, déclenchent des actions basées sur les instructions cachées des opérateurs, le cas échéant, puis transmettent de manière transparente la requête au serveur pour qu’elle soit traitée comme n’importe quelle autre requête », Kaspersky écrit le chercheur Pierre Delcher. « En conséquence, de tels modules ne sont pas facilement repérables par les pratiques de surveillance habituelles : ils n’initient pas nécessairement des communications suspectes vers des serveurs externes, reçoivent des commandes via des requêtes HTTP vers un serveur qui est spécifiquement exposé à de tels processus, et leurs fichiers sont souvent placés dans des emplacements négligés qui contiennent beaucoup d’autres fichiers légitimes.
Une fois SessionManager déployé, les opérateurs l’utilisent pour profiler davantage l’environnement infecté, collecter les mots de passe stockés en mémoire et installer des outils supplémentaires, notamment un chargeur réflectif basé sur PowerSploit, Mimikat SSP, ProcDump et un outil de vidage de mémoire Avast légitime. Kaspersky a obtenu plusieurs variantes de SessionManager qui remontent au moins à mars 2021. Les exemples montrent une évolution constante qui a ajouté plus de fonctionnalités à chaque nouvelle version. La version la plus récente du module malveillant inclut les éléments suivants :
Nom de la commande
(valeur du cookie SM_SESSION)Paramètres de commande
(cookies supplémentaires)Capacité associée GETFILE FILEPATH : chemin du fichier à lire. FILEPOS1 : décalage auquel commencer la lecture, à partir du début du fichier. FILEPOS2 : nombre maximum d’octets à lire.
Lire le contenu d’un fichier sur le serveur compromis et l’envoyer à l’opérateur sous forme de fichier binaire HTTP nommé cool.rar. PUTFILE FILEPATH : chemin du fichier à écrire. FILEPOS1 : décalage auquel commencer l’écriture.
FILEPOS2 : référence de décalage.
FILEMODE : type d’accès au fichier demandé.
Écrire du contenu arbitraire dans un fichier sur le serveur compromis. Les données à écrire dans le fichier spécifié sont transmises dans le corps de la requête HTTP. SUPPRIMER LE FICHIER FILEPATH : chemin du fichier à supprimer. Supprimer un fichier sur le serveur compromis. TAILLE DU FICHIER FILEPATH : chemin du fichier à mesurer. Récupère la taille (en octets) du fichier spécifié. CMD Aucun. Exécutez un processus arbitraire sur le serveur compromis. Le processus à exécuter et ses arguments sont spécifiés dans le corps de la requête HTTP au format : t . La sortie standard et les données d’erreur de l’exécution du processus sont renvoyées sous forme de texte brut à l’opérateur dans le corps de la réponse HTTP. ping Aucun. Vérifiez le déploiement de SessionManager. Le « Wokring OK » (sic.) sera envoyé à l’opérateur dans le corps de la réponse HTTP. S5CONNECT S5HOST : nom d’hôte auquel se connecter (exclusif avec S5IP). S5PORT : décalage auquel commencer l’écriture.
S5IP : adresse IP à laquelle se connecter si aucun nom d’hôte n’est donné (exclusif avec S5HOST).
S5TIMEOUT : délai maximal en secondes pour permettre la connexion.
Connectez-vous à partir d’un hôte compromis à un point de terminaison réseau spécifié, à l’aide d’un socket TCP créé. L’identifiant entier du socket créé et connecté sera renvoyé comme valeur de la variable de cookie S5ID dans la réponse HTTP, et l’état de la connexion sera signalé dans le corps de la réponse HTTP. S5ECRITURE S5ID : identifiant du socket sur lequel écrire, tel que renvoyé par S5CONNECT. Ecrit des données sur le socket connecté spécifié. Les données à écrire dans le socket spécifié sont transmises dans le corps de la requête HTTP. S5LIRE S5ID : identifiant de la socket à lire, tel que renvoyé par S5CONNECT. Lit les données du socket connecté spécifié. Les données lues sont renvoyées dans le corps de la réponse HTTP. S5CLOSE S5ID : identifiant du socket à fermer, tel que renvoyé par S5CONNECT. Terminez une connexion socket existante. L’état de l’opération est renvoyé sous forme de message dans le corps de la réponse HTTP.
Vous vous souvenez de ProxyLogon ?
SessionManager est installé après que les pirates ont exploité des vulnérabilités connues sous le nom de ProxyLogon dans les serveurs Microsoft Exchange. Kaspersky l’a trouvé infectant des ONG, des gouvernements, des militaires et des organisations industrielles en Afrique, en Amérique du Sud, en Asie et en Europe.
Kaspersky a déclaré avoir une confiance moyenne à élevée dans le fait qu’un acteur de menace précédemment identifié que les chercheurs appellent Gelsemium a déployé SessionManager. La société de sécurité ESET a publié une analyse approfondie du groupe (PDF) l’année dernière. L’attribution de Kaspersky est basée sur le chevauchement du code utilisé par les deux groupes et victimes ciblés.
La désinfection des serveurs qui ont été touchés par SessionManager ou des modules IIS malveillants similaires est un processus compliqué. Le message de Kaspersky contient des indicateurs que les organisations peuvent utiliser pour déterminer si elles ont été infectées et les mesures à prendre en cas d’infection.