Назад к обновлениям
New releaseAug 26, 2026

EntraFalcon V20260824

Легковесный инструмент PowerShell для оценки состояния безопасности сред Microsoft Entra ID. Он помогает выявлять привилегированные объекты, рискованные назначения и потенциальные ошибки конфигурации.

Поделиться

EntraFalcon

alt text

EntraFalcon — это инструмент оценки на базе PowerShell для пентестеров, специалистов по безопасности и системных администраторов, предназначенный для оценки уровня безопасности среды Microsoft Entra ID.

Разработанный для простоты использования, EntraFalcon работает на PowerShell 5.1 и 7, поддерживает Windows и Linux и не требует дополнительных модулей PowerShell, дополнительных установок или согласия Microsoft Graph API.

Инструмент помогает выявлять привилегированные объекты, потенциально рискованные назначения и ошибки конфигурации Conditional Access, которые часто упускаются из виду, например:

  • Пользователи с контролем над группами или приложениями с высокими привилегиями
  • Внешние или внутренние корпоративные приложения с чрезмерными разрешениями (например, Microsoft Graph API, роли Azure)
  • Пользователи с прямыми назначениями ролей Azure IAM на ресурсах
  • Привилегированные учетные записи, синхронизированные из локальной среды
  • Неактивные пользователи или пользователи без поддержки MFA
  • Незащищенные группы, используемые в чувствительных назначениях (например, исключения Conditional Access, владелец подписки или участник привилегированной группы с правом на назначение)

Результаты представлены в интерактивных HTML-отчетах для эффективного изучения и анализа.

🚀 Возможности

  • Простой скрипт PowerShell, совместимый с PowerShell 5.1 и 7. Работает на Windows и Linux
  • Встроенная аутентификация с поддержкой нескольких методов
  • Использует собственные приложения Microsoft с предварительно согласованными областями для обхода запросов согласия Graph API
  • Генерирует навигационные HTML-отчеты с поддержкой фильтрации, сортировки, экспорта данных и т. д.
  • Выполняет более 90 автоматических проверок и обобщает результаты в отчете о выводах по безопасности
    • Включает проверки слабых конфигураций клиента и рискованных свойств или разрешений объектов
    • Предоставляет оценки серьезности, а также описания проблемы, потенциальных угроз и рекомендации по устранению
    • Перечисляет затронутые объекты и ссылки непосредственно на их подробные отчеты для дальнейшего расследования
  • Выполняет базовую оценку воздействия, вероятности и риска для выделения слабо защищенных объектов с высокими привилегиями и сортировки данных
  • Отображает предупреждения о рискованных конфигурациях и повышенных привилегиях
  • Перечисляет объекты Entra ID, включая:
    • Пользователей (включая агентских пользователей)
    • Группы
    • Корпоративные приложения
    • Регистрации приложений
    • Управляемые удостоверения
    • Удостоверения агентов
    • Участников схемы удостоверений агентов
    • Схемы удостоверений агентов
    • Назначения PIM:
      • PIM для ролей Entra
      • PIM для групп
      • PIM для ролей Azure
    • Назначения ролей Entra
    • Назначения ролей Azure
    • Назначения RBAC Intune
    • Пакеты доступа
    • Каталоги управления правами
    • RBAC каталога
    • Политики Conditional Access
    • Административные единицы
    • Настройки PIM:
      • PIM для ролей Entra
      • PIM для групп (только аутентификация BroCi)

✅ Требования

ТипРазрешениеОбязательноВлияние при отсутствии
Роль Entra IDGlobal ReaderДаНевозможно запустить скрипты
Роль AzureReader: на каждой группе управления или подпискеНетНевозможно оценить назначения Azure IAM

Кроме того, вы должны иметь возможность аутентифицироваться в Microsoft Graph API и, при необходимости, в Azure ARM API с устройства, на котором запускаете инструмент. Убедитесь, что политики Conditional Access не блокируют вашу аутентификацию.

▶️ Использование

Загрузка EntraFalcon

Чтобы начать, клонируйте репозиторий и перейдите в каталог проекта:```powershell git clone https://github.com/CompassSecurity/EntraFalcon cd EntraFalcon

Примечание: Возможно, вам потребуется временно изменить политику выполнения PowerShell, чтобы запустить скрипт.
Делайте это только для доверенных скриптов!```
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process

Запуск EntraFalcon

EntraFalcon включает встроенную поддержку аутентификации Entra ID. Используйте -AuthFlow для выбора потока аутентификации.

Для стандартных оценок используйте один из потоков с полным покрытием:

Рекомендуемый потокДля чего лучше всегоПлатформаПокрытие
BroCi (по умолчанию)Интерактивные запуски в WindowsWindowsПолное
BroCiManualCodeАутентификация в другом браузереWindows, Linux, macOSПолное
BroCiTokenСуществующий токен обновления портала AzureWindows, Linux, macOSПолное
ServicePrincipalАвтоматизация / CIWindows, 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. Некоторые проверки Security Findings выполняются с уменьшенной глубиной.
ManualCodeАутентификация должна выполняться через отдельный сеанс браузераWindows, Linux, macOSЧастичное покрытие. Нет отдельного отчёта PIM for Groups, Access Packages или Catalogs.

Рекомендуется: поток BroCi (по умолчанию / только Windows)

BroCi использует альтернативные сторонние приложения и требует только один интерактивный вход.
Он полезен, когда клиент Azure Active Directory PowerShell требует назначения и его необходимо избегать.```powershell .\run_EntraFalcon.ps1

Явный выбор BroCi:```powershell
.\run_EntraFalcon.ps1 -AuthFlow BroCi

Рекомендуется: BroCi + Ручной поток кода```powershell

.\run_EntraFalcon.ps1 -AuthFlow BroCiManualCode

1. Скрипт копирует URL аутентификации в буфер обмена.
2. Вставьте URL в браузер (при необходимости на другом устройстве для поддержки SSO).
3. Откройте инструменты разработчика в браузере и на вкладке Network включите `Preserve log`.
4. Завершите аутентификацию.
5. Найдите в журнале сети `code=1.` и скопируйте URL запроса, содержащий код, в буфер обмена.
6. Нажмите Enter для продолжения; скрипт считывает код из буфера обмена и завершает получение токена.


#### Рекомендуется: BroCi с токеном
Если действительный refresh-токен Azure Portal уже доступен (клиент c44b4083-3bb0-49c1-b47d-974e53cbdf3c), его можно использовать напрямую.
Пример: получение refresh-токена из браузера
1. Откройте инструменты разработчика в браузере и на вкладке Network включите Preserve log.
2. Выполните аутентификацию на https://entra.microsoft.com.
3. Найдите в журнале сети `brk_client_id=c44b4083-3bb0-49c1-b47d-974e53cbdf3c` и извлеките refresh-токен из ответа.```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 ""

