
Fidelis Network and Deception - تصعيد الامتيازات عبر أذونات الملفات غير الآمنة
تمت الموافقة على الاستغلال للنشر العام من قبل حكومة الولايات المتحدة. شكر خاص للعسكريين وجهات الاتصال الحكومية المكلفين بالموافقة على توزيع الوثائق دون قيود. يُرجى الرجوع إلى أرقام OTR التالية:
التاريخ: 20220516 0123H UTC
مؤلف الاستغلال: Henry Reed, The Aerospace Corporation
الصفحة الرئيسية للبائع: https://fidelissecurity.com/
الإصدارات المتأثرة:
تم الاختبار على:
CVE: CVE-2022-0997
وصف CVE: تؤدي صلاحيات الملفات غير السليمة في مكونات CommandPost وCollector وSensor الخاصة بـ Fidelis Network and Deception إلى تمكين المهاجم الذي يمتلك وصولاً محلياً وإدارياً إلى واجهة الأوامر (CLI) من تعديل ملفات البرامج النصية المتأثرة، مما قد ينتج عنه تنفيذ أوامر عشوائية بصلاحيات الجذر عند تسجيل دخول مستخدم جذر لاحقاً. الثغرة موجودة في إصدارات Fidelis Network and Deception قبل 9.4.5. تتوفر تصحيحات وتحديثات لمعالجة هذه الثغرة.
يتم تشغيل البرامج النصية في الدليل /etc/profile.d/ عند تسجيل الدخول. يمتلك مستخدم fidelis ملف login.sh، مما يسمح لمستخدم fidelis بتعديل الملف بشكل تعسفي. عند تسجيل دخول مستخدم جذر لاحقاً، يتم تشغيل هذا البرنامج النصي، مما يسمح للخصم بالحصول على تنفيذ عشوائي للأكواد بصلاحيات الجذر.
يُنصح مستخدمو Fidelis Deception أو Fidelis Network المتأثرون بتحديث برامجهم لتصحيح هذه الثغرة. ويُنصح أيضاً جميع المستخدمين، سواء تأثروا بهذه الثغرة أم لا، بتعطيل الوصول إلى الصدفة لمنتجات Fidelis الخاصة بهم بعد التكوين الأولي.
إذا لم يكن أي من هذين الإجراءين ممكناً لسبب ما، فسيتم وصف تخفيف للملف المعرض للخطر في هذا المستند. وفقاً لاختبارات المؤلف، يبدو أنه سيتعين على المستخدمين استخدام الثغرة لتصعيد الامتيازات قبل أن يتمكنوا من تطبيق التخفيفات الموصوفة، لذا يُنصح بشدة بتحديث Fidelis وتعطيل SSH بدلاً من ذلك.
تم الاختبار على:
تسمح صلاحيات الملكية غير الصحيحة على /etc/profile.d/login.sh لمستخدم fidelis بتصعيد الامتيازات بما يعادل صلاحيات مستخدم الجذر في عدة منتجات من Fidelis. يتم تشغيل البرامج النصية في /etc/profile.d في كل مرة يفتح فيها المستخدم صدفة. الملف مملوك لمستخدم fidelis، مما يسمح لمستخدم fidelis بتعديل البرنامج النصي بشكل تعسفي، وتشغيل كود عشوائي، مثل صدفة عكسية، عند تسجيل دخول مستخدم الجذر.
$ vim /etc/profile.d/login.sh
تم اكتشاف الثغرة لأول مرة باستخدام LinPEAS، وهو برنامج نصي لتعداد تصعيد الامتيازات في لينكس:

لاحظ النص المظلل بالأحمر، «لديك صلاحيات كتابة على /etc/profile.d/login.sh». يشير الناتج المظلل بالأحمر إلى ثقة عالية في أن الاستغلال يعمل.
تصاحب كل فئة محتملة من الاستغلالات التي يكشف عنها LinPEAS رابط لدليل على nook.hacktricks.xyz يشرح كيفية استغلال الثغرة. بعد قراءة سريعة، تقرر أن الصدفة العكسية عبر Python2 ستكون أسهل طريقة لاستغلال هذه الثغرة؛ ومع ذلك، كان يمكن استخدام أي كود آخر أيضاً. يبدأ الكود الجديد عند جملة if التالية if [[ $(whoami) = root ]]:

بعد إضافة الصدفة العكسية إلى login.sh، قمنا بمحاكاة تسجيل دخول الجذر عن طريق تسجيل الدخول يدوياً بهذا المستخدم. لاحظ أنه في الواقع، سيتعين على المهاجم الانتظار حتى يقوم مسؤول بتسجيل الدخول يدوياً كمستخدم جذر.

يحصل المهاجم بعد ذلك على صدفة عكسية بصلاحيات الجذر:

تغيير مالكي المستخدم والمجموعة لملف /etc/profile.d/login.sh إلى root:root والسماح فقط بصلاحيات القراءة والتنفيذ لفئة «الآخرين» من المستخدمين على /etc/profile.d/login.sh من شأنه أن يخفف من هذه الثغرة:
