
Una proof-of-concept per CVE-2022-48565 - attacco di deserializzazione XML di python plistlib
Questa è una Proof of Concept (PoC) che dimostra la vulnerabilità CVE-2022-48565, basata sulla deserializzazione non sicura dei file Plist in Python. Elaborando file Property List (Plist) appositamente creati, un attaccante può eseguire codice arbitrario sul sistema di destinazione, portando potenzialmente all'esecuzione remota di codice (RCE).
In questo repository troverai quattro script PoC, ciascuno dei quali mostra diversi modi per sfruttare questa vulnerabilità. Questi esempi dimostrano come il codice dannoso possa essere incorporato nei file Plist ed eseguito su un sistema.
Ecco un video che dimostra la Proof of Concept:
Questi script PoC sono destinati esclusivamente a scopi educativi e di ricerca sulla sicurezza. Utilizza questi script in un ambiente controllato e mai su sistemi di produzione. L'uso improprio di questa vulnerabilità potrebbe comportare serie conseguenze legali ed etiche.
Python <=3.9.1
Python 2.x
macOS: alcuni esempi (ad es. aprire la Calcolatrice o Safari) funzionano solo su macOS, poiché utilizzano comandi specifici di macOS
Clona questo repository:
git clone https://github.com/Einstein2150/CVE-2022-48565-POC
Entra nella directory:
cd CVE-2022-48565-POC
Ci sono quattro script PoC, ciascuno dei quali mostra diversi modi per sfruttare questa vulnerabilità.
Questo script mostra un semplice esempio in cui la deserializzazione non sicura viene utilizzata per eseguire un comando di shell che stampa un messaggio sulla console.
Utilizzo:
bash
python2 cve-2022-48565_poc_echo.py
In questo esempio viene dimostrato come un attaccante possa aprire la Calcolatrice di macOS deserializzando un file Plist dannoso.
Utilizzo:
bash
python2 cve-2022-48565_poc_calc.py
Questo script mostra come un attaccante possa scaricare un file da una fonte esterna e aprirlo automaticamente in Safari. Il comando wget viene utilizzato per scaricare index.html dal sito web foto-video-it.de, che viene poi aperto in Safari.v
Utilizzo:
bash
python2 cve-2022-48565_poc_wget.py
Questo script simula uno scenario di attacco pratico in cui il file Plist dannoso viene memorizzato esternamente e caricato in fase di esecuzione. Questo dimostra come un attaccante possa caricare un file Plist da una fonte esterna e usarlo per eseguire codice dannoso.
Il file malicious.plist contiene il payload e deve essere posizionato nella stessa directory dello script.
Utilizzo:
bash
python2 cve-2022-48565_poc_external_plist.py
Questo progetto è rilasciato sotto la licenza MIT. Consulta il file LICENSE per maggiori dettagli.