
Una demo POC su CVE-2023-38831
Una demo POC su CVE-2023-38831
Breve descrizione della vulnerabilità
Come funziona la vulnerabilità?

Prima parte dello sfruttamento
La prima parte si svolgerà sulla macchina dell'attaccante per dare inizio allo sfruttamento.

1) Per prima cosa, dobbiamo creare la cartella di sfruttamento contenente l'allegato malevolo, il “pdf”, il codice Python dell'exploit e lo script bat tramite il seguente comando: “git clone https://github.com/HDCE-inc/CVE-2023-38831”

2) Ecco cosa contiene la cartella prima che abbia luogo lo sfruttamento:

3) Individuare l'indirizzo IP della macchina Kali tramite ifconfig:

4) Modificheremo quindi lo script esistente in script.bat con la seguente riga di comando (immagine sopra)
“start” serve per avviare il processo della riga di comando, “/min” per ridurre a icona il prompt dei comandi in background, ncat per iniziare la connessione all'indirizzo IP dell'attaccante sulla porta 4444 e infine -e cmd.exe per eseguire la riga di comando nel prompt dei comandi.

5) Di seguito viene spiegato il codice di exploit.py:
1 si riferisce all'input dell'utente per il nome del file esca, che è document.pdf, il nome del file script, che è bat.script, e l'output di come la vittima vedrà il file RAR; in questo caso lo salveremo come getrich.rar.
2 si riferisce ai controlli eseguiti per verificare se i file esistenti nella cartella CVE-2023-38831 sulla macchina Kali Linux hanno la convenzione di denominazione corretta; se il nome è sbagliato o il file è duplicato, viene stampato un messaggio di errore e il programma si arresta ed esce.
3 si riferisce alla creazione di una destinazione temporanea tramite os.mkdir() per archiviare il file appena creato prima della compressione nell'archivio e per usarla come area di lavoro.
4 si riferisce a una riga di copia, shutil.copyfile, per copiare sia il file esca che il file script nelle rispettive directory all'interno di “tmp”, assicurando che tutti i file necessari siano corretti e al loro posto prima di procedere al passaggio successivo. Il passaggio successivo, shutil.make_archieve, crea un archivio da “tmp” chiamato “tmp.zip” che contiene tutto ciò che è nella cartella “tmp”.
5 si riferisce al successo dell'esecuzione del codice sopra descritto e alla corretta creazione di un file RAR come exploit tramite l'input dell'utente del file esca, del file script e del nome del file di output.

6) Dopo aver ottenuto il nostro indirizzo IP e modificato lo script bat, possiamo ora procedere a creare il “.rar” malevolo eseguendo il comando “python exploit.py”.
exploit.py richiederà all'utente l'input su 3 campi: il nome del file esca esistente, cioè document.pdf, il nome del file script che abbiamo modificato in precedenza, cioè script.bat, e un nome per il file RAR di output per indurre la vittima a scaricare e cliccare sul file, che richiede un nome adatto; in questo caso abbiamo usato “steps-to-generate-income.rar”. CVE-2023-38831 è quindi pronto a sfruttare la macchina vittima.
Seconda parte dello sfruttamento
La seconda parte si svolgerà sia sulla macchina Kali che sulla macchina vittima, che è una VM Windows 11.

1) Per prima cosa creeremo un sito web malevolo o invieremo l'allegato alla vittima.
Sul lato sinistro, eseguiremo “python -m http.server 8080”. Questo comando è un processo per catturare quale indirizzo IP accede a questo URL malevolo, così possiamo conoscere l'indirizzo IP della vittima, e ascolta diverse richieste HTTP come “200” da uno specifico indirizzo IP. Sul lato destro, la vittima viene attratta su questo indirizzo IP e indotta a scaricare il file “steps-to-generate-income.rar”.

2) Una volta che la vittima è stata indotta a scaricare il file malevolo “steps-to-generate-income.rar”, verrà mostrato quale indirizzo IP ha scaricato il file insieme all'intervallo di tempo. Da queste informazioni possiamo ottenere l'indirizzo IP della vittima.

3) Configureremo quindi un ncat sulla porta 4444 sulla macchina Kali, poiché la porta 4444 deve sincronizzarsi con la stessa porta scritta in script.bat da eseguire sulla macchina vittima.
Quando la vittima clicca su document.pdf, bat.script eseguirà la riga di comando e si ridurrà al minimo in background in un'istanza, consentendo una connessione backdoor per l'attaccante.