Retour aux mises à jour
New releaseAug 26, 2026

EntraFalcon V20260824

Un outil PowerShell léger pour évaluer la posture de sécurité des environnements Microsoft Entra ID. Il aide à identifier les objets privilégiés, les attributions risquées et les configurations potentiellement incorrectes.

Partager

EntraFalcon

alt text

EntraFalcon est un outil d'évaluation basé sur PowerShell destiné aux pentesters, analystes de sécurité et administrateurs système pour évaluer la posture de sécurité d'un environnement Microsoft Entra ID.

Conçu pour être facile à utiliser, EntraFalcon fonctionne sur PowerShell 5.1 et 7, prend en charge Windows et Linux, et ne nécessite aucun module PowerShell supplémentaire, installation additionnelle ou consentement Microsoft Graph API.

L'outil aide à découvrir les objets privilégiés, les affectations potentiellement risquées et les mauvaises configurations de Conditional Access souvent négligées, telles que :

  • Utilisateurs ayant un contrôle sur des groupes ou applications à haute privilège
  • Applications d'entreprise externes ou internes avec des autorisations excessives (par exemple, Microsoft Graph API, rôles Azure)
  • Utilisateurs avec des affectations de rôles Azure IAM directement sur des ressources
  • Comptes privilégiés synchronisés depuis un environnement sur site
  • Utilisateurs inactifs ou utilisateurs sans capacité MFA
  • Groupes non protégés utilisés dans des affectations sensibles (par exemple, exclusions de Conditional Access, Subscription Owner, ou membre éligible d'un groupe privilégié)

Les résultats sont présentés dans des rapports HTML interactifs pour faciliter l'exploration et l'analyse efficaces.

🚀 Fonctionnalités

  • Script PowerShell simple compatible avec PowerShell 5.1 et 7. Fonctionne sur Windows et Linux
  • Authentification intégrée prenant en charge plusieurs méthodes
  • Utilise des applications Microsoft propriétaires avec des scopes pré-consentis pour contourner les invites de consentement Graph API
  • Génère des rapports HTML navigables prenant en charge le filtrage, le tri, l'export de données, etc.
  • Effectue plus de 90 vérifications automatisées et résume les résultats dans un rapport de constats de sécurité
    • Inclut des vérifications pour les configurations de locataire faibles et les propriétés ou autorisations d'objets risquées
    • Fournit des niveaux de gravité ainsi que des descriptions du problème, des menaces potentielles et des recommandations de remédiation
    • Liste les objets concernés et fournit des liens directs vers leurs rapports détaillés pour une investigation approfondie
  • Effectue une évaluation de base de l'impact, de la probabilité et du risque pour mettre en évidence les objets à haute privilège faiblement protégés et trier les données.
  • Affiche des avertissements pour les configurations risquées et les privilèges élevés
  • Énumère les objets Entra ID, notamment :
    • Utilisateurs (y compris les Agent Users)
    • Groupes
    • Applications d'entreprise
    • Inscriptions d'applications
    • Identités managées
    • Identités d'agents
    • Principaux de blueprint d'identité d'agent
    • Blueprints d'identité d'agent
    • Affectations PIM :
      • PIM pour les rôles Entra
      • PIM pour les groupes
      • PIM pour les rôles Azure
    • Affectations de rôles Entra
    • Affectations de rôles Azure
    • Affectations RBAC Intune
    • Packages d'accès
    • Catalogues de gestion des droits
    • RBAC de catalogue
    • Politiques de Conditional Access
    • Unités administratives
    • Paramètres PIM :
      • PIM pour les rôles Entra
      • PIM pour les groupes (authentification BroCi uniquement)

✅ Exigences

TypeAutorisationObligatoireImpact si absent
Rôle Entra IDGlobal ReaderOuiImpossible d'exécuter les scripts
Rôle AzureReader : sur chaque Management Group ou SubscriptionNonImpossible d'évaluer les affectations IAM Azure

De plus, vous devez pouvoir vous authentifier auprès de la Microsoft Graph API et éventuellement de l'API Azure ARM depuis l'appareil où vous exécutez l'outil. Assurez-vous que les politiques de Conditional Access ne bloquent pas votre authentification.

▶️ Utilisation

Télécharger EntraFalcon

Pour commencer, clonez le dépôt et naviguez dans le répertoire du projet :```powershell git clone https://github.com/CompassSecurity/EntraFalcon cd EntraFalcon

Note : Vous devrez peut-être modifier temporairement la stratégie d'exécution de PowerShell pour exécuter le script.
Ne faites cela que pour des scripts de confiance !```
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process

Exécuter EntraFalcon

EntraFalcon intègre une prise en charge native de l’authentification Entra ID. Utilisez -AuthFlow pour sélectionner le flux d’authentification.

Pour les évaluations standard, utilisez l’un des flux à couverture complète :

Flux recommandéIdéal pourPlateformeCouverture
BroCi (par défaut)Exécutions interactives sous WindowsWindowsComplète
BroCiManualCodeAuthentification dans un autre navigateurWindows, Linux, macOSComplète
BroCiTokenJeton d’actualisation existant du portail AzureWindows, Linux, macOSComplète
ServicePrincipalAutomatisation / CIWindows, Linux, macOSComplète

BroCi nécessite une seule connexion interactive. BroCiToken et ServicePrincipal n’en nécessitent aucune. Les flux utilisateur de secours peuvent exiger plusieurs connexions interactives, car des jetons de ressources distincts sont demandés.

Flux d’authentification de secours

En raison de l’absence d’applications tierces pré-consenties, les flux de secours ne peuvent pas effectuer l’énumération complète (PIM for Groups, Access Packages, Catalogs). Ils restent donc actuellement des options de secours uniquement.

FluxÀ utiliser uniquement lorsquePlateformeLimitations
AuthCodeLa compatibilité héritée est requiseWindowsCouverture partielle. Aucun rapport autonome PIM for Groups, Access Packages ou Catalogs.
DeviceCodeL’authentification par navigateur n’est pas possibleWindows, Linux, macOSCouverture partielle. Aucun rapport autonome PIM for Groups, Access Packages ou Catalogs. Certaines vérifications de Security Findings s’exécutent avec une profondeur réduite.
ManualCodeL’authentification doit être effectuée via une session de navigateur distincteWindows, Linux, macOSCouverture partielle. Aucun rapport autonome PIM for Groups, Access Packages ou Catalogs.

Recommandé : flux BroCi (par défaut / Windows uniquement)

BroCi utilise des applications tierces alternatives et ne nécessite qu’une seule connexion interactive.
Il est utile lorsque le client Azure Active Directory PowerShell nécessite une attribution et doit être évité.```powershell .\run_EntraFalcon.ps1

Sélection explicite de BroCi :```powershell
.\run_EntraFalcon.ps1 -AuthFlow BroCi

Recommandé : BroCi + Flux de code manuel```powershell

.\run_EntraFalcon.ps1 -AuthFlow BroCiManualCode

1. Le script copie l'URL d'authentification dans le presse-papiers.
2. Collez l'URL dans un navigateur (éventuellement sur un autre appareil pour la prise en charge SSO).
3. Ouvrez les outils de développement du navigateur et, dans l'onglet Réseau, activez `Preserve log`.
4. Terminez l'authentification.
5. Recherchez `code=1.` dans le journal réseau et copiez l'URL de la requête contenant le code dans le presse-papiers.
6. Appuyez sur Entrée pour continuer ; le script lit le code depuis le presse-papiers et termine l'acquisition du jeton.


#### Recommandé : BroCi avec jeton
Si un jeton d'actualisation Azure Portal valide est déjà disponible (client c44b4083-3bb0-49c1-b47d-974e53cbdf3c), il peut être utilisé directement.
Exemple : Obtention du jeton d'actualisation depuis le navigateur
1. Ouvrez les outils de développement du navigateur et, dans l'onglet Réseau, activez Preserve log.
2. Authentifiez-vous sur https://entra.microsoft.com.
3. Recherchez `brk_client_id=c44b4083-3bb0-49c1-b47d-974e53cbdf3c` dans le journal réseau et extrayez le jeton d'actualisation de la réponse.```powershell
.\run_EntraFalcon.ps1 -AuthFlow BroCiToken -BroCiToken "1.XXXXXXXXXXX"

Recommandé : Principal de service

S’authentifie en tant qu’application enregistrée via la concession d’informations d’identification client OAuth2 — aucune interaction utilisateur requise. Utile pour les exécutions automatisées répétées.
Nécessite un enregistrement d’application Entra personnalisé avec des autorisations Graph API de type Application (voir ci-dessous).

Avec secret client :```powershell .\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "" -SPClientSecret ""

**Avec certificat PFX :**```powershell
.\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "<AppId>" -SPCertificatePath "C:\certs\app.pfx"

Pour un PFX protégé par mot de passe, ajoutez -SPCertificatePassword (Read-Host -Prompt "Certificate password" -AsSecureString).

Avec certificat PEM + clé privée (PowerShell 7+ uniquement) :```powershell .\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "" -SPCertificatePemPath "C:\certs\cert.pem" -SPPrivateKeyPemPath "C:\certs\key.pem"

Pour une clé privée chiffrée, ajoutez `-SPPrivateKeyPemPassword (Read-Host -Prompt "Private key password" -AsSecureString)`.

##### Autorisations requises pour l’inscription de l’application
Accordez les autorisations **Application** suivantes (et non Déléguées) sur l’inscription de l’application et administrez-y le consentement :

| Autorisation | 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 |

De plus, attribuez le rôle **Azure Reader** sur le groupe de gestion racine (ou sur chaque abonnement concerné) et, éventuellement, le rôle **Global Reader** au principal de service dans Entra ID (requis pour le statut MFA par utilisateur).

#### Repli : Flux de code d’autorisation (Windows uniquement)```powershell
.\run_EntraFalcon.ps1 -AuthFlow AuthCode

Repli : Flux de code d’appareil (Device Code Flow)

Il est souvent restreint par l’accès conditionnel dans les environnements durcis.
Avec DeviceCode, deux contrôles de Security Findings s’exécutent avec une profondeur réduite (CAP-004 et CAP-005).```powershell .\run_EntraFalcon.ps1 -AuthFlow DeviceCode

#### Fallback : flux de code d'authentification + code manuel```powershell
.\run_EntraFalcon.ps1 -AuthFlow ManualCode
  1. Le script copie l'URL d'authentification dans le presse-papiers.
  2. Collez l'URL dans un navigateur (éventuellement sur un autre appareil pour la prise en charge du SSO).
  3. Terminez l'authentification.
  4. Copiez l'URL de redirection finale depuis la barre d'adresse du navigateur (contenant le code d'autorisation) dans le presse-papiers.
  5. Appuyez sur Entrée pour continuer ; le script lit le code depuis le presse-papiers et termine l'acquisition du jeton.

Autres Paramètres

Inclure les Applications d'Entreprise Appartenant à Microsoft

Par défaut, les applications d'entreprise officielles de Microsoft sont exclues de l'évaluation afin de réduire le bruit. Pour les inclure dans l'énumération et l'analyse, utilisez le commutateur -IncludeMsApps :```powershell .\run_EntraFalcon.ps1 -IncludeMsApps

#### Ignorer l'évaluation PIM pour les groupes
Utilisez le commutateur `-SkipPimForGroups` pour ignorer la précollecte et l'enrichissement PIM pour les groupes.  
Cela ignore également le rapport autonome des paramètres `PIM for Groups`.```powershell
.\run_EntraFalcon.ps1 -SkipPimForGroups

Autres paramètres facultatifs

ParamètreDescriptionValeur par défaut
UserAgentUser agent utilisé pour les requêtes vers le point de terminaison du jeton et les appels API.EntraFalcon
DisableCAEDésactive la demande de jetons Continuous Access Evaluation (CAE).false
TenantSpécifie le locataire (ID ou domaine) pour l'authentification. Utile lors de l'évaluation d'un locataire autre que le locataire d'origine du compte.Locataire d'origine du compte
OutputFolderDossier de sortie où les rapports sont stockés.Results_%TenantName%_YYYYMMDD_HHMM
LimitResultsLimite le nombre de groupes et d'utilisateurs dans le rapport (après tri par risque). Utile pour les grands locataires.-
LogLevelContrôle la verbosité de la journalisation CLI au moment de l'exécution. Valeurs prises en charge : Off (par défaut), Verbose, Debug, Trace.Off
ApiTopDéfinit le nombre maximal d'objets renvoyés par l'API. Des valeurs plus faibles réduisent le risque de délai d'expiration (HTTP 504), mais augmentent le nombre de requêtes.999 (Plage valide : 5–999)
AuthFlowSélecteur de flux d'authentification préféré. Valeurs : BroCi (par défaut), AuthCode, DeviceCode, ManualCode, BroCiManualCode, BroCiToken, ServicePrincipal.BroCi
BroCiTokenJeton d'actualisation du portail Azure pour AuthFlow BroCiToken.-
SPClientIdID d'application (client) du principal de service. Requis pour -AuthFlow ServicePrincipal.-
SPClientSecretSecret client pour le principal de service. Utilisé avec -AuthFlow ServicePrincipal.-
SPCertificatePathChemin vers un fichier de certificat PFX/P12 pour l'authentification du principal de service.-
SPCertificatePasswordMot de passe (SecureString) pour le certificat PFX spécifié par -SPCertificatePath.-
SPCertificatePemPathChemin vers un fichier de certificat PEM. Utilisé avec -SPPrivateKeyPemPath.-
SPPrivateKeyPemPathChemin vers le fichier de clé privée PEM correspondant à -SPCertificatePemPath.-
SPPrivateKeyPemPasswordMot de passe (SecureString) pour la clé privée PEM spécifiée par -SPPrivateKeyPemPath.-
CsvActive l'écriture de fichiers de rapport CSV en plus des fichiers de rapport TXT/HTML.false
ExportCapUncoveredUsersPour chaque stratégie d'accès conditionnel activée avec ciblage utilisateur, exporte un CSV listant les utilisateurs non couverts par cette stratégie. Les fichiers sont écrits dans un sous-dossier ConditionalAccessPolicies_UncoveredUsers dans le répertoire de sortie.false
ExportFindingsJsonExporte toutes les conclusions de sécurité (Security Findings) au format JSON à la fin de l'exécution.false
ExportDataJsonExporte le rapport enrichi et les ensembles de données de support sous forme de fichiers de données JSON bruts dans Data_Json ; les métadonnées d'exécution sont disponibles dans Summary.json.false
DebugObjectDumpExporte les objets de rapport finaux en mémoire au format CLIXML vers Debug_ObjectDump pour le dépannage et les tests.false

📊 Exemples de rapports

Rapport de conclusions de sécurité

alt text alt text

Utilisateurs

alt text

Utilisateurs (section Détails)

alt text

Rôles Entra ID

alt text

Rôles Azure

alt text

Application d'entreprise (section Détails)

alt text

Stratégies d'accès conditionnel

alt text

Stratégies d'accès conditionnel (section Détails)

alt text

Paramètres de rôle PIM (Entra)

alt text

Identités d'agent

alt text

Résumé de l'énumération

alt text

📑 Rapport HTML

Général

  • Cliquez sur le bouton ⚙️ Colonnes pour afficher ou masquer des colonnes spécifiques.
  • Cliquez sur 💾 Exporter pour télécharger CSV/JSON ou copier CSV/TSV/JSON des données actuellement visibles.
  • Cliquez sur 👁 Partager la vue pour copier les filtres, le tri et la sélection de colonnes sous forme de lien partageable.
  • Cliquez sur 🧰 Vues prédéfinies pour appliquer des filtres et sélections de colonnes préconfigurés.
  • Cliquez sur 🔄 Réinitialiser la vue pour rétablir la vue par défaut.
  • Cliquez sur les noms d'objets pour accéder aux informations détaillées, même dans d'autres rapports.
  • Lorsque vous utilisez la navigation interne, appuyez sur le bouton précédent du navigateur pour revenir en arrière.
  • Certains en-têtes de colonnes de tableau affichent un texte d'aide au survol de la souris.
  • Triez les données en cliquant sur un en-tête de tableau.
  • Alt+clic sur un en-tête de colonne principale du tableau pour masquer rapidement cette colonne.
  • Alt+clic sur une ligne de contenu d'une colonne principale du tableau pour la masquer temporairement. Utilisez la puce des lignes masquées ou Réinitialiser la vue pour réafficher les lignes masquées.

Filtrage

  • Si aucun opérateur n'est spécifié, le filtrage utilise par défaut contient.
  • Utilisez = pour une correspondance exacte.
  • Utilisez ^ pour commence par (par exemple, ^Mallory).
  • Utilisez $ pour se termine par (par exemple, $domain.ch).
  • Les opérateurs de comparaison comme >, <, >=, <= sont pris en charge (valeurs numériques uniquement).
  • Les filtres peuvent être niés en commençant par ! (sauf pour les comparaisons numériques). Exemples : !Mallory, !=Mallory, !^Mallory ou !$domain.ch.
  • Utilisez =empty pour correspondre aux cellules vides, ou !=empty pour correspondre aux cellules non vides.
  • Utilisez || pour correspondre à l'une des multiples valeurs dans la même colonne (par exemple, Admin || Guest).
  • Utilisez && pour exiger plusieurs correspondances dans la même colonne (par exemple, !adm && !svc && !sql).
  • Pour appliquer une logique OU entre colonnes, utilisez or_, group1_, group2_... directement dans un champ de filtre. Exemples : dans la colonne 1 : or_>1, dans la colonne 2 : or_!Mallory
  • Remarque : La colonne DisplayName inclut également l'ID de l'objet (invisible), il est donc également possible de filtrer par ID.

Contrôles à l'aide de paramètres GET

  • Filtrage : Appliquez des filtres en utilisant les noms de champs comme paramètres HTTP GET, par exemple, ?EntraRoles=>1&Enabled=true.
    Pour appliquer une logique OU entre colonnes, utilisez le préfixe or_ ou group1_ (par exemple, ?or_EntraRoles=>0&or_GrpMem=>0).
  • Sélection de colonnes : Choisissez les colonnes à afficher à l'aide du paramètre columns. Exemple : ?columns=DisplayName,Owner.
  • Tri : Triez les données à l'aide des paramètres sort et sortDir. Exemple : ?sort=Impact&sortDir=desc ou ?sort=OwnerCount&sortDir=asc.
  • Détails de l'objet : Accédez directement à un objet spécifique du rapport à l'aide d'une ancre (#) et de l'ID de l'objet, par exemple #%ObjectID%.

Évaluation

  • Impact : Représente la quantité ou la gravité des autorisations dont dispose l'objet.
  • Probabilité : Représente la facilité avec laquelle l'objet peut être influencé ou la qualité de sa protection.
  • Risque : Score calculé : Impact × Probabilité = Risque.
  • Important :
    • Ce score est destiné à servir d'évaluation de base pour aider à trier et prioriser les entrées du tableau.
    • Les scores de risque ne sont pas directement comparables entre différents types d'objets ou rapports.
    • Il n'est pas destiné à remplacer une évaluation complète des risques.

🔧Sous le capot

Catégorisation des rôles

Les rôles Entra ID et Azure sont grossièrement catégorisés en différents niveaux de hiérarchie. Cette catégorisation influence les scores d'impact des objets auxquels ces rôles sont attribués. L'objectif est d'attribuer un score d'impact plus élevé aux utilisateurs disposant de rôles plus puissants (par exemple, Administrateur général) par rapport aux utilisateurs disposant de rôles moins critiques (par exemple, Lecteur général), même si les deux sont considérés comme des rôles privilégiés par Microsoft.

Remarque : Pour les rôles Azure, cette catégorisation est moins précise, car l'impact réel dépend fortement de la portée de l'attribution du rôle. Par exemple, un rôle Propriétaire sur une seule machine virtuelle a un impact nettement moindre que lorsque le même rôle est appliqué à un abonnement entier. Il peut également s'agir d'un abonnement de test sans aucune ressource.

Rôles Entra ID
Nom du rôleNiveau de hiérarchieGUID
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
Rôles Azure
Nom du rôleNiveau de hiérarchieGUID
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

Catégorisation des autorisations API

Certaines autorisations API permettent à une application d'élever directement ses privilèges au niveau d'Administrateur général. Par conséquent, plusieurs autorisations API sont catégorisées en différents niveaux de gravité. Cette catégorisation influence le score d'impact des applications auxquelles ces autorisations sont attribuées — soit comme autorisations d'application, soit comme autorisations déléguées pour les utilisateurs.

Autorisation d'application| Permission | Severité | GUID | |-------------------------------------------------------------|------------|----------------------------------------| | RoleManagement.ReadWrite.Directory | Dangereux | 9e3f62cf-ca93-4989-b6ce-bf83c28f9fe8 | | AppRoleAssignment.ReadWrite.All | Dangereux | 06b708a9-e830-4db3-a914-8e69da51d44f | | Application.ReadWrite.All | Dangereux | 1bfefb4e-e0b5-418b-a88f-73c46d2cc8e9 | | RoleAssignmentSchedule.ReadWrite.Directory | Dangereux | dd199f4a-f148-40a4-a2ec-f0069cc799ec | | PrivilegedAssignmentSchedule.ReadWrite.AzureADGroup | Dangereux | 41202f2c-f7ab-45be-b001-85c9728b9d69 | | PrivilegedAccess.ReadWrite.AzureADGroup | Dangereux | 2f6817f8-7b12-4f0f-bc18-eeaf60705a9e | | RoleEligibilitySchedule.ReadWrite.Directory | Dangereux | fee28b28-e1f3-4841-818e-2704dc62245f | | PrivilegedEligibilitySchedule.ReadWrite.AzureADGroup | Dangereux | 618b6020-bca8-4de6-99f6-ef445fa4d857 | | Domain.ReadWrite.All | Dangereux | 7e05723c-0bb0-42da-be95-ae9f08a6e53c | | Application.ReadUpdate.All | Dangereux | fc023787-fd04-4e44-9bc7-d454f00c0f0a | | AgentIdentityBlueprint.ReadWrite.All | Élevée | 7fddd33b-d884-4ec0-8696-72cff90ff825 | | AgentIdentityBlueprint.AddRemoveCreds.All | Élevée | 0510736e-bdfb-4b37-9a1f-89b4a074763a | | ADSynchronization.ReadWrite.All | Élevée | ab43b826-2c7a-4aff-9ecd-d0629d0ca6a9 | | EntitlementManagement.ReadWrite.All | Élevée | 9acd699f-1e81-4958-b001-93b1d2506e19 | | Organization.ReadWrite.All | Élevée | 292d869f-3427-49a8-9dab-8c70152b74e9 | | Policy.ReadWrite.PermissionGrant | Élevée | a402ca1c-2696-4531-972d-6e5ee4aa11ea | | RoleManagementPolicy.ReadWrite.AzureADGroup | Élevée | b38dcc4d-a239-4ed6-aa84-6c65b284f97c | | RoleManagementPolicy.ReadWrite.Directory | Élevée | 31e08e0a-d3f7-4ca2-ac39-7343fb83e8ad | | Policy.ReadWrite.AuthenticationMethod | Élevée | 29c18626-4985-4dcd-85c0-193eef327366 | | User.DeleteRestore.All | Élevée | eccc023d-eccf-4e7b-9683-8813ab36cecc | | User.EnableDisableAccount.All | Élevée | 3011c876-62b7-4ada-afa2-506cbbecc68c | | DelegatedPermissionGrant.ReadWrite.All | Élevée | 8e8e4742-1d95-4f68-9d56-6ee75648c72a | | Policy.ReadWrite.ConditionalAccess | Élevée | 01c0a623-fc9b-48e9-b794-0756f8e8f067 | | DeviceManagementConfiguration.ReadWrite.All | Élevée | 9241abd9-d0e6-425a-bd4f-47ba86e767a4 | | DeviceManagementRBAC.ReadWrite.All | Élevée | e330c4f0-4170-414e-a55a-2f022ec2b57b | | Directory.ReadWrite.All | Élevée | 19dbc75e-c2e2-444c-a770-ec69d8559fc7 | | Group.ReadWrite.All | Élevée | 62a82d76-70ea-41e2-9197-370581804d09 | | GroupMember.ReadWrite.All | Élevée | dbaae8cf-10b5-4b86-a4a1-f871c94c6695 | | UserAuthenticationMethod.ReadWrite.All | Élevée | 50483e42-d915-4231-9639-7fdb7fd190e5 | | User-PasswordProfile.ReadWrite.All | Élevée | cc117bb9-00cf-4eb8-b580-ea2a878fe8f7 | | Sites.FullControl.All | Élevée | a82116e5-55eb-4c41-a434-62fe8a61c773 | | Sites.FullControl.All SharePointAPI | Élevée | 678536fe-1083-478a-9c59-b99265e6b0d3 | | Sites.Manage.All SharePointAPI | Élevée | 9bff6588-13f2-4c48-bbf2-ddab62256b36 | | Sites.Read.All SharePointAPI | Élevée | d13f72ca-a275-4b96-b789-48ebcc4da984 | | Sites.ReadWrite.All SharePointAPI | Élevée | fbcd29d2-fcca-4405-aded-518d457caae4 | | Sites.Manage.All | Élevée | 0c0bf378-bf22-4481-8f81-9e89a9b4960a | | Sites.Read.All | Élevée | 332a536c-c7ef-4017-ab91-336970924f0d | | Sites.ReadWrite.All | Élevée | 9492366f-7969-46a4-8d15-ed1a20078fff | | Files.Read.All | Élevée | 01d4889c-1287-42c6-ac1f-5d1e02578ef6 | | Files.ReadWrite.All | Élevée | 75359482-378d-4052-8f01-80520e7db3cd | | DeviceLocalCredential.Read.All | Élevée | db51be59-e728-414b-b800-e0f010df1a79 | | AdministrativeUnit.ReadWrite.All | Élevée | 5eb59dd3-1da2-4329-8733-9dabdc435916 | | UserAuthMethod-HardwareOATH.ReadWrite.All | Élevée | 7e9ebcc1-90aa-4471-8051-e68d6b4e9c89 | | UserAuthMethod-Phone.ReadWrite.All | Élevée | 6e85d483-7092-4375-babe-0a94a8213a58 | | UserAuthMethod-QR.ReadWrite.All | Élevée | 4869299f-18c3-40c8-98f2-222657e67db1 | | UserAuthMethod-TAP.ReadWrite.All | Élevée | 627169a8-8c15-451c-861a-5b80e383de5c | | User.ReadWrite.All | Moyenne | 741f803b-c850-494e-b5df-cde7c675a1ca | | Application.ReadWrite.OwnedBy | Moyenne | 18a4783c-866b-4cc7-a460-3d5e5662c884 | | Chat.Read.All | Moyenne | 6b7d71aa-70aa-4810-a8d9-5d9fb2830017 | | Chat.ReadWrite.All | Moyenne | 294ce7c9-31ba-490a-ad7d-97a7d075e4ed | | Calendars.Read | Moyenne | 798ee544-9d2d-430c-a058-570e29e34338 | | Calendars.ReadWrite | Moyenne | ef54d2bf-783f-4e0f-bca1-3210c0444d99 | | Mail.Read | Moyenne | 810c84a8-4a9e-49e6-bf7d-12d183f40d01 | | Mail.ReadWrite | Moyenne | e2a3a72e-5f79-4c64-b1b1-878b674786c9 | | BitlockerKey.Read.All | Moyenne | 57f1cf28-c0c4-4ec3-9a30-19a2eaaf2f6e | | Mail.Send | Moyenne | b633e1c5-b582-4048-a93e-9f11b44c7e96 | | OnlineMeetings.ReadWrite.All | Moyenne | b8bb2037-6e08-44ac-a4ea-4674e010e2a4 | | CustomSecAttributeAssignment.ReadWrite.All | Moyenne | de89b5e4-5b8f-48eb-8925-29c2b33bd8bd | | ServicePrincipalEndpoint.ReadWrite.All | Moyenne | 89c8469c-83ad-45f7-8ff2-6e3d4285709e | | AgentIdUser.ReadWrite.IdentityParentedBy | Moyenne | 4aa6e624-eee0-40ab-bdd8-f9639038a614 | | AgentIdentity.CreateAsManager | Faible | 4c390976-b2b7-42e0-9187-c6be3bead001 |
Autorisation déléguée
PermissionSeveritéGUID
RoleManagement.ReadWrite.DirectoryDangereuxd01b97e9-cbc0-49fe-810a-750afd5527a3
AppRoleAssignment.ReadWrite.AllDangereux84bccea3-f856-4a8a-967b-dbe0a3d53a64
Application.ReadWrite.AllDangereuxbdfbf15f-ee85-4955-8675-146e8e5296b5
RoleAssignmentSchedule.ReadWrite.DirectoryDangereux8c026be3-8e26-4774-9372-8d5d6f21daff
PrivilegedAssignmentSchedule.ReadWrite.AzureADGroupDangereux06dbc45d-6708-4ef0-a797-f797ee68bf4b
PrivilegedAccess.ReadWrite.AzureADGroupDangereux32531c59-1f32-461f-b8df-6f8a3b89f73b
RoleEligibilitySchedule.ReadWrite.DirectoryDangereux62ade113-f8e0-4bf9-a6ba-5acb31db32fd
PrivilegedEligibilitySchedule.ReadWrite.AzureADGroupDangereuxba974594-d163-484e-ba39-c330d5897667
Domain.ReadWrite.AllDangereux0b5d694c-a244-4bde-86e6-eb5cd07730fe
Application.ReadUpdate.AllDangereux0586a906-4d89-4de8-b3c8-1aacdcc0c679
AgentIdentityBlueprint.AddRemoveCreds.AllÉlevée75b5feb2-bfe7-423f-907d-cc505186f246
AgentIdentityBlueprint.ReadWrite.AllÉlevée4fd490fc-1467-48eb-8a4c-421597ab0402
EntitlementManagement.ReadWrite.AllÉlevéeae7a573d-81d7-432b-ad44-4ed5c9d89038
Organization.ReadWrite.AllÉlevée46ca0847-7e6b-426e-9775-ea810a948356
Policy.ReadWrite.PermissionGrantÉlevée2672f8bb-fd5e-42e0-85e1-ec764dd2614e
RoleManagementPolicy.ReadWrite.AzureADGroupÉlevée0da165c7-3f15-4236-b733-c0b0f6abe41d
RoleManagementPolicy.ReadWrite.DirectoryÉlevée1ff1be21-34eb-448c-9ac9-ce1f506b2a68
Policy.ReadWrite.AuthenticationMethodÉlevée7e823077-d88e-468f-a337-e18f1f0e6c7c
User.DeleteRestore.AllÉlevée4bb440cd-2cf2-4f90-8004-aa2acd2537c5
User.EnableDisableAccount.AllÉlevéef92e74e7-2563-467f-9dd0-902688cb5863
DelegatedPermissionGrant.ReadWrite.AllÉlevée41ce6ca6-6826-4807-84f1-1c82854f7ee5
Policy.ReadWrite.ConditionalAccessÉlevéead902697-1014-4ef5-81ef-2b4301988e8c
DeviceManagementConfiguration.ReadWrite.AllÉlevée0883f392-0a7a-443d-8c76-16a6d39c7b63
DeviceManagementRBAC.ReadWrite.AllÉlevée0c5e8a55-87a6-4556-93ab-adc52c4d862d
Directory.ReadWrite.AllÉlevéec5366453-9fb0-48a5-a156-24f0c49a4b84
Group.ReadWrite.AllÉlevée4e46008b-f24c-477d-8fff-7bb4ec7aafe0
GroupMember.ReadWrite.AllÉlevéef81125ac-d3b7-4573-a3b2-7099cc39df9e
UserAuthenticationMethod.ReadWrite.AllÉlevéeb7887744-6746-4312-813d-72daeaee7e2d
Sites.FullControl.AllÉlevée5a54b8b3-347c-476d-8f8e-42d5c7424d29
Sites.Manage.AllÉlevée65e50fdc-43b7-4915-933e-e8138f11f40a
User-PasswordProfile.ReadWrite.AllÉlevée56760768-b641-451f-8906-e1b8ab31bca7
Sites.Read.AllÉlevée205e70e5-aba6-4c52-a976-6d2d46c48043
Sites.ReadWrite.AllÉlevée89fe6a52-be36-487e-b7d8-d061c450a026
Files.Read.AllÉlevéedf85f4d6-205c-4ac5-a5ea-6bf408dba283
Files.ReadWrite.AllÉlevée863451e7-0667-486c-a5d6-d135439485f0
DeviceLocalCredential.Read.AllÉlevée9917900e-410b-4d15-846e-42a357488545
UserAuthMethod-Phone.ReadWriteÉlevée6c4aad61-f76b-46ad-a22c-57d4d3d962af
UserAuthMethod-Phone.ReadWrite.AllÉlevée48c99302-9a24-4f27-a8a7-acef4debba14
UserAuthMethod-Password.ReadWrite.AllÉlevée7f5b683d-df96-4690-a88d-6e336ed6dc7c
UserAuthMethod-Password.ReadWriteÉlevée60cce20d-d41e-4594-b391-84bbf8cc31f3
AdministrativeUnit.ReadWrite.AllÉlevée7b8a2d34-6b3f-4542-a343-54651608ad81
User.ReadWrite.AllMoyenne204e0828-b5ca-4ad8-b9f3-f32a958e7cc4
Chat.ReadWrite.AllMoyenne7e9a077b-3711-42b9-b7cb-5fa5f3f7fea7
Mail.ReadMoyenne570282fd-fa5c-430d-a7fd-fc8dc98a9dca
Mail.ReadWriteMoyenne024d486e-b451-40bb-833d-3e66d98c5c73
Mail.SendMoyennee383f46e-2787-4529-855e-0e479a3ffac0
CustomSecAttributeAssignment.ReadWrite.AllMoyenneca46335e-8453-47cd-a001-8459884efeae
ServicePrincipalEndpoint.ReadWrite.AllMoyenne7297d82c-9546-4aed-91df-3d4f0a9b3ff0
BitlockerKey.Read.AllMoyenneb27a61ec-b99c-4d6a-b126-c4375d08ae30
AiEnterpriseInteraction.ReadMoyenne859cceb9-2ec2-4e48-bcd7-b8490b5248a5
Calendars.ReadMoyenne465a38f9-76ea-45b9-9f34-9e8b0d4b0b42
Calendars.Read.SharedMoyenne2b9c4092-424d-4249-948d-b43879977640
Calendars.ReadWriteMoyenne1ec239c2-d7c9-4623-a91a-a9775856bb36
Calendars.ReadWrite.SharedMoyenne12466101-c9b8-439a-8589-dd09ee67e8e9
ChannelMessage.EditMoyenne2b61aa8a-6d36-4b2f-ac7b-f29867937c53
ChannelMessage.ReadWriteMoyenne5922d31f-46c8-4404-9eaf-2117e390a8a4
ChannelMessage.SendMoyenneebf0f66e-9fb1-49e4-a278-222f76911cf4
ChatMessage.SendMoyenne116b7235-7cc6-461e-b163-8e55691d839e
Chat.ReadWriteMoyenne9ff7295e-131b-4d94-90e1-69fde507ac11
Contacts.ReadWriteMoyenned56682ec-c09e-4743-aaf4-1a3aac4caa21
Directory.AccessAsUser.AllMoyenne0e263e50-5827-48a4-b97c-d940288653c7
Directory.Read.AllMoyenne06da0dbc-49e2-44d2-8312-53f166ab848a
EAS.AccessAsUser.AllMoyenneff91d191-45a0-43fd-b837-bd682c4a0b0f
EntitlementMgmt-SubjectAccess.ReadWriteMoyennee9fdcbbb-8807-410f-b9ec-8d5468c7c2ac
EWS.AccessAsUser.AllMoyenne9769c687-087d-48ac-9cb3-c37dde652038
Files.ReadWriteMoyenne5c28f0bf-8a70-41f1-8ab2-9032436ddb65
IMAP.AccessAsUser.AllMoyenne652390e4-393a-48de-9484-05f9b1212954
MailboxItem.ImportExportMoyennedf96e8a0-f4e1-4ecf-8d83-a429f822cbd6
MailboxFolder.ReadMoyenne52dc2051-4958-4636-8f2a-281d39c6981c
MailboxFolder.ReadWriteMoyenne077fde41-7e0b-4c5b-bcd1-e9d743a30c80
MailboxItem.ReadMoyenne82305458-296d-4edd-8b0b-74dd74c34526
MailboxSettings.ReadWriteMoyenne818c620a-27a9-40bd-a6a5-d96f7d610b4b
Notes.ReadMoyenne371361e4-b9e2-4a3f-8315-2a301a3b0a3d
Notes.Read.AllMoyennedfabfca6-ee36-4db2-8208-7a28381419b3
Notes.ReadWriteMoyenne615e26af-c38a-4150-ae3e-c3b0d4cb1d6a
Notes.ReadWrite.AllMoyenne64ac0503-b4fa-45d9-b544-71a463f05da0
POP.AccessAsUser.AllMoyenned7b7f2d9-0f45-4ea1-9d42-e50810c06991
offline_accessFaible7427e0e9-2fba-42fe-b0c0-848c9e6a8182
openidFaible37f7f235-527c-4136-accd-4a02d197296e
emailFaible64a6cdd6-aab1-4aaf-94b8-3cc8405e90d0
profileFaible14dad69e-099b-42c9-810b-d002981feec1
User.ReadFaiblee1fe6dd8-ba31-4d61-89e7-88639da4683d

Applications d'entreprise Microsoft internes

Par défaut, les applications Microsoft sont filtrées pour simplifier l'examen des applications d'entreprise. Utilisez le commutateur -IncludeMsApps pour les inclure. Les applications des locataires suivants sont considérées comme appartenant à Microsoft :

  • f8cdef31-a31e-4b4a-93e4-5f571e91255a
  • 72f988bf-86f1-41af-91ab-2d7cd011db47
  • 33e01921-4d64-4f8c-a055-5bdaffd5e33d
  • cdc5aeea-15c5-4db6-b079-fcadd2505dc2

Vérifications effectuées

Le tableau suivant résume approximativement les vérifications effectuées, ainsi que leur impact sur la notation et l'affichage éventuel d'un avertissement.

Vérifications effectuées|Zone|Contrôle|Impacte le score|Avertissement affiché| |-|-|-|-| |Groupes|Est un groupe M365 public|Oui|Oui| |Groupes|Est dynamique / Est dynamique avec requête potentiellement dangereuse|Oui|Oui| |Groupes|Rôles Entra (actifs et éligibles)|Oui|Oui| |Groupes|Rôles Azure (actifs et éligibles)|Oui|Oui| |Groupes|Utilisé pour AppRole|Oui|Oui| |Groupes|SP interne/étranger comme propriétaire|Oui|Oui| |Groupes|Dans une AU restreinte|Oui|Oui| |Groupes|Imbriqué dans un groupe privilégié|Oui|Oui| |Groupes|Utilisé dans une CAP|Oui|Oui| |Groupes|Type de groupe|Oui|Non| |Groupes|Sécurité activée|Oui|Non| |Groupes|Membre actif imbriqué|Oui|Non| |Groupes|Propriétaires|Oui|Non| |Groupes|Propriétaires imbriqués|Oui|Non| |Groupes|Invité comme propriétaire|Oui|Oui| |Groupes|Synchronisation sur site|Oui|Non| |Groupes|Membres (transitifs)|Oui|Non| |Groupes|Attribuable à un rôle|Oui|Non| |Groupes|PIM pour groupes : intégré|Non|Non| |Groupes|PIM pour groupes : membre éligible d'un groupe privilégié|Oui|Oui| |Groupes|PIM pour groupes : propriétaire éligible d'un groupe privilégié|Oui|Oui| |Groupes|PIM pour groupes : groupe non protégé imbriqué dans un groupe protégé|Non|Oui| |ApplicationEntreprise|Rôle Entra|Oui|Oui| |ApplicationEntreprise|Rôle Azure|Oui|Oui| |ApplicationEntreprise|Étranger|Oui|Non| |ApplicationEntreprise|Désactivé par Microsoft|Non|Oui| |ApplicationEntreprise|Nom suspect (caractères d'imitation)|Oui|Oui| |ApplicationEntreprise|Autorisation API (application)|Oui|Oui| |ApplicationEntreprise|Autorisation API (déléguée)|Oui|Oui| |ApplicationEntreprise|Informations d'identification|Oui|Oui| |ApplicationEntreprise|Propriétaires|Oui|Oui| |ApplicationEntreprise|Propriété d'inscriptions d'applications|Oui|Oui| |ApplicationEntreprise|Propriété d'autres principaux de service|Oui|Oui| |ApplicationEntreprise|AppLock|(Oui)|Non| |ApplicationEntreprise|L'application possède une inscription d'application|Oui|Oui| |ApplicationEntreprise|Membre / propriétaire de groupes|Oui|(Oui)| |ApplicationEntreprise|AppRoles|Oui|Non| |ApplicationEntreprise|Exigences AppRole|Oui|Non| |ApplicationEntreprise|Inactive|Non|Non| |ApplicationEntreprise|Dernière connexion réussie (jours)|Non|Non| |InscriptionsApplications|Informations d'identification|Oui|Oui| |InscriptionsApplications|Application Entra Connect avec informations d'identification|Oui|Oui| |InscriptionsApplications|Application Entra Connect avec plusieurs certificats|Oui|Oui| |InscriptionsApplications|AppRoles|Oui|Non| |InscriptionsApplications|URL de redirection d'application|Non|Non| |InscriptionsApplications|AppLock|Oui|Non| |InscriptionsApplications|Propriétaires|Oui|Oui| |InscriptionsApplications|Administrateurs d'applications (cloud) limités|Non|Non| |InscriptionsApplications|Privilèges du SP correspondant|Oui|Non| |InscriptionsApplications|Audience de connexion|Non|Non| |IdentitéGérée|Propriétaires|Oui|Oui| |IdentitéGérée|Rôle Entra|Oui|Oui| |IdentitéGérée|Rôle Azure|Oui|Oui| |IdentitéGérée|API (application)|Oui|Oui| |IdentitéGérée|Propriété d'inscriptions d'applications|Oui|Oui| |IdentitéGérée|Propriété d'autres principaux de service|Oui|Oui| |IdentitéGérée|Membre / propriétaire de groupes|Oui|(Oui)| |Utilisateur|Rôles Entra (actifs et éligibles)|Oui|Oui| |Utilisateur|Rôles Azure (actifs et éligibles)|Oui|Oui| |Utilisateur|Appartenance à un groupe privilégié (active et éligible)|Oui|Oui| |Utilisateur|Propriété d'un groupe privilégié (active et éligible)|Oui|Oui| |Utilisateur|Utilisateur synchronisé Entra Connect|Oui|Oui| |Utilisateur|Utilisateur synchronisé Entra Connect Cloud Sync|Oui|Oui| |Utilisateur|Propriété d'inscription d'application|Oui|Oui| |Utilisateur|Propriété d'application d'entreprise|Oui|Oui| |Utilisateur|Aucun facteur MFA enregistré|Oui|Oui| |Utilisateur|Est protégé|Oui|Non| |Utilisateur|Inactif|Non|Non| |Utilisateur|Membre / propriétaire de groupes|Oui|(Oui)| |Utilisateur|Synchronisé depuis le site local|Oui|Non| |IdentitéAgent|Utilisateurs agents liés|Oui|Non| |IdentitéAgent|Origine étrangère du principal du blueprint|Oui|Oui| |IdentitéAgent|Autorisation API effective (application)|Oui|Oui| |IdentitéAgent|Autorisation API effective (déléguée)|Oui|Oui| |IdentitéAgent|Rôle Entra|Oui|Oui| |IdentitéAgent|Rôle Azure|Oui|Oui| |IdentitéAgent|Propriété d'inscriptions d'applications|Oui|Oui| |IdentitéAgent|Propriété d'autres principaux de service|Oui|Oui| |IdentitéAgent|Membre / propriétaire de groupes|Oui|(Oui)| |PrincipalBlueprintIdentitéAgent|Identités agents liées|Oui|Non| |PrincipalBlueprintIdentitéAgent|Utilisateurs agents liés|Oui|Non| |PrincipalBlueprintIdentitéAgent|Autorisation API configurée (application)|Non|Non| |PrincipalBlueprintIdentitéAgent|Autorisation API configurée (déléguée)|Non|Non| |PrincipalBlueprintIdentitéAgent|Origine étrangère du blueprint parent|Oui|Non| |PrincipalBlueprintIdentitéAgent|Rôle Entra|Non|Non| |PrincipalBlueprintIdentitéAgent|Rôle Azure|Non|Non| |PrincipalBlueprintIdentitéAgent|Nom suspect (caractères d'imitation)|Oui|Oui| |BlueprintIdentitéAgent|Principaux du blueprint|Oui|Non| |BlueprintIdentitéAgent|Identités agents liées|Oui|Non| |BlueprintIdentitéAgent|Utilisateurs agents liés|Oui|Non| |BlueprintIdentitéAgent|Autorisations API héritables|Oui|Non| |BlueprintIdentitéAgent|Informations d'identification fédérées|Oui|Non| |BlueprintIdentitéAgent|Secrets / certificats|Oui|Oui| |BlueprintIdentitéAgent|Propriétaires / sponsors|Oui|(Oui)| |PackagesAccès|Rôles Entra accordés|Oui|Non| |PackagesAccès|Rôles Azure accordés|Oui|Non| |PackagesAccès|Groupes accordés|Oui|Non| |PackagesAccès|Rôles d'application accordés|Oui|Non| |PackagesAccès|Autorisations API accordées (application)|Oui|Non| |PackagesAccès|Autorisations API accordées (déléguée)|Oui|Non| |PackagesAccès|Accès SharePoint accordé|Oui|Non| |PackagesAccès|Auto-demande large sans approbation|Oui|Oui| |PackagesAccès|Accès persistant sans expiration ni révision d'accès|Non|Non| |PackagesAccès|Règles d'auto-affectation dangereuses|Oui|Oui| |PackagesAccès|Auto-demande via des cibles de groupes non protégés|Oui|Oui| |PackagesAccès|Affectation large pour compte non utilisateur sans approbation|Oui|Non| |PackagesAccès|Affectations de principaux de service|Oui|Non| |Catalogues|Métadonnées, état et visibilité externe du catalogue|Non|Non| |Catalogues|Ressources du catalogue|Non|Non| |Catalogues|Ressources configurables dans de nouveaux packages d'accès|Oui|Non| |Catalogues|Ressources et rôles configurés dans des packages d'accès existants|Oui|Non| |Catalogues|Ressources de catalogue non configurées|Oui|Non| |Catalogues|Affectations RBAC du catalogue|Oui|Oui| |CAP|Aucune politique ou politique mal configurée pour l'authentification héritée|-|Oui| |CAP|Aucune politique ou politique mal configurée pour bloquer le flux de code d'appareil|-|Oui| |CAP|Aucune politique ou politique mal configurée pour limiter les enregistrements d'informations de sécurité|-|Oui| |CAP|Aucune politique ou politique mal configurée pour cibler les connexions risquées|-|Oui| |CAP|Aucune politique ou politique mal configurée pour cibler le risque utilisateur|-|Oui| |CAP|Aucune politique imposant la MFA|-|Oui| |CAP|Aucune politique imposant la force d'authentification|-|Oui| |CAP|Inclusion de rôles ayant des affectations limitées|-|Oui| |ParamètresPIM|Contexte d'authentification|-|Oui| |ParamètresPIM|CAP liée au contexte d'authentification : fréquence de connexion|-|Oui| |ParamètresPIM|CAP liée au contexte d'authentification : MFA ou force d'authentification|-|Oui| |ParamètresPIM|CAP liée au contexte d'authentification : activée|-|Oui| |ParamètresPIM|CAP liée au contexte d'authentification : utilisateurs/groupes/réseaux inclus/exclus|-|Oui| |ParamètresPIM|CAP liée au contexte d'authentification : conditions|-|Oui| |ParamètresPIM|MFA d'activation|-|Non| |ParamètresPIM|Justification ou ticket d'activation|-|Oui| |ParamètresPIM|Durée d'activation|-|Oui| |ParamètresPIM|Approbation d'activation|-|Oui| |ParamètresPIM|Expiration de l'affectation éligible|-|Non| |ParamètresPIM|Expiration de l'affectation active|-|Oui| |ParamètresPIM|MFA des affectations actives|-|Non| |ParamètresPIM|Notification d'activation de rôle|-|Non| |ParamètresPIM|Notification d'affectation de rôle (active)|-|Non| |ParamètresPIM|Notification d'affectation de rôle (éligible)|-|Non|

🛡️ Détection

EntraFalcon n'est pas furtif et peut être détecté dans les environnements où l'API Microsoft Graph et l'activité de connexion Azure sont journalisées et surveillées.

Authentification par défaut utilisée

Lorsqu'une énumération complète est effectuée avec les flux non-BroCi, l'outil initie généralement quatre connexions interactives et une connexion non interactive. Selon le flux et la prise en charge des points de terminaison, une connexion interactive supplémentaire peut se produire pour les points de terminaison de politique des résultats de sécurité.

ID d'applicationTypeID de ressourceObjectif
1b730954-1685-4b74-9bfd-dac224a7b894Interactif00000003-0000-0000-c000-000000000000Récupérer les données PIM pour groupes
04b07795-8ddb-461a-bbee-02f9e1bf7b46Interactif00000003-0000-0000-c000-000000000000Récupérer les données générales des objets du locataire
51f81489-12ee-4a9e-aaae-a2591f45987dInteractif00000003-0000-0000-c000-000000000000Récupérer les données PIM pour les rôles Entra / Azure
80ccca67-54bd-44ab-8625-4b79c4dc7775Interactif00000003-0000-0000-c000-000000000000Récupérer le contexte de politique des résultats de sécurité
04b07795-8ddb-461a-bbee-02f9e1bf7b46Non interactif797f4846-ba00-4fd7-ba43-dac1f8f63013Récupérer les données d'affectation de rôle IAM Azure

Authentification BroCi utilisée

Lorsque l'authentification BroCi est utilisée, une seule connexion interactive se produit.

ID d'applicationTypeID de ressourceObjectif
c44b4083-3bb0-49c1-b47d-974e53cbdf3cInteractif00000003-0000-0000-c000-000000000000Authentification initiale pour utiliser le jeton d'actualisation pour BroCi
50aaa389-5a33-4f1a-91d7-2c45ecd8dac8Non interactif00000003-0000-0000-c000-000000000000Récupérer les données PIM pour groupes
50aaa389-5a33-4f1a-91d7-2c45ecd8dac8Non interactif01fc33a7-78ba-4d2f-a4b7-768e336e890eRécupérer les données PIM pour groupes
74658136-14ec-4630-ad9b-26e160ff0fc6Non interactif00000003-0000-0000-c000-000000000000Récupérer les données générales des objets du locataire
74658136-14ec-4630-ad9b-26e160ff0fc6Non interactif797f4846-ba00-4fd7-ba43-dac1f8f63013Récupérer les données d'affectation de rôle IAM Azure

Lorsque BroCi est activé, EntraFalcon interroge également api.azrbac.mspim.azure.com pour PIM pour groupes.

Détails

Pour la collecte de données, l'outil envoie plusieurs requêtes à l'API Microsoft Graph et, éventuellement, à l'API Azure ARM—une ou plusieurs par objet. Lorsque cela est possible, il exploite le point de terminaison Batch de Graph pour réduire le nombre de requêtes individuelles et améliorer l'efficacité.

Les connexions interactives utilisent le User-Agent du navigateur. Toutes les connexions non interactives et les requêtes API (Graph et ARM) utilisent EntraFalcon comme User-Agent, sauf modification avec le paramètre -UserAgent.

Pour détecter l'utilisation d'EntraFalcon, les équipes bleues peuvent surveiller les ID d'application répertoriés dans les journaux de connexion, rechercher des volumes inhabituels de trafic API Graph, ou analyser le comportement d'actualisation des jetons et des requêtes par lots.

🕳️ Limitations connues

  • RBAC M365 : non évalué
  • RBAC Defender for Endpoint : non évalué
  • Couverture utilisateur Conditional Access : la couverture utilisateur effective et -ExportCapUncoveredUsers sont des calculs au mieux basés sur les utilisateurs énumérés, les membres de groupes, les affectations de rôles et les catégories d'utilisateurs externes résolubles. Les sélecteurs d'utilisateurs externes ne sont résolus que pour les utilisateurs invités du locataire correspondant à b2bCollaborationGuest. D'autres types d'utilisateurs externes ou des utilisateurs externes avec des locataires externes spécifiés peuvent rendre les valeurs de couverture approximatives. Les chemins PIM éligibles sont signalés comme couverture potentielle et ne sont pas comptés comme actuellement couverts. L'exportation CSV est limitée aux politiques activées et aux utilisateurs activés.
  • Environnement cloud : les plateformes cloud évoluent rapidement. Par conséquent, certaines évaluations ou détections peuvent devenir obsolètes ou inexactes au fil du temps. De plus, les locataires deviennent de plus en plus complexes, et des configurations spécifiques ou des combinaisons de paramètres peuvent conduire à des résultats inexacts. Bien que nous nous efforcions de maintenir EntraFalcon à jour, il est toujours recommandé de valider les résultats de manière indépendante et de ne pas se fier uniquement à l'outil pour des décisions critiques.
  • Rapports HTML : les rapports HTML générés ne mettent pas en œuvre de mécanismes de protection contre le cross-site scripting (XSS).

📦 Outils externes intégrés

Les sous-modules suivants ont été forké et intégrés dans EntraFalcon pour prendre en charge l'authentification, l'interaction avec Microsoft Graph et les graphiques de rapports :

Catégories