تظن معظم المؤسسات أنها تعرف أين تقع أبوابها. هناك صفحة الدخول، وسياسة كلمات المرور، وتطبيق المصادقة الذي يهتز في الثانية صباحًا، وقاعدة الوصول الشرطي التي تحجب دولة مشبوهة. تقضي فرق الأمن سنوات في إحكام كل ذلك.
ثم تدخل خدمة نسخ احتياطي من باب لم يكن يومًا على المخطط.
بين الساعة 06:13 و08:34 بتوقيت UTC يوم 15 أكتوبر 2026، استخدم طرف مجهول بيانات اعتماد مخترقة تعود إلى ConnectWise Cloud Backup، المعروفة سابقًا بـ SkyKick، للحصول على رموز Microsoft Graph داخل مستأجري Microsoft 365 الذين ثبّتوا التطبيق. أكدت Huntress عمليات دخول غير مصرح بها في 173 مستأجرًا من الشركاء والعملاء. وأظهرت بياناتها الأوسع نشاط دخول من العنوان نفسه ضد ما يقارب 1000 مستأجر في Entra، نجح أكثر من 300 منها. تحرك النشاط بترتيب GUID، بضع ثوانٍ لكل مستأجر، وهذا ما يفعله سكربت يمشي على قائمة أهداف، لا إنسان.
لم يكتب أحد كلمة مرور. ولم يوافق أحد على إشعار هاتف. نفّذ التطبيق بالضبط ما صُمم له.
ما الذي ورثه المهاجم
يحمي ConnectWise Cloud Backup بيانات Microsoft 365 وGoogle Workspace لمزودي الخدمات المُدارة وعملائهم. ولهذه المهمة يُمنح موافقة واسعة ودائمة: قراءة وكتابة على صناديق البريد وOneDrive وSharePoint ومحادثات Teams ومعلومات الدليل، بما في ذلك حقوق الاستعادة.
من يملك بيانات اعتماد هذا التطبيق لا يحتاج إلى تصعيد. إنه يرث كل شيء. ووفق تحليل Todyl، تضمّن الوصول صلاحيات كاملة على البريد عبر Exchange Web Services، والملفات في OneDrive وSharePoint، ورسائل Teams، وقراءة الدليل، مع إمكانية استعادة البيانات. هذا ليس موطئ قدم، بل هو الشبكة بأكملها.
جاء تسجيل الدخول من 144.172.64[.]128، وهو عنوان في نطاق RouterHosting. عمليات الدخول الشرعية لهذا التطبيق تخرج عادة من نطاق IPv6 الخاص في Azure، فكان الشذوذ ظاهرًا لمن يفلتر عليه. العبارة المهمة هي «لمن يفلتر»: عمليات دخول كيانات الخدمة في تبويب منفصل داخل Entra. فإن كانت مراقبتك تنظر إلى المستخدمين فقط، فهذا الحدث لم يصدر أي ضجيج عندك.
لماذا لم تعمل المصادقة الثنائية والوصول الشرطي أبدًا
المصادقة الثنائية تتحقق من البشر. وسياسات الوصول الشرطي تُكتب ضد المستخدمين والمجموعات. أما تطبيق يصادق بسر أو شهادة خاصة به فليس أيًا منهما. إنه كيان خدمة، ويُصدر رمزه لأن بيانات الاعتماد مطابقة، لا لأن شخصًا اجتاز تحديًا.
إذن لم يتم تجاوز الضوابط المعتادة. لقد كانت خارج النطاق. المحيط هنا لم يكن التحقق من الهوية، بل الموافقة: كل مستأجر وُوفق فيه على التطبيق كان قابلًا للوصول ببيانات اعتماد واحدة. وإلغاء جلسات المستخدمين لا ينفع أيضًا. تعطيل التطبيق يوقف الرموز الجديدة، لكن الرموز الصادرة تبقى صالحة حتى 90 دقيقة، وهذا وقت كافٍ لمسح آلي.
الجرح الثاني: تطبيق توّج نفسه
في مستأجرين على الأقل تجاوز السلوك مجرد القراءة. قرابة الساعة 03:45 بتوقيت UTC، وخلال دقيقتين من بعضهما، منح تطبيق ConnectWise Cloud Management لـ Microsoft Teams نفسه دور المسؤول العام، ثم شغّل سكربتًا (Python-urllib/3.12) أضاف أسرار عملاء جديدة إلى عدد قليل من التطبيقات المسجلة الأخرى. في إحدى الحالات شمل ذلك تطبيقًا لـ Huntress، وبشكل منفصل تطبيق إدارة لمزود خدمة.
تأمل شكل ذلك. تطبيق الإدارة هو بالضبط نوع الأدوات التي يوافق عليها مزودو الخدمات داخل مستأجري عملائهم. سر يُضاف إليه لا يخص مستأجرًا واحدًا، بل مفتاح قد يعمل في كل مستأجر يثق بتلك الأداة. أزالت Huntress بيانات الاعتماد غير المصرح بها من تطبيقها في 16 أكتوبر، وفعّلت App Instance Property Lock بعد ذلك.
سجلت Huntress أيضًا ما لم تره: لا تلاعب بصناديق البريد أو الملفات، ولا تغييرات في المستخدمين أو السياسات في المستأجرين اللذين فُحصا. ومع ذلك جاء تحذير يزن أكثر من غياب الدليل: قراءات الدليل في Graph لا تترك عادة أي سجل تدقيق. لا يمكنك إثبات أن البيانات لم تُمس حين لم تُسجل القراءات أصلًا.
بقية اليوم
استُخدم العنوان نفسه في موجة ثانية أضيق يوم 15 أكتوبر بين 09:25 و12:35 بتوقيت UTC، ثم من 13:54 إلى 14:20، ضد 16 مستأجرًا محميًا بـ Huntress في قطاعات السياسة والأمن القومي والتجارة والمعادن الحرجة. معظمها لم يستخدم منتجات ConnectWise، لذلك فشلت المحاولات لأن التطبيق لم يكن موجودًا. هذه التفصيلة هي كل حجة أقل صلاحية في سطر واحد: غياب التطبيق كان الضابط الذي أنقذهم.
كذلك شنت البنية التحتية نفسها هجمات تخمين كلمات مرور (password spraying) ضد أربعة مكاتب محاماة يومي 13 و14 أكتوبر. عطّلت ConnectWise الوصول إلى Cloud Backup حتى إشعار آخر، وتقول إنها لم تجد دليلًا على اختراق بيانات النسخ الاحتياطي للشركاء.
ما يجب فعله هذا الأسبوع، لا الربع القادم
- افتح سجلات دخول كيانات الخدمة. في مركز إدارة Microsoft Entra انتقل إلى المراقبة، ثم سجلات الدخول، ثم تبويب كيانات الخدمة. فلتر على معرّف التطبيق 506e08f9-6e9a-4da4-942b-a099a03644ae وراجع 15 أكتوبر. كرر ذلك لتطبيقات Exchange Online b78f6a77-d4e5-46fb-87e5-d1648bd02519 وTeams 24205314-2b89-4e07-a2a4-579e898a5640 وSharePoint b2b55f5b-7758-4719-8d8f-88ae172e6bdb.
- تتبع العنوان الغريب. أي مصادقة من خارج نطاقات Microsoft المتوقعة تُعد نتيجة. العنوان 144.172.64[.]128 هو المؤشر الأساسي، وتظهر 144.172.64[.]99 و.60 و144.172.94[.]243 في محاولات فاشلة مرتبطة.
- عطّل التطبيقات ولا تحذفها. الحذف يضيّع أثر التدقيق الذي ستحتاجه. أبقها معطلة حتى تؤكد ConnectWise تدوير بيانات الاعتماد.
- دقق كل سر وشهادة جديدة أُضيفت إلى أي تسجيل تطبيق منذ 13 أكتوبر، بما في ذلك بيانات الاعتماد الموحدة. تاريخ انتهاء غير متوقع في 2027 أو 2028 علامة على استمرارية الوصول، لا خطأ.
- راجع إسنادات أدوار الدليل للتطبيقات، وتاريخ منح إدارة الهوية المميزة.
- فعّل سجلات نشاط Graph وسجل التدقيق الموحد الآن. لا يمكنك التحقيق في قراءات لم تُسجل.
- افترض أن البيانات القابلة للقراءة قد قُرئت. تحقق من قواعد البريد الجديدة والتحويل، وراجع روابط المشاركة، وأبلغ المسؤولين عن سرية بيانات العملاء.
- قلّص الموافقات الدائمة. نطاقات بأقل صلاحية، وقفل خصائص المثيل، وتقييد موافقة المستخدمين، ومراجعة دورية لكل تطبيق طرف ثالث في كل مستأجر تملكه.
الدرس للشركات النامية
إذا كنت تدير شركة من 40 شخصًا على Microsoft 365، فمن شبه المؤكد أن لديك عدة تطبيقات وُوفق عليها قبل سنوات من شخص غادر الشركة، كل منها يحمل وصولًا واسعًا ودائمًا. هذا هو التعرض نفسه، لكن بحجم أصغر.
الدرس المزعج من 15 أكتوبر ليس أن ConnectWise كانت مهملة. بل أن نموذجنا الذهني لأمن الهوية يتوقف عند الإنسان. كيانات الخدمة وموافقاتها وبيانات اعتماد التطبيقات هي المحيط الفعلي لأي مستأجر حديث، وفي معظم المؤسسات لا أحد يملكها.
بيانات اعتماد واحدة. مئة وثلاثة وسبعون مستأجرًا. ولا طلب مصادقة ثنائية في أي مكان. أصلح الجرد قبل أن يصلحك.