Technologie
Produits
Ressources
Entreprise
Français
Technologie
Produits
Blog
Ressources
Entreprise

Détection et neutralisation de Log4Shell en situation réelle

Max Heinemeyer, Director of Threat Hunting | Justin Fier, Director of Cyber Intelligence & Analytics | mercredi 15 décembre 2021

Dans cet article, nous aborderons la faille Log4Shell en fournissant des exemples réels de la façon dont Darktrace détecte et neutralise les attaques qui cherchent à exploiter la faille Log4Shell.

Log4Shell est le nom courant de la faille CVE-2021-44228 : cette faille zero-day de gravité 10 exploite un petit utilitaire de connexion Java bien connu, nommé Log4J. Chaque jour, on découvre de nouvelles failles ; certaines sont plus graves que d’autres, mais cet utilitaire open source est utilisé absolument partout, y compris dans le drone Mars Ingenuity, ce qui fait toute la gravité de cette menace. À la date où nous publions cet article, on découvre encore de nouvelles informations à propos de Log4Shell.

Généralement, les failles zero-day susceptibles d’impacter un aussi grand nombre de systèmes sont tenues secrètes, et ne sont utilisées que par des États-nations pour attaquer des cibles ou mener des opérations de grande importance. Toutefois, cette faille a été découverte lors d’une attaque menée contre les serveurs du jeu Minecraft et relayée dans les discussions entre joueurs.

Même si tout doit être fait pour déployer des mesures d’atténuation contre la vulnérabilité Log4Shell, cela prend du temps. Comme nous allons le montrer, une détection basée sur le comportement peut être utilisée pour rechercher des symptômes d’activité post-intrusion, comme le scan réseau, l'extraction de cryptomonnaies, le déplacement latéral et d’autres activités.

Darktrace a d’abord détecté la vulnérabilité Log4Shell lors d’une attaque ciblant un serveur connecté à Internet chez l’un de nos clients, comme vous pouvez le voir dans l’analyse de menace réelle et anonymisée ci-dessous. La faille a été signalée et documentée par le Cyber AI Analyst, comme le montre ici notre équipe SOC. Remarque : cette détection a été menée à l’aide d’algorithmes préexistants, sans entrainement supplémentaire des outils de classement et sans adapter les mécanismes de réponse aux cyberattaques Log4Shell.

Fonctionnement de Log4Shell

La vulnérabilité fonctionne en exploitant une validation incorrecte de la saisie par l’API JNDI (Java Naming and Directory Interface). L’API reçoit une commande émanant d’un agent utilisateur HTTP, d’une connexion HTTPS chiffrée, ou même d’un salon de discussion instantanée, et JNDI envoie cette commande au système cible, sur lequel elle est exécutée. La plupart des bibliothèques et des applications disposent de contrôles et de protections pour éviter cela, mais comme nous pouvons le voir, certaines commandes passent parfois à travers les mailles du filet.

Plusieurs cybercriminels ont commencé à exploiter cette vulnérabilité dans leurs attaques, qu’il s’agisse de campagnes de crypto-mining opportunistes ou d’attaques ciblées plus sophistiquées.

Exemple de situation réelle 1 : exploitation de Log4Shell le jour de la publication de l’identifiant CVE

Darktrace a observé ce premier exemple le 10 décembre, jour de la publication de l’identifiant CVE. Il n’est pas rare que des vulnérabilités documentées publiquement soient utilisées par des cybercriminels dans les jours qui suivent leur publication. Cette attaque a touché une machine connectée à Internet dans la DMZ d’une organisation. Darktrace avait automatiquement classé le serveur comme une machine connectée à Internet, en se basant sur son comportement.

L’organisation avait déployé Darktrace sur le réseau sur site dans le cadre d’une couverture globale incluant le cloud, les e-mails et les SaaS. Dans ce déploiement, Darktrace disposait d’une bonne visibilité du trafic DMZ. Antigena n’était pas actif dans cet environnement, et Darktrace était déployée en mode détection uniquement. Malgré cela, le client a pu identifier et neutraliser l’incident quelques heures seulement après l’alerte initiale. L’attaque était automatisée et cherchait à déployer l’outil de crypto-mining Kinsing.

Au cours de cette attaque, le cybercriminel a compliqué la détection de la faille en chiffrant l’injection de la commande initiale à l’aide du protocole HTTPS, plutôt que d’utiliser le protocole HTTP, plus courant. Même si cette approche avait échappé aux systèmes traditionnels basés sur des règles et des signatures, Darktrace a détecté plusieurs comportements inhabituels quelques secondes après la connexion initiale.

Détails de la compromission initiale

