
يحتوي eScan Management Console الإصدار 14.0.1400.2281 على ثغرة تصعيد امتيازات عبر دالة `GetUserCurrentPwd` تتيح للمهاجمين استرجاع كلمة مرور أي مستخدم كنص عادي.
الخطورة: حرجة
معرّف CVE: CVE-2023-33730
تاريخ الإفصاح: 30 مايو 2023
الباحث: Sahil Ojha
وحدة تحكم إدارة eScan هي حل مركزي لإدارة الأمان طوّرته شركة Microworld Technologies. تتيح لمسؤولي تقنية المعلومات في المؤسسات نشر وكلاء eScan لمكافحة الفيروسات/حماية نقاط النهاية وإدارتهم ومراقبتهم عبر الشبكة بالكامل من وحدة تحكم ويب واحدة.
الإصدار 14.0.1400.2281 من هذه الوحدة يحتوي على ثغرة تصعيد صلاحيات حرجة. بسبب غياب التحقق من التفويض في نقطة نهاية واجهة برمجة التطبيقات GetUserCurrentPwd، يمكن لأي مستخدم مصادق — بغض النظر عن مستوى صلاحياته — استرداد كلمات المرور بنصها الصريح لـكل حساب مسجّل في وحدة التحكم، بما في ذلك حسابات المسؤولين. وهذا يتيح فورًا السيطرة الكاملة على وحدة التحكم في الإدارة، وبالتالي على جميع نقاط النهاية المُدارة على الشبكة.
لهذه الثغرة أثر حرج على أرض الواقع:
UsrId)، يمكن للمستخدم منخفض الصلاحيات نفسه استرداد كلمة مرور حساب المسؤول بنصها الصريح، مما يمنحه سيطرة إدارية كاملة على وحدة تحكم إدارة eScan.تقع الثغرة في دالة GetUserCurrentPwd التي تعرضها واجهة الويب لوحدة تحكم إدارة eScan. صُممت نقطة النهاية هذه للسماح للمستخدم باسترداد كلمة المرور الخاصة به لأغراض تعديل الملف الشخصي. غير أن التنفيذ يعاني من خلل التفويض المكسور على مستوى الكائن (BOLA / IDOR):
UsrId لكنها لا تتحقق من أن المستخدم الطالب يملك الحساب المطابق لهذا المعرّف.UsrId.نمط الطلب المُعرَّض:
GET /eScanWebConsole/webpages/...?action=GetUserCurrentPwd&UsrId=<TARGET_USER_ID> HTTP/1.1
Host: <escan-console-host>
Cookie: <valid-session-cookie>
من خلال التكرار على قيم UsrId المتتالية، يمكن للمهاجم تفريغ بيانات اعتماد كل مستخدم في النظام في مسح آلي واحد.
ملاحظة: توضح الخطوات التالية الثغرة في بيئة مختبرية خاضعة للتحكم. لا تحاول إعادة إنتاج ذلك ضد أي نظام لا تملكه أو ليس لديك إذن كتابي صريح لاختباره.
سجّل الدخول إلى وحدة تحكم إدارة eScan باستخدام بيانات اعتماد مسؤول صالحة وأنشئ حساب مستخدم جديد بمستوى صلاحيات عادية (منخفضة).

سجّل الخروج من جلسة المسؤول وسجّل الدخول باستخدام بيانات اعتماد المستخدم العادي الذي أُنشئ حديثًا.

أثناء تسجيل الدخول كمستخدم عادي، انتقل إلى قسم تعديل الملف الشخصي / تغيير كلمة المرور. اعترض حركة HTTP الصادرة باستخدام Burp Suite (أو وكيل HTTP مشابه). حدد طلب GET الخاص بـ GetUserCurrentPwd والتقطه كما هو موضح أدناه.

أرسل الطلب الملتقط إلى Burp Suite Repeater وأعد توجيهه. لاحظ أن استجابة الخادم تحتوي على كلمة مرور المستخدم العادي الحالي بنصها الصريح — دون الحاجة إلى صلاحيات مسؤول لاستردادها.

UsrIdفي Burp Suite Repeater، عدّل معامل UsrId إلى معرّف حساب المسؤول (أو أي حساب آخر). أعد توجيه الطلب المعدَّل. يستجيب الخادم بـكلمة مرور المسؤول النصية الصريحة، بالإضافة إلى كلمات مرور أي مستخدم آخر يوفَّر معرّف UsrId الخاص به.

استخدم كلمة مرور المسؤول المستردة لتسجيل الدخول إلى وحدة التحكم كمسؤول، وحقق صلاحيات إدارية كاملة على وحدة تحكم إدارة eScan وجميع نقاط النهاية المُدارة على الشبكة.
ينبغي على Microworld Technologies تطبيق التخفيفات التالية:
UsrId في الطلب يطابق معرّف مالك الجلسة. يجب رفض الطلبات المتعلقة ببيانات مستخدمين آخرين برمز HTTP 403 Forbidden.GetUserCurrentPwd لكل جلسة، ونبّه على أنماط الوصول الشبيهة بالتعداد.يُوفَّر هذا المستودع ومحتوياته لأغراض تعليمية وبحثية فقط. يُفصَح عن تفاصيل الثغرة وخطوات إثبات المفهوم وفقًا لمبادئ الإفصاح المسؤول لمساعدة المدافعين على فهم المشكلة ومعالجتها.
لا تستخدم هذه المعلومات لمهاجمة أي نظام أو اختراقه أو الحصول على وصول غير مصرح به إليه. الاختبار غير المصرح به ضد أنظمة لا تملكها أو ليس لديك إذن كتابي صريح لاختبارها غير قانوني وغير أخلاقي.
لا يتحمل المؤلف والمساهمون أي مسؤولية عن أي إساءة استخدام للمعلومات الواردة في هذا المستودع.
| الحقل | القيمة |
|---|
| معرّف CVE | CVE-2023-33730 |
| المنتج | Microworld Technologies eScan Management Console |
| الإصدار المُعرَّض | 14.0.1400.2281 |
| نوع الثغرة | تصعيد صلاحيات / تفويض مكسور على مستوى الكائن (BOLA / IDOR) |
| متجه الهجوم | الشبكة (مستخدم مصادق بصلاحيات منخفضة) |
| المصادقة | مطلوبة (أي حساب مستخدم صالح) |
| درجة CVSS | حرجة |
| تاريخ الإفصاح | 30 مايو 2023 |
| الباحث | Sahil Ojha |
| الصفحة الرئيسية للبائع | https://www.escanav.com |
| البرنامج المتأثر | https://cl.escanav.com/ewconsole.dll |
| بيئة الاختبار | Windows |