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
Strumenti/GitHubGitHub/darkarnium/log4j-cve-detect
Analisi StaticaScanner di VulnerabilitàSicurezza dei ContenitoriAnalisi delle VulnerabilitàDevSecOpsAnalisi di BinariSicurezza della Supply Chain
GitHubdarkarnium/log4j-cve-detect

Log4j-CVE-Detect

Rilevamenti per CVE-2021-44228 all'interno di binari annidati

Vedi Repository
35744 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

Log4J-CVE-Detect

Questo repository contiene una serie di regole YARA per rilevare versioni di log4j vulnerabili a CVE-2021-44228, CVE-2021-45046 e/o CVE-2021-45105, cercando una serie di caratteristiche presenti nelle versioni affette.

Questo strumento opera in modo ricorsivo su file binari come immagini Docker, pacchetti di sistema, immagini del filesystem e persino supporti di installazione. Vedi la sezione "Come funziona?" per un elenco completo dei formati di file supportati.

  • CVE-2021-44228
    • Cerca la firma di un costruttore JndiManager (< 2.15.0).
  • CVE-2021-45046
    • Cerca classi Interpolator che non importano JndiManager (< 2.16.0).
  • CVE-2021-45105
    • Cerca classi AbstractConfiguration che non importano ConfigurationStrSubstitutor (< 2.17.0).

Sebbene siano disponibili numerose risorse per rilevare l'uso non sicuro di log4j tramite CodeQL o Semgrep, non sono ancora state rese disponibili risorse per il rilevamento di versioni di log4j potenzialmente vulnerabili all'interno di artefatti binari.

Ciò rappresenta una sfida per le organizzazioni che eseguono applicazioni enterprise non sviluppate internamente, o per le quali il codice sorgente non è immediatamente disponibile ai team che effettuano il triage iniziale.

Poiché è probabile che questa vulnerabilità compaia in vari luoghi "inaspettati", questo strumento intende aiutare a rilevare versioni vulnerabili di log4j all'interno di artefatti compilati, che possono poi essere esaminati manualmente per determinarne lo sfruttamento.

Avvertenze

Il codice offuscato comporterà falsi negativi, in cui un componente potenzialmente vulnerabile non può essere rilevato a causa dell'uso dell'offuscamento.

Esecuzione

Per eseguire questo strumento, clona questo repository e segui i seguenti passaggi. Si presuppone che Docker e jq siano installati.

  1. Aggiungi i binari da controllare nella cartella artifacts/
  2. Esegui quickstart.sh (./quickstart.sh)

In alternativa, l'esecuzione può essere personalizzata utilizzando il seguente comando:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/vulnerability.json" \
      "/mnt/stacs/input"

Se desideri cercare solo CVE-2021-44228, puoi utilizzare il seguente comando:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/CVE-2021-44228.json" \
      "/mnt/stacs/input"

Se desideri cercare solo CVE-2021-45046, puoi utilizzare il seguente comando:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/CVE-2021-45046.json" \
      "/mnt/stacs/input"

Se desideri cercare solo CVE-2021-45105, puoi utilizzare il seguente comando:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/CVE-2021-45105.json" \
      "/mnt/stacs/input"

Questo strumento può essere eseguito anche senza Docker. Consulta le istruzioni di installazione di STACS per installare STACS senza Docker.

E Docker?

Per scansionare un'immagine Docker, è necessario prima esportarla nella directory artifacts per la scansione. Questa operazione può essere eseguita utilizzando il seguente comando:

root@kitploit:~
IMAGE="alpine:latest"
NAME="alpine_latest"

docker export $(docker create ${IMAGE}) -o artifacts/${NAME}.tar

In alternativa, un container in esecuzione può essere esportato semplicemente utilizzando:

root@kitploit:~
# Replace CONTAINER_ID with the correct container identifier.
CONTAINER_ID="c29209118f9a"
NAME="widget_example"

docker export ${CONTAINER_ID} -o artifacts/${NAME}.tar

Ho ricevuto un riscontro! Cosa devo fare?

Dovrai indagare sull'uso di log4j nell'applicazione per capire se il prodotto è vulnerabile. Se ciò non è possibile, per mancanza di accesso al codice sorgente o per altri motivi, dovresti verificare se il fornitore ha pubblicato eventuali advisory in merito.

Non vi è alcuna garanzia che la presenza di una versione vulnerabile di log4j significhi che il prodotto è vulnerabile!

Se non riesci a trovare alcun advisory, dovresti contattare il fornitore per chiedere informazioni sull'impatto di questa vulnerabilità sul prodotto.

Consulta anche le mitigazioni pubblicate dal progetto log4j. In alternativa, e preferibilmente, esegui l'upgrade a una versione non affetta di log4j.

Come funziona?

Sebbene non sia stato progettato per questo scopo, questo strumento utilizza il motore STACS per la decomposizione e l'analisi binaria di massa.

STACS è uno scanner statico di credenziali basato su YARA che supporta formati di file binari, l'analisi di archivi annidati, set di regole componibili e liste di esclusione, e reportistica SARIF.

Ad esempio, questo strumento può analizzare un tarball che contiene un'immagine Docker esportata, la quale contiene un JAR da qualche parte nel filesystem affetto da questa vulnerabilità.

Può anche analizzare archivi annidati tar, jar, war, ear, zip, apk, bz2, tgz, xz, rpm, iso, ecc.

Ho trovato un falso positivo / negativo

Apri una issue su GitHub descrivendo il problema e collegando l'artefatto binario interessato, ove possibile.

Anche le pull request per adattare i ruleset sarebbero molto apprezzate!

Validazione

Consulta la directory validation/ per un set di file di log derivanti dalla validazione di questo ruleset.

Scarica lo strumento