
un rapido controllo, se il tuo server potrebbe essere vulnerabile a CVE-2021-44228
Se desideri utilizzare i download cradle di Windows/Linux qui sotto, controlla prima gli script. Caricare codice da internet ed eseguirlo è ciò che ci ha portati qui con Log4Shell, giusto? ;-)
Lo script log4j_checker_beta.sh viene utilizzato per eseguire un controllo rapido per verificare se il tuo server potrebbe essere affetto da CVE-2021-44228 (la vulnerabilità di log4j).
Non fornisce una prova al 100% che tu non sia vulnerabile, ma dà un indizio se è possibile che tu possa essere vulnerabile.
wget https://raw.githubusercontent.com/rubo77/log4j_checker_beta/main/log4j_checker_beta.sh -q -O - |bash
Se vuoi vedere solo gli avvisi usa
wget https://raw.githubusercontent.com/rubo77/log4j_checker_beta/main/log4j_checker_beta.sh -q -O - | bash | grep '\[WARNING\]'
Assicurati che il database locate sia aggiornato prima di eseguire con
sudo updatedb
Lo script può testare i file .class al primo livello degli archivi JAR/WAR/EAR per vedere se corrispondono a hash sha256 noti di file di classe vulnerabili di log4j.
Devi fornire un download di un file di testo semplice con hash sha256 in formato HEX, uno per riga; tutto ciò che segue il primo viene ignorato.
L'URL può essere inserito nella variabile download_file. Altrimenti questa funzione non funzionerà.
Le informazioni pubblicate da Lunasec.io sugli hash dei file binari Java .class vulnerabili:
https://github.com/lunasec-io/lunasec/blob/master/tools/log4shell/constants/vulnerablehashes.go
Vedi anche il loro blog: https://www.lunasec.io/docs/blog/log4j-zero-day-mitigation-guide/
Abbiamo incluso un SHA256_HASHES_URL nello script che punta al file hashes-pre-cve.txt in questo repository. Puoi però aggiungere il tuo URL come primo parametro dello script nella shell o utilizzare un file locale, ad esempio salva il tuo file in hashes-pre-cve_local.txt e poi esegui:
./log4j_checker_beta.sh hashes-pre-cve_local.txt
I comandi locate e unzip devono essere installati. unzip per ispezionare i file jar.
Per installare su sistemi Debian e Ubuntu:
sudo apt install unzip locate
sudo updatedb
Puoi usare lo snippet
IEX (New-Object Net.Webclient).downloadstring("https://raw.githubusercontent.com/anlx-sw/log4j_checker_beta/main/get-vulnerablejars.ps1")
per controllare direttamente i file jar potenzialmente vulnerabili su Windows. Oppure puoi scaricare questo script e indirizzare l'output a una condivisione file scrivibile. Ha funzionato ancora per me con Powershell 2.0 su Windows Server 2012.
La gestione degli errori o funzionalità aggiuntive non sono state aggiunte appositamente per mantenerlo breve, semplice e compatibile con Powershell 2.0 e versioni precedenti di Windows. Questo script controlla solo i file jar e cerca la stringa "JndiLookup.class" che indica una libreria vulnerabile. Usa lo strumento che preferisci per eseguirlo con permessi di amministratore (o usalo manualmente).
In alternativa, se non puoi usare powershell, puoi usare questo snippet per il prompt dei comandi per scansionare l'unità corrente per file jar con "JndiLookup.class". Dopo aver eseguito questa riga con permessi di amministratore, controlla il file c:\log4j-vuln.txt per file vulnerabili.
cd \ && for /r %f in (*.jar) do (find /i /c "JndiLookup.class" "%f" 1>nul && echo "%f" >> "c:\log4j-vuln.txt")