Grâce à l’analyse des pairs, Darktrace avait auparavant appris à connaître le comportement normal de cette machine DMZ spécifique et de son groupe de pairs. Lors de l’intrusion initiale, Darktrace a détecté plusieurs anomalies subtiles qui, mises bout à bout, montraient qu’une attaque avait manifestement lieu.

  1. 15:45:32 Connexion HTTPS entrante au serveur DMZ à partir d’une adresse IP russe rare — 45.155.205[.]233 ;
  2. 15:45:38 Le serveur DMZ établit une nouvelle connexion sortante vers la même adresse IP russe rare en utilisant deux nouveaux agents utilisateurs : un agent utilisateur Java et un agent curl utilisant un port inhabituel pour transmettre des commandes HTTP par rapport aux comportements préalablement observés ;
  3. 15:45:39 Le serveur DMZ utilise une connexion HTTP avec un nouvel agent utilisateur curl (‘curl/7.47.0’) vers la même adresse IP russe. L’URI contient des informations de reconnaissance provenant du serveur DMZ.

Toute cette activité a été détectée non pas parce que Darktrace l’avait déjà observée, mais parce qu’elle divergeait fortement du « modèle comportemental normal » de ce serveur et des serveurs similaires au sein de cette organisation spécifique.

Ce serveur n’avait jamais établi de contact avec des adresses IP rares via Internet, n’avait jamais eu recours à de tels agents utilisateurs, et n’était jamais passé par ces combinaisons de protocoles et de ports. Si on les examine isolément, ces anomalies représentaient peut-être de minuscules écarts de comportement. Mais, prises ensemble et analysées dans le contexte de cette machine et de cet environnement spécifiques, ces détections témoignent sans ambiguïté d’une cyberattaque en cours.

Darktrace a détecté cette activité en s’appuyant sur différents modèles, par exemple :

  • Anomalous Connection / New User Agent to IP Without Hostname
  • Anomalous Connection / Callback on Web Facing Device

Téléchargement d’outils supplémentaires et d’un logiciel de crypto-mining

Moins de 90 minutes après la compromission initiale, le serveur infecté a commencé à télécharger des scripts et des fichiers exécutables malveillants à partir d’une adresse IP ukrainienne rare 80.71.158[.]12.

Les contenus suivants ont ensuite été téléchargés à partir de l’adresse IP ukrainienne, dans l’ordre :

  • hXXp://80.71.158[.]12//lh.sh
  • hXXp://80.71.158[.]12/Expl[REDACTED].class
  • hXXp://80.71.158[.]12/kinsing
  • hXXp://80.71.158[.]12//libsystem.so
  • hXXp://80.71.158[.]12/Expl[REDACTED].class

Sans avoir recours à des renseignements sur les menaces ni à des détections basées sur des indicateurs de compromission (IoC) statiques comme l’adresse IP, le nom de domaine ou le hachage de fichier, Darktrace a détecté l’étape suivante de l’attaque en temps réel.

Le serveur DMZ incriminé n’avait jamais communiqué avec cette adresse IP ukrainienne en passant par ces ports inhabituels. Il est également très inhabituel que cette machine et ses pairs téléchargent des scripts et des fichiers exécutables à partir de ce type de destination externe en utilisant ces méthodes. Peu de temps après les téléchargements, le serveur DMZ a commencé à faire du crypto-mining.

Darktrace a détecté cette activité en s’appuyant sur différents modèles, par exemple :

  • Anomalous File / Script from Rare External Location
  • Anomalous File / Internet Facing System File Download
  • Device / Internet Facing System with High Priority Alert

Signalement immédiat de l’incident Log4Shell

Darktrace a non seulement détecté chaque étape de cette attaque en temps réel, mais le Cyber AI Analyst a également fait la lumière sur l’incident de sécurité dans sa globalité. Il a présenté un récit cohérent de toute l’attaque en l’identifiant comme l’incident le plus important parmi l'ensemble des incidents et alertes signalés au cours de la semaine par Darktrace. Cela signifie que cet incident a immédiatement été mis en avant pour attirer l’attention des équipes de sécurité humaines pendant son déroulement. Le Cyber AI Analyst de Darktrace a identifié chaque étape de l’incident et a soulevé les mêmes questions que celles qui auraient été posées par les analystes humains de votre SOC. À partir du rapport en langage vernaculaire généré par le Cyber AI Analyst, une synthèse de chaque étape de l’incident, incluant les données vitales nécessaires aux analystes humains, est présentée dans un format facilement compréhensible. Chaque onglet représente une phase de l’incident et met en évidence les actions mises en œuvre lors de chaque étape du processus d’investigation.

Résultat : inutile de se perdre dans les alertes de faible gravité ; pas besoin de trier les détections ponctuelles ; inutile d’essayer d’imaginer le rapport entre les détections pour identifier un incident plus global ; aucun rapport à rédiger. Tout ceci a été accompli automatiquement par le Cyber AI Analyst et a permis aux équipes humaines de gagner un temps précieux.

Le rapport d’incident ci-dessous a été créé automatiquement. Il a immédiatement été mis à disposition au format PDF dans plusieurs langues.

Figure 1 : le Cyber AI Analyst de Darktrace met en évidence les différentes phases de l’attaque et explique son processus d’investigation

Exemple de situation réelle 2 : réponse à une autre attaque basée sur Log4Shell

