CVE-2021-44228 : Démonstration de faisabilité (PoF) pour la vulnérabilité d'exécution de code à distance (RCE) Apache Log4j (Log4Shell)
Une vulnérabilité critique dans la célèbre bibliothèque de journalisation Log4j 2, frappe de nombreux servies et applications, dont Minecraft, Steam et Apple iCloud. Les attaquants se sont mis à scanner activement et à tenter d'exploiter la faille.
Mise à jour du 21 décembre : Le 17 décembre, un article de blog de notre FAQ a été publié avec des informations sur Log4Shell et d'autres vulnérabilités associées. Pour des informations à jour, veuillez consulter notre article de blog : CVE-2021-44228, CVE-2021-45046, CVE-2021-4104 : Frequently Asked Questions About Log4Shell and Associated Vulnerabilities
Contexte
Le 9 décembre, les chercheurs ont publié un code d'exploit de démonstration de faisabilité (PoC) pour une vulnérabilité dans Apache Log4j 2, une bibliothèque de journalisation Java utilisée par de nombreux services et applications, incluant, mais sans s'y limiter :
Appelée Log4Shell par les chercheurs, des sources affirment que cette vulnérabilité aurait commencé par infecter Minecraft, le célèbre jeu vidéo sandbox.
there's a minecraft client & server exploit open right now which abuses a vulerability in log4j versions 2.0 - 2.14.1, there are proofs of concept going around already.
— ᵃᵈᵃᵐ (@twokilohertz) 09 décembre 2021
En outre, il semble que certains services cloud, tels que Steam et Apple iCloud soient également affectés.
Cette vulnérabilité est considérée comme une menace telle que le directeur de Cloudflare a l'intention d'offrir des protections à tous ses clients.
Analyse
CVE-2021-44228 est une vulnérabilité d'exécution de code à distance (RCE) dans Apache Log4j 2. Un attaquant à distance non authentifié peut exploiter cette faille en envoyant une requête spéciale vers un serveur exécutant une version vulnérable de log4j. La requête utilise une injection JNDI (Java Naming and Directory Interface) via toute une variété de services, dont :
- Lightweight Directory Access Protocol (LDAP)
- Secure LDAP (LDAPS)
- Remote Method Invocation (RMI)
- Domain Name Service (DNS)
Si le serveur de vulnérabilité utilise log4j pour consigner des requêtes, l'exploit demandera une charge malveillante sur JNDI via l'un des services au-dessus à partir d'un serveur contrôlé par un attaquant. Une exploitation réussie pourrait mener à une RCE.
Dans le cas de Minecraft, les utilisateurs ont pu exploiter cette vulnérabilité en envoyant un message spécial via le chat de Minecraft.
aaaaand then code execution?? #log4j #minecraft pic.twitter.com/aSFzhsm87l
— John Hammond (@_JohnHammond) 10 décembre 2021
GreyNoise et Bad Packets ont détecté une activité de scan de masse à la recherche de serveurs utilisant Log4j.
Mass scanning activity detected from multiple hosts checking for servers using Apache Log4j (Java logging library) vulnerable to remote code execution (https://t.co/GgksMUlf94).
Query our API for "tags=CVE-2021-44228" for source IP addresses and other IOCs. #threatintel— Bad Packets (@bad_packets) 10 décembre 2021
Il semble maintenant établi que cette vulnérabilité est utilisée pour implanter des mineurs de crypto-monnaie.
this log4shell payload is... a coin miner
the vulnerability has arrived pic.twitter.com/XUR7I5ydpP— Kevin Beaumont (@GossiTheDog) 10 décembre 2021
Démonstration de faisabilité (PoC)
La première PoC pour CVE-2021-44228 a été publiée le 9 décembre avant que ne soit assigné son identifiant CVE. Au moment de la publication de ce blog, plusieurs autres PoCs available on GitHub.
Solution
Apache a bien publié une version finale (RC) le 6 décembre pour gérer cette vulnérabilité, mais elle était incomplète. Apache a publié la version 2.15.0 le 10 décembre.
Log4j 2.15.0 requiert Java 8. Ainsi, les organisations qui utilisent Java 7 devront effectuer une mise à niveau avant de pouvoir accéder à la version corrigée de Log4j.
Apache conseille, dans le cas où la correction ne soit pas immédiatement possible, de recourir à certains parcours de limitation pour contrecarrer les tentatives d'exploitation de cette vulnérabilité : les informations en provenance d'Apache étant continuellement mises à jour, nous vous recommandons de vous référer à leurs instructions ici.
Étant donné que Log4j est inclus dans un grand nombre d'applications web et utilisé par toute une variété de services web, nous ne pouvons pas évaluer la portée complète de cette vulnérabilité pour le moment. Cependant, au moment de la publication de cet article de blog, il a été confirmé que certains produits et services ont confirmé avoir été vulnérables, dont :
Produit/Service | Affectation confirmée |
---|---|
Minecraft | Oui |
Steam | Oui |
Apple iCloud | Oui |
Tencent | Oui |
Oui | |
Baidu | Oui |
Didi | Oui |
Cloudflare | Oui |
Amazon | Oui |
Tesla | Oui |
ElasticSearch | Oui |
Ghidra | Oui |
Un référentiel GitHub est tenu à jour qui met en lumière la surface d'attaque de cette vulnérabilité.
Identification des systèmes affectés
Une liste de plug-ins Tenable permettant d'identifier cette vulnérabilité apparaîtra ici au fur et à mesure de leur publication. En outre, nous aimerions souligner la pertinence des plug-ins suivants (disponibles dans l'ensemble de plug-ins 202112112213 et ultérieur) :
Vérifications à distance
- ID de plug-in : 156014 - Détection RCE Apache Log4Shell via corrélation de callback (Direct Check HTTP) - cette vérification à distance peut être utilisée pour identifier la vulnérabilité sans authentification. Ce plug-in est compatible avec les scanners cloud de Tenable
- ID de plug-in : 155998 - RCE de substitution de recherche de message Apache Log4j (Log4Shell) (Direct Check) - Ce plug-in écoute les connexions LDAP BIND d'un hôte cible. Il n'est pas compatible avec les scanners cloud Tenable.io et pourrait donc échouer à renvoyer des résultats dans certains réseaux à cause de règles de pare-feu ou d'interférences provenant d'autres appareils de sécurité. Nous continuons à explorer des options pour une détection supplémentaire et recommandons aux clients du scanner cloud Tenable.io d'utiliser les quatre plug-ins suivants.
Pour une présentation des rappels dans les ID de plug-in 156014 et 155998, veuillez visiter cet article de blog sur la communauté Tenable.
Vérifications de version et détection locale (authentification requise)
- ID de plug-in : 155999 - Apache Log4j < 2.15.0 RCE
- ID de plug-in : 156000 - Apache Log4j Installé (Unix)
- ID de plug-in : 156001 - Apache Log4j - détection JAR (Windows)
- ID de plug-in : 156002 - Apache Log4j < 2.15.0 RCE
De plus, un plug-in complet Tenable.io Web App Scanning (WAS) a été publié et peut être utilisé pour tester des champs d'entrée pouvant être employés pour exploiter Log4Shell.
- ID de plug-in : 113075 - Apache Log4j RCE (Log4Shell)
Pour des informations d'assistance sur chacun des plug-ins ci-dessus, veuillez visiter cet article de blog sur notre communauté Tenable
Tenable a publié des modèles de scan pour Tenable.io, Tenable.sc et Nessus Professional, pré-configurés pour permettre un scan rapide de cette vulnérabilité. Les clients Tenable.io disposent également de nouveaux dashboard et widgets dans la bibliothèque de widgets. Les utilisateurs Tenable.sc ont également accès à un nouveau dashboard Log4Shell. Pour vous assurer que votre scanner est équipé des derniers plug-ins, Tenable recommande de mettre à jour manuellement votre ensemble de plug-ins. Les utilisateurs Nessus, dont ceux des scanners Tenable.io Nessus scanners, peuvent bénéficier de la commande CLI suivante :
nessuscli fix --secure --delete feed_auto_last
Pour plus d'informations sur l'utilisation de nessuscli, veuillez vous référer à cet article.
Les utilisateurs de Tenable.sc peuvent manuellement mettre à jour des plug-ins à l'aide des liens [Update] dans l'interface de configuration des plug-ins/feed, comme illustré sur la capture d'écran suivante
Les organisations qui ne disposent pas actuellement de produits Tenable peuvent s'inscrire pour un essai gratuit de Nessus Professional pour effectuer des scans à la recherche de cette vulnérabilité.
Où trouver plus d'informations
- Webinaire : Vulnerability Alert - Responding to Log4Shell in Apache Log4j
- Apache Log4j2-3201 : Limit the protocols jNDI can use and restrict LDAP
- Security Advisory: Apache Log4j2 remote code execution vulnerability (CVE-2021-44228)
- Log4Shell: RCE 0-day exploit found in log4j2, a popular Java logging package
- Apache Log4j 2 Release Page
- How Nessus Receives Plugins and Software Updates
Rejoignez l'équipe SRT (Security Response Team) de Tenable dans la communauté Tenable.
Apprenez-en plus surTenable, la première plateforme de cyber-exposition qui vous permet de gérer votre surface d'attaque moderne de manière globale.
Obtenez un essai de 30 jours gratuit de Tenable.io Vulnerability Management.
Articles connexes
- Vulnerability Management