Skip to content
KitploitKITPLOIT
OutilsBlog
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
log4j-finder — Trouvez les versions vulnérables de Log4j2 sur le disque et également dans les fichiers d'archive Java (Log4Shell CVE-2021-44228, CVE-2021-45046, CVE-2021-45105) | Kitploit
Outils/GitHubGitHub/fox-it/log4j-finder
Analyse StatiqueScanners de VulnérabilitésAnalyse des VulnérabilitésAnalyse de CodeSécurité de la Chaîne LogistiqueRéponse aux Incidents
GitHubfox-it/log4j-finder

log4j-finder

Trouvez les versions vulnérables de Log4j2 sur le disque et également dans les fichiers d'archive Java (Log4Shell CVE-2021-44228, CVE-2021-45046, CVE-2021-45105)

Voir le dépôt
43996il y a 3 ansVérifié par Kitploit

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

log4j-finder

Un script Python3 pour scanner le système de fichiers afin de trouver Log4j2 vulnérable à Log4Shell (CVE-2021-44228 & CVE-2021-45046 & CVE-2021-45105). Il scanne récursivement à la fois sur le disque et à l'intérieur des fichiers Java Archive (JARs), y compris imbriqués.

Résultats de log4j-finder

Comment ça marche

log4j-finder identifie les bibliothèques log4j2 sur votre système de fichiers à l'aide d'une liste de hachages MD5 connus comme malveillants et connus comme sûrs de fichiers spécifiques (actuellement uniquement JndiManager.class) présents dans les paquets log4j2-core-* ; le paquet principal touché par log4shell. Il recherche ces fichiers dans les fichiers Java Archive et sur le système de fichiers. La version de log4j2 est ensuite identifiée sur la base du hachage MD5 de ce fichier.