Le 12 décembre, un serveur connecté à Internet dans une autre organisation a été compromis en exploitant la faille Log4Shell. Les détails de la compromission sont différents (d’autres IoC sont concernés), mais Darktrace a détecté et mis en évidence l’attaque de façon similaire à la première situation.

Fait intéressant, cette organisation avait déployé Darktrace Antigena en mode autonome sur son serveur, ce qui signifie que l’IA pouvait mettre en œuvre des actions autonomes en réponse aux cyberattaques en cours. Ces réponses sont apportées par différents mécanismes : interactions d’API avec le pare-feu, autres outils de sécurité, ou réponses natives formulées par Darktrace.

Dans cette attaque, l’adresse IP externe rare 164.52.212[.]196 avait été utilisée afin d’établir des communications de commande et contrôle (C2) pour la transmission d’un malware, en utilisant le protocole HTTP sur le port 88, ce qui était hautement inhabituel pour cette machine, son groupe de pairs et l’organisation dans son ensemble.

Antigena a réagi en temps réel dans cette organisation, en s’appuyant sur le contexte spécifique de l’attaque et sans aucune intervention humaine. Dans ce cas, Antigena a interagi avec le pare-feu de l’organisation pour bloquer pendant 2 heures toutes les connexions en direction ou en provenance de l’adresse IP malveillante (164.52.212[.]196) sur le port 88, avec la possibilité de d'augmenter le niveau de blocage et la durée de l’intervention en cas de persistance de l’attaque. Cette réponse est illustrée ci-dessous :

Figure 2 : réponse d’Antigena

C’est là tout le secret de Darktrace : grâce à l’IA Auto-Apprenante, Darktrace sait exactement ce que ce serveur connecté à Internet a l’habitude de faire et de ne pas faire, dans les moindres détails. En s’appuyant sur les différentes anomalies, Darktrace est en mesure d’affirmer avec certitude qu’il s’agit là d’une cyberattaque majeure.

Antigena intervient alors pour appliquer le modèle comportemental normal de ce serveur dans la DMZ. Cela signifie que le serveur peut continuer de fonctionner normalement. En revanche, toutes les actions hautement anormales sont interrompues en temps réel dès leur émergence, à l’image des communications avec une adresse IP externe rare sur le port 88 via HTTP pour télécharger des fichiers exécutables.

Bien entendu, les équipes humaines peuvent modifier ou supprimer le blocage à tout moment. Antigena peut également être configurée en mode de confirmation humaine : des collaborateurs interviennent à certains moments de la journée (par ex. pendant les heures ouvrées) ou à tout moment, selon les besoins et les exigences de l’organisation.

Conclusion

Cet article illustre d’autres aspects des cyberattaques basées sur la vulnérabilité Log4Shell. Il montre également comment Darktrace détecte et répond aux attaques zero-day lorsque la solution dispose d’une visibilité suffisante sur les entités menacées.

Même si l’on parle beaucoup de Log4Shell dans l’actualité de l’informatique et de la sécurité, des failles similaires ont existé par le passé et d’autres reviendront faire les gros titres. Nous avons déjà parlé de notre approche de la détection et de la réponse face à des failles similaires et aux cyberattaques qui leur sont associées, par exemple :

  • la faille récente Gitlab ;
  • les failles ProxyShell Exchange Server au moment où elles étaient encore considérées comme zero-day ;
  • et la failleCitrix Netscaler.

Comme toujours, nous conseillons aux entreprises de mettre au point une stratégie de défense en profondeur, qui associe des contrôles de sécurité préventifs à des mécanismes de détection et de réponse et à une gestion robuste des correctifs.

Nous remercions Brianna Leddy, Directrice de l’analyse Darktrace pour les informations sur la menace présentée ci-dessus.

Max Heinemeyer

Max is a cyber security expert with over a decade of experience in the field, specializing in a wide range of areas such as Penetration Testing, Red-Teaming, SIEM and SOC consulting and hunting Advanced Persistent Threat (APT) groups. At Darktrace, Max oversees global threat hunting efforts, working with strategic customers to investigate and respond to cyber-threats. He works closely with the R&D team at Darktrace’s Cambridge UK headquarters, leading research into new AI innovations and their various defensive and offensive applications. Max’s insights are regularly featured in international media outlets such as the BBC, Forbes and WIRED. When living in Germany, he was an active member of the Chaos Computer Club. Max holds an MSc from the University of Duisburg-Essen and a BSc from the Cooperative State University Stuttgart in International Business Information Systems.

Justin Fier

Justin is one of the US’s leading cyber intelligence experts, and holds the position of VP, Tactical Risk and Response at Darktrace. His insights on cyber security and artificial intelligence have been widely reported in leading media outlets, including the Wall Street Journal, CNN, The Washington Post, and VICELAND. With over 10 years’ experience in cyber defense, Justin has supported various elements in the US intelligence community, holding mission-critical security roles with Lockheed Martin, Northrop Grumman Mission Systems and Abraxas. Justin is also a highly-skilled technical specialist, and works with Darktrace’s strategic global customers on threat analysis, defensive cyber operations, protecting IoT, and machine learning.