CVE-2023-3349 / CVE-2023-3350 | IBERMATICA RPS 2019
بحث أمني يوثّق كشفًا غير مصادَق للمعلومات وعيبًا في التصميم التشفيري في IBERMATICA RPS 2019.
يمكن ربط الثغرات معًا لكشف سجلات التطبيق التي تحتوي على استعلامات SQL متعلقة بالمصادقة واستعادة كلمات مرور المستخدمين من نص مشفَّر قابل للعكس بنظام AES-CBC.
[إخلاء مسؤولية]
تم توفير هذا المستودع لأغراض البحث الأمني والتحقق الدفاعي والتعليم فقط. اختبر حصريًا على الأنظمة التي تملكها أو التي لديك ترخيص صريح بتقييمها.
ملخص
يمكن للمستخدم غير المصادَق الوصول إلى صفحة حالة خدمة RPS على:
/RPS2019Service/status.html
تعرّض الصفحة عناصر التحكم في التسجيل التشغيلي وتسمح بتنزيل السجلات المُنشأة. قد تحتوي هذه السجلات على بيانات تطبيق حساسة، بما في ذلك أسماء المستخدمين وعناوين IP واستعلامات SQL وقيمًا متعلقة بكلمات المرور.
كلمات المرور غير محمية بدالة تجزئة أحادية الاتجاه لكلمات المرور. بدلاً من ذلك، يستخدم RPS 2019 خوارزمية AES-128-CBC مع مواد مفاتيح مشتقة بشكل قابل للتنبؤ من اسم المستخدم. بمجرد الحصول على اسم المستخدم وقيمة كلمة المرور المشفرة من السجلات، يمكن استعادة كلمة المرور كنص صريح.
الثغرات
| CVE | الوصف | CWE | CVSS 3.1 (CNA) |
|---|
| CVE-2023-3349 | كشف غير مصادَق لمعلومات حساسة عبر سجلات التطبيق القابلة للتنزيل | CWE-200 | 8.2 عالية |
| CVE-2023-3350 | حماية قابلة للعكس لكلمات المرور تعتمد على AES-128-CBC ومواد مفاتيح مشتقة من اسم المستخدم وقابلة للتنبؤ | CWE-327 | 8.2 عالية |
المنتج المتأثر
- المنتج: IBERMATICA RPS
- الإصدار المتأثر: RPS 2019
- المكوّن: وظائف حالة الخدمة والتسجيل في RPS 2019
سلسلة الهجوم
- الوصول إلى صفحة حالة RPS المكشوفة دون مصادقة.
- تفعيل تسجيل التطبيق عبر عناصر التحكم المتاحة في صفحة الحالة.
- تحفيز نشاط المصادقة أو انتظاره.
- تنزيل ملف السجل المُنشأ.
- استخراج أسماء المستخدمين وقيم كلمات المرور المشفرة من استعلامات SQL المسجَّلة.
- اشتقاق مواد مفاتيح AES من اسم المستخدم المقابل.
- فك تشفير القيمة المخزنة واستعادة كلمة المرور كنص صريح.
لا تتطلب هذه السلسلة حقن SQL أو تخمين كلمات المرور بالقوة الغاشمة أو وجود حساب تطبيق مسبق.
ملاحظات فنية
حدّد التحقيق الشروط التالية:
- تحتوي سجلات التصحيح (Debug) على استعلامات SQL كاملة متعلقة بالمصادقة.
- قد تسجّل محاولات تسجيل الدخول لأسماء مستخدمين غير موجودة كلمة المرور المُدخلة كنص صريح.
- تظهر كلمات مرور المستخدمين الحاليين كنص مشفَّر بترميز Base64 في استعلامات SQL.
- يستخدم نظام التشفير AES-128 في وضع CBC.
- يُشتق المفتاح ومتجه التهيئة (IV) بشكل حتمي من اسم المستخدم ويتم توسيعهما إلى 16 بايت بحرف ثابت.
- تُستخدم القيمة نفسها القابلة للتنبؤ كمفتاح وكمتجه تهيئة معًا.
AES ليست المشكلة الأساسية بحد ذاتها. تنشأ الثغرة من استخدام تشفير قابل للعكس لكلمات المرور، ومواد مفاتيح قابلة للتنبؤ، ومتجه تهيئة ليس عشوائيًا ولا مستقلًا.
التأثير
قد يسمح الاستغلال الناجح لمهاجم بعيد غير مصادَق بـ:
- استرجاع معلومات تشغيلية وتطبيقية حساسة؛
- تعداد أسماء المستخدمين الصالحة وتفاصيل البنية التحتية؛
- الحصول على كلمات مرور كنص صريح؛
- اختراق حسابات RPS ذات الامتيازات؛
- إعادة استخدام بيانات الاعتماد المكشوفة ضد خدمات أخرى تمت مشاركة كلمات المرور فيها.
المعالجة والتحصين
- طبّق التحديث أو الإجراء التخفيفي المقدم من البائع لـ RPS 2019.
- أزل الوصول العام إلى
/RPS2019Service/status.html.
- اشترط مصادقة وتفويضًا قويين لجميع نقاط النهاية التشخيصية والإدارية وحالة الخدمة والصحة والتصحيح والمقاييس.
- عطّل تسجيل التصحيح في بيئة الإنتاج عندما لا يكون ضروريًا بشكل صارم.
- احذف بيانات الاعتماد وبيانات المصادقة واستعلامات SQL الكاملة من السجلات.
- خزّن كلمات المرور باستخدام دالة تجزئة حديثة أحادية الاتجاه مع إضافة ملح (Salt) مثل Argon2id أو scrypt أو bcrypt.
- دوّر جميع بيانات الاعتماد التي ربما ظهرت في السجلات المتأثرة.
- راجع سجلات الوصول السابقة بحثًا عن طلبات إلى صفحة الحالة وعمليات تنزيل السجلات.
- امنع التعرض المباشر للإنترنت لواجهات إدارة ودعم ERP.
فرص الكشف
ينبغي على المدافعين التحقيق في:
- طلبات غير متوقعة إلى
/RPS2019Service/status.html؛
- طلبات تقوم بتفعيل سجلات التطبيق أو إيقافها أو حذفها أو تنزيلها؛
- الوصول إلى نقاط نهاية الحالة أو التشخيص من شبكات غير موثوقة؛
- أحداث مصادقة غير معتادة بعد الوصول إلى ملفات سجلات RPS؛
- إعادة استخدام بيانات اعتماد RPS ضد خدمات داخلية أو خارجية أخرى.
الإفصاح
تم اكتشاف المشكلات بواسطة LABS @ ITRES أثناء مهمة أمنية هجومية مرخَّصة، وتم تخصيص معرفات CVE لها عبر INCIBE-CERT.
يتوفر تقرير فني مفصل في أول إدخال من سلسلة Old Dives:
المراجع
إشعار قانوني
المعلومات الواردة في هذا المستودع تهدف إلى مساعدة المؤسسات في تحديد الثغرات الموثقة والتحقق منها ومعالجتها. لا يتحمل المؤلفون والمساهمون المسؤولية عن أي إساءة استخدام أو ضرر ناتج عن استخدام هذه المواد.