Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
log4j-detector — Scanner di file system che rileva versioni vulnerabili di Log4J (CVE-2021-44228, CVE-2021-45046) analizzando classi Java compilate, inclusi archivi annidati. Funziona su Linux, Windows e Mac. | Kitploit
Strumenti/GitHubGitHub/mergebase/log4j-detector
Analisi StaticaScanner di VulnerabilitàAnalisi delle VulnerabilitàSicurezza della Supply Chain
GitHubmergebase/log4j-detector

log4j-detector

Scanner di file system che rileva versioni vulnerabili di Log4J (CVE-2021-44228, CVE-2021-45046) analizzando classi Java compilate, inclusi archivi annidati. Funziona su Linux, Windows e Mac.

Vedi Repository
64096214 anni faRevisionato da Kitploit

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 →
Condividi

logo di MergeBase

Log4j-detector

Scanner che rileva versioni vulnerabili di Log4J per aiutare i team a valutare la loro esposizione a CVE-2021-44228 (CRITICA), CVE-2021-45046, CVE-2021-45105 e CVE-2021-44832. Può cercare istanze di Log4J esaminando attentamente l'intero file-system, incluse tutte le applicazioni installate. È in grado di trovare istanze di Log4J nascoste a diversi livelli di profondità. Funziona su Linux, Windows e Mac, e ovunque Java sia eseguito!

Indice

  • Introduzione
  • Esempio d'uso
  • Altri esempi d'uso
  • Interpretazione dei risultati
  • Utilizzo
  • Compilazione dal sorgente
  • Test
  • Licenza
  • Domande frequenti
    • Come funziona?
    • Questo scanner segnala solo risultati contro la libreria log4j-core. E log4j-api?
    • Perché segnalare 2.10.0, 2.15.0 e 2.16.0?
    • Cosa sono quei risultati "file1.war!/path/to/file2.zip!/path/to/file3.jar!/path/to/log4j.jar"?
    • Che dire di Log4J 1.2.x ?
    • Come posso essere sicuro che non sia un trojan che si spaccia per un rilevatore Log4J?
  • Cosa è MergeBase?

Introduzione

Attualmente segnala le versioni log4j-core 2.3.2, 2.12.4 e 2.17.1 come _SAFE_, 2.3.1, 2.12.2, 2.12.3, 2.15.0, 2.16.0 e 2.17.0 come _OKAY_ e tutte le altre versioni come _VULNERABLE_ (sebbene segnali le versioni precedenti alla 2.0-beta9 come _POTENTIALLY_SAFE_). Segnala le versioni più vecchie di log4j-1.x come _OLD_.

Riesce a rilevare correttamente log4j all'interno di jar/war eseguibili spring-boot, dipendenze mescolate in uber jar, jar shadowati e persino file jar esplosi (cioè *.class) semplicemente seduti decompressi sul file-system.

Manteniamo una raccolta di log4j-samples che utilizziamo per i test.

Esempio d'uso:

java -jar log4j-detector-2021.12.29.jar ./samples 

-- github.com/mergebase/log4j-detector v2021.12.29 (by mergebase.com) analyzing paths (could take a while).
-- Note: specify the '--verbose' flag to have every file examined printed to STDERR.
false-hits/log4j-core-2.12.2.jar contains Log4J-2.x   == 2.12.2 _OKAY_
false-hits/log4j-core-2.12.3.jar contains Log4J-2.x   == 2.12.3 _OKAY_
false-hits/log4j-core-2.12.4.jar contains Log4J-2.x   == 2.12.4 _SAFE_
false-hits/log4j-core-2.15.0.jar contains Log4J-2.x   == 2.15.0 _OKAY_
false-hits/log4j-core-2.16.0.jar contains Log4J-2.x   == 2.16.0 _OKAY_
false-hits/log4j-core-2.17.0.jar contains Log4J-2.x   == 2.17.0 _OKAY_
false-hits/log4j-core-2.17.1.jar contains Log4J-2.x   >= 2.17.1 _SAFE_
false-hits/log4j-core-2.3.1.jar contains Log4J-2.x   == 2.3.1 _OKAY_
false-hits/log4j-core-2.3.2.jar contains Log4J-2.x   == 2.3.2 _SAFE_
true-hits/log4j-core-2.0-beta9.jar contains Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
true-hits/log4j-core-2.10.0.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.10.0.zip contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.11.0.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.11.1.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.11.2.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.12.0.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.12.1.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.14.0.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.14.1.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.2.jar contains Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
true-hits/log4j-core-2.3.jar contains Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
true-hits/log4j-core-2.4.1.jar contains Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
true-hits/log4j-core-2.4.jar contains Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
true-hits/log4j-core-2.9.1.jar contains Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
old-hits/log4j-1.1.3.jar contains Log4J-1.x   <= 1.2.17 _OLD_
old-hits/log4j-1.2.17.jar contains Log4J-1.x   <= 1.2.17 _OLD_
old-hits/log4j-core-2.0-beta2.jar contains Log4J-2.x   <= 2.0-beta8 _POTENTIALLY_SAFE_ (Did you remove JndiLookup.class?)

