
CVE-2023-4220 إثبات المفهوم (PoC) لثغرة Chamilo: تنفيذ التعليمات البرمجية عن بُعد (RCE)
يحتوي هذا المستودع على إثبات مفهوم (PoC) لـ CVE-2023-4220، وهي ثغرة تنفيذ أوامر عن بُعد (RCE) تؤثر على Chamilo LMS. تسمح هذه الثغرة للمهاجمين غير المصادق عليهم باستغلال ميزة رفع الملفات الكبيرة، مما يؤدي إلى تنفيذ تعسفي للأكواد على الخادم.
[!IMPORTANT] هذا المستودع مخصص للأغراض التعليمية والبحث القانوني فقط. استخدم هذا الكود بمسؤولية وفقط على الأنظمة التي لديك إذن باختبارها. لا يتحمل المؤلف أي مسؤولية عن أي أضرار ناتجة عن إساءة استخدام المعلومات المقدمة.
نظام إدارة التعلم هو تطبيق برمجي أو تقنية قائمة على الويب تُستخدم لتخطيط وتنفيذ وتقييم عملية تعلم محددة. يُستخدم في ممارسات التعلم الإلكتروني، ويتكون في صورته الأكثر شيوعًا من عنصرين: خادم يؤدي الوظيفة الأساسية، وواجهة مستخدم (UI) يديرها المعلمون والطلاب والمسؤولون.
Chamilo هو نظام إدارة تعلم (LMS) مفتوح المصدر مبني على PHP، يسهل التعليم والتدريب عبر الإنترنت. يقدم ميزات مثل إنشاء الدورات، وإدارة المحتوى، والتقييمات، والتعاون، وتقديم الموارد التعليمية.
requests & argparse & time[!NOTE] تم اختبار إثبات المفهوم هذا باستخدام python 3.11.9 و requests 2.32.3 و Chamilo 1.11
استنساخ المستودع:
استنسخ المستودع وانتقل إلى مجلده.
git clone https://github.com/VanishedPeople/CVE-2023-4220.git
cd CVE-2023-4220
تثبيت التبعيات:
pip install -r requirements.txt
تحديد الهدف: تأكد من أن لديك مثيل Chamilo LMS المستهدف الذي يعاني من الثغرة (النسخة المتأثرة).
تشغيل الاستغلال: نفّذ سكربت الاستغلال مع عنوان URL الخاص بالهدف.
رفع الحمولة الخبيثة: سيقوم سكربت الاستغلال برفع ملف خبيث إلى مثيل Chamilo LMS المستهدف من خلال استغلال ميزة رفع الملفات الكبيرة.
تشغيل تنفيذ الأوامر عن بُعد: بعد الرفع، يتم تنفيذ الملف الخبيث على الخادم، مما يمنح المهاجم قدرات تنفيذ الأوامر عن بُعد.
النتيجة: يجب أن ترى شل (shell) أو تنفيذ أوامر على الخادم، اعتمادًا على الحمولة والخيار المستخدم.
تحقق مما إذا كان نظام إدارة التعلم معرضًا للثغرة
python3 main.py --url <URL> -m check
python3 main.py --url <URL> --mode webshell
إنشاء شل عكسي
python3 main.py --url <URL> --mode revshell
للتخفيف من هذه الثغرة، تأكد من تحديث إصدار Chamilo LMS إلى أحدث إصدار تمت فيه معالجة هذه المشكلة. يُوصى أيضًا بتنفيذ تحقق ومصادقة صارمة لرفع الملفات لتجنب ثغرات مماثلة.
هذا المشروع مرخص بموجب رخصة Apache License 2.0 - راجع ملف LICENSE للتفاصيل.