تستمر المجموعات تنفيذ الخدمات المرتكزة على السحابة، وإن هذا تحول أدى إلى تبني أوسع لبيئات الهوية الهجينة التي تربط Active Directory المحلي بـ Microsoft Entra ID (المعروف سابقًا باسم Azure AD). ولإدارة الأجهزة في بيئات الهوية الهجينة هذه، برز Microsoft Intune (Intune) كأحد أكثر حلول إدارة الأجهزة شيوعًا. ونظرًا لأن هذه المنصة المؤسسية الموثوقة يمكن دمجها بسهولة مع أجهزة وخدمات Active Directory المحلية، فهي هدف رئيسي للمهاجمين لاستغلال استخدامه في تنفيذ الحركة الجانبية وتنفيذ الرمز.
وسيقدم هذا البحث خلفية عن Intune، وكيفية استخدامه داخل المجموعات، وكيف يمكن استخدام هذه المنصة المرتكزة على السحابة لنشر التطبيق المخصص لتحقيق تنفيذ الرمز على أجهزة المستخدم. وبالإضافة إلى ذلك، يشمل هذا البحث الإصدار العام لقواعد Microsoft Sentinel الجديدة لمساعدة المدافعين في اكتشاف استخدام Intune للحركة الجانبية وإرشادات التقوية الدفاعية لمنصة Intune.
كتب Andy Robbins منشور مدونة رائع في عام 2020 بعنوان "الموت من الأعلى: الحركة الجانبية من Azure إلى محلي AD، والتي تتناول كيفية إساءة استخدام Intune لنشر برنامج PowerShell النصي لاستهداف المضيفين، إلى جانب التوجيه الدفاعي للحماية من سيناريو الهجوم هذا. يُبني بحثنا الناتج في X-Force على بحث Robbins من خلال إظهار كيفية تنفيذ الرمز المستهدف باستخدام تطبيقات Windows وكيفية تنفيذ التفعيل العشوائي لمضيفي Windows لتحميل وتشغيل تلك التطبيقات. يتضمن هذا البحث أيضًا قواعد Microsoft Sentinel التي تم إنشاؤها حديثًا لكشف إساءة استخدام Intune لتسهيل الحركة الجانبية وإرشادات التقوية لمنصة Intune.
أطلق Chris Thompson أداة باسم Maestro في مختبرات DEF CON 32 Demo التجريبية التي يمكن استخدامها لاستطلاع المستخدم والأجهزة عبر Intune، إلى جانب تنفيذ الأوامر عبر برامج Intune PowerShell النصية أو تطبيقات Windows من إطار عمل C2. تأكد من الاطلاع على هذه الأداة وبحث كريس! يختلف البحث التالي في X-Force، حيث يوضح كيفية تنفيذ نشاط الحركة الجانبية هذا عبر واجهة الويب Microsoft Intune وكيفية تغليف عدة ملفات ليتم نشرها كجزء من تطبيق Windows مخصص لتنفيذ الرمز. وبالإضافة إلى ذلك، يتضمن بحث X-Force هذا المزيد من الطرق لتشغيل برامج Intune PowerShell النصية وتطبيقات Windows، إلى جانب إصدار منطق قواعد الكشف من Microsoft Sentinel ليكشف نشاط الحركة الجانبية الذي يسيء استخدام Intune.
النشرة الإخبارية الخاصة بالمجال
ابقَ على اطلاع دائم على أبرز الاتجاهات في مجالات الذكاء الاصطناعي، والأتمتة، والبيانات، وغيرها الكثير من خلال رسالة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.
سيصلك محتوى الاشتراك باللغة الإنجليزية. ستجد رابط إلغاء الاشتراك في كل رسالة إخبارية. يمكنك إدارة اشتراكاتك أو إلغاء اشتراكك من هنا. لمزيد من المعلومات، راجع بيان خصوصية IBM.
بدأت العديد من الشركات في تبني بيئة هوية هجينة، مما يعني ربط بيئة Active Directory محلية مع Microsoft Entra ID (المعروف سابقًا باسم Azure AD). ويتيح ذلك للمجموعات أن تكون أكثر مرونة وكفاءة، ويشمل ذلك إدارة أفضل لأجهزة المستخدم والوصول إلى التطبيقات المرتكزة على السحابة. تحديدًا، عندما تكون الأجهزة متصلة بشكل هجين، تكون مرئية ويمكن إدارتها في كل من Active Directory المحلي وMicrosoft Entra ID. وبسبب هذا التكوين، يمكن أن يسهل التوصل إلى حلول إدارة الأجهزة السحابية الحركة الجانبية إلى الأجهزة المحلية، مثل محطات عمل المستخدمين المتصلة بنظام الهجين.
Microsoft Intune هو حل إدارة أجهزة مرتكز على السحابة يمكن استخدامه لإدارة تكوين الأجهزة المتصلة بـ Azure، مثل الأجهزة المتصلة بنظام الهجين. وتوضح الأقسام التالية كيفية استخدام Intune وإدارته من قبل المجموعات.
تقدم Microsoft العديد من الحلول لإدارة الأجهزة داخل المؤسسة. بعض هذه الحلول مدرجة أدناه:
حالات الاستخدام الإستراتيجية الأساسية للمجموعات لاستخدام Microsoft Intune هي:
توفر Microsoft وثائق مفصلة حول الأدوار المختلفة المتوفرة في Intune، بالإضافة إلى امتيازات كل دور. الدوران المميزان في Intune اللذان يسمحان بإنشاء برامج PowerShell النصية أو تطبيقات Windows هما Global Administrator وIntune Service Administrator (aka Intune Administrator).
هناك عدة خيارات لتنفيذ الرمز على مضيفي Windows عبر Microsoft Intune. ويمكن نشر برامج PowerShell النصية للسماح بتنفيذ الرمز عبر تنفيذ أوامر مباشرةً داخل البرنامج النصي. وتشمل أنواع تنفيذ الرمز الأخرى على أجهزة Windows نشر التطبيقات. فيما يلي بعض أنواع التطبيقات البارزة المدرجة:
تتم كتابة ملفات السجلات بواسطة Intune Management Extension في المسار C:\ProgramData\Microsoft\IntuneManagementExtension\Logs. ويمكن أن تكون هذه السجلات مفيدة لمعرفة متى تم تسجيل دخول الجهاز إلى Intune وما إذا كان قد تم تشغيل أي برامج نصية من PowerShell أو تطبيقات Windows.
عندما يقوم Intune بتشغيل برنامج PowerShell النصي، فإنه ينشئ نسخة مؤقتة من البرنامج النصي على القرص في المسار C:\Program Files (x86)\Microsoft Intune Management Extension\Policies\Scripts ثم يقوم بحفظ نتائج البرنامج النصي في المسار C:\Program Files (x86)\Microsoft Intune Management Extension\Policies\Results. وبعد اكتمال البرنامج النصي، تتم إزالة البرنامج النصي المؤقت والنتائج.
عندما يقوم Intune بتشغيل تطبيق Windows، يتم نشر التطبيق وتشغيله من C:\Windows\IMECache\[UNIQUE_GUID]. وبمجرد انتهاء تنفيذ التطبيق، يتم حذف الدليل.
هناك عدة تقنيات للحركة الجانبية المعروفة جيدًا لدى موردي منتجات الأمن وممارسو الأمن الدفاعي، وتُتاح لها وثائق متوفرة بسهولة في إطار عمل MITRE ATT&CK. وتستفيد تقنيات الحركة الجانبية في Windows بشكل أساسي من بروتوكولات وخدمات إدارية يمكنها تنفيذ البرامج أو البرامج النصية. وبعض تقنيات الحركة الجانبية الشائعة التي يستخدمها عناصر التهديد وممارسو الأمن الهجومي تشمل استخدام Windows Management Instrumentation (WMI)، والمهام المجدولة، والخدمات، ونموذج كائنات العناصر الموزع (DCOM) لتنفيذ البرامج أو البرامج النصية. من منظور الأمن التشغيلي، فإن العثور على تقنية فريدة من نوعها يمكنها تنفيذ البرامج النصية والبرامج أثناء الإنشاء من برامج موثوقة أمر بالغ الأهمية. ويمكن أن تندمج هذه التقنيات مع نشاط المؤسسة النموذجي وقد تتجاهلها فرق الأمن الدفاعية.
إذا اخترقت مستخدم Azure بالأذونات المناسبة المعروضة في قسم Microsoft Intune Role-Based Access، فإنه يمكنك تنفيذ الرمز على أي مضيف Windows يحتوي على وكيل Intune مثبت عن طريق نشر برامج PowerShell النصية أو تطبيق Windows. ويمكن استخدام هذا كمشغل خفي وفريد لتنفيذ الحركة الجانبية ينشأ من برامج المؤسسات الموثوقة.
يفترض السيناريو الموضح في القسم التالي الحصول على وصول مميز داخل Intune admin center. وبالإضافة إلى ذلك، كجزء من هذا السيناريو، الهدف هو الحصول على وصول تفاعلي للأوامر والتحكم (C2) عبر إشارة Cobalt Strike على المضيف الهدف مع استخدام Intune كمحفز لتنفيذ الحركة الجانبية.
يستخدم Intune مجموعاتEntra ID للتحكم في مكان تشغيل البرامج النصية أو التطبيقات. لذلك، إذا لم يكن المضيف أو مجموعة من المضيفين الذين تستهدفهم أعضاء في مجموعة بالفعل، فستحتاج إلى إنشاء مجموعة لهم حتى تتمكن من التحكم في مكان تشغيل البرنامج النصي أو التطبيق الخاص بك. وعادةً، ضمن بيئات الهوية الهجينة، يمكنك عرض الجهاز (الأجهزة) المرتبط بالمستخدم داخل Entra ID. وسيتيح لك ذلك إعداد قائمة بالمضيفين المستهدفين. ويمكن أيضًا استرجاع هذه المعلومات باستخدام الأدوات والنصوص الآلية، مثل ROADtools.
إذا كنت بحاجة إلى إنشاء مجموعة Microsoft Entra ID جديدة لتعيين المضيف (المضيفين) المستهدفين، فحدد "مجموعات"> "مجموعة جديدة" داخل مركز إدارة Intune.
يمكنك اختيار تحديد إما المضيفين المستهدفين أو المستخدمين، كما هو موضح في لقطات الشاشة المعنية أدناه. في هذه الحالة، نقوم بإنشاء مجموعة لاستهداف WIN-8675309 host.
سيظهر ملخص لمجموعتك، ويمكنك بعد ذلك إنشائها.
هناك عدة طرق لتنفيذ التفعيل الفوري لبرنامج PowerShell النصي أو تطبيق Windows المنشور من Intune. ويشمل ذلك ما يلي:
بدلاً من ذلك، يمكنك الانتظار حتى المرة التالية التي يتم فيها إعادة تشغيل الجهاز من تلقاء نفسه أو في المرة التالية التي يتحقق فيها وكيل Intune الخاص بالمضيف مع Intune بحثًا عن أي برامج نصية جديدة من PowerShell أو تطبيقات Windows.
يُعد نشر تطبيق Windows بدلاً من برنامج PowerShell النصي طريقة بديلة لتنفيذ الرمز. وهذه الطريقة أكثر مرونة، لأنها تسمح بتعبئة ملفات متعددة يتم نشرها وتنفيذها على مضيف مستهدف بواسطة وكيل Intune. وهذا مفيد من منظور المهاجم عند نشر الحمولة، مثل نشر حمولة جانبية DLL تتطلب عدة ملفات. وفيما يلي سيتم تفصيل عملية نشر حمولة Dism.exe DLL جانبية عبر التطبيق Intune Windows.
استخدم أداة Win32 Content Prep Tool من Microsoft لحزم ملفات الحمولة داخل ملف .intunewin . هذا تنسيق ملف مضغوط يسمح بنشر التطبيق بأمان. ويمكن الاطلاع على تفاصيل حول كيفية عمل هذه الحزمة في منشور المدونة هذا. وفي هذا المثال، لدينا دليل يحتوي على ملف قابل للتنفيذ وملف DLL. نحن نستخدم أداة Win32 Content Prep لحزم تلك الملفات في ملف a.intunewin .
ستتم كتابة ملف النتائج .intunewin إلى دليل النتائج الذي حددته. وفي هذه الحالة، نكون قد حزمنا Dism.exe و DismCore.dll في الملف Dism.intunewin .
الآن بعد أن أنشأت حزمة تطبيقات Windows، يمكنك المضي قدمًا في نشرها. داخل مركز إدارة Intune، انتقل إلى "التطبيقات" > "تطبيقات Windows" > "إضافة".
حدد "تطبيق Windows (Win32)" من القائمة المنسدلة:
قم بتحميل ملف .intunewin الذي تم إنشاؤه مسبقًا وقم بملء المعلومات الخاصة بتطبيقك.
بعد ذلك، أضف أمر تثبيتوالذي سيكون قابل للتنفيذ (Dism.exe) في هذه الحالة. وبالنسبة إلى أمر إلغاء التثبيت، فإنه يمكنك إدخال أي شيء. وبالإضافة إلى ذلك، نحن نختار تشغيل هذا التطبيق كـ "نظام" وبالنسبة لسلوك إعادة تشغيل الجهاز، فقد اخترنا "لا يوجد إجراء محدد". عند اختيار "النظام"، فهذا يعني أنه سيتم تشغيله كحساب NT AUTHORITY\SYSTEM.
تُستخدم قواعد الكشف لمنع تثبيت تطبيق ما عندما يكون موجودًا بالفعل. ولذلك، إذا نجحت نتيجة قاعدة الكشف، فلن يتم تثبيت تطبيق. ونظرًا لأننا نريد أن يعمل تطبيقنا بغض النظر عن أي شيء، فقد قمنا في هذه الحالة بتحميل برنامج PowerShell النصي الذي يحاول تنفيذ ملف تنفيذي غير موجود. وبهذه الطريقة، سيفشل البرنامج النصي للكشف دائمًا، مما يعني أن التطبيق غير موجود، وسيستمر التثبيت.
تخطي قسمي "التبعيات" و"الاستبدال" وأضف المجموعة مع المضيف (المضيفين) المستهدف داخل قسم "المهام":
بعد إنشاء تطبيق Windows، ستراه داخل مركز إدارة Intune ويجب أن يظهر في عمود "معين" كلمة "نعم". وهذا يعني أن التطبيق Windows تم تعيينه للمجموعات التي حددتها وينتظر النشر والتشغيل.
لإجراء تشغيل مخصص لوكيل Intune على المضيف المستهدف، سنعيد تشغيل خدمة "IntuneManagementExtation". وقد يستغرق الأمر ما يصل إلى خمس دقائق بعد إعادة تشغيل الخدمة حتى يتمكن المضيف المستهدف من تنزيل تطبيق Windows وتشغيله من Intune. وإذا لم يقم المضيف المستهدف بتنزيل تطبيق Windows وتشغيله بعد خمس دقائق، فقد يتعين إعادة تشغيل الخدمة مرة أخرى. توجد طرق أخرى لإجراء التشغيل المخصص في قسم التشغيل المخصص.
بعد إعادة تشغيل الخدمة، يمكنك مراقبة AgentExecutor.log و IntuneManagementExtension.log داخل الدليل C:\ProgramData\Microsoft\IntuneManagementExtension\Logs على المضيف المستهدف. بمجرد تحديث تاريخ التعديل الأخير على ملف AgentExecutor.log ، يجب أن يقوم وكيل Intune بتنزيل تطبيق Windows وتشغيله. وبالإضافة إلى ذلك، يمكنك مراقبة الدليل C:\Windows\IMECache لمعرفة متى تم تنزيل ملفات تطبيقك. فإنه سيتم إنشاء مجلد فرعي بمُعرف فريد (GUID).
وفي هذه المرحلة، تم نشر تطبيق Windows وتنفيذه، وحصلنا على إشارة من balt Strike على المضيف المستهدف WIN-8675309.
سيتم توضيح عدة اعتبارات دفاعية في هذا القسم لزيادة قدرات تقوية التكوين والكشف عنها في Intune ضد سيناريوهات الهجوم الموصوفة في هذا البحث.
لإنشاء قواعد الكشف أو صيد التهديدات لنشاط الحركة الجانبية الذي يسيء استخدام Intune، عليك أولاً تفعيل التسجيل. وداخل مركز إدارة Intune، حدد "إدارة المستأجر" > "إعدادات التشخيص" > "إضافة إعداد التشخيص":
حدد "AuditLogs" و"OperationalLogs"، ثم اختر إرسال سجلاتك إلى مساحة عمل التحليلات:
ستبدأ برؤية مخططات IntuneAuditLogs وIntuneOperationalLogs التي تبدأ في الظهور داخل مساحة عمل تحليلات السجلات الخاصة بك.
بعد أن تبدأ في استقبال سجلات Intune في مساحة عمل تحليلات السجلات الخاصة بك، فإنه يمكنك استخدام تلك المساحة في مثيل Microsoft Sentinel لبدء بناء قواعد صيد التهديدات والتحليل، والتي سيتم توضيحها في القسم التالي.
لا توجد حاليًا قواعد تحليلية متاحة للجمهور لـ Microsoft Sentinel لاكتشاف سيناريوهات هجوم Intune الموصوفة في هذا البحث. ولذلك، يرد في الأقسام التالية أجزاء متعددة من منطق القواعد التي يمكن تطبيقها كقواعد تحليلية مجدولة داخل Microsoft Sentinel لسيناريوهات الهجوم التالية داخل Intune:
لكل قاعدة من هذه القواعد التحليلية، يُوصى بإجراء اختبار والضبط في بيئتك بشكل مناسب. ويمكن نسخ استعلامات KQL المميزة أدناه ولصقها من مستودع KQL-Queries.
سيعمل منطق القواعد المرتبط التالي على التنبيه في أي وقت يقوم فيه المستخدم بإنشاء برنامج PowerShell نصي أو تطبيق Windows للنشر.
CreatedPSScriptOrWindowsApp.kql
يظهر مثال على تفعيل هذه القاعدة في Microsoft Sentinel في لقطات الشاشة التالية.
يعرض منطق القاعدة المرتبط أدناه أي مستخدمين قاموا بإنشاء وحذف برنامج PowerShell النصي في غضون 24 ساعة. وقد يكون هذا دليلاً على محاولة أحد المهاجمين تغطية آثاره بعد نشر برنامج PowerShell النصي.
يُظهر المثال التالي كيفية تفعيل هذه القاعدة في Microsoft Sentinel:
يقوم منطق القاعدة المرتبط أدناه بإرجاع أي مستخدمين قاموا بإنشاء تطبيق Windows وحذفه خلال 24 ساعة. وقد يكون هذا دليلاً على محاولة مهاجم إخفاء آثاره بعد نشر تطبيق Windows.
CreatedAndDeletedWindowsApp.kql
يُظهر المثال التالي كيفية تفعيل هذه القاعدة في Microsoft Sentinel:
يقوم منطق القاعدة المرتبط أدناه بإرجاع أي مستخدمين قاموا بإنشاء برنامج PowerShell النصي أو تطبيق Windows وأصدروا أيضًا إعادة تشغيل الجهاز خلال 24 ساعة.
CreatedPSScriptOrWindowsAppForcedRestart.kql
يُظهر المثال التالي كيفية تفعيل هذه القاعدة في Microsoft Sentinel:
يقوم منطق القاعدة أدناه بإرجاع أي مستخدمين قاموا بإنشاء برنامج PowerShell النصي أو تطبيق Windows وأصدروا أيضًا مزامنة جهاز خلال 24 ساعة.
CreatedPSScriptOrWindowsAppForcedSync.kql
يُظهر المثال التالي كيفية تفعيل هذه القاعدة في Microsoft Sentinel:
يمكن إنشاء سياسات الموافقة بحيث يطلب من عضو في مجموعة محددة الموافقة على أي برنامج نصي أو عمليات نشر جديدة للتطبيقات. ويمكن أن يؤدي تطبيق هذه النُهج جنبًا إلى جنب مع قواعد الكشف الموضحة سابقًا إلى تعزيز الوضع الأمني لمثيل Intune بشكل كبير.
انتقل إلى "إدارة المستأجر" > "موافقة الإدارة المتعددة > "سياسات الوصول" > "إنشاء".
املأ المعلومات المطلوبة، مثل اسم سياسة الوصول والوصف ونوع ملف التعريف. وبالنسبة لنوع الملف الشخصي، حدد "برنامج نصي".
أضف مجموعة أو عدة مجموعات ستكون مسؤولة عن الموافقة على أي عمليات نشر لبرامج نصية جديدة.
بعد إنشاء السياسة الخاصة بك، ستراها مأهولة في علامة تبويب "سياسات الوصول".
الآن وبعد تطبيق السياسة، عندما يحاول المستخدم إنشاء برنامج نصي جديد، ستتلقى الرسالة التالية. بعد تقديم الطلب مع المبررات التجارية، سيحتاج أحد المعتمدين من مجموعة محددة إلى السماح بنشر البرنامج النصي.
يمكن أيضًا تنفيذ نفس الخطوات الموضحة سابقًا لطلب الموافقة على أي نشر تطبيق. وتأكد من اختيار "تطبيق" من قائمة نوع الملف الشخصي المنسدلة عند إنشاء سياسة الوصول.
يمكنك الاطلاع على ملخص لسياستنا التي أنشأناها والتي تتضمن نوع الملف الشخصي "التطبيق".
والآن بعد أن تم تطبيق النهج عندما يحاول المستخدم إنشاء تطبيق جديد، سيتلقى الرسالة التالية. وبعد تقديم الطلب مع مبرر تجاري، يجب على الموافق من مجموعة موافقة محددة الموافقة عليه قبل نشر الطلب.
لدى Microsoft دليل لأفضل الممارسات في Microsoft Entra ID guide الذي يسلط الضوء على إرشادات مفصلة حول تأمين تكوين Microsoft Entra ID الخاص بك. وفيما يلي بعض التوصيات الأكثر أهمية المتعلقة بإساءة استخدام الأدوار المميزة في Microsoft Intune:
يستمر تزايد اعتماد هندسة الهوية الهجينة واستخدام الخدمات المرتكزة على السحابة. تعتمد المجموعات على هذه الخدمات السحابية لإدارة بنيتها التحتية المؤسسية، والتي تشمل إدارة نقاط نهاية المستخدمين والأجهزة الشخصية التي تتصل ب Office 365 وغيرها من الخدمات السحابية. وبالتالي، أصبح الكشف الصحيح عن سوء استخدام الخدمات المرتكزة على السحابية مثل Microsoft Intune أكثر أهمية من أي وقت مضى. ويهدف X-Force إلى إجراء بحث وإلهام المزيد من التحقيق في الدفاع عن خدمات مرتكزة على السحابة الحيوية للأعمال والتي يمكن أن يساء استخدامها من قبل عناصر التهديد للتحرك الجانبي وتنفيذ الرمز.
شكر خاص للأشخاص التاليين على تعليقاتهم على هذا البحث وتقديم مراجعة محتوى منشور المدونة: