Pour la première fois depuis près de 2 ans, notre CERT a publié un avis de menace de niveau « critique » (5 sur 5) concernant une vulnérabilité activement exploitée et à grande échelle, dans une gamme de produits de sécurité (VPN) de la société Ivanti.
Ivanti est l’un de nos partenaires. Nous vendons et maintenons plusieurs de ses produits. Nous avons travaillé en étroite collaboration avec Ivanti pour atténuer l’impact de ces vulnérabilités sur nos clients et sommes convaincus que le risque a été rapidement traité, sans impact sur ces derniers. Nous publions cet article de blog dans le but de fournir à nos clients et à la communauté des détails sur ces failles. Nous pourrons ainsi tous adopter la meilleure position possible pour contrer les attaques exploitant ces vulnérabilités.
Le 31 janvier 2024, Ivanti a publié des correctifs pour corriger quatre vulnérabilités : CVE-2023-46805, CVE-2024-21887, CVE-2024-21888 et CVE-2024-21893. Les deux dernières vulnérabilités ont été divulguées le jour de la sortie du correctif, accompagnées d'un deuxième ensemble de mesures d'atténuation pouvant être appliquées en alternative aux correctifs.
Les détails sur CVE-2024-21893, une vulnérabilité SSRF (Server-Side Request Forgery) affectant le module SAML intégré, ont rapidement été partagés publiquement par les chercheurs en sécurité de Rapid7 puis d’AssetNote, qui ont fourni une preuve de concept (PoC) fonctionnelle et simple d’utilisation. Dans les heures suivant la publication du PoC, le CERT d'Orange Cyberdefense a identifié des attaques exploitant cette vulnérabilité SAML.
Orange Cyberdefense a découvert que les attaquants ont injecté une porte dérobée dans un composant du système Ivanti en utilisant cette vulnérabilité, fournissant ainsi à l'attaquant un accès distant persistant. Les attaquants ont également mis en place des mesures pour contrôler l'accès à la porte dérobée.
Les détails des vulnérabilités sont disponibles dans deux avis publiés par Orange Cyberdefense (un compte client est requis pour accéder au contenu) :
Ivanti a publié des correctifs pour toutes les versions prises en charge des produits Ivanti concernés. Cela signifie que les équipes peuvent désormais déployer des correctifs pour ces versions qui n’étaient protégées jusqu’alors que par des mesures d’atténuation basées sur un fichier de configuration XML.
Veuillez appliquer ces correctifs, et sinon, laisser la mesure d’atténuation basée sur XML en place.
Veuillez également lire attentivement les instructions de mise à niveau d’Ivanti pour vous assurer que tous les scénarios possibles sont couverts et que l’appareil n’est pas laissé dans un état compromis après le déploiement des correctifs.
Si vous suspectez qu’un appareil Ivanti est compromis, il est préférable de contacter une équipe de réponse à incident pour garantir que l’appareil est correctement analysé et nettoyé. Si tel est le cas, veuillez contacter notre ligne d’assistance en réponse aux incidents. Nous pouvons vous aider à évaluer si votre instance a effectivement été compromise et, si tel est le cas, vous accompagner pour également effectuer une réinitialisation aux paramètres d’usine conformément aux instructions d’Ivanti et appliquer deux fois consécutivement les correctifs pour vous assurer qu’ils ont bien été déployés. Restaurez enfin la configuration de sauvegarde sur l’appareil fraîchement ré-installé.
Des attaques opportunistes sont encore observées. Elles tentent principalement de déployer des cryptominers sur des instances vulnérables. De plus, une société de sécurité nommée Eclypsium a publiquement mentionné que l’ICT exclut plusieurs dossiers (peut-être pour éviter les faux positifs), laissant ainsi une possibilité de persistance post-exploitation aux attaquants qui peuvent spécifiquement localiser leurs portes dérobées dans ces répertoires (/data, /etc, /tmp, /var, etc.).
Cependant, le risque associé à la menace pesant sur les solutions Ivanti a été réduit grâce à la disponibilité de correctifs pour toutes les versions de Ivanti Connect Secure, Ivanti Policy Secure et ZTA. Moins de 200 instances piratées (au cours de la semaine se terminant le 17 février) exposent encore publiquement le fichier malveillant « index2.txt » lié à la porte dérobée découverte par le CERT d’Orange Cyberdefense. Cependant, on peut supposer qu’un plus grand nombre d’appareils restent compromis, certains même depuis la première phase d’exploitation de masse qui a débuté à la mi-janvier 2024.
Nous partageons les recherches de notre CERT dans un article de blog dédié à la backdoor « DSLog », à retrouver ici.
Pour en savoir plus sur la backdoor découverte dans DSLog, vous pouvez également télécharger le rapport d’enquête au format PDF.
Tous les clients des services gérés par Orange Cyberdefense sont protégés, car nos équipes dédiées ont appliqué les recommandations du fournisseur dès le premier jour. Les SOC d’Orange Cyberdefense mènent des enquêtes de manière proactive pour les clients bénéficiant de ce service. Les clients concernés seront informés si un comportement suspect est identifié.
Veuillez appliquer le correctif, car il corrige la dernière vulnérabilité révélée, CVE-2024-22024, et les quatre vulnérabilités précédemment divulguées.
Selon Ivanti, les mesures d’atténuation basées sur XML existantes (mitigation.release.20240126.5.xml) protègent déjà contre l’exploitation de CVE-2024-22024.
Selon Ivanti, une réinitialisation aux paramètres d’usine n’est pas nécessaire pour corriger CVE-2024-22024 si elle a déjà été effectuée précédemment. De plus, 2 opérations de réinitialisation aux paramètres d’usine consécutives, comme nous l’avons mentionné, sont inutiles. Mais une double application des mises à niveau du 31 janvier reste recommandée.
Une investigation supplémentaire peut être effectuée à l’aide des IOCs réseau/hôte (disponibles pour nos clients MTD et MTI via le Datalake d’Orange Cyberdefense), des règles de détection ou encore une analyse des comportements suspects directement dans les journaux ou sur l’appareil. Faites également attention à la façon dont les appareils sont configurés, car ils peuvent être en mode actif-passif et/ou impliquer un groupe d’appareils et peuvent nécessiter certaines étapes pour garantir une enquête approfondie. Nous pouvons vous aider à évaluer si votre instance a effectivement été compromise et, si tel est le cas, veuillez contacter notre ligne d’assistance de réponse aux incidents.
La CISA a exhorté les agences fédérales à déconnecter et à réinitialiser aux paramètres d’usine tous leurs appareils [source]. Ivanti et Mandiant recommandent désormais 2 mises à niveau consécutives [source] pour éviter une éventuelle restauration future qui remettrait l’appareil dans son état « compromis » précédent. Cela garantit que les instances sont effectivement propres. Ce processus de résolution extrême peut sembler superflu, mais à défaut de donner la priorité aux correctifs, vous pouvez au moins appliquer la mesure d’atténuation plus tôt que la réinitialisation aux paramètres d’usine plus tard. Une réinitialisation aux paramètres d’usine avec des correctifs complets est recommandée lorsqu’un appareil a été compromis ou si votre organisation est ciblée spécifiquement par l’acteur malveillant chinois derrière ces vulnérabilités.
Il est fortement recommandé de suivre le processus d’Ivanti et d’appliquer soit la nouvelle mesure d’atténuation basée sur XML, soit idéalement les correctifs publiés le 31 janvier 2024 [source]. Les correctifs sont actuellement limités à quelques versions. Ainsi, s’il manque un correctif pour votre version, appliquez la mesure d’atténuation basée sur XML et vérifiez régulièrement si la version spécifique a reçu un correctif.
Il n’est pas garanti que les analyses avec l’outil de vérification d’intégrité (ICT) d’Ivanti révèlent toutes les compromissions. Elles peuvent passer à côté d’éventuels dangers, mais restent la source de détection la plus efficace. Si :
alors, l’appareil n’est probablement pas compromis. Néanmoins, il est recommandé de continuer à rechercher des signes de compromission, en analysant régulièrement l’appareil avec l’ICT interne/externe et en utilisant les derniers IOCs disponibles.
Un instantané du système et un extrait de la mémoire et des données de journal pertinentes sont recommandés avant d’exécuter l’analyse externe avec l’ICT, car ce dernier redémarre l’appareil [source]. Pensez à activer la journalisation avancée, car cela pourrait améliorer la détection. Cette journalisation de niveau débogage (y compris les requêtes non authentifiées) n’est pas activée par défaut en raison de problèmes de performances potentiels.
Un plan de réponse aux incidents doit être activé si un appareil compromis est identifié. Ce plan peut comprendre :
Une enquête supplémentaire peut être effectuée à l’aide des IOCs réseau/hôte ci-dessous (ou la liste complète disponible uniquement pour nos clients MTD/MTI via le Datalake d’Orange Cyberdefense), des règles de détection ou encore une analyse des comportements suspects directement dans les journaux ou sur l’appareil.
Faites également attention à la façon dont les appareils Ivanti sont configurés, car ils peuvent être en mode actif-passif et/ou impliquer un groupe d’appareils et peuvent nécessiter certaines étapes pour garantir une enquête approfondie. Nous pouvons vous aider à évaluer si votre instance a effectivement été compromise et, si tel est le cas, veuillez contacter notre ligne d’assistance de réponse aux incidents.
Ivanti a publié des détails et des correctifs corrigeant une nouvelle vulnérabilité de haute gravité [source] présente dans Connect Secure (et Policy Secure), suivie sous le nom de CVE-2024-22024 (lien [source] pour nos clients). Un attaquant distant pourrait l’exploiter en envoyant un fichier XML spécialement conçu pour accéder à des ressources spécifiques sans authentification SAML.
Watchtowr Labs [source] a publié des informations détaillées expliquant les points de terminaison vulnérables (en particulier : « /dana-na/auth/saml-sso.cgi »), sans fournir directement une preuve de concept entièrement fonctionnelle pour les pirates de bas niveau. Des attaquants de niveau avancé pourraient néanmoins exploiter ces informations pour réussir à pirater des appareils non corrigés. De plus, Watchtowr a expliqué que le problème vient d’une régression introduite par Ivanti le 31 janvier, lors de la correction des 4 vulnérabilités précédentes dont nous avons déjà parlé. Nous ne pensons donc pas que cette vulnérabilité soit exploitée activement pour le moment, mais elle peut également être chaînée avec l’un des bugs d’injection de commandes existant dans le produit. Un correctif est donc disponible pour toutes les versions prises en charge. Il inclut (si besoin) les correctifs des 4 vulnérabilités évoquées précédemment.
Un module Metasploit [source] qui enchaîne le précédent contournement d’authentification SAML 0-day (CVE-2024-21893) avec l’injection de commande (CVE-2024-21887) est désormais accessible au public, ce qui facilite davantage le lancement par des pirates peu qualifiés d’attaques automatisées contre des appareils non protégés (qui n’ont reçu aucune mesure d’atténuation ou correctif).
Le nombre d’instances vulnérables diminue, comme le montre ShadowServer [source]. De plus, le nombre d’instances compromises et intégrant une porte dérobée dans DSlog.pm ne cesse de diminuer selon nos analyses quotidiennes : moins de 500 appareils sont encore accessibles à distance aujourd’hui. Nous avons averti de manière proactive nos clients identifiés dans cette liste.
Nous avons également fourni des détails techniques sur cette porte dérobée dans un rapport public disponible ici [source]. Comme nous l’avons déjà indiqué, nous avons indirectement détecté ces compromissions : c’est-à-dire passivement, avec de simples requêtes GET non authentifiées adressées aux fichiers illégitimes créés par la porte dérobée et situés à l’adresse : « /root/home/webserver/htdocs/dana-na/imgs/index2[.]txt ».
Jeudi soir, nous pensions être face au début d’une nouvelle exploitation massive. Il s’agissait cependant de faux positifs générés par les contrôles de l’ICT interne, exécutés par défaut toutes les deux heures. Ces vérifications détectaient les nouveaux fichiers du package chargé sur l’appareil lors de sa mise à niveau. Néanmoins, l’exploitation active par des attaquants opportunistes a commencé le 2 février 2024, juste après que Rapid7 [source] et AssetNote [source] ont révélé publiquement comment la vulnérabilité SAML 0-day (CVE-2024-21893) fonctionnait, en publiant une preuve de concept (PoC) fonctionnelle que n’importe qui pouvait utiliser. Le CERT d’Orange Cyberdefense a identifié les attaques quelques heures seulement après cette publication. On a trouvé, par exemple, une activité impliquant des variantes de botnet basées sur Mirai qui étaient déposées sur des instances compromises par des acteurs malveillants opportunistes.
La vulnérabilité SAML 0-day est liée à une bibliothèque open source tierce, la dépendance « xmltooling », maintenue par Shibboleth [source]. Ce composant était en effet vulnérable à une faille SSRF corrigée en juin 2023 et suivie sous le nom de CVE-2023-36661 (pour nos clients : Vulnerability Intelligence Watch).
Les points de terminaison vulnérables, qui transmettent au « saml-server » un XML spécialement forgé, peuvent inclure :
Lorsqu’elle est traitée par xmltooling à l’aide de la fonction « XMLToolingFIPS.XMLObject.Signature », la requête mal formée donnera à l’attaquant distant non authentifié un accès à la machine. L’exploit peut être enchaîné avec la première injection de commande 0-day (CVE-2024-21887) directement depuis l’appareil (c’est-à-dire via « 127.0.0.1/api/v1/license/keys-status ») pour contourner la mesure d’atténuation initiale via XML.
Depuis le début de cette crise, le CERT d’Orange Cyberdefense tente d’identifier les instances vulnérables ou compromises, en utilisant les différences dans les réponses lors de la requête auprès de certains fichiers ou points de terminaison (c’est-à-dire la réponse 403 « empty » [source], le webshell GIFTEDVISITOR, le faux fichier logo/login.gif, etc.). Après avoir analysé une instance compromise par rapport à une instance propre, le CERT a découvert qu’une backdoor a été créée pour les journaux de traitement de module légitimes (DSlog.pm) et que les données non sensibles concernant l’appareil avaient été transférées dans un fichier .txt nouvellement créé. Le CERT a identifié les actifs affichant ce comportement et a trouvé plusieurs instances potentiellement infectées à l’aide de cette porte dérobée.
Pour rappel, la technique d’analyse originale « 403 - Forbidden: empty response » décrite ci-dessus, qui a été utilisée pour évaluer si la mesure d’atténuation basée sur XML initiale était appliquée ou non, ne doit plus être utilisée puisque les correctifs sont disponibles. Les instances déjà mises à niveau n’ont plus besoin de la mesure d’atténuation basée sur XML et ne sont pas vues comme vulnérables.
Un chercheur sur X (ex-Twitter) a expliqué une autre technique [source] pour vérifier à distance si une instance a été détournée en utilisant la vulnérabilité SAML 0-day avec la réponse d’une autre requête. Le CERT d’Orange Cyberdefense n’a pas pu confirmer que cette technique fonctionnait comme décrit.
Le grand nombre de tentatives d’exploitation ciblant la dernière vulnérabilité SAML exige que les organisations concernées réagissent rapidement. La CISA, agence gouvernementale américaine de cybersécurité, demande à toutes les agences fédérales de débrancher les appareils d’ici le vendredi 2 février 2024 pour réduire l’exposition potentielle [source]. Dans le cadre de cette demande, les appareils ne peuvent être remis en ligne qu’après l’application du correctif.
La nouvelle mesure d’atténuation basée sur XML fournie par Ivanti peut être appliquée à toutes les versions du produit et les correctifs corrigent simplement les problèmes de sécurité et n’incluent aucune nouvelle fonctionnalité. Un autre correctif pour une nouvelle branche (numérotée 22.5R2.2) a été publié le 1er février 2024. Le dernier ICT externe mis à jour n’inclut pas d’IOCs ni de nouvelles techniques de détection, mais permet aux utilisateurs de vérifier une instance, même exécutée sur les dernières versions (c’est-à-dire corrigées).
La filiale de Google a publié par la suite un article de blog technique sur les souches de malware utilisées par le principal acteur malveillant d’origine. Le fournisseur de réponse aux incidents a confirmé avoir détecté une activité post-exploitation très ciblée. Mandiant n’a nommé aucune des victimes ni leurs pays ou secteurs. L’acteur malveillant a réussi dans certains cas à compromettre les appareils, puis à les rétablir dans un état propre, pour échapper à la détection, y compris lors de l’analyse par l’ICT externe. Les attaquants ont falsifié les fichiers de l’ICT interne pour l’empêcher de fonctionner. Mandiant a partagé certains identifiants d’événement pour détecter de telles modifications dans les journaux. De plus, Mandiant a également partagé d’autres identifiants liés à l’effacement des journaux système effectué par ce groupe d’attaquants.
Les nouvelles souches de malware attribuées à l’acteur malveillant (UNC5221) sont ainsi détaillées :
Le code de la souche ZIPLINE a été détaillé par Mandiant et l’utilisation d’outils open source comme Impacket, Iodine, CrackMapExec ou Enum4Linux, est identifiée. Comme indiqué dans les mises à jour précédentes, une archive .tar se faisant passer pour un fichier CSS de 10 caractères générés aléatoirement dans le répertoire « /home/webserver/htdocs/dana-na/css/ » a été utilisée pour stocker les informations volées (vidage de la configuration et du cache). Comme nous le savions déjà, des données volées ont dans certains cas été ajoutées au fichier légitime « logo.gif » ou « login.gif », dans le même but.
Le 18 janvier 2024, Volexity a parlé pour la première fois d’une souche de malware basée sur Rust pour Linux qui a été exploitée par l’acteur malveillant, sans fournir plus de détails à l’époque. Un chercheur a publié quelques jours plus tard un certain nombre d’IOCs à ce sujet, puis des informations complémentaires sur cette nouvelle souche qu’il appelle « KrustyLoader »2 (car codée en Rust). Le chercheur a partagé un script de déchiffrage permettant de récupérer les URL utilisées par le chargeur pour créer une porte dérobée Sliver, un outil avancé de post-exploitation que notre service « Managed Threat Intell-detect » suit de manière proactive depuis longtemps.
La version ZTA 22.6R1.3 d’Ivanti a également reçu un correctif pour les 4 vulnérabilités.
Ivanti recommande d’effectuer une réinitialisation aux paramètres d’usine des appareils avant d’appliquer les correctifs, quelques heures étant nécessaires pour chaque opération. Nous vous encourageons néanmoins à appliquer le correctif sur les appareils dès que ceux pour vos versions sont publiés, même s’ils sont plus complexes que l’application de la mesure d’atténuation basée sur XML.
Si vous ne pouvez pas appliquer le correctif, Ivanti a également sorti un nouveau fichier XML d’atténuation (mitigation.release.20240126.5.xml) pour se protéger contre les deux vulnérabilités 0-day supplémentaires publiées aujourd’hui. Lorsqu’elle est disponible (NDLR : le lien de téléchargement ne fonctionne pas à 14h, heure de Paris), nous encourageons vivement les utilisateurs à déployer au moins cette nouvelle protection jusqu’à ce que les appareils puissent recevoir le correctif. Cette solution de contournement mise à jour bloque la vulnérabilité d’authentification SAML (CVE-2024-21893) :
« La nouvelle mesure d’atténuation bloquera toutes les communications et authentifications SAML. Cela aura un impact limité sur les fonctionnalités des clients qui utilisent LDAP pour l’authentification », a déclaré Ivanti.
En plus du nouveau XML, Ivanti a publié une nouvelle version de son ICT externe :
Tout actif exposé sur Internet qui n’a pas encore appliqué l’une des mesures d’atténuation doit être considéré comme probablement piraté. Cela fait écho au dernier article de blog de la CISA qui recommande aux défenseurs de continuer à rechercher des signes de compromission dans tous les cas.
Une société d’investigation appelée Volexity a découvert pour la première fois deux vulnérabilités 0-day, CVE-2023-46805 et CVE-2024-21887, dans les produits Ivanti Connect Secure (ICS) début décembre 2023. Ces vulnérabilités ont été exploitées pour insérer des webshells que Volexity a nommés GLASSTOKEN. Volexity a également attribué le nom UTA0178 à l’acteur malveillant inconnu qui, selon lui, aurait des liens avec le gouvernement chinois.
Le niveau de sophistication et de furtivité des acteurs malveillants est élevé et, au départ, on pensait que l’activité détectée pourrait être liée à une campagne d’espionnage ciblée, en raison du nombre initialement faible d’instances ICS impactées. Plus tard, le nombre d’équipements touchés a augmenté, ce qui a réduit la probabilité que nous soyons confrontés à une attaque ciblée. UTA0178 n’a pas encore été associé à d’autres groupes de pirates informatiques chinois existants. Volexity a également annoncé qu’un autre acteur malveillant, suivi sous le nom d’UTA0188, cible également les failles d’ICS.
Suite au rapport de Volexity, Mandiant a également partagé des détails techniques sur le malware associé aux récentes attaques attribuées à l’acteur malveillant UTA0178 (suivies sous le nom UNC5221 par Mandiant). L’activité post-exploitation implique l’utilisation de plusieurs malwares spécifiques baptisés ZIPLINE, THINSPOOL, LIGHTWIRE, WARPWIRE et WIREFIRE.
Le 10 janvier 2024, Ivanti a reconnu ces deux vulnérabilités 0-day en publiant un avis désignant les produits concernés. Ces vulnérabilités impactent toutes les versions des passerelles Ivanti Connect Secure (une solution VPN anciennement connue sous le nom de Pulse Connect Secure), Policy Secure et, dans une certaine mesure, Neurons for ZTA.
Les deux vulnérabilités ont été chaînées pour permettre une exécution de code à distance (RCE) non authentifiée. CVE-2023-46805 est une vulnérabilité de contournement d’authentification, tandis que CVE-2024-21887 est une faille de sécurité par injection de commandes. Combinées, elles fournissent aux attaquants un accès non authentifié au serveur, leur permettant de prendre la main sur le réseau puis de se déplacer latéralement, dans ce cas en utilisant des protocoles tels que RDP, SMB et SSH.
Malheureusement, les détails relatifs aux vulnérabilités sont devenus publics grâce aux travaux publiés par Watchtower Labs et Rapid7. Watchtower Labs a publié un article de blog annonçant avoir réussi à reproduire les failles. Ses experts ont expliqué avoir pu le faire en identifiant les points de terminaison bloqués par Ivanti dans sa solution de contournement (c’est-à-dire le fichier de la mesure d’atténuation basée sur XML), car les différences sont visibles dans les réponses des instances vulnérables et ayant bénéficié de la mesure d’atténuation. Rapid7 a ensuite divulgué des détails relatifs à CVE-2023-46805, permettant ainsi à d’autres de créer des exploits pour cette faille.
Naturellement, nous nous attendons à une augmentation du nombre de tentatives d’exploitation, car plusieurs milliers d’appareils ne sont toujours pas corrigés. À peu près au même moment, GreyNoise a signalé avoir détecté une augmentation des tentatives d’exploitation liées aux deux vulnérabilités d’ICS. À son tour, Volexity a indiqué que les attaquants installent actuellement des malwares qui facilitent le cryptominage (XMRIG) et d’autres types de charges utiles.
Au 17 janvier 2023, plus de 4 000 hôtes ICS n’avaient toujours pas bénéficié de la mesure d’atténuation fournie par Ivanti. À peu près à la même date, Volexity a estimé qu’environ 2 100 appareils VPN Ivanti Connect Secure avaient été compromis par l’implant GIFTEDVISITOR attribué à UTA0178.
Certains journaux associés pouvant faire l’objet d’une enquête seraient potentiellement les suivants :
msg="WEB31809 : L’accès à /api/v1/configuration/users/user-roles/user-role/rest-userrole1/web/web-bookmarks/bookmark est bloqué en raison d’un correctif (Patch 2).
Pour vérifier si le XML a été appliqué, vous pouvez par exemple effectuer une requête auprès de l’un des points de terminaison situés ici :
Cette API REST a été introduite dans la version 8.3R3 de Pulse Secure et existe dans la documentation de toutes les versions 9.xRx.
Un script Nmap peut faciliter cette vérification pour vous. La réponse comprendra dans les deux cas un « 403 Forbidden », mais le contenu de la réponse contiendra :
Emplacement du fichier malveillant :
Nom de l’hôte :
IP :
Hachage MD5 :
Si vous souhaitez couvrir les risques et atténuer la menace, en détection ou en chasse, accédez à l’intégralité de nos IOCs depuis notre plateforme SaaS Datalake (incluse dans le service Managed Threat Intelligence).