
L'obiettivo è fare triage di attacchi noti e imparare come i team di sicurezza rispondono rapidamente.
Per questo laboratorio, l'obiettivo era analizzare un'altra vulnerabilità reale e ben nota, Log4Shell, una delle vulnerabilità più sfruttate degli ultimi anni a causa della diffusione della libreria interessata nel software aziendale.
Sono andato al National Vulnerability Database e ho cercato la CVE:
https://nvd.nist.gov/vuln/search#/nvd/home?resultType=records
Ho cercato CVE-2021-44228 e ho aperto la pagina dei risultati.
Dopo aver letto la descrizione, ho risposto ad alcune domande di base per capire cosa è effettivamente a rischio:
Ho trovato il punteggio CVSS e la stringa del vettore elencati nella pagina:

Ho esaminato la stringa del vettore pezzo per pezzo per capire cosa significava ogni parte:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Questa è una delle stringhe del vettore peggiori in assoluto: nessun privilegio richiesto, nessuna interazione con l'utente, raggiungibile tramite rete, e può persino influenzare elementi esterni al componente vulnerabile stesso (Ambito: Modificato). Questa combinazione è parte del motivo per cui Log4Shell è stata trattata come una questione così urgente e diffusa quando è stata divulgata.
Ho controllato la sezione Weakness Enumeration nella pagina NVD per questa CVE.
La CWE elencata è CWE-917: Improper Neutralization of Special Elements used in an Expression Language Statement. In termini semplici, significa che il software accetta input e lo valuta come parte di un'espressione senza controllarlo adeguatamente prima, ed è ciò che ha permesso agli attaccanti di introdurre ricerche JNDI dannose tramite normali messaggi di log.


Ho considerato se trattare questa vulnerabilità come un rischio più alto o più basso in due scenari diversi.
Scenario 1: Il software vulnerabile è attivo e raggiungibile. Rischio più alto. Questa vulnerabilità consente a un attaccante di accedere e modificare le istruzioni EL (Expression Language), compromettendo direttamente riservatezza e integrità.
Scenario 2: Il software vulnerabile è installato su una macchina spenta e non raggiungibile. Rischio più basso. Se il software vulnerabile non può essere raggiunto in alcun modo, riservatezza e integrità rimangono intatte, poiché non c'è modo per un attaccante di interagire con esso.
Tra le CVE che ho analizzato finora, questa si è distinta per quanto poco serve a un attaccante per sfruttarla: nessun privilegio, nessuna interazione con l'utente, solo accesso alla rete, insieme al fatto che la vulnerabilità poteva colpire sistemi oltre il componente stesso. È un buon esempio del perché Log4Shell ha causato un così diffuso trambusto in tutto il settore quando è stata rilasciata.