M365 & Entra Attacks — Token واحد بيقلب الدنيا
Token theft و Conditional Access bypass و OAuth abuse
هجمات M365 والـ Entra ID: ليه الهوية بقت هي السور الحقيقي لشركتك؟
طب الـ firewall بتاعك بيحمي إيه دلوقتي بالظبط؟ الموظف بيفتح إيميله من البيت، ومن الموبايل، ومن القهوة، وكل ده بـ token من Microsoft. طب فين السور بقى؟ مفيش.
زمان كان السور بتاعك هو الـ Firewall والسيرفرات اللي محبوسة جوه أوضة الـ Data Center. دلوقتي السور ده اتهد. السحاب خلّى بياناتك ومفاتيحك متاحة من أي مكان في العالم، وبقت "الهوية" هي السور الوحيد الفاضل لك.
لو المهاجم سيطر على حساب الـ Entra ID بتاعك، فهو سيطر على إيميلاتك، ملفاتك على SharepPoint، كودك على GitHub، وحتى بنيتك التحتية على Azure.
في العالم ده، الباسورد لوحدها بقت نكتة. المهاجم مش عايز الباسورد — هو عايز الـ Token. عايز التذكرة اللي بتدخله جوه من غير ما حد يسأله "إنت مين؟".
في حادثة Microsoft Storm-0558 في 2023، صينيين سرقوا signing key من crash dump بيخص consumer environment، واستخدموه يزوّروا tokens يدخلوا بيها على إيميلات 25 منظمة حكومية أمريكية، منهم وزيرة التجارة. مفتاح واحد. tokens مزوّرة. ودخول كامل لشهور.
[!danger] تنبيه الكلام ده للتطبيق ضد tenants تملكها أو معاك إذن رسمي باختبارها. سرقة الـ Tokens جريمة فيدرالية لو تمت بره النطاق ده. لو حذرتك، فده مش علشان أنا مثالي — ده علشان شفت ناس راحت بيها فعلاً.
غلطات الـ junior في M365
- يفتكر إن MFA متفعل = الحساب آمن. الـ MFA Type مهم. SMS مش زي Authenticator مش زي FIDO2.
- يسيب User Consent مفتوح. أي موظف بيقدر يوافق لـ OAuth app ياخد إيميلاته كلها.
- ينسى Legacy Auth. IMAP و POP لسة شغّالين. ما بيفهموش MFA. password spray بيمشي عليهم.
- ما يراقبش الـ Service Principals. تطبيق من 2019 لسة معاه Mail.ReadWrite على الـ tenant، ومحدش فاكره موجود.
ليه الهوية هي المحيط الأمني الجديد؟
فكّر فيها كده. لو الموظف بيفتح إيميله من البيت، ومن الموبايل، ومن القهوة.. فين الـ Perimeter بتاعك؟ مفيش.
عشان كده المهاجمين غيّروا تكتيكاتهم. بدل ما يحاولوا يكسروا باسورد معقّدة، بيعملوا هجوم AiTM علشان يسرقوا الـ Session Cookie ويدخلوا "رسمياً" من غير ما الـ MFA يحس بيهم.
أشهر سلاسل الهجوم في السحاب
1. هجمات الـ AiTM (تجاوز الـ MFA)
دي الضربة القاضية حالياً. المهاجم بيعمل موقع شبه موقع مايكروسوفت، وبدل ما ياخد الباسورد بس، بياخد الـ Token اللي مايكروسوفت بتبعته بعد ما إنت تعمل MFA.
إنت بالنسبة لمايكروسوفت يوزر شرعي وعملت الـ MFA بتاعك، بس المهاجم هو اللي معاه التذكرة دلوقتي.
# استخدام evilginx2 لصيد الـ Tokens - ليه: reverse proxy بيلم cookies بعد المصادقة الكاملة$ evilginx2 -p ./phishlets# الهدف: التقاط ESTSAUTH و ESTSAUTHPERSISTENT cookies
2. سرقة الـ Tokens من الجهاز (Token Theft)
لو المهاجم وصل لجهاز الموظف بـ RCE، هو مش محتاج يتعب نفسه. بيدخل يسحب الـ Tokens المشفّرة من المتصفح (Edge/Chrome) أو من الـ Token Broker بتاع ويندوز.
وبعدين ياخد الـ Tokens يشغّلها من جهازه هو، ويبان كأنه نفس الموظف من نفس الجهاز "الموثوق".
# سحب tokens من Token Broker - ليه: TokenTactics بيتعامل مع PRT و refresh tokens$ TokenTactics> Get-AzureTokens# الـ Primary Refresh Token هو الكنز - بيدّيك access على كل M365 من غير MFA
3. فخ الـ OAuth (Consent Phishing)
ده نوع من العبث اللي بيحصل كتير. الموظف بيجيله طلب: "تطبيق AuditApp عايز يوصل لإيميلاتك، موافق؟".. والموظف بيدوس موافق من غير ما يفكر.
دلوقتي المهاجم بقا معاه Refresh Token يقدر يدخل بيه على الإيميلات في أي وقت، حتى لو الموظف غيّر الباسورد بتاعه.
ده اللي حصل في حملة Storm-0539 ضد retail companies في 2024. مفيش phishing بالمعنى التقليدي. الموظف وافق بإيده.
إحنا بنعمل إيه؟ ولا ناويين على إيه؟ (رؤية دفاعية)
في كتير من الجهات عندنا، الـ MFA تعريفه "بنبعت كود SMS". خلاص. أمان. النهاية.
لا. ده مش defense — ده تمثيل defense.
الأوقع إننا نتحرك للأمام:
- MFA مقاوم للتصيد (FIDO2 / Passkeys): ده النوع الوحيد اللي هجمات الـ AiTM ما بتنفعش معاه. الـ key مربوط بالـ origin، فالـ evilginx domain ما هيشتغلش معاه.
- شرط الجهاز الممتثل (Compliant Device): مايكروسوفت ما تسمحش بالدخول إلا لو الجهاز معروف ومُدار من الشركة.
- إلغاء الـ Legacy Auth: اقفل IMAP و POP و SMTP Auth. مفيش مبرر سنة 2026 إنهم شغّالين.
- Token Protection (Conditional Access): اربط الـ tokens بـ TPM الخاص بالجهاز. لو اتسرقت، ما تشتغلش على جهاز تاني.
قائمة مراجعة المدافع الواعي
| إيه اللي بيحصل؟ | ليه ده كلام فارغ؟ | الحل الحقيقي |
|---|---|---|
| الموظف بيوافق على أي App | فاتح الصلاحية لأي حد يطلب | اقفل User Consent، خلي الأدمن هو اللي يوافق |
| معتمد على SMS في MFA | الـ SMS سهل يتخطف أو يتجاوز | FIDO2 أو Authenticator بـ Number Matching |
| مش بتراقب الـ Tokens المسروقة | فاكر إن الباسورد هي الأمان | فعّل Token Protection واربط الـ token بـ TPM |
| Service Principals من 2019 شغّالة | محدش فاكر هي بتعمل إيه | مراجعة ربع سنوية لكل enterprise app |
الخلاصة الناشفة
في الـ Entra ID، الهوية هي السلاح وهي الثغرة. لو ما أمّنتش التذكرة (Token) بتاعتك صح، فكل السور اللي بنيته حوالين الـ Cloud مالهوش أي قيمة.
الـ junior بيحمي الـ password. الـ pro بيحمي الـ session. الـ state actor بيسرق الـ signing key ويزوّر tokens لشهور.
في 2026، اللي مش على Passkeys + Conditional Access + Token Protection، مش بيدافع — بيتفرّج.