**С сертификатом PFX:**```powershell
.\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "<AppId>" -SPCertificatePath "C:\certs\app.pfx"

Для защищённого паролем PFX добавьте -SPCertificatePassword (Read-Host -Prompt "Certificate password" -AsSecureString).

С PEM-сертификатом + закрытым ключом (только PowerShell 7+):```powershell .\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "" -SPCertificatePemPath "C:\certs\cert.pem" -SPPrivateKeyPemPath "C:\certs\key.pem"

Для зашифрованного закрытого ключа добавьте `-SPPrivateKeyPemPassword (Read-Host -Prompt "Private key password" -AsSecureString)`.

##### Требуемые разрешения регистрации приложения
Предоставьте следующие разрешения **Application** (не Delegated) для регистрации приложения и подтвердите их с согласия администратора:

| Permission | Type |
|---|---|
| `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 (требуется для статуса MFA для каждого пользователя).

#### Запасной вариант: поток кода авторизации (только Windows)```powershell
.\run_EntraFalcon.ps1 -AuthFlow AuthCode

Fallback: Device Code Flow

В закалённых средах это часто ограничивается условным доступом (Conditional Access).
При использовании DeviceCode выполняются две проверки Security Findings с уменьшенной глубиной (CAP-004 и CAP-005).```powershell .\run_EntraFalcon.ps1 -AuthFlow DeviceCode

#### Fallback: Auth Code + Manual Code Flow```powershell
.\run_EntraFalcon.ps1 -AuthFlow ManualCode
  1. Скрипт копирует URL аутентификации в буфер обмена.
  2. Вставьте URL в браузер (при необходимости на другом устройстве для поддержки SSO).
  3. Завершите аутентификацию.
  4. Скопируйте финальный URL перенаправления из адресной строки браузера (содержащий код авторизации) в буфер обмена.
  5. Нажмите Enter для продолжения; скрипт считывает код из буфера обмена и завершает получение токена.

Другие параметры

Включение корпоративных приложений Microsoft

По умолчанию официальные корпоративные приложения Microsoft исключаются из оценки для снижения уровня шума. Чтобы включить их в перечисление и анализ, используйте параметр -IncludeMsApps:```powershell .\run_EntraFalcon.ps1 -IncludeMsApps

#### Пропустить оценку PIM для групп
Используйте параметр `-SkipPimForGroups`, чтобы пропустить предварительный сбор и обогащение данных PIM для групп.  
Это также пропускает отдельный отчет о настройках `PIM для групп`.```powershell
.\run_EntraFalcon.ps1 -SkipPimForGroups

Другие необязательные параметры

ПараметрОписаниеЗначение по умолчанию
UserAgentПользовательский агент, используемый для запросов к конечной точке токена и вызовов API.EntraFalcon
DisableCAEОтключает запрос токенов с непрерывной оценкой доступа (CAE).false
TenantУказывает клиента (ID или домен) для аутентификации. Полезно при оценке клиента, отличного от домашнего клиента учетной записи.Домашний клиент учетной записи
OutputFolderВыходная папка, в которой сохраняются отчеты.Results_%TenantName%_YYYYMMDD_HHMM
LimitResultsОграничивает количество групп и пользователей в отчете (после сортировки по риску). Полезно для крупных клиентов.-
LogLevelУправляет подробностью журналирования CLI во время выполнения. Поддерживаемые значения: Off (по умолчанию), Verbose, Debug, Trace.Off
ApiTopЗадает максимальное количество объектов, возвращаемых из API. Меньшие значения снижают риск тайм-аута (HTTP 504), но увеличивают количество запросов.999 (Допустимый диапазон: 5–999)
AuthFlowСелектор предпочтительного потока аутентификации. Значения: BroCi (по умолчанию), AuthCode, DeviceCode, ManualCode, BroCiManualCode, BroCiToken, ServicePrincipal.BroCi
BroCiTokenRefresh token портала Azure для AuthFlow BroCiToken.-
SPClientIdИдентификатор приложения (клиента) субъекта-службы. Требуется для -AuthFlow ServicePrincipal.-
SPClientSecretСекрет клиента для субъекта-службы. Используется с -AuthFlow ServicePrincipal.-
SPCertificatePathПуть к файлу сертификата PFX/P12 для аутентификации субъекта-службы.-
SPCertificatePasswordПароль (SecureString) для сертификата PFX, указанного в -SPCertificatePath.-
SPCertificatePemPathПуть к файлу сертификата PEM. Используется вместе с -SPPrivateKeyPemPath.-
SPPrivateKeyPemPathПуть к файлу закрытого ключа PEM, соответствующему -SPCertificatePemPath.-
SPPrivateKeyPemPasswordПароль (SecureString) для закрытого ключа PEM, указанного в -SPPrivateKeyPemPath.-
CsvВключает запись файлов отчетов CSV в дополнение к файлам отчетов TXT/HTML.false
ExportCapUncoveredUsersДля каждой включенной политики условного доступа с нацеливанием на пользователей экспортирует CSV со списком пользователей, не охваченных этой политикой. Файлы записываются в подпапку ConditionalAccessPolicies_UncoveredUsers в выходном каталоге.false
ExportFindingsJsonЭкспортирует все выводы по безопасности (Security Findings) в формате JSON в конце выполнения.false
ExportDataJsonЭкспортирует обогащенный отчет и вспомогательные наборы данных в виде необработанных файлов данных JSON в папке Data_Json; метаданные выполнения доступны в Summary.json.false
DebugObjectDumpЭкспортирует финальные объекты отчета в памяти в формате CLIXML в Debug_ObjectDump для устранения неполадок и тестирования.false

📊 Примеры некоторых отчетов

Отчет о выводах по безопасности

alt text alt text

Пользователи

alt text

Пользователи (раздел «Сведения»)

alt text

Роли Entra ID

alt text

Роли Azure

alt text

Корпоративное приложение (раздел «Сведения»)

alt text

Политики условного доступа

alt text

Политики условного доступа (раздел «Сведения»)

alt text

Параметры ролей PIM (Entra)

alt text

Удостоверения агентов

alt text

Сводка перечисления

alt text

📑 HTML-отчет