Interpretazione dei risultati

_VULNERABLE_ -> Devi aggiornare o rimuovere questo file.

_OKAY_ -> Segnaliamo questo per le versioni Log4J 2.3.1, 2.12.2, 2.12.3, 2.15.0, 2.16.0 e 2.17.0. Raccomandiamo di aggiornare alla 2.17.1.

_SAFE_ -> Attualmente segnaliamo questo solo per le versioni Log4J 2.3.2, 2.12.4 e 2.17.1 (e successive).

_OLD_ -> Sei al sicuro da CVE-2021-44228, ma dovresti pianificare un aggiornamento perché Log4J 1.2.x è in EOL da 7 anni e presenta diverse vulnerabilità note.

_POTENTIALLY_SAFE_ -> Il file "JndiLookup.class" non è presente, o perché la tua versione di Log4J è molto vecchia (precedente alla 2.0-beta9), o perché qualcuno ha già rimosso questo file. Assicurati che sia stato qualcuno del tuo team o della tua azienda a rimuovere "JndiLookup.class" se è questo il caso, perché gli aggressori sono noti per rimuovere questo file da soli per impedire ad altri aggressori concorrenti di ottenere l'accesso a sistemi compromessi.

Utilizzo

java -jar log4j-detector-2021.12.29.jar 

Usage: java -jar log4j-detector-2021.12.29.jar [--verbose] [--json] [--stdin] [--exclude=X] [paths to scan...]

  --json       - Output STDOUT results in JSON.  (Errors/warning still emitted to STDERR)
  --stdin      - Read STDIN for paths to explore (one path per line)
  --exclude=X  - Where X is a JSON list containing full paths to exclude. Must be valid JSON.

                 Example: --exclude='["/dev", "/media", "Z:\TEMP"]'

Exit codes:  0 = No vulnerable Log4J versions found.
             1 = At least one legacy Log4J 1.x version found.
             2 = At least one vulnerable Log4J version found.

About - MergeBase log4j detector (version 2021.12.29)
Docs  - https://github.com/mergebase/log4j-detector 
(C) Copyright 2021 Mergebase Software Inc. Licensed to you via GPLv3.

Compilazione dal sorgente:

git clone https://github.com/mergebase/log4j-detector.git
cd log4j-detector/
mvn install
java -jar target/log4j-detector-latest.jar

Test:

Manteniamo una raccolta di campioni log4j qui: https://github.com/mergebase/log4j-samples

Licenza

GPL versione 3.0

Domande frequenti

Come funziona?

Il compilatore Java memorizza le stringhe letterali direttamente nei file *.class compilati. Se log4j-detector rileva un file chiamato "JndiManager.class" sul tuo file-system, lo esamina per trovare questa stringa: "Invalid JNDI URI - {}". Risulta che quella specifica stringa letterale è presente solo nella versione patchata di Log4J (versione 2.15.0). Qualsiasi versione di Log4J senza quella stringa è vulnerabile.

Questa stessa tecnica di esaminare i file *.class per le stringhe letterali è ulteriormente estesa per rilevare con precisione le versioni sicure 2.3.2, 2.12.4 e 2.17.1.

Scarica lo strumento