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
log4jcheck — Uno script che verifica la presenza di sistemi Log4j vulnerabili (CVE-2021-44228) iniettando il payload nelle comuni intestazioni HTTP. | Kitploit
Strumenti/GitHubGitHub/northwavesecurity/log4jcheck
RicognizioneScanner di VulnerabilitàScanner di Vulnerabilità WebExploitRaccolta InformazioniAnalisi DNS
GitHubnorthwavesecurity/log4jcheck

log4jcheck

Uno script che verifica la presenza di sistemi Log4j vulnerabili (CVE-2021-44228) iniettando il payload nelle comuni intestazioni HTTP.

Vedi Repository
126234 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
Sito web

Northwave Log4j CVE-2021-44228 checker

Venerdì 10 dicembre 2021 è stata pubblicata una nuova Proof-of-Concept 1 relativa a una vulnerabilità di esecuzione remota di codice (RCE) nella libreria Java 'log4j' 2. Questa vulnerabilità non era stata divulgata preventivamente agli sviluppatori del software. La vulnerabilità è tracciata come CVE-2021-44228 3. Ulteriori informazioni sulla vulnerabilità sono disponibili nella Northwave Threat Response 4.

Northwave ha creato uno script di test che verifica la presenza di sistemi vulnerabili tramite l'iniezione del payload negli header HTTP comuni e come parte di una richiesta HTTP GET. I sistemi vulnerabili vengono rilevati ascoltando le richieste DNS in entrata che contengono un UUID creato specificamente per il target. Ascoltando il DNS in entrata invece di implementare (ad esempio) un server LDAP, aumentiamo la probabilità di rilevare sistemi vulnerabili che hanno un filtro del traffico in uscita. In pratica, il DNS in uscita è spesso consentito. Ci si aspetta un alto tasso di falsi negativi; si prega di leggere l'avvertenza.

Copertura:

Sono coperti i seguenti header HTTP:

  • X-Api-Version
  • User-Agent
  • Referer
  • X-Druid-Comment
  • Origin
  • Location
  • X-Forwarded-For
  • Cookie
  • X-Requested-With
  • X-Forwarded-Host
  • Accept

Per ogni iniezione, vengono controllati i seguenti prefissi JNDI:

  • jndi:rmi
  • jndi:ldap
  • jndi:dns
  • jndi:${lower:l}${lower:d}ap

DISCLAIMER

Si noti che lo script esegue solo due controlli specifici: header HTTP e richiesta HTTP GET. Ciò causerà falsi negativi nei casi in cui è necessario prendere di mira altri header, campi di input specifici, eccetera per attivare la vulnerabilità. Questo è molto probabile che accada.

IMPORTANTE: nei casi in cui il checker restituisce 'no vulnerability detected', procedere con i controlli del filesystem come descritto nella Northwave Threat Response 4. Eseguire solo questo checker non è sufficiente per determinare se un sistema è vulnerabile o meno.

Configurazione di un server DNS

Per prima cosa, abbiamo bisogno di un sottodominio da usare per ricevere le richieste DNS in entrata. In questo caso usiamo la zona log4jdnsreq.northwave.nl e implementiamo il nostro script su log4jchecker.northwave.nl. Configurare una voce DNS come segue:

root@kitploit:~
log4jdnsreq 3600 IN  NS log4jchecker.northwave.nl.

Ora configuriamo un server DNS BIND su un sistema Debian usando apt install bind9 e aggiungiamo quanto segue al file /etc/bind/named.conf.options:

root@kitploit:~
	recursion no;
	allow-transfer { none; };

Questo disabilita la ricorsione, perché non vogliamo eseguire un server DNS aperto. Configura il logging in /etc/bind/named.conf.local aggiungendo la seguente configurazione:

root@kitploit:~
logging {
	channel querylog {
		file "/var/log/named/query.log";
		severity debug 3;
		print-time yes;
	};
	category queries { querylog;};
};

Non dimenticare di riavviare BIND usando systemctl restart bind9. Verifica che il logging funzioni eseguendo una query DNS per xyz.log4jdnsreq.northwave.nl. Una o più query dovrebbero comparire in /var/log/named/query.log.

Verifica del tuo server DNS

È importante verificare che le lookup del nameserver vengano effettivamente registrate. Questo script non può rilevare siti vulnerabili a meno che la configurazione del nameserver non registri le richieste

Metti alla prova il tuo server eseguendo una lookup di test (idealmente da una macchina diversa):

root@kitploit:~
dig test.log4jchecker.northwave.nl

Non dovresti aspettarti una risposta, ma dovresti aspettarti una voce nel file di log (cat /var/log/named/query.log). Questa voce potrebbe essere simile a:

root@kitploit:~
14-Dec-2021 13:36:01.402 client @0x7f8b180a9b30 requester-ip#58755 (test.log4jchecker.northwave.nl): query: test.log4jchecker.northwave.nl IN A -E(0)DC (your-ip)

Non continuare se non vedi una risposta nei log. Senza di essa lo script non rileverà le vulnerabilità.

Esecuzione dello script

Installa le dipendenze Python usando pip install -r requirements.txt. Modifica lo script per cambiare la riga seguente con la zona DNS che hai configurato:

root@kitploit:~
HOSTNAME = "log4jdnsreq.northwave.nl"

Ora puoi eseguire lo script fornendo un singolo URL tramite il parametro -u o un elenco di URL tramite il parametro -l:

root@kitploit:~
usage: nw_log4jcheck.py [-h] [-l LIST] [-u URL] [-w WAIT] [-t TIMEOUT]

optional arguments:
  -h, --help            show this help message and exit
  -l LIST, --list LIST  A text file with a list of URLs to check (one url per line)
  -u URL, --url URL     URL to check (for example: http://yoururl.com)
  -w WAIT, --wait WAIT  Number of seconds to wait before checking DNS logs (default: 15)
  -t TIMEOUT, --timeout TIMEOUT
                        HTTP timeout in seconds to use (default: 5)

L'ultima riga dell'output mostra se il sistema è stato trovato vulnerabile:

root@kitploit:~
NO VULNERABILITY DETECTED. Proceed with on-server checking. No incoming DNS request to 3414db71-309a-4288-83d4-aa3f103db97c.log4jdns.northwave.nl was seen

Nel caso in cui non venga rilevata alcuna vulnerabilità, procedi con i controlli del filesystem come descritto nella Northwave Threat Response 4. Ancora una volta, eseguire solo questo checker non è sufficiente per determinare se un sistema è vulnerabile o meno.

Licenza

Log4jcheck è un software open-source concesso in licenza secondo la licenza MIT.

Scarica lo strumento