Общее

  • Нажмите кнопку ⚙️ Columns, чтобы показать или скрыть определенные столбцы.
  • Нажмите 💾 Export, чтобы загрузить CSV/JSON или скопировать CSV/TSV/JSON текущих видимых данных.
  • Нажмите 👁 Share View, чтобы скопировать фильтры, сортировку и выбор столбцов в виде ссылки для совместного использования.
  • Нажмите 🧰 Preset Views, чтобы применить предварительно настроенные фильтры и выбор столбцов.
  • Нажмите 🔄 Reset View, чтобы сбросить представление к значению по умолчанию.
  • Нажмите на имена объектов, чтобы перейти к подробной информации, даже в других отчетах.
  • При использовании внутренней навигации нажмите кнопку «Назад» браузера, чтобы вернуться.
  • Некоторые заголовки полей таблицы отображают вспомогательный текст при наведении курсора мыши.
  • Сортируйте данные, нажимая на заголовок таблицы.
  • Alt+щелчок по заголовку основного столбца таблицы позволяет быстро скрыть этот столбец.
  • Alt+щелчок по строке содержимого основной таблицы позволяет временно скрыть ее. Используйте чип скрытых строк или Reset View, чтобы снова показать скрытые строки.

Фильтрация

  • Если оператор не указан, фильтрация по умолчанию использует содержит.
  • Используйте = для точного совпадения.
  • Используйте ^ для начинается с (например, ^Mallory).
  • Используйте $ для заканчивается на (например, $domain.ch).
  • Поддерживаются операторы сравнения, такие как >, <, >=, <= (только для числовых значений).
  • Фильтры можно инвертировать, начиная с ! (кроме числовых сравнений). Примеры: !Mallory, !=Mallory, !^Mallory или !$domain.ch.
  • Используйте =empty для сопоставления пустых ячеек или !=empty для сопоставления непустых ячеек.
  • Используйте || для сопоставления любого из нескольких значений в одном столбце (например, Admin || Guest).
  • Используйте && для требования нескольких совпадений в одном столбце (например, !adm && !svc && !sql).
  • Чтобы применить логику ИЛИ по столбцам, используйте or_, group1_, group2_... непосредственно в поле фильтра. Примеры: в столбце 1: or_>1, в столбце 2: or_!Mallory
  • Примечание: Столбец DisplayName также включает идентификатор объекта (невидимый), поэтому фильтрация по идентификатору также возможна.