Pour optimiser la vitesse de scan, il scanne le système de fichiers et ne traite QUE les noms de fichiers suivants :

  • Tous les fichiers ayant des extensions Java ARchive dans le nom de fichier (également imbriqués dans ces archives) :
    • *.jar, *.war, *.ear
  • Les noms de fichiers pour lesquels nous disposons de hachages connus comme malveillants et connus comme sûrs (également à l'intérieur des archives ci-dessus, et dans les archives imbriquées) :
    • JndiManager.class

Si le fichier correspond à l'une des extensions mentionnées ci-dessus, il vérifiera à l'intérieur de ces archives (tout en mémoire, rien n'est décompressé) pour rechercher les noms de fichiers pour lesquels le script possède des hachages connus. Il cherche également dans les archives imbriquées, par exemple, un fichier JAR dans un fichier WAR.

Le script ne scanne PAS d'autres extensions de fichiers d'archives telles que 7z, RAR, TAR, BZ2, etc. Ainsi, par exemple, si un fichier JAR se trouve à l'intérieur d'un fichier 7z, le script ne le trouvera pas. La raison est que Java ne peut charger que les formats Java ARchive, donc nous ne scannons que ceux-ci.

Les hachages MD5 inconnus sont affichés comme UNKNOWN ; cela peut se produire si un paquet Java qui n'est pas log4j2 utilise le même nom de fichier que celui recherché par ce script. Il ne s'agit très probablement pas de log4j2 si le chemin du fichier identifié ne contient pas de références à org/apache/logging/log4j. Cependant, une vérification manuelle est toujours recommandée.

Téléchargement et exécution

Vous pouvez installer log4j-finder en utilisant l'une des méthodes suivantes :

Utilisation du binaire de la release

Vous pouvez télécharger le binaire correspondant à votre système d'exploitation :

  • Windows dernière release (signé) : log4j-finder-signed.exe
    • Les binaires non signés sont également disponibles mais peuvent déclencher votre antivirus car il s'agit d'un exécutable PyInstaller. Vous pouvez également générer vous-même l'exécutable, voir "Génération des exécutables log4j-finder" pour savoir comment faire.
  • Linux x86_64 dernière release : log4j-finder

Si vous êtes sous Linux, vous pouvez également télécharger la dernière release et l'exécuter de l'une des manières suivantes :

root@kitploit:~
curl -L https://github.com/fox-it/log4j-finder/releases/latest/download/log4j-finder -o log4j-finder
chmod +x log4j-finder
sudo ./log4j-finder
root@kitploit:~
wget https://github.com/fox-it/log4j-finder/releases/latest/download/log4j-finder -O log4j-finder
chmod +x log4j-finder
sudo ./log4j-finder

Utilisation de Python 3

Pour une distribution avec Python 3.6+ installé, l'une des méthodes suivantes fonctionne également :

root@kitploit:~
curl -L https://github.com/fox-it/log4j-finder/raw/main/log4j-finder.py -o log4j-finder.py
sudo python3 log4j-finder.py
root@kitploit:~
wget https://github.com/fox-it/log4j-finder/raw/main/log4j-finder.py
sudo python3 log4j-finder.py
root@kitploit:~
git clone https://github.com/fox-it/log4j-finder
cd log4j-finder
sudo python3 log4j-finder.py

Génération des exécutables log4j-finder

Exécutables générés automatiquement

Il y a une GitHub Action dans le dépôt qui génère automatiquement un binaire Windows et Linux du script log4j-finder.py en utilisant PyInstaller à chaque commit. Les artefacts de build de ces exécutions de workflow sont utilisés pour les attacher à la page des Releases.

Nous sommes conscients que certains éditeurs d'antivirus n'apprécient pas les binaires Windows ; dans ce cas, nous vous recommandons de générer vous-même l'exécutable en suivant les étapes ci-dessous (notez que nous fournissons désormais également des binaires signés).

Génération de l'exécutable Windows

  1. Si vous n'avez pas Python 3.6 ou une version supérieure installé, téléchargez-le d'abord depuis https://www.python.org/downloads/

    • Choisissez Python 3.8.10 si vous voulez que votre binaire fonctionne sous Windows 7 :
      • Téléchargez l'installateur Windows Python 3.8.10 (32 bits)
      • Téléchargez l'installateur Windows Python 3.8.10 (64 bits)
    • Assurez-vous de choisir pendant l'installation : Add Python 3.x to PATH, cela rend les étapes suivantes beaucoup plus faciles.
  2. Ouvrez une invite de commandes et utilisez pip pour installer le paquet pyinstaller :

    root@kitploit:~
    pip install pyinstaller
    
    # In the output you will see where pyinstaller is installed, for example:
    # C:\Users\User\AppData\Roaming\Python\Python310\Scripts
    #
    # Verify using --version
    C:\Users\User\AppData\Roaming\Python\Python310\Scripts\pyinstaller.exe --version
    4.7
    
  3. Vous pouvez également installer le paquet colorama pour ajouter la prise en charge des couleurs :

    root@kitploit:~
    pip install colorama
    
root@kitploit:~
pyinstaller --onefile --hidden-import colorama log4j-finder.py

L'exécutable Windows se trouve alors dans le répertoire dist : dist\log4j-finder.exe

Génération de l'exécutable Linux

Exemple donné pour Debian 11 :

root@kitploit:~
# Install PyInstaller using pip3
sudo apt update
sudo apt install python3-pip git
pip3 install --user pyinstaller

# Git clone and build using PyInstaller
git clone https://github.com/fox-it/log4j-finder
cd log4j-finder
~/.local/bin/pyinstaller --onefile log4j-finder.spec

# Verify that the binary works
./dist/log4j-finder --help

Utilisation

Exemple d'utilisation pour scanner un chemin (par défaut /) :

root@kitploit:~
$ python3 log4j-finder.py /path/to/scan

Ou directement un fichier JAR :

root@kitploit:~
$ python3 log4j-finder.py /path/to/jarfile.jar

Ou plusieurs répertoires et/ou fichiers :

root@kitploit:~
$ python3 log4j-finder.py /path/to/dir1 /path/to/dir2 /path/to/jarfile.jar

Exclure des fichiers ou des répertoires :

root@kitploit:~
$ python3 log4j-finder.py / --exclude "/*/.dontgohere" --exclude "/home/user/*.war"

Notez que sous Windows, il ne scanne que le lecteur racine c:\ si vous ne fournissez aucun argument supplémentaire. Nous vous recommandons de spécifier les lecteurs à scanner en ligne de commande, par exemple (les lecteurs qui n'existent pas sont ignorés) :

root@kitploit:~
log4j-finder.exe c:\ d:\ e:\ f:\

Les fichiers ou répertoires inaccessibles (erreurs Permission denied) ne sont pas affichés.

Si vous souhaitez voir plus de sortie, vous pouvez utiliser l'option -v pour le mode verbeux, ou -vv pour le mode débogage (recommandé uniquement à des fins de débogage).

Arguments de l'application :

root@kitploit:~
positional arguments:
  PATH                  Directory or file(s) to scan (recursively) (default:
                        ['/'])

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose         verbose output (-v is info, -vv is debug) (default: 0)
  -n, --no-color        disable color output (default: False)
  -q, --quiet           be more quiet, disables banner and summary (default:
                        False)
  -b, --no-banner       disable banner (default: False)
  -V, --version         show program's version number and exit
  -e PATTERN, --exclude PATTERN
                        exclude files/directories by pattern (can be used
                        multiple times) (default: None)

Les fichiers sont scannés récursivement, à la fois sur le disque et dans les fichiers Java Archive (imbriqués).

Télécharger l’outil
  • Téléchargez la dernière version du script log4j-finder.py puis exécutez PyInstaller :