EntraFalcon — أداة PowerShell خفيفة الوزن لتقييم الوضع الأمني لبيئات Microsoft Entra ID. تساعد في تحديد الكائنات ذات الامتيازات، والتعيينات الخطرة، والتكوينات الخاطئة المحتملة. | Kitploit
أداة PowerShell خفيفة الوزن لتقييم الوضع الأمني لبيئات Microsoft Entra ID. تساعد في تحديد الكائنات ذات الامتيازات، والتعيينات الخطرة، والتكوينات الخاطئة المحتملة.
EntraFalcon هي أداة تقييم مبنية على PowerShell مخصصة لمختبري الاختراق ومحللي الأمن ومسؤولي الأنظمة لتقييم الوضع الأمني لبيئة Microsoft Entra ID.
صُممت EntraFalcon لسهولة الاستخدام، وتعمل على PowerShell 5.1 و7، وتدعم كلًا من Windows وLinux، ولا تتطلب وحدات PowerShell إضافية أو تثبيتات إضافية أو موافقة من Microsoft Graph API.
تساعد الأداة في كشف الكائنات ذات الامتيازات العالية، والتعيينات التي قد تكون خطرة، وسوء إعدادات الوصول الشرطي التي غالبًا ما يتم تجاهلها، مثل:
المستخدمون الذين لديهم تحكم في مجموعات أو تطبيقات عالية الامتياز
تطبيقات المؤسسات الخارجية أو الداخلية ذات الأذونات المفرطة (مثل Microsoft Graph API وأدوار Azure)
المستخدمون الذين لديهم تعيينات أدوار Azure IAM مباشرة على الموارد
الحسابات ذات الامتيازات المتزامنة من البيئات المحلية (on-premises)
المستخدمون غير النشطين أو المستخدمون الذين لا يملكون قدرة MFA
المجموعات غير المحمية المستخدمة في تعيينات حساسة (مثل استثناءات الوصول الشرطي، أو مالك الاشتراك، أو عضو مؤهل في مجموعة ذات امتيازات)
تُعرض النتائج في تقارير HTML تفاعلية لدعم الاستكشاف والتحليل بكفاءة.
🚀 الميزات
سكربت PowerShell بسيط متوافق مع PowerShell 5.1 و7. يعمل على Windows وLinux
مصادقة مدمجة تدعم طرقًا متعددة
يستخدم تطبيقات Microsoft من الطرف الأول ذات النطاقات الممنوحة مسبقًا لتجاوز مطالبات موافقة Graph API
يُنشئ تقارير HTML قابلة للتنقل تدعم التصفية والفرز وتصدير البيانات وغيرها
ينفذ أكثر من 90 فحصًا آليًا ويلخص النتائج في تقرير نتائج الأمان (Security Findings Report)
يتضمن فحوصات لضعف إعدادات المستأجر وخصائص أو أذونات الكائنات الخطرة
يوفر تصنيفات الخطورة بالإضافة إلى أوصاف المشكلة والتهديدات المحتملة وإرشادات المعالجة
يسرد الكائنات المتأثرة ويربط مباشرة بتقاريرها التفصيلية لمزيد من التحقيق
ينفذ تقييمًا أساسيًا للتأثير والاحتمالية والمخاطر لتسليط الضوء على الكائنات عالية الامتياز ضعيفة الحماية وفرز البيانات
يعرض تحذيرات للإعدادات الخطرة والامتيازات المرتفعة
يعدد كائنات Entra ID، بما في ذلك:
المستخدمون (بما في ذلك مستخدمو الوكلاء - Agent Users)
المجموعات
تطبيقات المؤسسات
تسجيلات التطبيقات
الهويات المُدارة
هويات الوكلاء
المبادئ الأساسية لمخطط هوية الوكيل
مخططات هوية الوكيل
تعيينات PIM:
PIM لأدوار Entra
PIM للمجموعات
PIM لأدوار Azure
تعيينات أدوار Entra
تعيينات أدوار Azure
تعيينات Intune RBAC
حزم الوصول
كتالوجات إدارة الحقوق (Entitlement Management Catalogs)
RBAC للكتالوجات
سياسات الوصول الشرطي
الوحدات الإدارية
إعدادات PIM:
PIM لأدوار Entra
PIM للمجموعات (مصادقة BroCi فقط)
✅ المتطلبات
النوع
الصلاحية
إلزامي
التأثير في حال غيابها
دور Entra ID
قارئ عام (Global Reader)
نعم
لا يمكن تشغيل السكربتات
دور Azure
قارئ: على كل مجموعة إدارة أو اشتراك
لا
لا يمكن تقييم تعيينات Azure IAM
علاوة على ذلك، يجب أن تكون قادرًا على المصادقة على Microsoft Graph API واختياريًا على Azure ARM API من الجهاز الذي تشغّل عليه الأداة.
تأكد من أن سياسات الوصول الشرطي لا تمنع مصادقتك.
ملاحظة: قد تحتاج إلى تغيير سياسة تنفيذ PowerShell مؤقتًا لتشغيل السكربت.
افعل ذلك فقط مع السكربتات الموثوقة!```
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process
للتقييمات العادية، استخدم أحد تدفقات التغطية الكاملة:
التدفق الموصى به
الأفضل لـ
المنصة
التغطية
BroCi(الافتراضي)
عمليات التشغيل التفاعلية على Windows
Windows
كاملة
BroCiManualCode
المصادقة في متصفح آخر
Windows, Linux, macOS
كاملة
BroCiToken
رمز تحديث موجود من بوابة Azure
Windows, Linux, macOS
كاملة
ServicePrincipal
الأتمتة / CI
Windows, Linux, macOS
كاملة
يستخدم BroCi تسجيل دخول تفاعليًا واحدًا. بينما لا يستخدم BroCiToken وServicePrincipal أي تسجيل دخول تفاعلي. قد تتطلب تدفقات المستخدم الاحتياطية عمليات تسجيل دخول تفاعلية متعددة لأنه يتم طلب رموز موارد منفصلة.
تدفقات المصادقة الاحتياطية
نظرًا لعدم وجود تطبيقات تابعة لجهات خارجية موافق عليها مسبقًا، لا يمكن للتدفقات الاحتياطية تنفيذ التعداد الكامل (PIM for Groups, Access Packages, Catalogs). لذلك، تظل حاليًا خيارات احتياطية فقط.
التدفق
استخدمه فقط عندما
المنصة
القيود
AuthCode
التوافق القديم مطلوب
Windows
تغطية جزئية. لا يوجد تقرير مستقل لـ PIM for Groups أو Access Packages أو Catalogs.
DeviceCode
المصادقة المستندة إلى المتصفح غير ممكنة
Windows, Linux, macOS
تغطية جزئية. لا يوجد تقرير مستقل لـ PIM for Groups أو Access Packages أو Catalogs. تعمل بعض فحوصات نتائج الأمان بعمق مخفض.
ManualCode
يجب إكمال المصادقة عبر جلسة متصفح منفصلة
Windows, Linux, macOS
تغطية جزئية. لا يوجد تقرير مستقل لـ PIM for Groups أو Access Packages أو Catalogs.
موصى به: تدفق BroCi (الافتراضي / Windows فقط)
يستخدم BroCi تطبيقات تابعة لجهات خارجية بديلة ويتطلب تسجيل دخول تفاعليًا واحدًا فقط.
إنه مفيد عندما يتطلب عميل Azure Active Directory PowerShell تعيينًا ويجب تجنبه.```powershell
.\run_EntraFalcon.ps1
root@kitploit:~
اختيار BroCi الصريح:```powershell
.\run_EntraFalcon.ps1 -AuthFlow BroCi
الموصى به: BroCi + تدفق الكود اليدوي```powershell
.\run_EntraFalcon.ps1 -AuthFlow BroCiManualCode
root@kitploit:~
1. ينسخ السكربت رابط المصادقة إلى الحافظة.
2. الصق الرابط في المتصفح (اختياريًا على جهاز آخر لدعم الدخول الموحّد SSO).
3. افتح أدوات المطوّر في المتصفح، وفي تبويب Network، فعّل `Preserve log`.
4. أكمل عملية المصادقة.
5. ابحث في سجل الشبكة عن `code=1.` وانسخ رابط الطلب الذي يحتوي على الرمز إلى الحافظة.
6. اضغط Enter للمتابعة؛ يقرأ السكربت الرمز من الحافظة ويكمل الحصول على التوكن.
#### موصى به: BroCi مع التوكن
إذا كان توكن تحديث صالح لبوابة Azure متاحًا بالفعل (العميل c44b4083-3bb0-49c1-b47d-974e53cbdf3c)، يمكن استخدامه مباشرة.
مثال: الحصول على توكن التحديث من المتصفح
1. افتح أدوات المطوّر في المتصفح، وفي تبويب Network، فعّل Preserve log.
2. قم بالمصادقة على https://entra.microsoft.com.
3. ابحث في سجل الشبكة عن `brk_client_id=c44b4083-3bb0-49c1-b47d-974e53cbdf3c` واستخرج توكن التحديث من الاستجابة.```powershell
.\run_EntraFalcon.ps1 -AuthFlow BroCiToken -BroCiToken "1.XXXXXXXXXXX"
موصى به: Service Principal
يتم المصادقة كتطبيق مسجّل باستخدام منح بيانات اعتماد عميل OAuth2 — دون الحاجة إلى تفاعل المستخدم.
مفيد لعمليات التنفيذ الآلي المتكررة.
يتطلب تسجيل تطبيق Entra مخصص بأذونات Graph API من نوع Application (انظر أدناه).
مع سر العميل:```powershell
.\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "" -SPClientSecret ""
مع شهادة PEM + المفتاح الخاص (PowerShell 7+ فقط):```powershell
.\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "" -SPCertificatePemPath "C:\certs\cert.pem" -SPPrivateKeyPemPath "C:\certs\key.pem"
root@kitploit:~
للمفتاح الخاص المشفّر، أضف `-SPPrivateKeyPemPassword (Read-Host -Prompt "Private key password" -AsSecureString)`.
##### أذونات تسجيل التطبيق المطلوبة
امنح أذونات **التطبيق** التالية (وليس المفوضة) على تسجيل التطبيق ووافق عليها من المسؤول:
| الصلاحية | النوع |
|---|---|
| `AdministrativeUnit.Read.All` | Application |
| `AgentIdentity.Read.All` | Application |
| `AgentIdentityBlueprint.Read.All` | Application |
| `AgentIdentityBlueprintPrincipal.Read.All` | Application |
| `Application.Read.All` | Application |
| `AuditLog.Read.All` | Application |
| `Device.Read.All` | Application |
| `EntitlementManagement.Read.All` | Application |
| `Group.Read.All` | Application |
| `Organization.Read.All` | Application |
| `Policy.Read.All` | Application |
| `PrivilegedAccess.Read.AzureADGroup` | Application |
| `RoleManagement.Read.Directory` | Application |
| `RoleManagementPolicy.Read.AzureADGroup` | Application |
| `User.Read.All` | Application |
| `DeviceManagementRBAC.Read.All` | Application |
بالإضافة إلى ذلك، قم بتعيين دور **Azure Reader** على مجموعة الإدارة الجذرية (أو كل اشتراك ذي صلة) واختياريًا دور **Global Reader** لكيان الخدمة في Entra ID (مطلوب لحالة المصادقة متعددة العوامل لكل مستخدم).
#### البديل: تدفق رمز التفويض (Windows فقط)```powershell
.\run_EntraFalcon.ps1 -AuthFlow AuthCode
الاحتياط: تدفق رمز الجهاز
غالبًا ما يكون مقيدًا بواسطة الوصول الشرطي في البيئات المحصّنة.
مع DeviceCode، يتم تشغيل فحصين من فحوصات النتائج الأمنية بعمق مخفّض (CAP-004 و CAP-005).```powershell
.\run_EntraFalcon.ps1 -AuthFlow DeviceCode
ينسخ البرنامج النصي عنوان URL للمصادقة إلى الحافظة.
الصق عنوان URL في المتصفح (اختياريًا على جهاز آخر لدعم الدخول الموحّد SSO).
أكمل عملية المصادقة.
انسخ عنوان URL النهائي لإعادة التوجيه من شريط عنوان المتصفح (الذي يحتوي على رمز التفويض) إلى الحافظة.
اضغط على Enter للمتابعة؛ يقرأ البرنامج النصي الرمز من الحافظة ويكمل الحصول على التوكن.
معلمات أخرى
تضمين تطبيقات المؤسسات المملوكة لشركة Microsoft
افتراضيًا، يتم استبعاد تطبيقات المؤسسات الرسمية المملوكة لشركة Microsoft من التقييم لتقليل الضوضاء. لتضمينها في التعداد والتحليل، استخدم المفتاح -IncludeMsApps:```powershell
.\run_EntraFalcon.ps1 -IncludeMsApps
root@kitploit:~
#### تخطي تقييم PIM للمجموعات
استخدم مفتاح `-SkipPimForGroups` لتخطي مرحلة ما قبل الجمع والإثراء الخاصة بـ PIM للمجموعات.
يؤدي هذا أيضًا إلى تخطي تقرير إعدادات `PIM for Groups` المستقل.```powershell
.\run_EntraFalcon.ps1 -SkipPimForGroups
معلمات اختيارية أخرى
المعلمة
الوصف
القيمة الافتراضية
UserAgent
وكيل المستخدم المستخدم في الطلبات إلى نقطة نهاية الرمز المميز واستدعاءات API.
EntraFalcon
DisableCAE
يعطل طلب رموز تقييم الوصول المستمر (CAE).
false
Tenant
يحدد المستأجر (المعرف أو النطاق) للمصادقة ضده. مفيد عند تقييم مستأجر غير المستأجر الرئيسي للحساب.
المستأجر الرئيسي للحساب
OutputFolder
مجلد الإخراج حيث يتم تخزين التقارير.
Results_%TenantName%_YYYYMMDD_HHMM
LimitResults
يحد من عدد المجموعات والمستخدمين في التقرير (بعد الفرز حسب المخاطر). مفيد للمستأجرين الكبار.
-
LogLevel
يتحكم في مستوى تفاصيل تسجيل سطر الأوامر أثناء التشغيل. القيم المدعومة: Off (افتراضي)، Verbose، Debug، Trace.
Off
ApiTop
يحدد الحد الأقصى لعدد الكائنات التي يتم إرجاعها من API. القيم الأقل تقلل من خطر انتهاء المهلة (HTTP 504)، لكنها تزيد من عدد الطلبات.
معرف التطبيق (العميل) لكيان الخدمة. مطلوب لـ -AuthFlow ServicePrincipal.
-
SPClientSecret
سر العميل لكيان الخدمة. يُستخدم مع -AuthFlow ServicePrincipal.
-
SPCertificatePath
المسار إلى ملف شهادة PFX/P12 لمصادقة كيان الخدمة.
-
📊 بعض الأمثلة على التقارير
تقرير نتائج الأمان
المستخدمون
المستخدمون (قسم التفاصيل)
أدوار Entra ID
أدوار Azure
تطبيق المؤسسة (قسم التفاصيل)
سياسات الوصول المشروط
سياسات الوصول المشروط (قسم التفاصيل)
إعدادات أدوار PIM (Entra)
هويات الوكلاء
ملخص التعداد
📑 تقرير HTML
عام
انقر على زر ⚙️ الأعمدة لإظهار أو إخفاء أعمدة محددة.
انقر على 💾 تصدير لتنزيل CSV/JSON أو نسخ CSV/TSV/JSON للبيانات المرئية حالياً.
انقر على 👁 مشاركة العرض لنسخ عوامل التصفية والفرز واختيار الأعمدة كرابط قابل للمشاركة.
انقر على 🧰 العروض المسبقة لتطبيق عوامل تصفية واختيارات أعمدة مهيأة مسبقاً.
انقر على 🔄 إعادة تعيين العرض لإعادة تعيين العرض إلى الوضع الافتراضي.
انقر على أسماء الكائنات للانتقال إلى المعلومات التفصيلية، حتى في تقارير أخرى.
عند استخدام التنقل الداخلي، اضغط على زر الرجوع في المتصفح للعودة.
تعرض بعض حقول رؤوس الجداول نصاً مساعداً عند تمرير الماوس.
قم بفرز البيانات بالنقر على رأس الجدول.
انقر مع الضغط على Alt على رأس عمود رئيسي في الجدول لإخفاء هذا العمود بسرعة.
انقر مع الضغط على Alt على صف محتوى رئيسي في الجدول لإخفائه مؤقتاً. استخدم شريحة الصفوف المخفية أو إعادة تعيين العرض لإظهار الصفوف المخفية مرة أخرى.
التصفية
إذا لم يتم تحديد عامل تشغيل، تكون التصفية الافتراضية يحتوي على.
استخدم = للمطابقة التامة.
استخدم ^ لـ يبدأ بـ (مثال: ^Mallory).
استخدم $ لـ ينتهي بـ (مثال: $domain.ch).
عوامل المقارنة مثل >، <، >=، <= مدعومة (للقيم الرقمية فقط).
يمكن نفي عوامل التصفية بالبدء بـ ! (باستثناء المقارنات الرقمية). أمثلة: !Mallory، !=Mallory، !^Mallory أو !$domain.ch.
استخدم =empty لمطابقة الخلايا الفارغة، أو !=empty لمطابقة الخلايا غير الفارغة.
استخدم || لمطابقة أي من القيم المتعددة في نفس العمود (مثال: Admin || Guest).
استخدم && لطلب مطابقات متعددة في نفس العمود (مثال: !adm && !svc && !sql).
لتطبيق منطق OR عبر الأعمدة، استخدم or_، group1_، group2_... مباشرة في حقل التصفية. أمثلة: في العمود 1: or_>1، في العمود 2: or_!Mallory
ملاحظة: عمود DisplayName يتضمن أيضاً معرف الكائن (غير مرئي)، لذا يمكن التصفية حسب المعرف أيضاً.
التحكم باستخدام معلمات GET
التصفية: قم بتطبيق عوامل التصفية باستخدام أسماء الحقول كمعلمات HTTP GET، مثال: ?EntraRoles=>1&Enabled=true.
لتطبيق منطق OR عبر الأعمدة، استخدم البادئة or_ أو group1_ (مثال: ?or_EntraRoles=>0&or_GrpMem=>0).
اختيار الأعمدة: اختر الأعمدة التي تريد عرضها باستخدام معلمة columns. مثال: ?columns=DisplayName,Owner.
الفرز: قم بفرز البيانات باستخدام معلمتي sort وsortDir. مثال: ?sort=Impact&sortDir=desc أو ?sort=OwnerCount&sortDir=asc.
تفاصيل الكائن: انتقل مباشرة إلى كائن محدد في التقرير باستخدام مرساة (#) ومعرف الكائن، مثال: #%ObjectID%.
التقييم
التأثير: يمثل مقدار أو شدة الأذونات التي يمتلكها الكائن.
الاحتمالية: تمثل مدى سهولة التأثير على الكائن أو مدى حمايته.
المخاطر: النتيجة المحسوبة: التأثير × الاحتمالية = المخاطر.
مهم:
هذا التقييم مخصص كتقييم أساسي للمساعدة في فرز وترتيب أولويات الإدخالات في الجدول.
درجات المخاطر ليست قابلة للمقارنة مباشرة عبر أنواع الكائنات أو التقارير المختلفة.
ليس المقصود منه استبدال تقييم المخاطر الكامل.
🔧 تحت الغطاء
تصنيف الأدوار
يتم تصنيف أدوار Entra ID وAzure تقريباً إلى مستويات مختلفة. يؤثر هذا التصنيف على درجات التأثير للكائنات المعينة لتلك الأدوار.
الهدف هو تعيين درجة تأثير أعلى للمستخدمين ذوي الأدوار الأكثر قوة (مثل المسؤول العام) مقارنة بالمستخدمين ذوي الأدوار الأقل أهمية (مثل القارئ العام)، حتى لو اعتبرت Microsoft كليهما أدواراً مميزة.
ملاحظة:
بالنسبة لأدوار Azure، هذا التصنيف أقل دقة، حيث يعتمد التأثير الفعلي بشكل كبير على نطاق تعيين الدور. على سبيل المثال، دور المالك على جهاز افتراضي واحد له تأثير أقل بكثير من تطبيق نفس الدور على اشتراك كامل. قد يكون أيضاً اشتراك اختبار بدون أي موارد.
أدوار Entra ID
اسم الدور
مستوى الطبقة
GUID
المسؤول العام
0
62e90394-69f5-4237-9190-012177145e10
دعم الشريك Tier2
0
e00e864a-17c5-4a4b-9c06-f5b95a8d5bd8
مسؤول المصادقة المميزة
0
7be44c8a-adaf-4e2a-84d6-ab2649e08a13
مسؤول الدور المميز
0
e8611ab8-c189-46e8-94e1-60213ab1f814
مسؤول اسم النطاق
0
8329153b-31d0-4727-b945-745eb3bc5f31
مسؤول مزود الهوية الخارجي
0
be2f45a1-457d-42af-a067-6ec1fa63bc45
مسؤول الهوية المختلطة
0
8ac3fc64-6eca-42ea-9e69-59f4c7b60eb2
مسؤول التطبيقات
0
9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3
مسؤول تطبيقات السحابة
0
158c047a-c907-4556-b7ef-446551a6b5f7
مسؤول الأمان
0
194ae4cb-b126-40b2-bd5b-6091b380977d
مسؤول معرف الوكيل
1
db506228-d27e-4b7d-95e5-295956d6615f
مسؤول الذكاء الاصطناعي
1
d2562ede-74db-457e-a7b6-544e236ebb61
مسؤول الوصول المشروط
1
b1be1c3e-b65d-4f19-8427-f6fa0d97feb9
مسؤول المصادقة
1
c4e39bd9-1100-46d3-8c65-fb160da0071f
مسؤول Azure DevOps
1
e3973bdf-4987-49ae-837a-ba8e231c7286
كتّاب الدليل
1
9360feb5-f418-4baa-8175-e2a00bac4301
مستجيب هوية Entra SOC
1
58f930cc-fcf4-4152-852c-1d7dbf502139
مسؤول Exchange
1
29232cdf-9323-42fd-ade2-1d097af3e4de
مسؤول المجموعات
1
fdd7a751-b60b-444a-984c-02652fe8fa1c
مسؤول مكتب المساعدة
1
729827e3-9c14-49f7-bb1b-9608f156bbb8
مسؤول حوكمة الهوية
1
45d8d3c5-c802-45c6-b32a-1d70b5e1e86e
مسؤول Intune
1
3a2c62db-5318-420d-8d74-23affee5d9d5
مسؤول المعرفة
1
b5a8dcf3-09d5-43a9-a639-8e29ef291470
مدير المعرفة
1
744ec460-397e-42ad-a462-8b3f9747a02c
مسؤول سير عمل دورة الحياة
أدوار Azure
اسم الدور
مستوى الطبقة
GUID
المالك
0
8e3af657-a8ff-443c-a75c-2fe8c4bcb635
مسؤول وصول المستخدم
0
18d7d88d-d35e-4fb5-a5c3-7773c20a72d9
المساهم
0
b24988ac-6180-42a0-ab88-20f7382dd24c
مسؤول التحكم في الوصول القائم على الدور
0
f58310d9-a9f6-439a-9e8d-f62e7b41a168
مسؤول الحجوزات
0
a8889054-8d42-49c9-bc1c-52486c10e7cd
مسؤول الأمان
1
fb1c8493-542b-48eb-b624-b4c8fea62acd
مساهم الجهاز الافتراضي
1
9980e02c-c2be-4d73-94e8-173b1dc7cf3c
مسؤول الوصول إلى بيانات الجهاز الافتراضي
1
66f75aeb-eabe-4b70-9f1e-c350c4c9ad04
تسجيل دخول مسؤول الجهاز الافتراضي
1
1c0163c0-47e6-4577-8991-ea5c82e286e4
تسجيل دخول مسؤول مركز إدارة Windows
1
a6333a3e-0164-44c3-b281-7a577aff287f
مساهم سجل الحاويات ومسؤول تكوين الوصول إلى البيانات
1
3bc748fc-213d-45c1-8d91-9da5725539b9
مسؤول Key Vault
1
00482a5a-887f-4fb3-b363-3b7fe8e74483
مسؤول الوصول إلى بيانات Key Vault
1
8b54135c-b56d-4d72-a534-26097cfdc8d8
مسؤول أسرار Key Vault
1
b86a8fe4-44ce-4948-aee5-eccb2c155cd7
مستخدم أسرار Key Vault
1
4633458b-17de-408a-b874-0445c86b69e6
مسؤول RBAC لخدمة Azure Kubernetes
1
3498e952-d568-435e-9b2c-8d77e338d7f7
مسؤول مجموعة RBAC لخدمة Azure Kubernetes
1
b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b
مسؤول Azure Arc Kubernetes
1
dffb1e0c-446f-4dde-a09f-99eb5cc68b96
مسؤول مجموعة Azure Arc Kubernetes
1
8393591c-06b9-48a2-a542-1bd6b377f6a2
مساهم Azure Arc VMware VM
1
b748a06d-6150-4f8a-aaa9-ce3940cd96cb
مساهم حساب التخزين
1
17d1049b-9a84-46fb-8f53-869881c3d3ab
القارئ
2
acdd72a7-3385-48ef-bd42-f606fba81ae7
قارئ الأمان
2
39bc4728-0917-49c7-9d2c-d95423bc2eb4
تصنيف أذونات API
تسمح بعض أذونات API للتطبيق بالتصعيد مباشرة إلى امتيازات المسؤول العام. لذلك، يتم تصنيف العديد من أذونات API إلى مستويات شدة مختلفة. يؤثر هذا التصنيف على درجة تأثير التطبيقات التي لديها هذه الأذونات المعينة — إما كأذونات تطبيق أو أذونات مفوضة للمستخدمين.
بشكل افتراضي، يتم استبعاد تطبيقات Microsoft لتبسيط مراجعة تطبيقات المؤسسات. استخدم المفتاح -IncludeMsApps لتضمينها. يتم التعامل مع التطبيقات من المستأجرين التاليين على أنها مملوكة لشركة Microsoft:
f8cdef31-a31e-4b4a-93e4-5f571e91255a
72f988bf-86f1-41af-91ab-2d7cd011db47
33e01921-4d64-4f8c-a055-5bdaffd5e33d
cdc5aeea-15c5-4db6-b079-fcadd2505dc2
الفحوصات المنفذة
يلخص الجدول التالي بشكل تقريبي الفحوصات المنفذة، بالإضافة إلى تأثيرها على التقييم وما إذا كان يتم عرض تحذير.
الفحوصات المنفذة|المنطقة|الفحص|يؤثر على النتيجة|يتم عرض تحذير|
|-|-|-|-|
|المجموعات|هل هي مجموعة M365 عامة|نعم|نعم|
|المجموعات|هل هي ديناميكية / هل هي ديناميكية مع استعلام يحتمل أن يكون خطيرًا|نعم|نعم|
|المجموعات|أدوار Entra (نشطة ومؤهلة)|نعم|نعم|
|المجموعات|أدوار Azure (نشطة ومؤهلة)|نعم|نعم|
|المجموعات|مستخدمة لـ AppRole|نعم|نعم|
|المجموعات|SP داخلي/أجنبي كمالك|نعم|نعم|
|المجموعات|في AU مقيد|نعم|نعم|
|المجموعات|متداخلة في مجموعة مميزة|نعم|نعم|
|المجموعات|مستخدمة في CAP|نعم|نعم|
|المجموعات|نوع المجموعة|نعم|لا|
|المجموعات|تمكين الأمان|نعم|لا|
|المجموعات|عضو متداخل نشط|نعم|لا|
|المجموعات|المالكون|نعم|لا|
|المجموعات|المالكون المتداخلون|نعم|لا|
|المجموعات|ضيف كمالك|نعم|نعم|
|المجموعات|مزامنة من On-Prem|نعم|لا|
|المجموعات|الأعضاء (متعديون)|نعم|لا|
|المجموعات|قابل لتعيين الأدوار|نعم|لا|
|المجموعات|PIM للمجموعات: تم الإعداد|لا|لا|
|المجموعات|PIM للمجموعات: عضو مؤهل في مجموعة مميزة|نعم|نعم|
|المجموعات|PIM للمجموعات: مالك مؤهل لمجموعة مميزة|نعم|نعم|
|المجموعات|PIM للمجموعات: مجموعة غير محمية متداخلة في مجموعة محمية|لا|نعم|
|تطبيق المؤسسة|دور Entra|نعم|نعم|
|تطبيق المؤسسة|دور Azure|نعم|نعم|
|تطبيق المؤسسة|أجنبي|نعم|لا|
|تطبيق المؤسسة|معطل بواسطة Microsoft|لا|نعم|
|تطبيق المؤسسة|اسم مشبوه (أحرف متشابهة)|نعم|نعم|
|تطبيق المؤسسة|إذن API (تطبيق)|نعم|نعم|
|تطبيق المؤسسة|إذن API (مفوَّض)|نعم|نعم|
|تطبيق المؤسسة|بيانات الاعتماد|نعم|نعم|
|تطبيق المؤسسة|المالكون|نعم|نعم|
|تطبيق المؤسسة|الملكية على تسجيلات التطبيقات|نعم|نعم|
|تطبيق المؤسسة|ملكية كيانات خدمة أخرى|نعم|نعم|
|تطبيق المؤسسة|AppLock|(نعم)|لا|
|تطبيق المؤسسة|التطبيق يملك تسجيل تطبيق|نعم|نعم|
|تطبيق المؤسسة|عضو / مالك للمجموعات|نعم|(نعم)|
|تطبيق المؤسسة|AppRoles|نعم|لا|
|تطبيق المؤسسة|متطلبات AppRole|نعم|لا|
|تطبيق المؤسسة|غير نشط|لا|لا|
|تطبيق المؤسسة|آخر تسجيل دخول ناجح (أيام)|لا|لا|
|تسجيلات التطبيقات|بيانات الاعتماد|نعم|نعم|
|تسجيلات التطبيقات|تطبيق Entra Connect مع بيانات اعتماد|نعم|نعم|
|تسجيلات التطبيقات|تطبيق Entra Connect مع شهادات متعددة|نعم|نعم|
|تسجيلات التطبيقات|AppRoles|نعم|لا|
|تسجيلات التطبيقات|AppRedirectURL|لا|لا|
|تسجيلات التطبيقات|AppLock|نعم|لا|
|تسجيلات التطبيقات|المالكون|نعم|نعم|
|تسجيلات التطبيقات|مسؤولو التطبيقات (السحابية) بنطاق محدد|لا|لا|
|تسجيلات التطبيقات|امتيازات SP المقابل|نعم|لا|
|تسجيلات التطبيقات|جمهور تسجيل الدخول|لا|لا|
|الهوية المُدارة|المالكون|نعم|نعم|
|الهوية المُدارة|دور Entra|نعم|نعم|
|الهوية المُدارة|دور Azure|نعم|نعم|
|الهوية المُدارة|API (تطبيق)|نعم|نعم|
|الهوية المُدارة|الملكية على تسجيلات التطبيقات|نعم|نعم|
|الهوية المُدارة|ملكية كيانات خدمة أخرى|نعم|نعم|
|الهوية المُدارة|عضو / مالك للمجموعات|نعم|(نعم)|
|المستخدم|أدوار Entra (نشطة ومؤهلة)|نعم|نعم|
|المستخدم|أدوار Azure (نشطة ومؤهلة)|نعم|نعم|
|المستخدم|عضوية مجموعة مميزة (نشطة ومؤهلة)|نعم|نعم|
|المستخدم|ملكية مجموعة مميزة (نشطة ومؤهلة)|نعم|نعم|
|المستخدم|مستخدم مزامنة Entra Connect|نعم|نعم|
|المستخدم|مستخدم مزامنة Entra Connect السحابية|نعم|نعم|
|المستخدم|ملكية تسجيل تطبيق|نعم|نعم|
|المستخدم|ملكية تطبيق مؤسسة|نعم|نعم|
|المستخدم|لا يوجد عامل MFA مسجل|نعم|نعم|
|المستخدم|محمي|نعم|لا|
|المستخدم|غير نشط|لا|لا|
|المستخدم|عضو / مالك للمجموعات|نعم|(نعم)|
|المستخدم|مزامن من On-Prem|نعم|لا|
|هوية الوكيل|مستخدمو الوكيل المرتبطون|نعم|لا|
|هوية الوكيل|أصل رئيسي أجنبي للمخطط|نعم|نعم|
|هوية الوكيل|إذن API الفعلي (تطبيق)|نعم|نعم|
|هوية الوكيل|إذن API الفعلي (مفوَّض)|نعم|نعم|
|هوية الوكيل|دور Entra|نعم|نعم|
|هوية الوكيل|دور Azure|نعم|نعم|
|هوية الوكيل|الملكية على تسجيلات التطبيقات|نعم|نعم|
|هوية الوكيل|ملكية كيانات خدمة أخرى|نعم|نعم|
|هوية الوكيل|عضو / مالك للمجموعات|نعم|(نعم)|
|المخطط الرئيسي لهوية الوكيل|هويات الوكيل المرتبطة|نعم|لا|
|المخطط الرئيسي لهوية الوكيل|مستخدمو الوكيل المرتبطون|نعم|لا|
|المخطط الرئيسي لهوية الوكيل|إذن API المكوَّن (تطبيق)|لا|لا|
|المخطط الرئيسي لهوية الوكيل|إذن API المكوَّن (مفوَّض)|لا|لا|
|المخطط الرئيسي لهوية الوكيل|أصل مخطط رئيسي أجنبي|نعم|لا|
|المخطط الرئيسي لهوية الوكيل|دور Entra|لا|لا|
|المخطط الرئيسي لهوية الوكيل|دور Azure|لا|لا|
|المخطط الرئيسي لهوية الوكيل|اسم مشبوه (أحرف متشابهة)|نعم|نعم|
|مخطط هوية الوكيل|المخططات الرئيسية|نعم|لا|
|مخطط هوية الوكيل|هويات الوكيل المرتبطة|نعم|لا|
|مخطط هوية الوكيل|مستخدمو الوكيل المرتبطون|نعم|لا|
|مخطط هوية الوكيل|أذونات API القابلة للتوريث|نعم|لا|
|مخطط هوية الوكيل|بيانات اعتماد موحدة|نعم|لا|
|مخطط هوية الوكيل|الأسرار / الشهادات|نعم|نعم|
|مخطط هوية الوكيل|المالكون / الرعاة|نعم|(نعم)|
|حزم الوصول|أدوار Entra الممنوحة|نعم|لا|
|حزم الوصول|أدوار Azure الممنوحة|نعم|لا|
|حزم الوصول|المجموعات الممنوحة|نعم|لا|
|حزم الوصول|أدوار التطبيقات الممنوحة|نعم|لا|
|حزم الوصول|أذونات API الممنوحة (تطبيق)|نعم|لا|
|حزم الوصول|أذونات API الممنوحة (مفوَّض)|نعم|لا|
|حزم الوصول|وصول SharePoint الممنوح|نعم|لا|
|حزم الوصول|طلب ذاتي واسع دون موافقة|نعم|نعم|
|حزم الوصول|وصول مستمر دون انتهاء صلاحية أو مراجعة وصول|لا|لا|
|حزم الوصول|قواعد تعيين تلقائي خطيرة|نعم|نعم|
|حزم الوصول|طلب ذاتي عبر أهداف مجموعات غير محمية|نعم|نعم|
|حزم الوصول|تعيين واسع نيابة عن غير المستخدمين دون موافقة|نعم|لا|
|حزم الوصول|تعيينات كيانات الخدمة|نعم|لا|
|الكتالوجات|بيانات تعريف الكتالوج وحالته ورؤيته الخارجية|لا|لا|
|الكتالوجات|موارد الكتالوج|لا|لا|
|الكتالوجات|الموارد القابلة للتكوين في حزم الوصول الجديدة|نعم|لا|
|الكتالوجات|الموارد والأدوار المكوَّنة في حزم الوصول الحالية|نعم|لا|
|الكتالوجات|موارد الكتالوج غير المكوَّنة|نعم|لا|
|الكتالوجات|تعيينات RBAC للكتالوج|نعم|نعم|
|CAP|لا توجد سياسة أو سياسة مكوَّنة بشكل خاطئ للمصادقة القديمة|-|نعم|
|CAP|لا توجد سياسة أو سياسة مكوَّنة بشكل خاطئ لحظر تدفق رمز الجهاز|-|نعم|
|CAP|لا توجد سياسة أو سياسة مكوَّنة بشكل خاطئ لتقييد تسجيلات معلومات الأمان|-|نعم|
|CAP|لا توجد سياسة أو سياسة مكوَّنة بشكل خاطئ لاستهداف عمليات تسجيل الدخول الخطرة|-|نعم|
|CAP|لا توجد سياسة أو سياسة مكوَّنة بشكل خاطئ لاستهداف مخاطر المستخدم|-|نعم|
|CAP|لا توجد سياسة أو سياسة مكوَّنة بشكل خاطئ تفرض MFA|-|نعم|
|CAP|لا توجد سياسة تفرض قوة المصادقة|-|نعم|
|CAP|تضمين أدوار لها تعيينات بنطاق محدد|-|نعم|
|إعدادات PIM|AuthContext|-|نعم|
|إعدادات PIM|CAP المرتبط بـ AuthContext: تكرار تسجيل الدخول|-|نعم|
|إعدادات PIM|CAP المرتبط بـ AuthContext: MFA أو قوة المصادقة|-|نعم|
|إعدادات PIM|CAP المرتبط بـ AuthContext: مفعّل|-|نعم|
|إعدادات PIM|CAP المرتبط بـ AuthContext: المستخدمون/المجموعات/الشبكات المضمَّنة/المستبعدة|-|نعم|
|إعدادات PIM|CAP المرتبط بـ AuthContext: الشروط|-|نعم|
|إعدادات PIM|MFA للتفعيل|-|لا|
|إعدادات PIM|مبرر التفعيل أو التذكرة|-|نعم|
|إعدادات PIM|مدة التفعيل|-|نعم|
|إعدادات PIM|موافقة التفعيل|-|نعم|
|إعدادات PIM|انتهاء صلاحية التعيين المؤهل|-|لا|
|إعدادات PIM|انتهاء صلاحية التعيين النشط|-|نعم|
|إعدادات PIM|MFA للتعيينات النشطة|-|لا|
|إعدادات PIM|إشعار تفعيل الدور|-|لا|
|إعدادات PIM|إشعار تعيين الدور (نشط)|-|لا|
|إعدادات PIM|إشعار تعيين الدور (مؤهل)|-|لا|
🛡️ الاكتشاف
EntraFalcon ليس أداة خفية ويمكن اكتشافه في البيئات التي يتم فيها تسجيل ومراقبة نشاط Microsoft Graph API ونشاط تسجيل الدخول إلى Azure.
المصادقة الافتراضية المستخدمة
عند إجراء تعداد كامل مع تدفقات غير BroCi، تبدأ الأداة عادةً أربع عمليات تسجيل دخول تفاعلية وعملية تسجيل دخول واحدة غير تفاعلية. اعتمادًا على التدفق ودعم نقطة النهاية، قد يحدث تسجيل دخول تفاعلي إضافي واحد لنقاط نهاية سياسات نتائج الأمان.
معرف التطبيق
النوع
معرف المورد
الغرض
1b730954-1685-4b74-9bfd-dac224a7b894
تفاعلي
00000003-0000-0000-c000-000000000000
استرداد بيانات PIM للمجموعات
04b07795-8ddb-461a-bbee-02f9e1bf7b46
تفاعلي
00000003-0000-0000-c000-000000000000
استرداد بيانات كائنات المستأجر العامة
51f81489-12ee-4a9e-aaae-a2591f45987d
تفاعلي
00000003-0000-0000-c000-000000000000
استرداد PIM لأدوار Entra / Azure
80ccca67-54bd-44ab-8625-4b79c4dc7775
تفاعلي
00000003-0000-0000-c000-000000000000
استرداد سياق سياسات نتائج الأمان
04b07795-8ddb-461a-bbee-02f9e1bf7b46
غير تفاعلي
797f4846-ba00-4fd7-ba43-dac1f8f63013
استرداد بيانات تعيين أدوار Azure IAM
مصادقة BroCi المستخدمة
عند استخدام مصادقة BroCi، يحدث تسجيل دخول تفاعلي واحد فقط.
معرف التطبيق
النوع
معرف المورد
الغرض
c44b4083-3bb0-49c1-b47d-974e53cbdf3c
تفاعلي
00000003-0000-0000-c000-000000000000
المصادقة الأولية لاستخدام رمز التحديث لـ BroCi
50aaa389-5a33-4f1a-91d7-2c45ecd8dac8
غير تفاعلي
00000003-0000-0000-c000-000000000000
استرداد بيانات PIM للمجموعات
50aaa389-5a33-4f1a-91d7-2c45ecd8dac8
غير تفاعلي
01fc33a7-78ba-4d2f-a4b7-768e336e890e
استرداد بيانات PIM للمجموعات
74658136-14ec-4630-ad9b-26e160ff0fc6
غير تفاعلي
00000003-0000-0000-c000-000000000000
استرداد بيانات كائنات المستأجر العامة
74658136-14ec-4630-ad9b-26e160ff0fc6
غير تفاعلي
797f4846-ba00-4fd7-ba43-dac1f8f63013
استرداد بيانات تعيين أدوار Azure IAM
عند تمكين BroCi، يستعلم EntraFalcon أيضًا عن api.azrbac.mspim.azure.com لـ PIM للمجموعات.
التفاصيل
لجمع البيانات، ترسل الأداة طلبات متعددة إلى Microsoft Graph API، وبشكل اختياري، إلى Azure ARM API—طلب واحد أو أكثر لكل كائن. حيثما أمكن، تستفيد من نقطة نهاية Graph Batch لتقليل عدد الطلبات الفردية وتحسين الكفاءة.
تستخدم عمليات تسجيل الدخول التفاعلية User-Agent الخاص بالمتصفح. تستخدم جميع عمليات تسجيل الدخول غير التفاعلية وطلبات API (Graph وARM) EntraFalcon كـ User-Agent، ما لم يتم تغييره باستخدام معلمة -UserAgent.
لاكتشاف استخدام EntraFalcon، يمكن لفرق الأزرق مراقبة معرفات التطبيقات المدرجة في سجلات تسجيل الدخول، أو البحث عن أحجام غير عادية من حركة مرور Graph API، أو تحليل سلوك تحديث الرموز وطلبات الدفعات.
🕳️ القيود المعروفة
M365 RBAC: غير مُقيَّم
Defender for Endpoint RBAC: غير مُقيَّم
تغطية مستخدمي الوصول الشرطي: تغطية المستخدم الفعلية و-ExportCapUncoveredUsers هي حسابات بأفضل جهد تستند إلى المستخدمين المعددين وأعضاء المجموعات وتعيينات الأدوار وفئات المستخدمين الخارجيين القابلة للحل. يتم حل محددات المستخدمين الخارجيين فقط لمستخدمي الضيوف في المستأجر المطابقين لـ b2bCollaborationGuest. قد تجعل أنواع المستخدمين الخارجيين الأخرى أو المستخدمين الخارجيين ذوي المستأجرين الخارجيين المحددين قيم التغطية تقريبية. يتم الإبلاغ عن مسارات PIM المؤهلة كتغطية محتملة ولا يتم احتسابها كمغطاة حاليًا. يقتصر تصدير CSV على السياسات المفعّلة والمستخدمين المفعّلين.
البيئة السحابية: تتطور المنصات السحابية بسرعة. نتيجة لذلك، قد تصبح بعض التقييمات أو الاكتشافات قديمة أو غير دقيقة بمرور الوقت. علاوة على ذلك، أصبحت المستأجرات معقدة بشكل متزايد، وقد تؤدي تكوينات محددة أو مجموعات من الإعدادات إلى نتائج غير دقيقة. بينما نسعى جاهدين للحفاظ على تحديث EntraFalcon، يُنصح دائمًا بالتحقق من النتائج بشكل مستقل وعدم الاعتماد فقط على الأداة للقرارات الحرجة.
تقارير HTML: لا تنفذ تقارير HTML المُنشأة آليات حماية ضد البرمجة النصية عبر المواقع (XSS).
📦 الأدوات الخارجية المدمجة
تم تفرع الوحدات الفرعية التالية ودمجها في EntraFalcon لدعم المصادقة والتفاعل مع Microsoft Graph ورسوم التقارير:
كلمة المرور (SecureString) لشهادة PFX المحددة بواسطة -SPCertificatePath.
-
SPCertificatePemPath
المسار إلى ملف شهادة PEM. يُستخدم مع -SPPrivateKeyPemPath.
-
SPPrivateKeyPemPath
المسار إلى ملف المفتاح الخاص PEM المطابق لـ -SPCertificatePemPath.
-
SPPrivateKeyPemPassword
كلمة المرور (SecureString) للمفتاح الخاص PEM المحدد بواسطة -SPPrivateKeyPemPath.
-
Csv
يتيح كتابة ملفات تقارير CSV بالإضافة إلى ملفات تقارير TXT/HTML.
false
ExportCapUncoveredUsers
لكل سياسة وصول مشروط مفعلة مع استهداف مستخدمين، يقوم بتصدير CSV يسرد المستخدمين غير المشمولين بتلك السياسة. تُكتب الملفات إلى مجلد فرعي ConditionalAccessPolicies_UncoveredUsers في دليل الإخراج.
false
ExportFindingsJson
يقوم بتصدير جميع نتائج الأمان كـ JSON في نهاية التشغيل.
false
ExportDataJson
يقوم بتصدير التقرير المخصب ومجموعات البيانات الداعمة كملفات بيانات JSON خام تحت Data_Json؛ تتوفر بيانات التشغيل في Summary.json.
false
DebugObjectDump
يقوم بتصدير كائنات التقرير النهائية في الذاكرة كـ CLIXML إلى Debug_ObjectDump لاستكشاف الأخطاء وإصلاحها والاختبار.