Управление с помощью GET-параметров

  • Фильтрация: Применяйте фильтры, используя имена полей в качестве HTTP GET-параметров, например, ?EntraRoles=>1&Enabled=true.
    Чтобы применить логику ИЛИ по столбцам, используйте префикс or_ или group1_ (например, ?or_EntraRoles=>0&or_GrpMem=>0).
  • Выбор столбцов: Выбирайте, какие столбцы отображать, с помощью параметра columns. Пример: ?columns=DisplayName,Owner.
  • Сортировка: Сортируйте данные с помощью параметров sort и sortDir. Пример: ?sort=Impact&sortDir=desc или ?sort=OwnerCount&sortDir=asc.
  • Сведения об объекте: Переходите непосредственно к конкретному объекту в отчете, используя якорь (#) и идентификатор объекта, например, #%ObjectID%.

Оценка

  • Impact: Представляет объем или серьезность разрешений, которыми обладает объект.
  • Likelihood: Показывает, насколько легко на объект можно повлиять или насколько хорошо он защищен.
  • Risk: Рассчитанный балл: Impact × Likelihood = Risk.
  • Важно:
    • Эта оценка предназначена как базовая оценка, помогающая сортировать и расставлять приоритеты записей в таблице.
    • Баллы риска не сопоставимы напрямую между различными типами объектов или отчетами.
    • Она не предназначена для замены полной оценки рисков.

🔧Под капотом

Категоризация ролей

Роли Entra ID и Azure приблизительно категоризируются по разным уровням. Эта категоризация влияет на баллы воздействия объектов, которым назначены эти роли. Цель состоит в том, чтобы назначать более высокий балл воздействия пользователям с более мощными ролями (например, Global Administrator) по сравнению с пользователями с менее критичными ролями (например, Global Reader), даже если обе считаются привилегированными ролями Microsoft.

Примечание: Для ролей Azure эта категоризация менее точна, поскольку фактическое воздействие сильно зависит от области назначения роли. Например, роль Owner на одной виртуальной машине имеет значительно меньшее воздействие, чем когда та же роль применяется ко всей подписке. Это также может быть тестовая подписка без каких-либо ресурсов.

Роли Entra ID
Имя ролиУровеньGUID
Global Administrator062e90394-69f5-4237-9190-012177145e10
Partner Tier2 Support0e00e864a-17c5-4a4b-9c06-f5b95a8d5bd8
Privileged Authentication Administrator07be44c8a-adaf-4e2a-84d6-ab2649e08a13
Privileged Role Administrator0e8611ab8-c189-46e8-94e1-60213ab1f814
Domain Name Administrator08329153b-31d0-4727-b945-745eb3bc5f31
External Identity Provider Administrator0be2f45a1-457d-42af-a067-6ec1fa63bc45
Hybrid Identity Administrator08ac3fc64-6eca-42ea-9e69-59f4c7b60eb2
Application Administrator09b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3
Cloud Application Administrator0158c047a-c907-4556-b7ef-446551a6b5f7
Security Administrator0194ae4cb-b126-40b2-bd5b-6091b380977d
Agent ID Administrator1db506228-d27e-4b7d-95e5-295956d6615f
AI Administrator1d2562ede-74db-457e-a7b6-544e236ebb61
Conditional Access Administrator1b1be1c3e-b65d-4f19-8427-f6fa0d97feb9
Authentication Administrator1c4e39bd9-1100-46d3-8c65-fb160da0071f
Azure DevOps Administrator1e3973bdf-4987-49ae-837a-ba8e231c7286
Directory Writers19360feb5-f418-4baa-8175-e2a00bac4301
Entra SOC Identity Responder158f930cc-fcf4-4152-852c-1d7dbf502139
Exchange Administrator129232cdf-9323-42fd-ade2-1d097af3e4de
Groups Administrator1fdd7a751-b60b-444a-984c-02652fe8fa1c
Helpdesk Administrator1729827e3-9c14-49f7-bb1b-9608f156bbb8
Identity Governance Administrator145d8d3c5-c802-45c6-b32a-1d70b5e1e86e
Intune Administrator13a2c62db-5318-420d-8d74-23affee5d9d5
Knowledge Administrator1b5a8dcf3-09d5-43a9-a639-8e29ef291470
Knowledge Manager1744ec460-397e-42ad-a462-8b3f9747a02c
Lifecycle Workflows Administrator159d46f88-662b-457b-bceb-5c3809e5908f
Directory Synchronization Accounts1d29b2b05-8046-44ba-8758-1e26182fcf32
On Premises Directory Sync Account1a92aed5d-d78a-4d16-b381-09adb37eb3b0
Partner Tier1 Support14ba39ca4-527c-499a-b93d-d9b492c50246
Password Administrator1966707d0-3269-4727-9be2-8c3a10f19b9d
SharePoint Administrator1f28a1f50-f6e7-4571-818b-6a12f2af6b6c
Teams Administrator169091246-20e8-4a56-aa4d-066075b2a7a8
User Administrator1fe930be7-5e62-47db-91af-98c3a49a38b1
Windows 365 Administrator111451d60-acb2-45eb-a7d6-43d0f0125c13
Yammer Administrator1810a2642-a034-447f-a5e8-41beaa378541
Authentication Policy Administrator20526716b-113d-4c15-b2c8-68e3c22b9f80
Azure AD Joined Device Local Administrator29f06204d-73c1-4d4c-880a-6edb90606fd8
Cloud Device Administrator27698a772-787b-4ac8-901f-60d6b08affd2
Global Reader2f2ef992c-3afb-46b9-b7cf-a126ee74c451
Guest Inviter295e79109-95c0-4d8e-aee3-d01accf2d47b
Security Reader25d6b6bb7-de71-4623-b4af-96380a352509
Directory Readers288d8e3e3-8f55-4a1e-953a-9b9898b8876b
Роли Azure
Имя ролиУровеньGUID
Owner08e3af657-a8ff-443c-a75c-2fe8c4bcb635
User Access Administrator018d7d88d-d35e-4fb5-a5c3-7773c20a72d9
Contributor0b24988ac-6180-42a0-ab88-20f7382dd24c
Role Based Access Control Administrator0f58310d9-a9f6-439a-9e8d-f62e7b41a168
Reservations Administrator0a8889054-8d42-49c9-bc1c-52486c10e7cd
Security Admin1fb1c8493-542b-48eb-b624-b4c8fea62acd
Virtual Machine Contributor19980e02c-c2be-4d73-94e8-173b1dc7cf3c
Virtual Machine Data Access Administrator166f75aeb-eabe-4b70-9f1e-c350c4c9ad04
Virtual Machine Administrator Login11c0163c0-47e6-4577-8991-ea5c82e286e4
Windows Admin Center Administrator Login1a6333a3e-0164-44c3-b281-7a577aff287f
Container Registry Contributor and Data Access Configuration Administrator13bc748fc-213d-45c1-8d91-9da5725539b9
Key Vault Administrator100482a5a-887f-4fb3-b363-3b7fe8e74483
Key Vault Data Access Administrator18b54135c-b56d-4d72-a534-26097cfdc8d8
Key Vault Secrets Officer1b86a8fe4-44ce-4948-aee5-eccb2c155cd7
Key Vault Secrets User14633458b-17de-408a-b874-0445c86b69e6
Azure Kubernetes Service RBAC Admin13498e952-d568-435e-9b2c-8d77e338d7f7
Azure Kubernetes Service RBAC Cluster Admin1b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b
Azure Arc Kubernetes Admin1dffb1e0c-446f-4dde-a09f-99eb5cc68b96
Azure Arc Kubernetes Cluster Admin18393591c-06b9-48a2-a542-1bd6b377f6a2
Azure Arc VMware VM Contributor1b748a06d-6150-4f8a-aaa9-ce3940cd96cb
Storage Account Contributor117d1049b-9a84-46fb-8f53-869881c3d3ab
Reader2acdd72a7-3385-48ef-bd42-f606fba81ae7
SecurityReader239bc4728-0917-49c7-9d2c-d95423bc2eb4
Virtual Machine User Login3fb879df8-f326-4884-b1cf-06f3ad86be52
Desktop Virtualization User31d18fff3-a72a-46b5-b4a9-0b38a3cd7e63

Категоризация разрешений API

Некоторые разрешения API позволяют приложению напрямую повышать привилегии до Global Administrator. Поэтому несколько разрешений API категоризируются по разным уровням серьезности. Эта категоризация влияет на балл воздействия приложений, которым назначены эти разрешения — либо как разрешения приложения, либо как делегированные разрешения для пользователей.

Разрешение приложения| Permission | Severity | GUID | |-------------------------------------------------------------|------------|----------------------------------------| | RoleManagement.ReadWrite.Directory | Dangerous | 9e3f62cf-ca93-4989-b6ce-bf83c28f9fe8 | | AppRoleAssignment.ReadWrite.All | Dangerous | 06b708a9-e830-4db3-a914-8e69da51d44f | | Application.ReadWrite.All | Dangerous | 1bfefb4e-e0b5-418b-a88f-73c46d2cc8e9 | | RoleAssignmentSchedule.ReadWrite.Directory | Dangerous | dd199f4a-f148-40a4-a2ec-f0069cc799ec | | PrivilegedAssignmentSchedule.ReadWrite.AzureADGroup | Dangerous | 41202f2c-f7ab-45be-b001-85c9728b9d69 | | PrivilegedAccess.ReadWrite.AzureADGroup | Dangerous | 2f6817f8-7b12-4f0f-bc18-eeaf60705a9e | | RoleEligibilitySchedule.ReadWrite.Directory | Dangerous | fee28b28-e1f3-4841-818e-2704dc62245f | | PrivilegedEligibilitySchedule.ReadWrite.AzureADGroup | Dangerous | 618b6020-bca8-4de6-99f6-ef445fa4d857 | | Domain.ReadWrite.All | Dangerous | 7e05723c-0bb0-42da-be95-ae9f08a6e53c | | Application.ReadUpdate.All | Dangerous | fc023787-fd04-4e44-9bc7-d454f00c0f0a | | AgentIdentityBlueprint.ReadWrite.All | High | 7fddd33b-d884-4ec0-8696-72cff90ff825 | | AgentIdentityBlueprint.AddRemoveCreds.All | High | 0510736e-bdfb-4b37-9a1f-89b4a074763a | | ADSynchronization.ReadWrite.All | High | ab43b826-2c7a-4aff-9ecd-d0629d0ca6a9 | | EntitlementManagement.ReadWrite.All | High | 9acd699f-1e81-4958-b001-93b1d2506e19 | | Organization.ReadWrite.All | High | 292d869f-3427-49a8-9dab-8c70152b74e9 | | Policy.ReadWrite.PermissionGrant | High | a402ca1c-2696-4531-972d-6e5ee4aa11ea | | RoleManagementPolicy.ReadWrite.AzureADGroup | High | b38dcc4d-a239-4ed6-aa84-6c65b284f97c | | RoleManagementPolicy.ReadWrite.Directory | High | 31e08e0a-d3f7-4ca2-ac39-7343fb83e8ad | | Policy.ReadWrite.AuthenticationMethod | High | 29c18626-4985-4dcd-85c0-193eef327366 | | User.DeleteRestore.All | High | eccc023d-eccf-4e7b-9683-8813ab36cecc | | User.EnableDisableAccount.All | High | 3011c876-62b7-4ada-afa2-506cbbecc68c | | DelegatedPermissionGrant.ReadWrite.All | High | 8e8e4742-1d95-4f68-9d56-6ee75648c72a | | Policy.ReadWrite.ConditionalAccess | High | 01c0a623-fc9b-48e9-b794-0756f8e8f067 | | DeviceManagementConfiguration.ReadWrite.All | High | 9241abd9-d0e6-425a-bd4f-47ba86e767a4 | | DeviceManagementRBAC.ReadWrite.All | High | e330c4f0-4170-414e-a55a-2f022ec2b57b | | Directory.ReadWrite.All | High | 19dbc75e-c2e2-444c-a770-ec69d8559fc7 | | Group.ReadWrite.All | High | 62a82d76-70ea-41e2-9197-370581804d09 | | GroupMember.ReadWrite.All | High | dbaae8cf-10b5-4b86-a4a1-f871c94c6695 | | UserAuthenticationMethod.ReadWrite.All | High | 50483e42-d915-4231-9639-7fdb7fd190e5 | | User-PasswordProfile.ReadWrite.All | High | cc117bb9-00cf-4eb8-b580-ea2a878fe8f7 | | Sites.FullControl.All | High | a82116e5-55eb-4c41-a434-62fe8a61c773 | | Sites.FullControl.All SharePointAPI | High | 678536fe-1083-478a-9c59-b99265e6b0d3 | | Sites.Manage.All SharePointAPI | High | 9bff6588-13f2-4c48-bbf2-ddab62256b36 | | Sites.Read.All SharePointAPI | High | d13f72ca-a275-4b96-b789-48ebcc4da984 | | Sites.ReadWrite.All SharePointAPI | High | fbcd29d2-fcca-4405-aded-518d457caae4 | | Sites.Manage.All | High | 0c0bf378-bf22-4481-8f81-9e89a9b4960a | | Sites.Read.All | High | 332a536c-c7ef-4017-ab91-336970924f0d | | Sites.ReadWrite.All | High | 9492366f-7969-46a4-8d15-ed1a20078fff | | Files.Read.All | High | 01d4889c-1287-42c6-ac1f-5d1e02578ef6 | | Files.ReadWrite.All | High | 75359482-378d-4052-8f01-80520e7db3cd | | DeviceLocalCredential.Read.All | High | db51be59-e728-414b-b800-e0f010df1a79 | | AdministrativeUnit.ReadWrite.All | High | 5eb59dd3-1da2-4329-8733-9dabdc435916 | | UserAuthMethod-HardwareOATH.ReadWrite.All | High | 7e9ebcc1-90aa-4471-8051-e68d6b4e9c89 | | UserAuthMethod-Phone.ReadWrite.All | High | 6e85d483-7092-4375-babe-0a94a8213a58 | | UserAuthMethod-QR.ReadWrite.All | High | 4869299f-18c3-40c8-98f2-222657e67db1 | | UserAuthMethod-TAP.ReadWrite.All | High | 627169a8-8c15-451c-861a-5b80e383de5c | | User.ReadWrite.All | Medium | 741f803b-c850-494e-b5df-cde7c675a1ca | | Application.ReadWrite.OwnedBy | Medium | 18a4783c-866b-4cc7-a460-3d5e5662c884 | | Chat.Read.All | Medium | 6b7d71aa-70aa-4810-a8d9-5d9fb2830017 | | Chat.ReadWrite.All | Medium | 294ce7c9-31ba-490a-ad7d-97a7d075e4ed | | Calendars.Read | Medium | 798ee544-9d2d-430c-a058-570e29e34338 | | Calendars.ReadWrite | Medium | ef54d2bf-783f-4e0f-bca1-3210c0444d99 | | Mail.Read | Medium | 810c84a8-4a9e-49e6-bf7d-12d183f40d01 | | Mail.ReadWrite | Medium | e2a3a72e-5f79-4c64-b1b1-878b674786c9 | | BitlockerKey.Read.All | Medium | 57f1cf28-c0c4-4ec3-9a30-19a2eaaf2f6e | | Mail.Send | Medium | b633e1c5-b582-4048-a93e-9f11b44c7e96 | | OnlineMeetings.ReadWrite.All | Medium | b8bb2037-6e08-44ac-a4ea-4674e010e2a4 | | CustomSecAttributeAssignment.ReadWrite.All | Medium | de89b5e4-5b8f-48eb-8925-29c2b33bd8bd | | ServicePrincipalEndpoint.ReadWrite.All | Medium | 89c8469c-83ad-45f7-8ff2-6e3d4285709e | | AgentIdUser.ReadWrite.IdentityParentedBy | Medium | 4aa6e624-eee0-40ab-bdd8-f9639038a614 | | AgentIdentity.CreateAsManager | Low | 4c390976-b2b7-42e0-9187-c6be3bead001 |
Делегированные разрешения
PermissionSeverityGUID
RoleManagement.ReadWrite.DirectoryDangerousd01b97e9-cbc0-49fe-810a-750afd5527a3
AppRoleAssignment.ReadWrite.AllDangerous84bccea3-f856-4a8a-967b-dbe0a3d53a64
Application.ReadWrite.AllDangerousbdfbf15f-ee85-4955-8675-146e8e5296b5
RoleAssignmentSchedule.ReadWrite.DirectoryDangerous8c026be3-8e26-4774-9372-8d5d6f21daff
PrivilegedAssignmentSchedule.ReadWrite.AzureADGroupDangerous06dbc45d-6708-4ef0-a797-f797ee68bf4b
PrivilegedAccess.ReadWrite.AzureADGroupDangerous32531c59-1f32-461f-b8df-6f8a3b89f73b
RoleEligibilitySchedule.ReadWrite.DirectoryDangerous62ade113-f8e0-4bf9-a6ba-5acb31db32fd
PrivilegedEligibilitySchedule.ReadWrite.AzureADGroupDangerousba974594-d163-484e-ba39-c330d5897667
Domain.ReadWrite.AllDangerous0b5d694c-a244-4bde-86e6-eb5cd07730fe
Application.ReadUpdate.AllDangerous0586a906-4d89-4de8-b3c8-1aacdcc0c679
AgentIdentityBlueprint.AddRemoveCreds.AllHigh75b5feb2-bfe7-423f-907d-cc505186f246
AgentIdentityBlueprint.ReadWrite.AllHigh4fd490fc-1467-48eb-8a4c-421597ab0402
EntitlementManagement.ReadWrite.AllHighae7a573d-81d7-432b-ad44-4ed5c9d89038
Organization.ReadWrite.AllHigh46ca0847-7e6b-426e-9775-ea810a948356
Policy.ReadWrite.PermissionGrantHigh2672f8bb-fd5e-42e0-85e1-ec764dd2614e
RoleManagementPolicy.ReadWrite.AzureADGroupHigh0da165c7-3f15-4236-b733-c0b0f6abe41d
RoleManagementPolicy.ReadWrite.DirectoryHigh1ff1be21-34eb-448c-9ac9-ce1f506b2a68
Policy.ReadWrite.AuthenticationMethodHigh7e823077-d88e-468f-a337-e18f1f0e6c7c
User.DeleteRestore.AllHigh4bb440cd-2cf2-4f90-8004-aa2acd2537c5
User.EnableDisableAccount.AllHighf92e74e7-2563-467f-9dd0-902688cb5863
DelegatedPermissionGrant.ReadWrite.AllHigh41ce6ca6-6826-4807-84f1-1c82854f7ee5
Policy.ReadWrite.ConditionalAccessHighad902697-1014-4ef5-81ef-2b4301988e8c
DeviceManagementConfiguration.ReadWrite.AllHigh0883f392-0a7a-443d-8c76-16a6d39c7b63
DeviceManagementRBAC.ReadWrite.AllHigh0c5e8a55-87a6-4556-93ab-adc52c4d862d
Directory.ReadWrite.AllHighc5366453-9fb0-48a5-a156-24f0c49a4b84
Group.ReadWrite.AllHigh4e46008b-f24c-477d-8fff-7bb4ec7aafe0
GroupMember.ReadWrite.AllHighf81125ac-d3b7-4573-a3b2-7099cc39df9e
UserAuthenticationMethod.ReadWrite.AllHighb7887744-6746-4312-813d-72daeaee7e2d
Sites.FullControl.AllHigh5a54b8b3-347c-476d-8f8e-42d5c7424d29
Sites.Manage.AllHigh65e50fdc-43b7-4915-933e-e8138f11f40a
User-PasswordProfile.ReadWrite.AllHigh56760768-b641-451f-8906-e1b8ab31bca7
Sites.Read.AllHigh205e70e5-aba6-4c52-a976-6d2d46c48043
Sites.ReadWrite.AllHigh89fe6a52-be36-487e-b7d8-d061c450a026
Files.Read.AllHighdf85f4d6-205c-4ac5-a5ea-6bf408dba283
Files.ReadWrite.AllHigh863451e7-0667-486c-a5d6-d135439485f0
DeviceLocalCredential.Read.AllHigh9917900e-410b-4d15-846e-42a357488545
UserAuthMethod-Phone.ReadWriteHigh6c4aad61-f76b-46ad-a22c-57d4d3d962af
UserAuthMethod-Phone.ReadWrite.AllHigh48c99302-9a24-4f27-a8a7-acef4debba14
UserAuthMethod-Password.ReadWrite.AllHigh7f5b683d-df96-4690-a88d-6e336ed6dc7c
UserAuthMethod-Password.ReadWriteHigh60cce20d-d41e-4594-b391-84bbf8cc31f3
AdministrativeUnit.ReadWrite.AllHigh7b8a2d34-6b3f-4542-a343-54651608ad81
User.ReadWrite.AllMedium204e0828-b5ca-4ad8-b9f3-f32a958e7cc4
Chat.ReadWrite.AllMedium7e9a077b-3711-42b9-b7cb-5fa5f3f7fea7
Mail.ReadMedium570282fd-fa5c-430d-a7fd-fc8dc98a9dca
Mail.ReadWriteMedium024d486e-b451-40bb-833d-3e66d98c5c73
Mail.SendMediume383f46e-2787-4529-855e-0e479a3ffac0
CustomSecAttributeAssignment.ReadWrite.AllMediumca46335e-8453-47cd-a001-8459884efeae
ServicePrincipalEndpoint.ReadWrite.AllMedium7297d82c-9546-4aed-91df-3d4f0a9b3ff0
BitlockerKey.Read.AllMediumb27a61ec-b99c-4d6a-b126-c4375d08ae30
AiEnterpriseInteraction.ReadMedium859cceb9-2ec2-4e48-bcd7-b8490b5248a5
Calendars.ReadMedium465a38f9-76ea-45b9-9f34-9e8b0d4b0b42
Calendars.Read.SharedMedium2b9c4092-424d-4249-948d-b43879977640
Calendars.ReadWriteMedium1ec239c2-d7c9-4623-a91a-a9775856bb36
Calendars.ReadWrite.SharedMedium12466101-c9b8-439a-8589-dd09ee67e8e9
ChannelMessage.EditMedium2b61aa8a-6d36-4b2f-ac7b-f29867937c53
ChannelMessage.ReadWriteMedium5922d31f-46c8-4404-9eaf-2117e390a8a4
ChannelMessage.SendMediumebf0f66e-9fb1-49e4-a278-222f76911cf4
ChatMessage.SendMedium116b7235-7cc6-461e-b163-8e55691d839e
Chat.ReadWriteMedium9ff7295e-131b-4d94-90e1-69fde507ac11
Contacts.ReadWriteMediumd56682ec-c09e-4743-aaf4-1a3aac4caa21
Directory.AccessAsUser.AllMedium0e263e50-5827-48a4-b97c-d940288653c7
Directory.Read.AllMedium06da0dbc-49e2-44d2-8312-53f166ab848a
EAS.AccessAsUser.AllMediumff91d191-45a0-43fd-b837-bd682c4a0b0f
EntitlementMgmt-SubjectAccess.ReadWriteMediume9fdcbbb-8807-410f-b9ec-8d5468c7c2ac
EWS.AccessAsUser.AllMedium9769c687-087d-48ac-9cb3-c37dde652038
Files.ReadWriteMedium5c28f0bf-8a70-41f1-8ab2-9032436ddb65
IMAP.AccessAsUser.AllMedium652390e4-393a-48de-9484-05f9b1212954
MailboxItem.ImportExportMediumdf96e8a0-f4e1-4ecf-8d83-a429f822cbd6
MailboxFolder.ReadMedium52dc2051-4958-4636-8f2a-281d39c6981c
MailboxFolder.ReadWriteMedium077fde41-7e0b-4c5b-bcd1-e9d743a30c80
MailboxItem.ReadMedium82305458-296d-4edd-8b0b-74dd74c34526
MailboxSettings.ReadWriteMedium818c620a-27a9-40bd-a6a5-d96f7d610b4b
Notes.ReadMedium371361e4-b9e2-4a3f-8315-2a301a3b0a3d
Notes.Read.AllMediumdfabfca6-ee36-4db2-8208-7a28381419b3
Notes.ReadWriteMedium615e26af-c38a-4150-ae3e-c3b0d4cb1d6a
Notes.ReadWrite.AllMedium64ac0503-b4fa-45d9-b544-71a463f05da0
POP.AccessAsUser.AllMediumd7b7f2d9-0f45-4ea1-9d42-e50810c06991
offline_accessLow7427e0e9-2fba-42fe-b0c0-848c9e6a8182
openidLow37f7f235-527c-4136-accd-4a02d197296e
emailLow64a6cdd6-aab1-4aaf-94b8-3cc8405e90d0
profileLow14dad69e-099b-42c9-810b-d002981feec1
User.ReadLowe1fe6dd8-ba31-4d61-89e7-88639da4683d

Корпоративные приложения Microsoft (First-Party)

По умолчанию приложения 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|Да|Да| |Группы|Тип группы|Да|Нет| |Группы|Безопасность включена|Да|Нет| |Группы|Вложенный активный участник|Да|Нет| |Группы|Владельцы|Да|Нет| |Группы|Вложенные владельцы|Да|Нет| |Группы|Гость как владелец|Да|Да| |Группы|Синхронизация с локальной средой|Да|Нет| |Группы|Участники (транзитивные)|Да|Нет| |Группы|Назначаемые роли|Да|Нет| |Группы|PIM для групп: подключено|Нет|Нет| |Группы|PIM для групп: участник с правом на привилегированную группу|Да|Да| |Группы|PIM для групп: владелец с правом на привилегированную группу|Да|Да| |Группы|PIM для групп: незащищённая группа, вложенная в защищённую группу|Нет|Да| |Корпоративное приложение|Роль Entra|Да|Да| |Корпоративное приложение|Роль Azure|Да|Да| |Корпоративное приложение|Внешнее|Да|Нет| |Корпоративное приложение|Отключено Microsoft|Нет|Да| |Корпоративное приложение|Подозрительное имя (символы-имитаторы)|Да|Да| |Корпоративное приложение|Разрешение API (приложение)|Да|Да| |Корпоративное приложение|Разрешение API (делегированное)|Да|Да| |Корпоративное приложение|Учётные данные|Да|Да| |Корпоративное приложение|Владельцы|Да|Да| |Корпоративное приложение|Владение регистрациями приложений|Да|Да| |Корпоративное приложение|Владение другими субъектами-службами|Да|Да| |Корпоративное приложение|AppLock|(Да)|Нет| |Корпоративное приложение|Приложение владеет регистрацией приложения|Да|Да| |Корпоративное приложение|Участник / владелец групп|Да|(Да)| |Корпоративное приложение|Роли приложения|Да|Нет| |Корпоративное приложение|Требования к ролям приложения|Да|Нет| |Корпоративное приложение|Неактивно|Нет|Нет| |Корпоративное приложение|Последний успешный вход (дней)|Нет|Нет| |Регистрации приложений|Учётные данные|Да|Да| |Регистрации приложений|Приложение Entra Connect с учётными данными|Да|Да| |Регистрации приложений|Приложение Entra Connect с несколькими сертификатами|Да|Да| |Регистрации приложений|Роли приложения|Да|Нет| |Регистрации приложений|URL перенаправления приложения|Нет|Нет| |Регистрации приложений|AppLock|Да|Нет| |Регистрации приложений|Владельцы|Да|Да| |Регистрации приложений|(Облачные) администраторы приложений с ограниченной областью|Нет|Нет| |Регистрации приложений|Привилегии соответствующего SP|Да|Нет| |Регистрации приложений|Аудитория входа|Нет|Нет| |Управляемое удостоверение|Владельцы|Да|Да| |Управляемое удостоверение|Роль Entra|Да|Да| |Управляемое удостоверение|Роль Azure|Да|Да| |Управляемое удостоверение|API (приложение)|Да|Да| |Управляемое удостоверение|Владение регистрациями приложений|Да|Да| |Управляемое удостоверение|Владение другими субъектами-службами|Да|Да| |Управляемое удостоверение|Участник / владелец групп|Да|(Да)| |Пользователь|Роли Entra (активные и имеющие право)|Да|Да| |Пользователь|Роли Azure (активные и имеющие право)|Да|Да| |Пользователь|Членство в привилегированных группах (активное и имеющее право)|Да|Да| |Пользователь|Владение привилегированными группами (активное и имеющее право)|Да|Да| |Пользователь|Пользователь синхронизации Entra Connect|Да|Да| |Пользователь|Пользователь облачной синхронизации Entra Connect|Да|Да| |Пользователь|Владение регистрацией приложения|Да|Да| |Пользователь|Владение корпоративным приложением|Да|Да| |Пользователь|Не зарегистрирован ни один фактор MFA|Да|Да| |Пользователь|Защищён|Да|Нет| |Пользователь|Неактивен|Нет|Нет| |Пользователь|Участник / владелец групп|Да|(Да)| |Пользователь|Синхронизирован из локальной среды|Да|Нет| |Удостоверение агента|Связанные пользователи агента|Да|Нет| |Удостоверение агента|Внешнее происхождение субъекта blueprint|Да|Да| |Удостоверение агента|Эффективное разрешение API (приложение)|Да|Да| |Удостоверение агента|Эффективное разрешение API (делегированное)|Да|Да| |Удостоверение агента|Роль Entra|Да|Да| |Удостоверение агента|Роль Azure|Да|Да| |Удостоверение агента|Владение регистрациями приложений|Да|Да| |Удостоверение агента|Владение другими субъектами-службами|Да|Да| |Удостоверение агента|Участник / владелец групп|Да|(Да)| |Субъект blueprint удостоверения агента|Связанные удостоверения агента|Да|Нет| |Субъект blueprint удостоверения агента|Связанные пользователи агента|Да|Нет| |Субъект blueprint удостоверения агента|Настроенное разрешение API (приложение)|Нет|Нет| |Субъект blueprint удостоверения агента|Настроенное разрешение API (делегированное)|Нет|Нет| |Субъект blueprint удостоверения агента|Внешнее происхождение родительского blueprint|Да|Нет| |Субъект blueprint удостоверения агента|Роль Entra|Нет|Нет| |Субъект blueprint удостоверения агента|Роль Azure|Нет|Нет| |Субъект blueprint удостоверения агента|Подозрительное имя (символы-имитаторы)|Да|Да| |Blueprint удостоверения агента|Субъекты blueprint|Да|Нет| |Blueprint удостоверения агента|Связанные удостоверения агента|Да|Нет| |Blueprint удостоверения агента|Связанные пользователи агента|Да|Нет| |Blueprint удостоверения агента|Наследуемые разрешения API|Да|Нет| |Blueprint удостоверения агента|Федеративные учётные данные|Да|Нет| |Blueprint удостоверения агента|Секреты / сертификаты|Да|Да| |Blueprint удостоверения агента|Владельцы / спонсоры|Да|(Да)| |Пакеты доступа|Предоставленные роли Entra|Да|Нет| |Пакеты доступа|Предоставленные роли Azure|Да|Нет| |Пакеты доступа|Предоставленные группы|Да|Нет| |Пакеты доступа|Предоставленные роли приложений|Да|Нет| |Пакеты доступа|Предоставленные разрешения API (приложение)|Да|Нет| |Пакеты доступа|Предоставленные разрешения API (делегированное)|Да|Нет| |Пакеты доступа|Предоставленный доступ к SharePoint|Да|Нет| |Пакеты доступа|Широкий самостоятельный запрос без утверждения|Да|Да| |Пакеты доступа|Постоянный доступ без истечения срока или проверки доступа|Нет|Нет| |Пакеты доступа|Опасные правила автоматического назначения|Да|Да| |Пакеты доступа|Самостоятельный запрос через незащищённые целевые группы|Да|Да| |Пакеты доступа|Широкое назначение от имени не-пользователя без утверждения|Да|Нет| |Пакеты доступа|Назначения субъектов-служб|Да|Нет| |Каталоги|Метаданные каталога, состояние и внешняя видимость|Нет|Нет| |Каталоги|Ресурсы каталога|Нет|Нет| |Каталоги|Ресурсы, настраиваемые в новых пакетах доступа|Да|Нет| |Каталоги|Ресурсы и роли, настроенные в существующих пакетах доступа|Да|Нет| |Каталоги|Ненастроенные ресурсы каталога|Да|Нет| |Каталоги|Назначения RBAC каталога|Да|Да| |CAP|Нет или неправильно настроенная политика для устаревшей аутентификации|-|Да| |CAP|Нет или неправильно настроенная политика для блокировки потока кода устройства|-|Да| |CAP|Нет или неправильно настроенная политика для ограничения регистрации сведений безопасности|-|Да| |CAP|Нет или неправильно настроенная политика для нацеливания на рискованные входы|-|Да| |CAP|Нет или неправильно настроенная политика для нацеливания на риск пользователя|-|Да| |CAP|Нет политики, обеспечивающей MFA|-|Да| |CAP|Нет политики, обеспечивающей уровень аутентификации|-|Да| |CAP|Включение ролей с ограниченными назначениями|-|Да| |Настройки PIM|AuthContext|-|Да| |Настройки PIM|AuthContext, связанный с CAP: частота входа|-|Да| |Настройки PIM|AuthContext, связанный с CAP: MFA или уровень аутентификации|-|Да| |Настройки PIM|AuthContext, связанный с CAP: включено|-|Да| |Настройки PIM|AuthContext, связанный с CAP: включённые/исключённые пользователи/группы/сети|-|Да| |Настройки PIM|AuthContext, связанный с CAP: условия|-|Да| |Настройки PIM|MFA при активации|-|Нет| |Настройки PIM|Обоснование активации или заявка|-|Да| |Настройки PIM|Продолжительность активации|-|Да| |Настройки PIM|Утверждение активации|-|Да| |Настройки PIM|Истечение срока назначения с правом|-|Нет| |Настройки PIM|Истечение срока активного назначения|-|Да| |Настройки PIM|MFA для активных назначений|-|Нет| |Настройки PIM|Уведомление об активации роли|-|Нет| |Настройки PIM|Уведомление о назначении роли (активное)|-|Нет| |Настройки PIM|Уведомление о назначении роли (имеющее право)|-|Нет|

🛡️ Обнаружение

EntraFalcon не является скрытным инструментом и может быть обнаружен в средах, где ведётся журналирование и мониторинг Microsoft Graph API и активности входа в Azure.

Используемая аутентификация по умолчанию

При выполнении полной перечислительной проверки с потоками, отличными от BroCi, инструмент обычно инициирует четыре интерактивных входа и один неинтерактивный вход. В зависимости от потока и поддержки конечных точек может произойти один дополнительный интерактивный вход для конечных точек политик Security Findings.

Идентификатор приложенияТипИдентификатор ресурсаНазначение
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Получение контекста политик Security Findings
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: не оценивается
  • Покрытие пользователей Conditional Access: эффективное покрытие пользователей и -ExportCapUncoveredUsers являются расчётными значениями по принципу «наилучшего усилия» на основе перечисленных пользователей, участников групп, назначений ролей и разрешимых категорий внешних пользователей. Селекторы внешних пользователей разрешаются только для гостевых пользователей клиента, соответствующих b2bCollaborationGuest. Другие типы внешних пользователей или внешние пользователи с указанными внешними клиентами могут сделать значения покрытия приблизительными. Пути PIM с правом сообщаются как потенциальное покрытие и не учитываются как текущее покрытие. Экспорт в CSV ограничен включёнными политиками и включёнными пользователями.
  • Облачная среда: облачные платформы быстро развиваются. В результате некоторые оценки или обнаружения могут со временем устареть или стать неточными. Кроме того, клиенты становятся всё более сложными, и конкретные конфигурации или комбинации настроек могут приводить к неточным результатам. Хотя мы стремимся поддерживать EntraFalcon в актуальном состоянии, всегда рекомендуется независимо проверять результаты и не полагаться исключительно на инструмент для критически важных решений.
  • HTML-отчёты: создаваемые HTML-отчёты не реализуют механизмы защиты от межсайтового скриптинга (XSS).

📦 Интегрированные внешние инструменты

Следующие подмодули были форкнуты и интегрированы в EntraFalcon для поддержки аутентификации, взаимодействия с Microsoft Graph и диаграмм отчётов:

Категории