Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
log4shell_sentinel — Un scanner intelligent Log4Shell/Log4j/CVE-2021-44228 | Kitploit
Outils/GitHubGitHub/ossie-git/log4shell_sentinel
Scanners de VulnérabilitésSécurité des ConteneursAnalyse des VulnérabilitésAnalyse ForensiqueRéponse aux IncidentsAnalyse de Journaux
GitHubossie-git/log4shell_sentinel

log4shell_sentinel

Un scanner intelligent Log4Shell/Log4j/CVE-2021-44228

Voir le dépôt
14126il y a 4 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Log4Shell Sentinel - Un scanner intelligent pour CVE-2021-44228

Introduction

Bien que d'excellents outils aient été publiés pour aider les organisations à analyser leurs environnements à la recherche d'applications vulnérables à la faille critique Log4J / CVE-2021-44228, j'ai constaté que :

  • aucun des outils que j'ai rencontrés n'avait été conçu pour permettre aux analystes de suivre une découverte donnée tout au long du processus de remédiation. Log4Shell Sentinel génère ses découvertes au format CSV en s'attendant à ce que l'analyste découpe et analyse ensuite les découvertes dans Excel, ajoute certaines découvertes à une liste d'ignorés et relance l'analyse, compare les analyses, ajoute des données aux résultats d'analyse, etc.
  • les scanners basés sur les fichiers laissent beaucoup de travail aux analystes, en particulier dans les environnements conteneurisés

C'est ainsi qu'est né Log4Shell Sentinel. Log4Shell Sentinel est un scanner basé sur les fichiers doté de fonctionnalités uniques. Il n'a pas vocation à remplacer tous les autres outils disponibles mais peut les compléter.

Fonctionnalités

Log4Shell Sentinel est un scanner basé sur les fichiers. Il recherche les applications basées sur Java en analysant un système cible à la recherche d'artefacts des formats de fichiers suivants :

Type de fichierDétails
Jar simpleC'est le cas où le fichier log4j-core n'est pas intégré.
Fat / Uber jarUn uber jar est un jar qui contient à la fois vos classes / packages et toutes les dépendances de votre application (bibliothèques, ressources et fichiers de métadonnées) dans un seul fichier jar. C'est l'option de déploiement la plus couramment utilisée.
WARUn fichier war (Web Application Archive) est un fichier qui contient votre code JSP, HTML et JavaScript en plus de vos bibliothèques et autres ressources. Ce format est moins couramment utilisé.
EARUn ear (Enterprise Application Archive) est un autre format qui était plus couramment utilisé avec Jakarta EE pour les déploiements.

et recherche les instances de jars log4j-core vulnérables. Ensuite, il :

  • calcule une empreinte MD5 de l'artefact. Cela permet à un analyste d'identifier la même application exécutée sur différentes machines / conteneurs et de la traiter comme une seule découverte

  • pour les fichiers identifiés comme appartenant à un conteneur, tels que : /var/lib/docker/overlay2/192768f471818601094bf4edd96d14bfc0e2b178a04a2efd00b2231ad4e46b33/merged/app/spring-boot-application.jar, il fait le gros du travail en mappant le fichier vers l'image correspondante. Par exemple, il traduirait le chemin ci-dessus en l'image suivante : ghcr.io/christophetd/log4shell-vulnerable-app:latest. Étant donné que les différents runtimes de conteneurs stockent ce mappage de différentes manières, cela peut éviter des heures de frustration à un analyste. Cela permet également à un analyste de traiter un certain nombre de conteneurs exécutant une seule application comme une seule découverte

  • il supprime les correspondances inutiles, telles que les correspondances relatives à des conteneurs actuellement non exécutés, y compris les images en cache. Cela permet à un analyste de se concentrer sur l'essentiel et lui évite encore des heures de travail inutile

  • il permet à un analyste d'ignorer des correspondances en fonction de :

    • l'empreinte MD5
    • le chemin du fichier
    • l'image du conteneur

    Cela permet à l'analyste de supprimer les applications dont il sait qu'elles ne sont pas vulnérables ou qui correspondent à des applications basées sur une interface en ligne de commande (CLI) ne présentant pas de menace. Par exemple, si une instance de Logstash est détectée, un analyste peut choisir de l'ignorer s'il n'exécute pas l'outil ou s'il l'exécute simplement occasionnellement en ligne de commande.

  • il est optimisé pour fonctionner avec vos outils de gestion de configuration tels qu'Ansible, vous donnant la possibilité d'analyser rapidement votre environnement en quelques minutes

