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 sécurité et administrateurs système pour évaluer la posture de sécurité d'un environnement Microsoft Entra ID.

Conçu pour être simple d'utilisation, 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, ni consentement à l'API Microsoft Graph.

L'outil aide à identifier les objets privilégiés, les attributions potentiellement risquées et les erreurs de configuration des accès conditionnels souvent négligées, telles que :

  • Les utilisateurs ayant le contrôle de groupes ou d'applications à hauts privilèges
  • Les applications d'entreprise externes ou internes disposant de permissions excessives (par exemple, l'API Microsoft Graph, les rôles Azure)
  • Les utilisateurs disposant d'attributions de rôles Azure IAM directement sur des ressources
  • Les comptes privilégiés synchronisés depuis l'environnement local
  • Les utilisateurs inactifs ou sans capacité MFA
  • Les groupes non protégés utilisés dans des attributions sensibles (par exemple, exclusions d'accès conditionnel, 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.

🚀 Fonctionnalités

  • Script PowerShell simple compatible avec PowerShell 5.1 et 7. Fonctionne sous Windows et Linux
  • Authentification intégrée prenant en charge plusieurs méthodes
  • Utilise des applications Microsoft first-party avec des scopes pré-approuvés pour contourner les invites de consentement de l'API Graph
  • 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 tenant faibles et les propriétés ou permissions 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 affectés et renvoie directement vers leurs rapports détaillés pour approfondir l'investigation
  • Effectue une notation basique d'impact, de probabilité et de risque pour mettre en évidence les objets à hauts privilèges 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'agent
    • Principaux de blueprint d'identité d'agent
    • Blueprints d'identité d'agent
    • Attributions PIM :
      • PIM pour les rôles Entra
      • PIM pour les groupes
      • PIM pour les rôles Azure
    • Attributions de rôles Entra
    • Attributions de rôles Azure
    • Attributions RBAC Intune
    • Packages d'accès
    • Catalogues de gestion des droits
    • RBAC de catalogue
    • Politiques d'accès conditionnel
    • Unités administratives
    • Paramètres PIM :
      • PIM pour les rôles Entra
      • PIM pour les groupes (authentification BroCi uniquement)

✅ Prérequis

TypePermissionObligatoireImpact en cas d'absence
Rôle Entra IDGlobal ReaderOuiImpossible d'exécuter les scripts
Rôle AzureReader : sur chaque Management Group ou SubscriptionNonImpossible d'évaluer les attributions Azure IAM

De plus, vous devez pouvoir vous authentifier auprès de l'API Microsoft Graph et éventuellement de l'API Azure ARM depuis l'appareil sur lequel vous exécutez l'outil. Assurez-vous que les politiques d'accès conditionnel 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

Remarque : Vous devrez peut-être modifier temporairement la politique d'exécution 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 inclut une prise en charge native de l'authentification Entra ID. Utilisez -AuthFlow pour sélectionner le flux d'authentification.

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

Flux recommandéIdéal pourPlateformeCouverture
BroCi (par défaut)Exécutions Windows interactivesWindowsComplète
BroCiManualCodeAuthentification dans un autre navigateurWindows, Linux, macOSComplète
BroCiTokenJeton d'actualisation Azure Portal existantWindows, Linux, macOSComplète
ServicePrincipalAutomatisation / CIWindows, Linux, macOSComplète

BroCi utilise une connexion interactive. BroCiToken et ServicePrincipal n'en utilisent aucune. Les flux utilisateur de secours peuvent nécessiter plusieurs connexions interactives, car des jetons de ressources distincts sont demandés.

Flux d'authentification de secours

En raison de l'absence d'applications first-party pré-autorisées, les flux de secours ne peuvent pas effectuer l'énumération complète (PIM for Groups, Access Packages, Catalogs). Par conséquent, ils restent actuellement des options de secours uniquement.

FluxÀ utiliser uniquement lorsquePlateformeLimitations
AuthCodeUne compatibilité héritée est requiseWindowsCouverture partielle. Pas de rapport autonome PIM for Groups, Access Packages ou Catalogs.
DeviceCodeL'authentification via navigateur n'est pas possibleWindows, Linux, macOSCouverture partielle. Pas de rapport autonome PIM for Groups, Access Packages ou Catalogs. Certaines vérifications 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. Pas de rapport autonome PIM for Groups, Access Packages ou Catalogs.

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

BroCi utilise des applications first-party 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 du SSO).
3. Ouvrez les outils de développement du navigateur et, dans l'onglet Network, activez `Preserve log`.
4. Terminez l'authentification.
5. Recherchez dans le journal réseau `code=1.` 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.

Catégories