L’ANSSI publie des règles de détection de l’exploitation Log4Shell
L'ANSSI a récemment mis à la disposition de tous un document contenant des éléments de détection de l'exploitation des vulnérabilités affectant Log4j.
La vulnérabilité Log4Shell et celles qui l'ont suivies à partir de novembre 2021 étaient les très mauvaises surprises de Noël pour un très grand nombre de RSSI, sysadmins et entreprises. Celles-ci sont activement utilisées et le seront encore probablement pendant plusieurs mois. En effet, plusieurs cas de ransomwares déployés par le biais de ces vulnérabilités sont déjà à déplorer.
- Le ransomware Conti exploite Log4Shell pour attaquer VMware vCenter
- La faille Log4Shell utilisée pour déployer un ransomware
Pour rappel, plusieurs vulnérabilités successives ont été découvertes sur cette librairie (Log4j) Java/J2EE ultra utilisée et permettant de journaliser et d'enrichir les journaux d'évènements d'une application. L'exploitation de ces vulnérabilités, à distance et sans authentification, permet in fine l'exécution de commande sur les serveurs impactés. L'exploitation consiste "simplement" en l'envoi d'une chaine de caractères spécialement formatée qui sera traitée par la librairie vulnérable. Plus d'informations ici : Log4Shell - Quels sont les produits vulnérables ?
Ce week-end, l'ANSSI a mis à la disposition de tous un document contenant des éléments de détection de l'exploitation de ces vulnérabilités pour l'outil Suricata. Ces différentes règles permettent, si vous avez déjà mis en place une infrastructure de détection adéquate, de prévenir ou de détecter une compromission liée aux vulnérabilités de log4j (CVE-2021-44228, CVE-2021-45046 et CVE 2021-451-05).
Les règles de détection proposées par l'ANSSI sont composées d'expressions régulières qui peuvent être utilisées dans d'autres outils que Suricata (pare-feu applicatif, journaux d'un serveur web, proxy, IDS, IPS, etc.). Elles sont divisées en deux groupes :
- Le premier groupe de règles concerne la détection d'injections liées à Log4Shell, ces règles visent les flux entrants sur plusieurs protocoles afin de maximiser les chances de détection.
- Le second groupe de règles cible les flux sortants et la détection de l'exploitation réussie de la vulnérabilité par le biais de l'interface JNDI, qui est la fameuse fonctionnalité problématique permettant de charger/injecter des classes Java à distance dans l'application vulnérable.
Pour aller plus loin dans la compréhension de cette vulnérabilité, je vous oriente vers ces trois ressources :
- Bulletin d'alerte du CERT-FR : Vulnérabilité dans Apache Log4j
- Le dossier "Log4Shell : 12 questions pour comprendre la faille de la décennie ?" de l'ActuSécu #57 d'XMCO.
- Podcast NoLimitSecu sur Log4Shell (fait entre l'apparition de la CVE-2021-44228 et des CVE-2021-45046 et CVE 2021-451-05).
Le guide de détection de l'ANSSI est disponible à cette URL : Vulnérabilités Log4j CVE-2021-44228 - CVE-2021-45046 - CVE-2021-45105 - Règles de détection
Attention toutefois, au vu de l'actualité brûlante autour de ces vulnérabilités, il se peut que de nouvelles règles et méthodes d'exploitation paraissent prochainement. Pour obtenir les dernières informations et règles de détection, je vous recommande fortement de suivre les mises à jour du bulletin d'alerte du CERT-FR : Vulnérabilité dans Apache Log4j. Ce bulletin contient les liens vers les derniers documents à jour des règles de détection. Ce même bulletin contient un grand nombre d'informations, notamment des contournements provisoires, des outils de test, etc.