الملخص التنفيذي للثغرات الأمنية في AutoWarp
- AutoWarp هي ثغرة خطيرة موجودة في خدمة Azure Automation تسمح بالوصول إلى الخادم الداخلي الذي يدير Azure Sandbox.
- تعمل خدمات الويب محليًا على منافذ عالية عشوائية وتحتوي رموز JWT على معرف الاشتراك ومعرف المستأجر ومعرف مورد حساب التشغيل الآلي.
- توفر هذه المنافذ العشوائية JWT لحسابات Azure الخاصة بالأشخاص الآخرين للمهاجمين والتي يمكن استخدامها أيضًا للوصول إلى الحسابات.
خدمة التشغيل الآلي لميكروسوفت أزور
Microsoft Azure هي خدمة أتمتة العمليات القائمة على السحابة والتي تقدم أيضًا خدمات الحوسبة والتحليلات والشبكات والتخزين. يمكن للمستخدمين الاستفادة من Microsoft Azure Automation لتنفيذ تعليمات التشغيل الآلي في بيئة يتم التحكم فيها. ويمكنهم أيضًا إنشاء الوظائف وجدولتها، بالإضافة إلى توفير المدخلات والمخرجات. يتم فصل كود التشغيل الآلي لكل مستخدم عن كود المستخدمين الآخرين الذي يعمل على نفس الجهاز الافتراضي في وضع الحماية.
ما هي الثغرة الأمنية في التشغيل الآلي لـ AutoWarp؟
يعد AutoWarp ثغرة خطيرة في خدمة Azure Automation التي تسمح بالوصول غير المصرح به إلى حسابات عملاء Azure الأخرى. اعتمادًا على الأذونات الممنوحة من قبل العميل، قد يؤدي هذا الهجوم إلى التحكم الكامل في موارد وبيانات الحساب المستهدف.
باستخدام JWT (JSON Web Tokens) المكشوفة، تسمح الثغرة بالوصول غير المصرح به إلى حسابات Azure الخاصة بأشخاص آخرين. تم تنفيذ هذا الاستغلال من خلال تقديم طلب GET لاكتشاف نقاط النهاية المحلية، والتي بدورها كشفت عن رمز JWT للباحث. إذا تم منح الإذن الكافي، فسيتم تعيين رمز JWT مباشرة إلى الهوية المُدارة، مما يمنح الوصول إلى الحساب.
أي مستخدم يستخدم خدمة Azure Automation يكون عرضة لثغرة AutoWarp. بالإضافة إلى ذلك، يصبح أي حساب مستخدم تم تشغيل ميزة الهوية المُدارة لحساب Automation (عادةً ما يتم تمكينها افتراضيًا) عرضة للثغرة الأمنية على الفور. قامت Microsoft بتخفيف المشكلة عن طريق حظر الوصول إلى رموز الهويات المُدارة إلى جميع بيئات وضع الحماية باستثناء تلك التي تتمتع بوصول شرعي.
AutoWarp هو العيب الرئيسي الثالث الذي تم الكشف عنه في Azure مؤخرًا. كشفت Azure أيضًا عن ثغرة OHMIGOD في تنفيذ التعليمات البرمجية عن بُعد في سبتمبر 2021، وثغرة NotLegit في ديسمبر 2021، والتي سمحت بتنزيل الملفات غير المصرح بها واستمرت لمدة أربع سنوات.
الجدول الزمني لاكتشاف برنامج AutoWarp
- 6 ديسمبر 2021: تم تحديد ثغرة AutoWarp والكشف عنها لشركة Microsoft.
- 7 ديسمبر 2021: تم تحديد الشركات الكبيرة، بما في ذلك شركة اتصالات عالمية، واثنين من مصنعي السيارات، والتكتل المصرفي، وشركات المحاسبة الأربع الكبرى، وما إلى ذلك، لتتأثر بهذا العيب.
- 10 ديسمبر 2021: قامت Microsoft بتصحيح الثغرة الأمنية وبدأت في البحث عن المزيد من التكرارات للهجوم.
- 7 مارس 2022: تم الانتهاء من تحقيق Microsoft وتم نشر النتائج على الملأ.
[معرف التسمية التوضيحية = «المرفق _19252" align= «alignnone» width="1582"]

المخطط الزمني لاكتشاف الثغرات الأمنية في AutoWarp [/caption]
معلومات من البحث
- تحتوي بنية الملف على دليلين داخل C: القيادة اسمه موزع موسيقي و درجة الحرارة. يحتوي Orchestrator، بدوره، على اسم ملف يسمى رمل والتي يمكن أن تحتوي على تفاصيل حول كيفية تشغيل وضع الحماية. يحتوي الدليل المؤقت على ملف يسمى»trace.log» داخل دليل «diags».
[معرف التسمية التوضيحية = «المرفق _19253" align= «alignnone» width="778"]

صورة لبنية الملف [/caption]
- يحتوي ملف trace.log على نقطة نهاية مثيرة للاهتمام للغاية تشير إلى وجود خدمة ويب تعمل محليًا على منافذ عشوائية بأرقام منافذ عالية جدًا، حوالي 40,000.
[معرف التسمية التوضيحية = «المرفق _19254" align= «alignnone» width="1178"]

صورة ملف السجل الموجود داخل دليل Orchestrator [/caption]
- يحتوي دليل Orchestrator على كود.NET، الذي يكشف عن مسارين، وهما»/oauth2/الرمز المميز«و»/البيانات الوصفية/الهوية/oauth2/الرمز المميز،» تم تعيينه إلى وحدة تحكم تسمى MsiController.
[معرف التسمية التوضيحية = «المرفق 19255" align= «alignnone» width="1024"]

الكود المصدري لخدمات الأتمتة [/caption]
- تحتوي فئة MsiController هذه على طريقة تسمى»احصل على رمز MSI،» والتي يمكن استخدامها للحصول على رمز الوصول باستخدام المعلمة GET المذكورة في الوظيفة.
- بمجرد إرسال الطلب بنجاح، يتم توفير JWT، الذي يحتوي على معلومات مثل معرف الاشتراك ومعرف المستأجر ومعرف مورد حساب التشغيل الآلي.
- يمكن التحقق من صحة الرمز الذي تم استلامه باستخدام Azure CLI وإذا تم تمكين الأذونات المناسبة لنصوص الأتمتة، فسيتم تعيينه بالهوية المُدارة.
[معرف التسمية التوضيحية = «المرفق _19256" align= «alignnone» width="1024"]

كود المصدر للحصول على رمز الوصول باستخدام طريقة GET [/caption]
- لا يوجد أي ضرر في تعيين الرمز المميز بالهوية المُدارة. العيب الرئيسي يأتي مع الخدمة المحلية التي تعمل على تلك المنافذ العشوائية العالية. عند تنفيذ عملية تلقائية، تتغير المنافذ، ولكنها تظل ضمن نطاق معين يبلغ 40,000.
- الآن بعد أن أصبح من المعروف أن كل منفذ عشوائي يوفر JWT. نظرًا لأن هذه المنافذ توفر نقطة نهاية جديدة تنتمي إلى حسابات Azure للمستخدمين الآخرين، فإنها تشير بشكل مباشر إلى أنه يمكننا الوصول إلى JWT لحسابات Azure للمستخدمين الآخرين. وإذا كانت الأذونات المقدمة كافية، فسيحصل المهاجم على وصول كامل إلى حساب Azure الخاص به.
التأثير والتخفيف
التأثيركيف يمكنك تخفيف ثغرة AutoWarp
- يمكن للمهاجم الوصول إلى المعلومات الحساسة المرتبطة بحساب Azure مثل معرف الاشتراك ومعرف المستأجر وما إلى ذلك.
- يمكن للمهاجم الحصول على وصول غير مصرح به إلى حساب Azure لأي مستخدم.
- يتمتع المهاجم بحق الوصول الكامل إلى الموارد والبيانات التي يمكن إساءة استخدامها أيضًا.
- يمكن للمهاجم عن بعد الاستفادة من المعلومات لتسلسل الهجوم وتوسيع سطح الهجوم.
- قدمت Microsoft عنوان HTTP جديدًا يسمى «X-IDENTITY-HEADER» وهو مطلوب أثناء طلب الهويات ويجب تعيينه على قيمة سرية في متغيرات البيئة. تتم مقارنة القيمة الموجودة بداخلها بالقيمة السرية المخزنة في متغير البيئة وإذا كانت هذه القيم تتوافق بنجاح، فسيتم تأكيد الهوية وإلا سيتم رفض الوصول.
- يرجى الرجوع إلى إرشادات أمان التشغيل الآلي لـ Azure.
المراجع
- مدونة يانير تساريمي: https://orca.security/resources/blog/autowarp-microsoft-azure-automation-service-vulnerability/
- الإصدار الرسمي لـ MSRC:https://msrc-blog.microsoft.com/2022/03/07/13943/