
📦 Pluck CMS 4.7.18 - ثغرة تنفيذ أوامر عن بعد مصادق عليها (CVE-2023-50564). تجاوز قيود الرفع والتنفيذ عن بعد. 🎯
exploit.py 🐍💥
⚠️ إخلاء مسؤولية قانوني / أخلاقي: هذا السكريبت مخصص فقط للبيئات المصرح بها ✅ (CTFs، مختبرات، اختبار اختراق بإذن). لا تستخدمه ضد أنظمة دون إذن ❌.
🧾 ماذا يفعل هذا السكريبت؟
exploit_greenhorn.py يؤتمتة سلسلة استغلال نموذجية في لوحة ويب:
✅ يقوم بتسجيل الدخول إلى اللوحة (تحتاج إلى كلمة مرور صالحة) ✅ ينشئ ملف ZIP في الذاكرة (دون كتابة ملفات محلية) 📦 ✅ يضع داخله ملف rev.php مع شيل عكسي 🔁🐚 ✅ يرفع ملف ZIP كـ "وحدة" إلى اللوحة 🧩⬆️ ✅ "يفجر" الحمولة بفتح رابط PHP المرفوع 🚀
📌 يتم إنشاء اسم الوحدة عشوائيًا لتجنب التعارضات (مثال: abcdefg، xqpmzui، إلخ) 🎲
🧰 المتطلبات
Python 3.8+ 🐍
الاعتماديات: requests 📌
التثبيت: قم بتثبيت مكتبة requests باستخدام pip (pip install requests) ✅
⚙️ الإعداد (هام 🔧)
يوجد داخل السكريبت قسم "بياناتك" يجب تعديله:
RHOST_DOMAIN 🌐 → رابط الهدف (يتضمن http:// أو https://)
LHOST_IP 🧭 → عنوان IP الخاص بك حيث تريد استقبال الشيل (عادة ما يكون عنوان VPN/tun0)
LHOST_PORT 🔌 → المنفذ الذي ستستمع عليه
PASSWORD 🔑 → كلمة مرور اللوحة (السكريبت لا يقوم بحملة تخمين)
✅ نصيحة: أكثر شيء يفشل هو LHOST_IP (ضع عنوان IP الصحيح لواجهة VPN الخاصة بك) 😅
🎧 مستمع (قبل التنفيذ)
قبل تشغيل الاستغلال، افتح مستمعًا لاستقبال الشيل العكسي 👂🐚
مثال: netcat يستمع على نفس المنفذ الذي وضعته في LHOST_PORT (مثل 4444). إذا لم تكن تستمع، فلن يصل شيء 📭.
▶️ الاستخدام
قم بتكوين RHOST_DOMAIN و LHOST_IP و LHOST_PORT و PASSWORD ✅
افتح المستمع الخاص بك 🎧
قم بتشغيل السكريبت باستخدام Python 🐍
مخرجات نموذجية قد تراها:
[] الهدف: http://greenhorn.htb
[] إنشاء وحدة نظيفة: xqpmzui [] جاري تسجيل الدخول... [+] تم تسجيل الدخول بنجاح. [] جاري رفع الحمولة... [*] جاري التفجير على: http://greenhorn.htb/data/modules/xqpmzui/rev.php
[+] انتهاء المهلة! (إشارة جيدة، تحقق من netcat الخاص بك)
😎 ملاحظة: "انتهاء المهلة! (إشارة جيدة)" عادة ما يكون طبيعيًا ✅ لأنه عندما يفتح PHP الشيل العكسي، قد يظل طلب الويب "معلقًا" بينما الجلسة التفاعلية نشطة 🔁
🧠 كيف يعمل من الداخل؟ (شرح مبسط)
يُولد اسم وحدة عشوائي 🎲
ينشئ ملف ZIP في الذاكرة 📦 (هيكل مسطح، بدون مجلدات داخلية)
يضع بداخله rev.php مع شيل عكسي يتصل بـ LHOST_IP:LHOST_PORT 📡
يقوم بتسجيل الدخول إلى /login.php 🔑 (يتضمن Referer للتوافق)
يرفع ملف ZIP إلى /admin.php?action=installmodule ⬆️🧩
ينفذ الحمولة بالوصول إلى /data/modules/<module_name>/rev.php 🚀🐚
🧪 استكشاف الأخطاء (إذا حدث خطأ ما)
❌ فشل تسجيل الدخول
تحقق من PASSWORD 🔑
تأكد من أن نقطة النهاية هي /login.php
في المختبرات، قد تحتاج أحيانًا إلى إعادة تشغيل الجهاز/الخدمة 🔄
❌ لم تصل الشيل
تحقق من LHOST_IP 🧭 (عنوان IP الصحيح، عادة tun0)
تأكد من أنك تستمع على المنفذ الصحيح 🔌🎧
جرب منفذًا آخر إذا كان هناك فلترة (مثل 443 أو 9001) 🚧
❌ 404 عند التفجير
قد لا تكون الوحدة مثبتة 🧩
بعض التثبيتات تغير المسارات؛ تحقق من هيكل /data/modules/ 📁
🛡️ ملاحظات
لا يترك ملف ZIP على القرص المحلي (كل شيء في الذاكرة) ✅
يستورد sys ولكنه لا يستخدم (يمكنك تنظيفه إذا أردت) 🧹
استخدمه بعقل 🧠😄
✅ إخلاء المسؤولية النهائي
بدون ضمان. للاستخدام التعليمي والمصرح به فقط. إذا استخدمته خارج الإذن، فهذه مسؤوليتك 🚫⚖️