WEAPONIZING-CVE-2024-4367
CVE-2024-4367 è una vulnerabilità critica (CVSS 9.8) in PDF.js, che consente l'esecuzione arbitraria di codice JavaScript a causa di controlli di tipo insufficienti sull'oggetto FontMatrix all'interno dei file PDF.
CVE-2024-4367 Exploit Wizard: Guida per l'Utente
| IDENTIFICATORE CVE | CVE-2024-4367 |
|---|
| GRAVITÀ | Critica (Punteggio CVSS: 9.8) |
| VULNERABILITÀ | Esecuzione arbitraria di codice JavaScript in PDF.js a causa di controlli di tipo insufficienti sull'oggetto FontMatrix |
| SFRUTTAMENTO | File PDF creati ad arte possono eseguire JavaScript nel browser della vittima, portando a furto di dati, XSS o RCE. |
1. Configurazione dell'Ambiente
Prerequisiti
-
Sistema Operativo:
- Una distribuzione Linux basata su Debian/Ubuntu o equivalente, con privilegi amministrativi.
- Assicurarsi che Python 3.x sia installato (
python3 --version).
-
Configurazione dello Script:
- Salvare lo script di exploit in una directory a scelta (es.
~/cve-2024-4367/) con il nome file cve_2024_4367_exploit_wizard.py.
-
PDF Template:
- Posizionare un file PDF benigno denominato
template.pdf nella stessa directory. Questo file servirà come base per il PDF dannoso.
-
Social Engineering Toolkit (SET):
- Installare SET (Social Engineering Toolkit):
sudo apt-get update
sudo apt-get install set
- Verificare l'installazione con:
2. Esecuzione dell'Exploit Wizard
Passo 1: Rendere lo Script Eseguibile (Opzionale)
Concedere i permessi di esecuzione allo script:
chmod +x cve_2024_4367_exploit_wizard.py
Passo 2: Eseguire lo Script
Eseguire lo script utilizzando uno dei seguenti metodi:
./cve_2024_4367_exploit_wizard.py
oppure
python3 cve_2024_4367_exploit_wizard.py
Passo 3: Seguire i Prompt a Schermo
Lo script vi guiderà attraverso il processo di attacco passo dopo passo.
3. Flusso di Lavoro Passo-Passo del Wizard
Passo 1: Verificare e Installare le Dipendenze
- Lo script controlla automaticamente:
- PyPDF2: Richiesto per la manipolazione dei PDF.
- SET: Utilizzato per le campagne di phishing.
- Le dipendenze mancanti verranno installate automaticamente (o verrà richiesta l'installazione manuale).
Passo 2: Creare un PDF Dannoso
- Lo script inietta un payload JavaScript nel campo
/FontMatrix del template.pdf.
- L'output,
malicious.pdf, verrà salvato nella stessa directory.
- Verrà visualizzato il successo o il fallimento.
Passo 3: Gestire i Target della Campagna
- Aggiungere email target (o identificatori) in modo interattivo.
- Digitare ogni email target una alla volta.
- Finalizzare l'elenco digitando
done.
- Lo script si integra con SET per consegnare il PDF dannoso tramite phishing.
- Seguire i prompt di SET per configurare la campagna:
- Configurare i modelli email.
- Allegare
malicious.pdf.
- Uscire da SET per tornare al wizard.
Passo 5: Hosting del PDF Dannoso
- Lo script avvia un server HTTP su
http://localhost:8080.
malicious.pdf è accessibile per il download.
- I dati esfiltrati dal payload (es.
document.cookie) verranno registrati nella console dello script.
4. Test dell'Exploit
Validazione in un Ambiente Controllato
- Aprire
malicious.pdf in una versione vulnerabile di PDF.js o in una VM in sandbox.
- Monitorare i log del server per confermare l'esecuzione del payload e l'esfiltrazione dei dati.
Osservare i Log di Esfiltrazione
- I dati (es. cookie) inviati dal payload verranno registrati come:
[+] Dati esfiltrati: session_id=abcd1234; auth_token=xyz987
Modificare il Payload per Test Aggiuntivi
- Personalizzare il payload per azioni come keylogging o reindirizzamento.
- Testare la capacità del proprio ambiente di rilevare o mitigare queste minacce.
5. Pulizia e Attività Post-Esecuzione
Arrestare il Server Locale
Terminare il server HTTP utilizzando Ctrl+C nel terminale.
Mettere in Sicurezza gli Asset Dannosi
- Eliminare o archiviare in modo sicuro
malicious.pdf per prevenire un uso accidentale.
- Archiviare in modo sicuro eventuali log o dati della campagna.
Ripristinare l'Ambiente di Test
- Se si utilizza una macchina virtuale, ripristinare uno snapshot pulito.
- Assicurarsi che non rimangano artefatti dannosi sul sistema.
6. Note Importanti e Disclaimer Legale
Solo per Uso Autorizzato
- Questo script e questa guida sono destinati a scopi educativi e test di penetrazione autorizzati in ambienti controllati.
- L'uso non autorizzato è illegale e può comportare gravi conseguenze legali.
- Ottenere sempre il permesso esplicito prima di condurre qualsiasi test di exploit.
Proteggere i Propri Sistemi
-
Aggiornare PDF.js:
- Assicurarsi che sia installata l'ultima versione di PDF.js per correggere CVE-2024-4367.
-
Limitare JavaScript nei PDF:
- Disabilitare l'esecuzione di JavaScript nei visualizzatori PDF quando possibile.
-
Implementare la Protezione degli Endpoint:
- Utilizzare strumenti robusti di rilevamento e risposta degli endpoint.
-
Formare gli Utenti:
- Addestrare i dipendenti a riconoscere i tentativi di phishing ed evitare di aprire PDF non verificati.
Seguendo questa guida in modo responsabile, è possibile simulare efficacemente scenari di attacco reali e rafforzare le proprie difese di cybersecurity.