Enrichissement des métadonnées

Pour plus de détails sur l'enrichissement des métadonnées ajouté par Log4Shell Sentinel, consultez mon article de blog post.

Installation

Le moyen le plus simple est de télécharger le binaire pré-compilé.

Compilation à partir des sources

Là encore, c'est simple. Cependant, vous voudrez probablement compiler une version statique pour contourner les éventuelles variations liées à GLIBC dans votre environnement. L'outil utilise les modules suivants qui utilisent CGO par défaut :

  • os/user
  • net

Pour compiler une version statique qui utilise les versions Go de ces bibliothèques, clonez simplement le dépôt puis exécutez :

$ CGO_ENABLED=0 go build -ldflags="-s -w"
$ ldd log4shell_sentinel
        not a dynamic executable

Utilisation

$ ./log4shell_sentinel -h
NAME:
   Log4Shell Sentinel - by Osama Elnaggar

USAGE:
   log4shell_sentinel [global options] command [command options] [arguments...]

VERSION:
   v1.0.0

COMMANDS:
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --path value, -p value       Path to search (default: ".")
   --no-banner, --nb            Suppress banner (default: false)
   --no-messages, --nm          Suppress messages except for CSV output (default: false)
   --no-header, --nh            Suppress header in CSV output (default: false)
   --imd5 value, --im value     Ignore MD5 hashes. Refer to the GitHub page for expected format
   --ipath value, --ip value    Ignore file path matches. Refer to the GitHub page for expected format
   --icimage value, --ic value  Ignore container image matches. Refer to the GitHub page for expected format
   --print-headers, --ph        Print CSV Headers only (default: false)
   --help, -h                   show help (default: false)
   --version, -v                print the version (default: false)

Par défaut, une analyse se contente d'analyser le répertoire courant. Par exemple :

$ ./log4shell_sentinel

░█░░░█▀█░█▀▀░█░█░█▀▀░█░█░█▀▀░█░░░█░░░░░█▀▀░█▀▀░█▀█░▀█▀░▀█▀░█▀█░█▀▀░█░░
░█░░░█░█░█░█░░▀█░▀▀█░█▀█░█▀▀░█░░░█░░░░░▀▀█░█▀▀░█░█░░█░░░█░░█░█░█▀▀░█░░
░▀▀▀░▀▀▀░▀▀▀░░░▀░▀▀▀░▀░▀░▀▀▀░▀▀▀░▀▀▀░░░▀▀▀░▀▀▀░▀░▀░░▀░░▀▀▀░▀░▀░▀▀▀░▀▀▀

- A CVE-2021-44228/CVE-2021-45046/CVE-2021-45105 Scanner
- v1.0.0
- by Osama Elnaggar

[*] WARNING: Running as non-root user.
             Non-readable files / dirs will be skipped
             Container mapping will fail

[*] Starting shallow scan ............ [DONE]
[*] Starting deep scan ............... [DONE]
[*] Calculating MD5 hashes ........... [DONE]
[*] Performing container image lookups [DONE]
[*] Processing ignore list(s) ........ [DONE]
[*] Generating output ................ [DONE]

IP,Hostname,AppName,Team,Ignore (Y/N),Comments,MD5Hash,Timestamp,Container,ContainerImage,FullPath,Version
192.168.121.121,server3,,,,,4e615cd580758b70c49ade1f79103328,2021-12-21T07:38:09Z,true,ghcr.io/christophetd/log4shell-vulnerable-app:latest,/run/containerd/io.containerd.runtime.v2.task/k8s.io/dc2c9c214809f506283c917244cd126a9b056ac7274322d12b59c9196d95dd9b/rootfs/app/spring-boot-application.jar,log4j-core-2.14.1.jar

Vous obtiendrez immédiatement un AVERTISSEMENT si vous l'exécutez en tant qu'utilisateur non-root, car il nécessite les permissions root :

  • si vous prévoyez d'analyser l'intégralité de votre système de fichiers (recommandé)
  • si vous prévoyez d'enrichir les résultats en effectuant des recherches conteneur -> image (l'accès au démon Docker, aux fichiers de configuration, etc. est requis)

Il fonctionnera toujours sans privilèges root mais pourrait ne pas vous donner les meilleurs résultats.

Comprendre les découvertes

Un exemple de découverte ressemble à ceci :

Télécharger l’outil