كشف الباحثون عن عيبين اثنين من عيوب مايكروسوفت في خدمة استضافة تطبيقات الويب من Azure، والتي في حال استغلالهما، قد تمكن قراصنة الانترنت من تولي السيطرة على الخوادم الإدارية وتنفيذ التعليمات البرمجية عن بُعد.

تُعد تطبيقات Azure خدمة مستندة إلى HTTP لاستضافة تطبيقات الويب، وهي متوفرة في كل من Microsoft Azure Cloud وعمليات التثبيت المحلية. هنا وجد الباحثون ثغرتين في الخدمة السحابية تؤثران بشكل خاص على خوادم Linux.

تسمح الثغرات الأمنية التي تم رصدها بتمكين أي مهاجم لديه القدرة على تزوير طلبات النشر (SSRF) أو تنفيذ التعليمات البرمجية عن بُعد على خدمة تطبيقات Azure، بالاستيلاء على خادم إدارة Azure App Service.

تم اكتشاف العيبين قبل ثلاثة أشهر وتم إبلاغ Microsoft بهما. ثم أصدرت الشركة منذ ذلك الحين إصلاحاً للثغرات.

 

عيوب مايكروسوفت Azure

ينبع الخلل الأول من مشروع مفتوح المصدر يسمى KuduLite داخل Azure App Services. يدير مشروع Linux صفحة الإدارة التي تُستخدم لتسجيل المشرفين في خطة خدمة التطبيق (لبدء استخدام خدمات التطبيقات، يجب على المستخدم أولاً إنشاء خطة خدمة التطبيق).

بعد اكتشاف أن خدمة SSH من KuduLite تستخدم بيانات اعتماد مشفرة “root: Docker!” للوصول إلى عقدة التطبيق، تمكن الباحثون من تسجيل الدخول باسم الجذر. ولكن مطورو App Service KuduLite حرصوا على أن يكون المشرفون قادرين على تسجيل الدخول فقط كمستخدمين ذي امتيازات منخفضة، لذلك لم يكن الخطأ مقصوداً.

بعد السيطرة على KuduLite، تمكن الباحثون من التحكم في خادم الويب Software Configuration Management (SCM) ، الذي يدير ويتحكم بشكل منهجي في التغييرات في المستندات والرموز أثناء دورة حياة تطوير البرامج. سمح لهم ذلك أيضاً بالاستماع إلى طلبات HTTP الخاصة بالمستخدم على صفحة الويب SCM وإضافة صفحاتهم الخاصة وإدخال جافا سكريبت ضار في صفحة الويب الخاصة بالمستخدم.

 

العيب الثاني

العيب الثاني موجود في KuduLite API. تنبع المشكلة هنا من قدرة عقدة التطبيق على إرسال طلبات إلى KuduLite API sans للتحقق من صحة الوصول، وهو خطأ يمثل مشكلة بشكل خاص عند التفكير في تطبيق ويب به ثغرة SSRF، كما قال الباحثون.

بحيث يمكن للمهاجم الذي يدير تزوير طلب GET الوصول إلى نظام ملفات عقدة التطبيق عبر واجهة برمجة تطبيقات KuduLite VFS. ثم سيمكن هذا المهاجم من سرقة شفرة المصدر والأصول الأخرى بسهولة على عقدة التطبيق.

وبالتالي، المهاجم الذي ينجح في تزوير طلب POST، في الوقت نفسه، قد يحقق تنفيذ التعليمات البرمجية عن بُعد على عقدة التطبيق عبر واجهة برمجة تطبيقات الأوامر.

يمكن ربط هاتين الثغرتين معاً نظراً لأنه بمجرد أن ينجز المهاجم تنفيذ التعليمات البرمجية مع الثغرة الأمنية الثانية، يمكنه بعد ذلك استغلال الثغرة الأولى. وتتمثل أحد عوامل الهجوم المحتملة هنا في أن يستخدم المهاجم هذا الخلل لزرع صفحة تصيد في ما يُفترض أن يكون صفحة ويب SCM.