
EvilMist est une collection de scripts et d'utilitaires conçus pour accompagner les tests d'intrusion cloud et le red teaming. La boîte à outils aide à identifier les erreurs de configuration, à évaluer les voies d'élévation de privilèges et à simuler des techniques d'attaque. EvilMist vise à rationaliser les flux de travail red team orientés cloud et à améliorer la posture de sécurité globale des infrastructures cloud.
EvilMist est une collection de scripts et d'utilitaires conçus pour prendre en charge l'audit de configuration de la sécurité cloud, les tests d'intrusion cloud et l'ingénierie sociale offensive cloud (red teaming). La boîte à outils aide à identifier les erreurs de configuration, à évaluer les chemins d'élévation de privilèges et à simuler des techniques d'attaque. EvilMist vise à rationaliser les flux de travail de red team axés sur le cloud et à améliorer la posture de sécurité globale des infrastructures cloud.
Outil d'énumération et de reconnaissance Azure/Entra ID non authentifiée. Effectue une énumération passive/semi-passive à l'aide d'API accessibles publiquement et de requêtes DNS, sans nécessiter de jetons d'authentification.
Principales fonctionnalités :
| Version | Documentation | Fichier |
|---|---|---|
| PowerShell | EntraEnum-PS1.md | scripts/powershell/Invoke-EntraEnum.ps1 |
Outil complet d'énumération des utilisateurs et d'évaluation de la sécurité Azure Entra ID (Azure AD), disponible en versions PowerShell et Python.
Principales fonctionnalités :
/users est bloqué| Version | Documentation | Fichier |
|---|---|---|
| PowerShell | EntraRecon-PS1.md | scripts/powershell/Invoke-EntraRecon.ps1 |
| Python | EntraRecon-PY.md |
Outil d'évaluation de sécurité ciblé pour identifier les utilisateurs Azure Entra ID sans Multi-Factor Authentication (MFA) activée. Inclut des fonctionnalités avancées pour la détection de boîtes aux lettres partagées et l'analyse de l'activité de connexion..
Principales fonctionnalités :
| Version | Documentation | Fichier |
|---|---|---|
| PowerShell | EntraMFACheck-PS1.md | scripts/powershell/Invoke-EntraMFACheck.ps1 |
Outil complet d'analyse des comptes invités pour identifier, analyser et évaluer la posture de sécurité des utilisateurs externes dans Azure Entra ID. Essentiel pour la gouvernance de l'accès invité et les audits de sécurité.
Principales fonctionnalités :
| Version | Documentation | Fichier |
|---|---|---|
| PowerShell | EntraGuestCheck-PS1.md | scripts/powershell/Invoke-EntraGuestCheck.ps1 |
Outil complet d'évaluation de la sécurité pour identifier les utilisateurs Azure Entra ID ayant accès à 10 applications administratives critiques, notamment les outils PowerShell, les portails de gestion, les services Microsoft 365 essentiels et la gestion des identités privilégiées. Essentiel pour la gouvernance de l'accès privilégié et l'audit des outils administratifs.
Principales fonctionnalités :
| Version | Documentation | Fichier |
|---|---|---|
| PowerShell | EntraAppAccess-PS1.md | scripts/powershell/Invoke-EntraAppAccess.ps1 |
Exécutez n'importe quel script depuis le répertoire racine sans naviguer vers les sous-dossiers :```powershell
.\Invoke-EvilMist.ps1
.\Invoke-EvilMist.ps1 -Script EntraRecon -ExportPath "users.csv"
.\Invoke-EvilMist.ps1 -List
.\Invoke-EvilMist.ps1 -Script EntraMFACheck -Matrix -OnlyNoMFA
**Scripts disponibles :** EntraEnum, EntraRecon, EntraMFACheck, EntraGuestCheck, EntraAppAccess, EntraRoleCheck, EntraServicePrincipalCheck, EntraConditionalAccessCheck, EntraAdminUnitCheck, EntraStaleAccountCheck, EntraDeviceCheck, EntraSSPRCheck, EntraPasswordPolicyCheck, EntraLegacyAuthCheck, EntraLicenseCheck, EntraDirectorySyncCheck, EntraPowerPlatformCheck, EntraGroupCheck, EntraApplicationCheck, EntraAttackPathCheck, EntraAzureRBACCheck, EntraOAuthConsentCheck, EntraSignInRiskCheck, EntraPIMCheck, EntraKeyVaultCheck, EntraStorageAccountCheck, EntraNetworkSecurityCheck, EntraManagedIdentityCheck, EntraExchangeCheck, EntraSharePointCheck, EntraTeamsCheck, EntraAzureAttackPathCheck, EntraReport, EntraComplianceCheck, SharePointEnum
### Énumération Entra ID non authentifiée (PowerShell)
**Prérequis :** PowerShell 7+ (aucun module supplémentaire requis)```powershell
# Basic domain enumeration (TenantInfo, DomainRealm, DNS)
.\Invoke-EvilMist.ps1 -Script EntraEnum -Domain example.com
# Check if email exists
.\Invoke-EvilMist.ps1 -Script EntraEnum -Email [email protected] -UserEnum
# Bulk user enumeration from file
.\Invoke-EvilMist.ps1 -Script EntraEnum -EmailList users.txt -UserEnum -Throttle 1
# Full enumeration with export
.\Invoke-EvilMist.ps1 -Script EntraEnum -Domain example.com -All -ExportPath results.json
# Stealth mode
.\Invoke-EvilMist.ps1 -Script EntraEnum -Domain example.com -All -EnableStealth
📖 Documentation complète : EntraEnum-PS1.md
Prérequis : PowerShell 7+```powershell
.\Invoke-EvilMist.ps1 -Script EntraRecon
.\Invoke-EvilMist.ps1 -Script EntraRecon -UseAzCliToken
.\Invoke-EvilMist.ps1 -Script EntraRecon -ExportPath "users.csv"
.\Invoke-EvilMist.ps1 -Script EntraRecon -EnableStealth
📖 **Documentation complète :** [EntraRecon-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraRecon-PS1.md)
### Enumerate-EntraUsers (Python)
**Prérequis :** Python 3.8+, `msal`, `requests````bash
# Install dependencies
pip install -r requirements.txt
# Run directly from subfolder
python scripts\python\entra_recon.py
📖 Documentation complète: EntraRecon-PY.md
Prérequis: PowerShell 7+, modules Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraMFACheck
.\Invoke-EvilMist.ps1 -Script EntraMFACheck
.\Invoke-EvilMist.ps1 -Script EntraMFACheck -ExportPath "no-mfa-users.csv"
.\Invoke-EvilMist.ps1 -Script EntraMFACheck -Matrix -IncludeDisabledUsers
.\Invoke-EvilMist.ps1 -Script EntraMFACheck -EnableStealth -QuietStealth
📖 **Documentation complète:** [EntraMFACheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraMFACheck-PS1.md)
### Énumération des comptes invités (PowerShell)
**Prérequis:** PowerShell 7+, modules Microsoft.Graph```powershell
# Enumerate all guest accounts
.\Invoke-EvilMist.ps1 -Script EntraGuestCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraGuestCheck -ExportPath "guest-accounts.csv"
# Show only guests without MFA in matrix view
.\Invoke-EvilMist.ps1 -Script EntraGuestCheck -Matrix -OnlyNoMFA
# Include disabled guests with stealth mode
.\Invoke-EvilMist.ps1 -Script EntraGuestCheck -IncludeDisabledGuests -EnableStealth -QuietStealth
📖 Documentation complète: EntraGuestCheck-PS1.md
Prérequis : PowerShell 7+, modules Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraAppAccess
.\Invoke-EvilMist.ps1 -Script EntraAppAccess -ExportPath "app-access.csv"
.\Invoke-EvilMist.ps1 -Script EntraAppAccess -Matrix -OnlyNoMFA
.\Invoke-EvilMist.ps1 -Script EntraAppAccess -EnableStealth -QuietStealth
📖 **Documentation complète :** [EntraAppAccess-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraAppAccess-PS1.md)
### Vérification du rôle privilégié (PowerShell)
**Prérequis :** PowerShell 7+, Microsoft.Graph modules```powershell
# Check users with privileged directory roles
.\Invoke-EvilMist.ps1 -Script EntraRoleCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraRoleCheck -ExportPath "privileged-roles.csv"
# Show only users without MFA in matrix view
.\Invoke-EvilMist.ps1 -Script EntraRoleCheck -Matrix -OnlyNoMFA
# Show only permanent (non-PIM) assignments
.\Invoke-EvilMist.ps1 -Script EntraRoleCheck -OnlyPermanent -ExportPath "permanent-admins.csv"
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraRoleCheck -EnableStealth -QuietStealth
📖 Documentation complète : EntraRoleCheck-PS1.md
Prérequis : PowerShell 7+, Microsoft.Graph modules```powershell
.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck
.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck -ExportPath "service-principals.csv"
.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck -Matrix -OnlyExpiredCredentials
.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck -OnlyHighPermission -ExportPath "high-perm-sp.csv"
.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck -EnableStealth -QuietStealth
📖 **Documentation complète :** [EntraServicePrincipalCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraServicePrincipalCheck-PS1.md)
**Principales fonctionnalités :**
- **Couverture complète des rôles** - Énumère tous les rôles d'annuaire, y compris les rôles à risque CRITIQUE, ÉLEVÉ, MOYEN et FAIBLE
- **Prise en charge de PIM** - Identifie les attributions de rôles permanentes (Actif) et gérées par PIM (Éligible/Actif)
- **Suivi des attributions** - Affiche les dates d'attribution, la durée et les dates d'expiration
- **Détection du statut MFA** - Identifie les utilisateurs privilégiés sans authentification multifacteur
- **Suivi de la dernière connexion** - Affiche la date/heure de connexion et les modèles d'activité
- **Évaluation des risques** - Catégorise les utilisateurs par niveau de risque en fonction de la criticité du rôle et de la posture de sécurité
- **Analytique de l'activité** - Statistiques de connexion, comptes obsolètes, utilisateurs inactifs
- **Vue matricielle** - Format de tableau compact pour un balayage visuel rapide
- **Options de filtrage** - Afficher uniquement les utilisateurs sans MFA, uniquement les attributions permanentes, ou inclure les comptes désactivés
- **Options d'exportation** - CSV/JSON avec détails complets d'attribution de rôles
- **Mode furtif** - Délais et gigue configurables pour éviter la détection
| Version | Documentation | Fichier |
|---------|---------------|------|
| PowerShell | [EntraServicePrincipalCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraServicePrincipalCheck-PS1.md) | `scripts/powershell/Invoke-EntraServicePrincipalCheck.ps1` |
---
### Contrôle de sécurité de l'enregistrement d'application (PowerShell)
**Prérequis :** PowerShell 7+, modules Microsoft.Graph```powershell
# Check all application registrations and analyze security posture
.\Invoke-EvilMist.ps1 -Script EntraApplicationCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraApplicationCheck -ExportPath "applications.csv"
# Show only applications with expired credentials in matrix view
.\Invoke-EvilMist.ps1 -Script EntraApplicationCheck -Matrix -OnlyExpiredCredentials
# Show only high-permission applications
.\Invoke-EvilMist.ps1 -Script EntraApplicationCheck -OnlyHighPermission -ExportPath "high-perm-apps.csv"
# Show only applications with credentials
.\Invoke-EvilMist.ps1 -Script EntraApplicationCheck -OnlyWithCredentials -ExportPath "apps-with-creds.csv"
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraApplicationCheck -EnableStealth -QuietStealth
📖 Documentation complète : EntraApplicationCheck-PS1.md
Fonctionnalités clés :
| Version | Documentation | Fichier |
|---|---|---|
| PowerShell | EntraApplicationCheck-PS1.md | scripts/powershell/Invoke-EntraApplicationCheck.ps1 |
Prérequis : PowerShell 7+, modules Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck
.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck -ExportPath "ca-policies.csv"
.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck -Matrix -OnlyWithExclusions
.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck -OnlyMFAgaps -ExportPath "mfa-gaps.csv"
.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck -EnableStealth -QuietStealth
📖 **Documentation complète:** [EntraConditionalAccessCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraConditionalAccessCheck-PS1.md)
### Vérification de sécurité des unités administratives (PowerShell)
**Prérequis:** PowerShell 7+, Microsoft.Graph modules```powershell
# Analyze all Administrative Units and scoped role assignments
.\Invoke-EvilMist.ps1 -Script EntraAdminUnitCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraAdminUnitCheck -ExportPath "admin-units.csv"
# Show only scoped administrators without MFA in matrix view
.\Invoke-EvilMist.ps1 -Script EntraAdminUnitCheck -Matrix -OnlyNoMFA
# Include disabled accounts
.\Invoke-EvilMist.ps1 -Script EntraAdminUnitCheck -IncludeDisabledUsers -ExportPath "all-admins.csv"
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraAdminUnitCheck -EnableStealth -QuietStealth
📖 Documentation complète: EntraAdminUnitCheck-PS1.md
Principales fonctionnalités :
| Version | Documentation | Fichier |
|---|---|---|
| PowerShell | EntraAdminUnitCheck-PS1.md | scripts/powershell/Invoke-EntraAdminUnitCheck.ps1 |
Prérequis: PowerShell 7+, modules Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraStaleAccountCheck
.\Invoke-EvilMist.ps1 -Script EntraStaleAccountCheck -ExportPath "stale-accounts.csv"
.\Invoke-EvilMist.ps1 -Script EntraStaleAccountCheck -IncludeDisabledUsers -Matrix
.\Invoke-EvilMist.ps1 -Script EntraStaleAccountCheck -EnableStealth -QuietStealth
📖 **Documentation complète :** [EntraStaleAccountCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraStaleAccountCheck-PS1.md)
**Fonctionnalités clés :**
- **Détection des comptes obsolètes** - Identifie les comptes sans connexion récente (>90 jours)
- **Détection des comptes jamais connectés** - Trouve les comptes qui n'ont jamais été utilisés
- **Détection du gaspillage de licences** - Identifie les comptes désactivés ayant encore des licences attribuées
- **Suivi de l'expiration des mots de passe** - Détecte les comptes avec des mots de passe expirés
- **Analyse de l'ancienneté des comptes** - Calcule l'ancienneté du compte et la corrèle avec l'inactivité
- **Évaluation des risques** - Catégorise les comptes par niveau de risque (CRITICAL/HIGH/MEDIUM/LOW)
- **Analytique de l'activité** - Statistiques de connexion, répartition des comptes obsolètes
- **Vue matricielle** - Format de tableau compact pour un balayage visuel rapide
- **Options de filtrage** - Inclure ou exclure les comptes désactivés
- **Options d'exportation** - CSV/JSON avec détails complets du compte
- **Mode furtif** - Délais et gigue configurables pour éviter la détection
| Version | Documentation | Fichier |
|---------|---------------|------|
| PowerShell | [EntraStaleAccountCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraStaleAccountCheck-PS1.md) | `scripts/powershell/Invoke-EntraStaleAccountCheck.ps1` |
---
### Vérification de la confiance des appareils et de la conformité (PowerShell)
**Prérequis :** PowerShell 7+, modules Microsoft.Graph```powershell
# Analyze all registered devices
.\Invoke-EvilMist.ps1 -Script EntraDeviceCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraDeviceCheck -ExportPath "devices.csv"
# Show only non-compliant devices in matrix view
.\Invoke-EvilMist.ps1 -Script EntraDeviceCheck -Matrix -OnlyNonCompliant
# Show only BYOD devices
.\Invoke-EvilMist.ps1 -Script EntraDeviceCheck -OnlyBYOD -ExportPath "byod-devices.csv"
# Show only devices with stale sign-ins
.\Invoke-EvilMist.ps1 -Script EntraDeviceCheck -OnlyStale -ExportPath "stale-devices.csv"
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraDeviceCheck -EnableStealth -QuietStealth
📖 Documentation complète : EntraDeviceCheck-PS1.md
Principales fonctionnalités :
| Version | Documentation | Fichier |
|---|---|---|
| PowerShell | EntraDeviceCheck-PS1.md | scripts/powershell/Invoke-EntraDeviceCheck.ps1 |
Prérequis : PowerShell 7+, modules Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck
.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck -ExportPath "sspr-users.csv"
.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck -Matrix -OnlyNoBackup
.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck -IncludeDisabledUsers -ExportPath "all-sspr-users.csv"
.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck -EnableStealth -QuietStealth
📖 **Documentation complète:** [EntraSSPRCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraSSPRCheck-PS1.md)
**Fonctionnalités clés :**
- **Détection du statut SSPR** - Identifie les utilisateurs avec SSPR activé, enregistré ou éligible
- **Analyse des méthodes d'inscription** - Analyse les méthodes d'authentification enregistrées pour SSPR
- **Détection des méthodes de secours** - Identifie les utilisateurs sans méthodes de secours configurées
- **Détection des méthodes fortes** - Fait la distinction entre les méthodes d'authentification fortes et faibles
- **Corrélation du statut MFA** - Recoupe la configuration SSPR avec le statut MFA
- **Suivi de la dernière connexion** - Affiche la date/heure de connexion et les modèles d'activité
- **Évaluation des risques** - Catégorise les utilisateurs par niveau de risque (HIGH/MEDIUM/LOW) en fonction de la configuration SSPR
- **Analyse de l'activité** - Statistiques de connexion, comptes obsolètes, utilisateurs inactifs
- **Vue matricielle** - Format de table compact pour un balayage visuel rapide
- **Options de filtrage** - Afficher uniquement les utilisateurs sans méthodes de secours ou inclure les comptes désactivés
- **Options d'exportation** - CSV/JSON avec des détails complets sur SSPR
- **Mode furtif** - Délais et gigue configurables pour éviter la détection
| Version | Documentation | Fichier |
|---------|---------------|------|
| PowerShell | [EntraSSPRCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraSSPRCheck-PS1.md) | `scripts/powershell/Invoke-EntraSSPRCheck.ps1` |
---
### Vérification de la politique de mots de passe (PowerShell)
**Prérequis:** PowerShell 7+, modules Microsoft.Graph```powershell
# Analyze all password policies
.\Invoke-EvilMist.ps1 -Script EntraPasswordPolicyCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraPasswordPolicyCheck -ExportPath "password-policies.csv"
# Show only users with weak password policies in matrix view
.\Invoke-EvilMist.ps1 -Script EntraPasswordPolicyCheck -Matrix -OnlyWeakPolicies
# Show only users with password never expires
.\Invoke-EvilMist.ps1 -Script EntraPasswordPolicyCheck -OnlyNeverExpires -ExportPath "never-expires.csv"
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraPasswordPolicyCheck -EnableStealth -QuietStealth
📖 Documentation complète : EntraPasswordPolicyCheck-PS1.md
Principales fonctionnalités :
| Version | Documentation | Fichier |
|---|---|---|
| PowerShell | EntraPasswordPolicyCheck-PS1.md | scripts/powershell/Invoke-EntraPasswordPolicyCheck.ps1 |
Prérequis : PowerShell 7+, modules Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck
.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck -ExportPath "legacy-auth.csv"
.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck -Matrix -OnlyRecent
.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck -IncludeDisabledUsers -ExportPath "all-legacy-users.csv"
.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck -EnableStealth -QuietStealth
📖 **Documentation complète :** [EntraLegacyAuthCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraLegacyAuthCheck-PS1.md)
**Fonctionnalités clés :**
- **Détection des protocoles hérités** - Identifie 10 protocoles d'authentification hérités (IMAP, POP3, SMTP, Exchange ActiveSync, etc.)
- **Analyse des journaux de connexion** - Interroge les journaux d'audit pour l'utilisation de l'authentification héritée (90 derniers jours)
- **Suivi de la dernière utilisation** - Affiche la date et l'heure de la dernière authentification héritée
- **Statistiques des protocoles** - Suit les connexions réussies/échouées par protocole
- **Détection du statut MFA** - Identifie les utilisateurs sans authentification multifacteur utilisant l'authentification héritée
- **Évaluation des risques** - Catégorise les utilisateurs par niveau de risque (CRITIQUE/ÉLEVÉ/MOYEN/FAIBLE) en fonction des modèles d'utilisation et de la récence
- **Analyses d'activité** - Statistiques de connexion, répartition par protocole, récence d'utilisation
- **Vue matricielle** - Format de tableau compact pour un balayage visuel rapide
- **Options de filtrage** - Afficher uniquement l'utilisation récente ou inclure les comptes désactivés
- **Options d'exportation** - CSV/JSON avec détails complets de l'authentification héritée
- **Mode furtif** - Délais et gigue configurables pour éviter la détection
| Version | Documentation | Fichier |
|---------|---------------|------|
| PowerShell | [EntraLegacyAuthCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraLegacyAuthCheck-PS1.md) | `scripts/powershell/Invoke-EntraLegacyAuthCheck.ps1` |
---
### Analyse des licences et des SKU (PowerShell)
**Configuration requise :** PowerShell 7+, modules Microsoft.Graph```powershell
# Analyze all license SKUs and user assignments
.\Invoke-EvilMist.ps1 -Script EntraLicenseCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraLicenseCheck -ExportPath "licenses.csv"
# Show only users with privileged licenses (E5, P2) in matrix view
.\Invoke-EvilMist.ps1 -Script EntraLicenseCheck -Matrix -OnlyPrivilegedLicenses
# Show only unused license assignments
.\Invoke-EvilMist.ps1 -Script EntraLicenseCheck -OnlyUnusedLicenses -ExportPath "unused-licenses.csv"
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraLicenseCheck -EnableStealth -QuietStealth
📖 Documentation complète : EntraLicenseCheck-PS1.md
Fonctionnalités clés :
| Version | Documentation | Fichier |
|---|---|---|
| PowerShell | EntraLicenseCheck-PS1.md | scripts/powershell/Invoke-EntraLicenseCheck.ps1 |
Prérequis : PowerShell 7+, modules Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck
.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck -ExportPath "sync-status.csv"
.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck -Matrix -OnlySyncErrors
.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck -OnlyStaleSync -ExportPath "stale-sync.csv"
.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck -EnableStealth -QuietStealth
📖 **Documentation complète :** [EntraDirectorySyncCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraDirectorySyncCheck-PS1.md)
**Fonctionnalités clés :**
- **Analyse de l'état de synchronisation** - Identifie les utilisateurs synchronisés par rapport aux utilisateurs cloud uniquement
- **Détection des erreurs de synchronisation** - Énumère toutes les erreurs de provisioning et de synchronisation
- **Détection des synchronisations obsolètes** - Identifie les utilisateurs avec une synchronisation obsolète (>7 jours)
- **Identification des conflits de synchronisation** - Détecte les attributs en double et les conflits
- **Analyse du périmètre de synchronisation** - Vérifie la configuration et le périmètre de synchronisation
- **Évaluation des risques** - Catégorise les utilisateurs par niveau de risque (CRITIQUE/ÉLEVÉ/MOYEN/FAIBLE) en fonction de l'état de santé de la synchronisation
- **Analyses d'activité** - Statistiques de synchronisation, répartition des erreurs, analyse des domaines
- **Vue matricielle** - Format de tableau compact pour un balayage visuel rapide
- **Options de filtrage** - Afficher uniquement les erreurs de synchronisation, les synchronisations obsolètes, ou inclure les comptes désactivés
- **Options d'exportation** - CSV/JSON avec détails complets de synchronisation
- **Mode furtif** - Délais et gigue configurables pour éviter la détection
| Version | Documentation | Fichier |
|---------|---------------|--------|
| PowerShell | [EntraDirectorySyncCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraDirectorySyncCheck-PS1.md) | `scripts/powershell/Invoke-EntraDirectorySyncCheck.ps1` |
---
### Énumération Power Platform (PowerShell)
**Prérequis :** PowerShell 7+, modules Microsoft.Graph, autorisations Power Platform Admin ou Environment Maker
**Authentification :** Le script gère automatiquement l'authentification API Power Platform :
- **Par défaut** : Flow de code d'appareil (invite du navigateur) - aucune configuration requise
- **Azure CLI** : Utilisez `-UseAzCliToken` - exécute automatiquement `az login` si nécessaire
- **Azure PowerShell** : Utilisez `-UseAzPowerShellToken` - exécute automatiquement `Connect-AzAccount` si nécessaire (utilise le même compte que l'authentification Graph)```powershell
# Enumerate all Power Apps and Power Automate flows
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck -ExportPath "power-platform.csv"
# Show only high-risk resources (CRITICAL/HIGH) in matrix view
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck -Matrix -OnlyHighRisk
# Show only resources with sensitive connectors
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck -OnlySensitiveConnectors -ExportPath "sensitive.csv"
# Use Azure CLI (automatically runs 'az login' if needed)
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck -UseAzCliToken
# Use Azure PowerShell (automatically runs 'Connect-AzAccount' if needed, uses Graph context account)
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck -UseAzPowerShellToken
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck -EnableStealth -QuietStealth
📖 Documentation complète : EntraPowerPlatformCheck-PS1.md
Principales fonctionnalités :
| Version | Documentation | Fichier |
|---|---|---|
| PowerShell | EntraPowerPlatformCheck-PS1.md | scripts/powershell/Invoke-EntraPowerPlatformCheck.ps1 |
Prérequis : PowerShell 7+, modules Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck
.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck -ExportPath "attack-paths.csv"
.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck -Matrix -OnlyHighRisk
.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck -IncludeDisabledUsers -ExportPath "all-paths.csv"
.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck -EnableStealth -QuietStealth
📖 **Documentation complète :** [EntraAttackPathCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraAttackPathCheck-PS1.md)
**Fonctionnalités clés :**
- **Analyse d'élévation de privilèges** - Identifie les chemins vers des privilèges élevés via des groupes assignables à des rôles
- **Détection de délégation de réinitialisation de mot de passe** - Trouve les utilisateurs qui peuvent réinitialiser les mots de passe d'autres utilisateurs
- **Analyse des appartenances transitives aux groupes** - Identifie l'accès indirect aux groupes privilégiés
- **Détection d'accès aux boîtes aux lettres partagées** - Identifie les boîtes aux lettres partagées pouvant être utilisées pour un mouvement latéral
- **Évaluation des risques** - Catégorise les chemins d'attaque par niveau de risque (CRITICAL/HIGH/MEDIUM) selon le type de chemin et la posture de sécurité de l'utilisateur
- **Analyse de complexité des chemins** - Évalue la complexité des chemins d'attaque (Low/Medium/High)
- **Détection du statut MFA** - Identifie les utilisateurs sans authentification multifacteur dans les chemins d'attaque
- **Suivi de la dernière connexion** - Affiche la date/heure de connexion et les modèles d'activité
- **Analytique d'activité** - Statistiques de connexion, comptes obsolètes, utilisateurs inactifs
- **Vue matricielle** - Format de tableau compact pour une analyse visuelle rapide
- **Options de filtrage** - Afficher uniquement les chemins à haut risque ou inclure les comptes désactivés
- **Options d'exportation** - CSV/JSON avec des détails complets sur les chemins d'attaque
- **Mode furtif** - Délais et gigue configurables pour éviter la détection
| Version | Documentation | Fichier |
|---------|---------------|------|
| PowerShell | [EntraAttackPathCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraAttackPathCheck-PS1.md) | `scripts/powershell/Invoke-EntraAttackPathCheck.ps1` |
---
### Audit des attributions de rôles Azure RBAC et détection de dérive (PowerShell)
**Prérequis :** PowerShell 7+, modules Az.Accounts, Az.Resources, Microsoft.Graph.Authentication```powershell
# Export all Azure RBAC role assignments across ALL tenants and subscriptions to baseline JSON
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export
# Export to specific file
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -ExportPath "rbac-baseline.json"
# Skip tenants with MFA/Conditional Access issues (common in multi-tenant scenarios)
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -SkipFailedTenants
# Show all users with their Azure permissions in matrix format
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -SkipFailedTenants -ShowAllUsersPermissions
# Expand group memberships to show all users who have Azure access via groups
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -SkipFailedTenants -ExpandGroupMembers
# Combined: Show all users including those with access via groups
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -SkipFailedTenants -ExpandGroupMembers -ShowAllUsersPermissions
# Detect drift against baseline across all tenants
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode DriftDetect -BaselinePath "rbac-baseline.json"
# Detect drift with matrix view and export report
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode DriftDetect -BaselinePath "rbac-baseline.json" -Matrix -ExportPath "drift-report.json"
# Export specific tenant only
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -TenantId "tenant-id-123"
# Export specific subscription with Azure CLI auth
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -SubscriptionId "sub-123" -UseAzCliToken
# Stealth mode drift detection
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode DriftDetect -BaselinePath "baseline.json" -EnableStealth -QuietStealth
# Export excluding PIM/JIT time-bounded assignments (focus on permanent assignments only)
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -ExcludePIM
# Detect drift excluding PIM/JIT assignments (ignore temporary elevated access)
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode DriftDetect -BaselinePath "baseline.json" -ExcludePIM
📖 Documentation complète : EntraAzureRBACCheck-PS1.md
Fonctionnalités clés :
-SkipFailedTenants)-ShowAllUsersPermissions)-ExpandGroupMembers)-ExcludePIM)| Version | Documentation | Fichier |
|---|---|---|
| PowerShell | EntraAzureRBACCheck-PS1.md | scripts/powershell/Invoke-EntraAzureRBACCheck.ps1 |
Prérequis : PowerShell 7+, modules Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck
.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -ExportPath "consent-grants.csv"
.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -Matrix -OnlyHighRisk
.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -OnlyThirdParty -OnlyAdminConsent
.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -StaleDays 60 -OnlyStale
.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -EnableStealth -QuietStealth
📖 **Documentation complète :** [EntraOAuthConsentCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraOAuthConsentCheck-PS1.md)
**Fonctionnalités clés :**
- **Énumération des OAuth2PermissionGrant** - Énumère toutes les autorisations déléguées accordées dans le locataire
- **Détection du consentement administrateur vs utilisateur** - Fait la distinction entre le consentement administrateur à l'échelle du locataire et le consentement individuel de l'utilisateur
- **Détection des autorisations dangereuses** - Identifie les portées à haut risque (Mail.ReadWrite, Files.ReadWrite.All, User.ReadWrite.All, etc.)
- **Détection des consentements obsolètes** - Recherche les autorisations de consentement inutilisées (seuil configurable, 90 jours par défaut)
- **Identification des applications tierces** - Identifie automatiquement les applications non-Microsoft disposant d'autorisations élevées
- **Corrélation de l'activité de connexion** - Recoupe l'activité de connexion pour détecter les applications dormantes
- **Évaluation des risques** - Catégorise les autorisations de consentement par niveau de risque (CRITICAL/HIGH/MEDIUM/LOW) en fonction du type de consentement, des autorisations et de l'origine de l'application
- **Analyse de l'éditeur** - Suit les éditeurs d'applications et le statut d'éditeur vérifié
- **Suivi des ressources** - Identifie les API/ressources auxquelles chaque application a accès
- **Vue matricielle** - Format de tableau compact pour un balayage visuel rapide
- **Options de filtrage** - Afficher uniquement les autorisations de consentement à haut risque, tierces, obsolètes ou de type administrateur
- **Options d'exportation** - CSV/JSON avec des détails complets sur les autorisations de consentement
- **Mode furtif** - Délais et gigue configurables pour éviter la détection
| Version | Documentation | Fichier |
|---------|---------------|------|
| PowerShell | [EntraOAuthConsentCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraOAuthConsentCheck-PS1.md) | `scripts/powershell/Invoke-EntraOAuthConsentCheck.ps1` |
---
### Vérification du risque de connexion (PowerShell)
**Prérequis :** PowerShell 7+, modules Microsoft.Graph, Azure AD Premium P2```powershell
# Enumerate all risky users
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck -ExportPath "risky-users.csv"
# Show only high-risk users in matrix view
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck -Matrix -OnlyHighRisk
# Show only active (not remediated) risks
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck -OnlyActive
# Include risky sign-ins from the last 7 days
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck -IncludeRiskySignIns -DaysBack 7
# Full analysis with pattern detection
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck -IncludeRiskySignIns -IncludeRiskDetections -Matrix
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck -EnableStealth -QuietStealth
📖 Documentation complète : EntraSignInRiskCheck-PS1.md
Fonctionnalités clés :
| Version | Documentation | File |
|---|---|---|
| PowerShell | EntraSignInRiskCheck-PS1.md | scripts/powershell/Invoke-EntraSignInRiskCheck.ps1 |
Prérequis : PowerShell 7+, modules Microsoft.Graph, Azure AD Premium P2```powershell
.\Invoke-EvilMist.ps1 -Script EntraPIMCheck
.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -ExportPath "pim-audit.csv"
.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -Matrix -OnlyCritical
.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -OnlyHighPrivilege -MaxActivationHours 2
.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -IncludeGroups -IncludeAccessReviews
.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -EnableStealth -QuietStealth
📖 **Documentation complète :** [EntraPIMCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraPIMCheck-PS1.md)
**Fonctionnalités clés :**
- **Audit de configuration d'accès JIT** - Analyse la durée maximale d'activation, les exigences d'approbation, l'application de MFA
- **Analyse du flux d'approbation** - Identifie les rôles sans approbation ou avec des approbateurs manquants
- **Exigences de justification** - Détecte les rôles sans justification obligatoire pour l'activation
- **Application de MFA** - Identifie les rôles qui n'exigent pas MFA pour l'activation
- **Configuration des notifications** - Analyse les paramètres de notification d'administrateur pour les activations de rôles
- **Détection d'assignations permanentes** - Trouve les accès privilégiés permanents qui contournent PIM
- **PIM pour les groupes** - Analyse la gestion des accès privilégiés basée sur les groupes
- **Revues d'accès** - Vérifie la configuration de certification périodique des accès
- **Évaluation des risques** - Catégorise les rôles par niveau de risque (CRITICAL/HIGH/MEDIUM/LOW) en fonction des lacunes de configuration
- **Analyse éligible vs actif** - Compare les assignations éligibles avec les assignations actives/permanentes
- **Détection des comptes break-glass** - Identifie les assignations permanentes pouvant être des comptes break-glass
- **Vue matricielle** - Format de tableau compact pour un balayage visuel rapide
- **Options de filtrage** - Afficher uniquement les rôles critiques, les rôles à privilèges élevés ou les mauvaises configurations
- **Options d'exportation** - CSV/JSON avec détails complets de configuration PIM
- **Mode furtif** - Délais et gigue configurables pour éviter la détection
| Version | Documentation | File |
|---------|---------------|------|
| PowerShell | [EntraPIMCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraPIMCheck-PS1.md) | `scripts/powershell/Invoke-EntraPIMCheck.ps1` |
---
### Contrôle de sécurité Azure Key Vault (PowerShell)
**Prérequis :** modules PowerShell 7+, Az.Accounts, Az.KeyVault, Az.Resources, Az.Monitor```powershell
# Perform comprehensive Key Vault security audit
.\Invoke-EvilMist.ps1 -Script EntraKeyVaultCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraKeyVaultCheck -ExportPath "keyvault-audit.csv"
# Show only critical findings in matrix view
.\Invoke-EvilMist.ps1 -Script EntraKeyVaultCheck -Matrix -OnlyCritical
# Audit only Key Vaults with public access enabled
.\Invoke-EvilMist.ps1 -Script EntraKeyVaultCheck -OnlyPublicAccess
# Include secret and certificate expiration analysis
.\Invoke-EvilMist.ps1 -Script EntraKeyVaultCheck -IncludeSecrets -IncludeCertificates -ExpirationDays 90
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraKeyVaultCheck -EnableStealth -QuietStealth
📖 Documentation complète: EntraKeyVaultCheck-PS1.md
Fonctionnalités clés :
| Version | Documentation | Fichier |
|---|---|---|
| PowerShell | EntraKeyVaultCheck-PS1.md | scripts/powershell/Invoke-EntraKeyVaultCheck.ps1 |
Outil complet d'audit de sécurité des comptes de stockage Azure qui détecte les comptes de stockage exposés et les risques d'exfiltration de données. Identifie les conteneurs d'objets blob publics, les mauvaises configurations réseau et les lacunes en matière de protection des données.```powershell
.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck
.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -ExportPath "storage-audit.csv"
.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -Matrix -OnlyCritical
.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -OnlyAnonymousContainers -IncludeContainers
.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -IncludeKeyAge -KeyRotationDays 60
.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -EnableStealth -QuietStealth
📖 **Documentation complète :** [EntraStorageAccountCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraStorageAccountCheck-PS1.md)
**Fonctionnalités principales :**
- **Détection des conteneurs d'objets blob publics** - Identifie les conteneurs avec accès anonyme (niveau Blob/Conteneur)
- **Vérification de l'application d'HTTPS** - Détecte les comptes de stockage autorisant le trafic HTTP non chiffré
- **Analyse de l'accès par clé partagée** - Identifie les comptes utilisant des clés de stockage plutôt que l'authentification Azure AD
- **Audit de sécurité réseau** - Vérifie l'accès public, les règles de pare-feu, l'intégration VNet, les points de terminaison privés
- **Analyse de la protection des données** - Suppression réversible des blobs, suppression réversible des conteneurs, état du versioning
- **Suivi de la rotation des clés** - Identifie les clés de compte de stockage dépassant le seuil de rotation
- **Réplication entre locataires** - Détecte la réplication des données vers d'autres locataires (risque d'exfiltration)
- **Vérification de la version TLS** - Garantit l'application d'un minimum TLS 1.2
- **Chiffrement de l'infrastructure** - Vérifie la configuration de double chiffrement
- **Vérification de la journalisation de diagnostic** - Vérifie que la journalisation d'audit est activée
- **Évaluation des risques** - Catégorise les comptes de stockage par niveau de risque (CRITICAL/HIGH/MEDIUM/LOW)
- **Vue matricielle** - Format de tableau compact pour une analyse visuelle rapide
- **Options de filtrage** - Afficher uniquement les conteneurs critiques, à accès public ou anonymes
- **Options d'exportation** - CSV/JSON avec détails complets du compte de stockage
- **Mode furtif** - Délais et gigue configurables pour éviter la détection
| Version | Documentation | Fichier |
|---------|---------------|------|
| PowerShell | [EntraStorageAccountCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraStorageAccountCheck-PS1.md) | `scripts/powershell/Invoke-EntraStorageAccountCheck.ps1` |
---
### Vérification de la sécurité réseau (PowerShell)
**Prérequis :** PowerShell 7+, modules Azure PowerShell```powershell
# Perform comprehensive Network Security audit
.\Invoke-EvilMist.ps1 -Script EntraNetworkSecurityCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraNetworkSecurityCheck -ExportPath "network-audit.csv"
# Show only NSGs with open management ports
.\Invoke-EvilMist.ps1 -Script EntraNetworkSecurityCheck -OnlyOpenPorts -Matrix
# Full scan with VNets, Bastion, and DDoS analysis
.\Invoke-EvilMist.ps1 -Script EntraNetworkSecurityCheck -IncludeVNets -IncludeBastion -IncludeDDoS -Matrix
# Include NSG flow logs analysis
.\Invoke-EvilMist.ps1 -Script EntraNetworkSecurityCheck -IncludeFlowLogs -Matrix
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraNetworkSecurityCheck -EnableStealth -QuietStealth
📖 Documentation complète : EntraNetworkSecurityCheck-PS1.md
Fonctionnalités clés :
| Version | Documentation | Fichier |
|---|---|---|
| PowerShell | EntraNetworkSecurityCheck-PS1.md | scripts/powershell/Invoke-EntraNetworkSecurityCheck.ps1 |
Outil complet d'audit de sécurité des identités managées Azure qui identifie les permissions excessives et les risques de sécurité. Détecte les identités managées à privilèges élevés, les accès entre abonnements et les identités inutilisées.```powershell
.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck
.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -ExportPath "managed-identity-audit.csv"
.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -OnlyHighPrivilege -Matrix
.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -OnlyCrossSubscription -Matrix
.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -IncludeRoleDetails -Matrix
.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -EnableStealth -QuietStealth
📖 **Documentation complète:** [EntraManagedIdentityCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraManagedIdentityCheck-PS1.md)
**Fonctionnalités clés :**
- **Inventaire des identités** - Énumération des identités managées affectées par le système vs affectées par l'utilisateur
- **Analyse des attributions de rôles** - Permissions Azure RBAC pour chaque identité managée
- **Détection des privilèges élevés** - Identifie les rôles Propriétaire, Contributeur, Administrateur de l'accès utilisateur
- **Détection des rôles critiques** - Signale les identités avec les rôles Propriétaire, UAA ou Administrateur RBAC
- **Accès inter-abonnements** - Détecte les identités avec des permissions au-delà de l'abonnement d'origine
- **Détection des identités inutilisées** - Trouve les identités managées sans attribution de rôle
- **Couverture des ressources** - Machines virtuelles, App Services, Function Apps, identités affectées par l'utilisateur
- **Analyse de portée** - Permissions à l'échelle de l'abonnement vs groupe de ressources vs niveau ressource
- **Évaluation des risques** - Classification CRITIQUE/ÉLEVÉ/MOYEN/FAIBLE avec constatations
- **Vue matricielle** - Format tabulaire compact pour un examen rapide
- **Options d'exportation** - CSV/JSON avec détails complets sur les identités
- **Mode furtif** - Délais et gigue configurables pour éviter la détection
| Version | Documentation | Fichier |
|---------|---------------|------|
| PowerShell | [EntraManagedIdentityCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraManagedIdentityCheck-PS1.md) | `scripts/powershell/Invoke-EntraManagedIdentityCheck.ps1` |
---
### Audit de sécurité Exchange Online
Outil complet d'audit de sécurité Exchange Online qui détecte les vecteurs d'attaque basés sur la messagerie et les risques d'exfiltration de données. Identifie les règles de boîte de réception qui transfèrent vers des adresses externes, les règles de transport suspectes, les délégations de boîtes aux lettres et les lacunes de journalisation d'audit.```powershell
# Perform comprehensive Exchange Online security audit
.\Invoke-EvilMist.ps1 -Script EntraExchangeCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraExchangeCheck -ExportPath "exchange-audit.csv"
# Show only mailboxes with external forwarding
.\Invoke-EvilMist.ps1 -Script EntraExchangeCheck -OnlyExternalForwarding -Matrix
# Show only suspicious inbox rules
.\Invoke-EvilMist.ps1 -Script EntraExchangeCheck -OnlySuspiciousRules -Matrix
# Include transport rules and OWA policies
.\Invoke-EvilMist.ps1 -Script EntraExchangeCheck -IncludeTransportRules -IncludeOWAPolicies -Matrix
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraExchangeCheck -EnableStealth -QuietStealth
📖 Documentation complète : EntraExchangeCheck-PS1.md
Principales fonctionnalités :
| Version | Documentation | Fichier |
|---|---|---|
| PowerShell | EntraExchangeCheck-PS1.md | scripts/powershell/Invoke-EntraExchangeCheck.ps1 |
Outil complet d'évaluation de la sécurité SharePoint Online pour identifier les risques de partage excessif et d'accès externe. Audite les configurations de partage au niveau du locataire et des sites afin de détecter une éventuelle exposition des données.```powershell
.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck
.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -ExportPath "sharepoint-audit.csv"
.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -OnlyAnonymousLinks -Matrix
.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -OnlyPermissiveOverrides -Matrix
.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -IncludeOneDrive -IncludeSensitivityLabels -Matrix
.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -EnableStealth -QuietStealth
📖 **Documentation complète :** [EntraSharePointCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraSharePointCheck-PS1.md)
**Fonctionnalités clés :**
- **Paramètres de partage du locataire** - Analyse de la politique de partage externe à l'échelle de l'organisation
- **Détection des liens anonymes** - Identifie les sites autorisant les liens « Toute personne »
- **Remplacements au niveau du site** - Détecte les sites dont le partage est plus permissif que le locataire
- **Analyse de l'accès invité** - Accès des utilisateurs externes aux sites sensibles
- **Partage OneDrive** - Configuration du partage externe du stockage personnel
- **Couverture des étiquettes de confidentialité** - Identifie les sites sans classification des données
- **Analyse des liens par défaut** - Configuration du type de lien par défaut et des autorisations
- **Politique d'expiration des liens** - Paramètres d'expiration des liens anonymes
- **Restrictions de domaine** - Configuration des listes d'autorisation/de blocage
- **Évaluation des risques** - Classification CRITICAL/HIGH/MEDIUM/LOW avec résultats
- **Vue matricielle** - Format tabulaire compact pour un examen rapide
- **Options d'exportation** - CSV/JSON avec détails complets sur les sites
- **Mode furtif** - Délais et gigue configurables pour éviter la détection
| Version | Documentation | Fichier |
|---------|---------------|------|
| PowerShell | [EntraSharePointCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraSharePointCheck-PS1.md) | `scripts/powershell/Invoke-EntraSharePointCheck.ps1` |
---
### Énumération SharePoint Online
Outil authentifié de recherche et de téléchargement de fichiers SharePoint Online utilisant l'API REST SharePoint. Permet aux opérateurs red team de découvrir et d'exfiltrer des documents sensibles lors de tests d'intrusion autorisés. Port PowerShell d'[ElephantPoint](https://github.com/nettitude/ElephantPoint) (Nettitude).```powershell
# Zero-config search — auto-connects, auto-detects SharePoint domain
.\Invoke-EvilMist.ps1 -Script SharePointEnum -Query "password"
# Device code authentication (for headless terminals)
.\Invoke-EvilMist.ps1 -Script SharePointEnum -UseDeviceCode -Query "credentials"
# Direct bearer token from ROADtools/TokenTactics
.\Invoke-EvilMist.ps1 -Script SharePointEnum -SPOUrl example.sharepoint.com -Token $token -Query "confidential"
# Download file as Base64 for C2 exfiltration
.\Invoke-EvilMist.ps1 -Script SharePointEnum -SPOUrl example.sharepoint.com -Token $token -FileUrl "/sites/hr/Shared Documents/salaries.xlsx" -Base64
# Stealth search with matrix output and JSON export
.\Invoke-EvilMist.ps1 -Script SharePointEnum -Query "budget" -EnableStealth -QuietStealth -Matrix -ExportPath "results.json"
📖 Documentation complète : SharePointEnum-PS1.md
Fonctionnalités clés :
| Version | Documentation | Fichier |
|---|---|---|
| PowerShell | SharePointEnum-PS1.md | scripts/powershell/Invoke-SharePointEnum.ps1 |
Outil complet d'évaluation de la sécurité Microsoft Teams pour auditer les paramètres de sécurité de la collaboration. Identifie les risques d'accès externe, les politiques d'invités, les lacunes de sécurité des réunions et les problèmes d'autorisations d'applications.```powershell
.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck
.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -ExportPath "teams-audit.csv"
.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -OnlyMeetingRisks -Matrix
.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -OnlyExternalAccess -Matrix
.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -IncludeTeamsInventory -IncludeAppPolicies -Matrix
.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -EnableStealth -QuietStealth
📖 **Documentation complète :** [EntraTeamsCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraTeamsCheck-PS1.md)
**Fonctionnalités clés :**
- **Accès externe (Fédération)** - Analyser qui peut communiquer depuis l'extérieur de l'organisation
- **Stratégies d'accès invité** - Capacités des utilisateurs invités et paramètres d'autorisations
- **Stratégies de réunion** - Participation anonyme, contournement du hall d'attente, paramètres d'enregistrement
- **Stratégies d'autorisation d'applications** - Contrôles d'accès aux applications tierces et personnalisées
- **Stratégies de messagerie** - Paramètres des fonctionnalités de chat et de messages
- **Inventaire Teams** - Visibilité, appartenance des invités et analyse de gouvernance
- **Configuration du client** - Paramètres de sécurité du client Teams
- **Évaluation des risques** - Classification CRITICAL/HIGH/MEDIUM/LOW avec constatations
- **Vue matricielle** - Format tabulaire compact pour un examen rapide
- **Options d'exportation** - CSV/JSON avec détails complets de configuration
- **Mode furtif** - Délais et gigue configurables pour éviter la détection
| Version | Documentation | Fichier |
|---------|---------------|------|
| PowerShell | [EntraTeamsCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraTeamsCheck-PS1.md) | `scripts/powershell/Invoke-EntraTeamsCheck.ps1` |
---
### Analyse des chemins d'attaque interservices Azure
Outil complet d'analyse des chemins d'attaque interservices Azure qui identifie les chemins d'attaque multi-sauts couvrant plusieurs services Azure. Révèle comment l'accès à une ressource peut conduire à la compromission d'autres ressources dans l'environnement Azure.```powershell
# Perform comprehensive cross-service attack path analysis
.\Invoke-EvilMist.ps1 -Script EntraAzureAttackPathCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraAzureAttackPathCheck -ExportPath "azure-attack-paths.csv"
# Show only critical attack paths in matrix view
.\Invoke-EvilMist.ps1 -Script EntraAzureAttackPathCheck -OnlyCritical -Matrix
# Show critical and high-risk paths
.\Invoke-EvilMist.ps1 -Script EntraAzureAttackPathCheck -OnlyHighRisk -Matrix
# Include inherited permission paths with deeper analysis
.\Invoke-EvilMist.ps1 -Script EntraAzureAttackPathCheck -IncludeInheritedPaths -MaxPathDepth 4
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraAzureAttackPathCheck -EnableStealth -QuietStealth
📖 Documentation complète : EntraAzureAttackPathCheck-PS1.md
Fonctionnalités clés :
| Version | Documentation | Fichier |
|---|---|---|
| PowerShell | EntraAzureAttackPathCheck-PS1.md | scripts/powershell/Invoke-EntraAzureAttackPathCheck.ps1 |
Générateur de rapport de sécurité HTML unifié qui exécute plusieurs vérifications de sécurité EvilMist et produit un tableau de bord exécutif complet avec évaluation des risques, priorités de remédiation et analyse des tendances.```powershell
.\Invoke-EvilMist.ps1 -Script EntraReport -QuickScan
.\Invoke-EvilMist.ps1 -Script EntraReport -ComprehensiveScan -ExportPath "full-report.html"
.\Invoke-EvilMist.ps1 -Script EntraReport -Checks MFA,Roles,ConditionalAccess,AttackPaths
.\Invoke-EvilMist.ps1 -Script EntraReport -Checks All -ExportPath "security-report.html"
.\Invoke-EvilMist.ps1 -Script EntraReport -ComprehensiveScan -BaselinePath "previous-report.json"
.\Invoke-EvilMist.ps1 -Script EntraReport -QuickScan -EnableStealth -QuietStealth
📖 **Documentation complète :** [EntraReport-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraReport-PS1.md)
**Fonctionnalités clés :**
- **Rapports consolidés** - Exécutez plusieurs contrôles de sécurité avec une seule commande
- **Tableau de bord exécutif** - Rapport HTML professionnel avec score de sécurité (0-100)
- **Vue d'ensemble de la gravité des risques** - Nombre de constats CRITICAL, HIGH, MEDIUM, LOW
- **Matrice de priorité de remédiation** - Actions priorisées (P1-P4) avec échéanciers recommandés
- **Analyse des tendances** - Comparez avec des rapports de référence pour suivre les améliorations de sécurité
- **Mode d'analyse rapide** - Contrôles de sécurité essentiels (MFA, Rôles, CA, Chemins d'attaque, OAuth, PIM)
- **Analyse complète** - Tous les contrôles de sécurité disponibles pour une couverture complète
- **Export JSON** - Export automatique de la référence pour des comparaisons futures
- **Mode furtif** - Délais et gigue configurables pour éviter la détection
| Version | Documentation | Fichier |
|---------|---------------|------|
| PowerShell | [EntraReport-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraReport-PS1.md) | `scripts/powershell/Invoke-EntraReport.ps1` |
---
### Évaluation de la conformité (CIS/NIST/SOC2/ISO27001/GDPR)
Outil complet d'évaluation de la conformité qui évalue la configuration de sécurité d'Azure Entra ID par rapport aux référentiels standard de l'industrie, notamment CIS Microsoft Azure Foundations Benchmark, NIST 800-53, SOC 2, ISO 27001 et GDPR.```powershell
# Comprehensive compliance assessment against all frameworks
.\Invoke-EvilMist.ps1 -Script EntraComplianceCheck -Matrix
# CIS Azure Benchmark assessment
.\Invoke-EvilMist.ps1 -Script EntraComplianceCheck -Framework CIS -ExportPath "cis-compliance.csv"
# NIST 800-53 assessment with remediation guidance
.\Invoke-EvilMist.ps1 -Script EntraComplianceCheck -Framework NIST -IncludeRemediation
# Executive report with compliance score
.\Invoke-EvilMist.ps1 -Script EntraComplianceCheck -GenerateExecutiveReport -ExportPath "compliance-report.html"
# SOC 2 assessment showing only failed controls
.\Invoke-EvilMist.ps1 -Script EntraComplianceCheck -Framework SOC2 -OnlyFailed
# Filter by NIST control family (e.g., Access Control)
.\Invoke-EvilMist.ps1 -Script EntraComplianceCheck -Framework NIST -ControlFamily AC
📖 Documentation complète : EntraComplianceCheck-PS1.md
Fonctionnalités clés :
| Version | Documentation | Fichier |
|---|---|---|
| PowerShell | EntraComplianceCheck-PS1.md | scripts/powershell/Invoke-EntraComplianceCheck.ps1 |
Les deux versions offrent les mêmes fonctionnalités de base :
|---------|---------------------|-------------------|---------------------------|----------------------------|----------------------|------------------------|--------------------------|--------------------------|------------------------|---------------------|-------------------|-------------|---------------------|-------------------|--------------|---------------------|-------------------|-------------------|-------------------|-------------------|-------------------| | Objectif | Énumération complète des utilisateurs | Audit de sécurité MFA ciblé | Gouvernance des accès invités | Audit des accès administratifs critiques | Audit des attributions de rôles privilégiés | Audit de sécurité des comptes de service | Audit de sécurité des inscriptions d'applications | Analyse des lacunes de stratégie de sécurité | Audit des accès administrateur limités | Audit d'hygiène des comptes | Audit de confiance et de conformité des appareils | Audit de configuration SSPR | Audit de sécurité de la stratégie de mots de passe | Audit de sécurité de l'authentification héritée | Analyse des licences et des SKU | Audit du statut et de la santé de la synchronisation d'annuaire | Énumération et audit de sécurité de Power Platform | Analyse de sécurité et gouvernance des groupes | Analyse des chemins d'attaque - élévation de privilèges et déplacement latéral | Export de la base de référence Azure RBAC multi-locataires et détection de dérive | Audit des octrois de consentement OAuth - détection de consentements illicites | | Énumération des utilisateurs | 15+ méthodes | Méthode standard | Axé invités | Basé sur les attributions d'applications | Basé sur les attributions de rôles | Axé sur les principaux de service | | | | | | Axé sur l'authentification héritée | Axé sur la synchronisation | ❌ | | Détection MFA | Vérification de base | Avancé avec types de méthodes | Avancé avec types de méthodes | Avancé avec types de méthodes | Avancé avec types de méthodes | Vérification MFA du propriétaire | | | | | | Avancé avec types de méthodes | ❌ | ❌ | | Détection de boîtes aux lettres partagées | ❌ | ✅ Automatique | ❌ (N/A pour les invités) | ❌ (N/A pour l'accès applicatif) | ❌ (N/A pour les rôles) | ❌ (N/A pour les SP) | | | | | | ❌ (N/A pour l'authentification héritée) | ❌ | ❌ | | Extraction des domaines invités | ❌ | ❌ | ✅ Automatique | ❌ | ❌ | ❌ | | | | | | ❌ | ❌ | ❌ | | Suivi du statut des invitations | ❌ | ❌ | ✅ Avec dates d'acceptation | ❌ | ❌ | ❌ | | | | | | ❌ | ❌ | ❌ | | Suivi des accès applicatifs | ❌ | ❌ | ❌ | ✅ Couverture multi-applications | ❌ | ❌ | | | | | | ❌ | ❌ | ❌ | | Suivi des attributions de rôles | ❌ | ❌ | ❌ | ❌ | ✅ Tous les rôles d'annuaire | ❌ | | | | | | ❌ | ❌ | ✅ Tous les rôles Azure RBAC | | Suivi des attributions PIM | ❌ | ❌ | ❌ | ❌ | ✅ Éligible et actif | ❌ | | | | | | ❌ | ❌ | ❌ | | Énumération des identifiants | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Secrets et certificats | ✅ Secrets et certificats | | | | | | ❌ | ❌ | ❌ | | Suivi de l'expiration des identifiants | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Expirés et bientôt expirés | ✅ Expirés et bientôt expirés | | | | | | ❌ | ❌ | ❌ | | Analyse des permissions | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ À haut risque et critiques | ✅ À haut risque et critiques (permissions API) | | | | | | ❌ | ❌ | ✅ Permissions des rôles RBAC | | Analyse des propriétaires | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Avec statut MFA | ✅ Avec statut MFA | ❌ | | | | | | ❌ | ❌ | ✅ Propriétaires de groupes avec statut MFA | ❌ | | Énumération des inscriptions d'applications | ✅ De base | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Complet | | | | | | ❌ | ❌ | ❌ | | Analyse des permissions API | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Déléguées et application | | | | | | ❌ | ❌ | ❌ | | Suivi des dates d'attribution | ❌ | ❌ | ✅ Dates d'invitation | ✅ Dates d'attribution | ✅ Dates d'attribution et durée | ❌ | ❌ | | | | | ❌ | ❌ | ✅ Dates de création des attributions de rôles | | Détection des exclusions de stratégie | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Utilisateurs, groupes, rôles, applications | | | | | ❌ | ❌ | ❌ | | Lacunes d'application de la MFA | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Analyse au niveau des stratégies | | | | | ❌ | ❌ | ❌ | | Couverture des applications critiques | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 10 applications critiques | | | | | ❌ | ❌ | ❌ | | Détection de l'authentification héritée | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Ciblage de stratégie | | | | | ✅ 10 protocoles | ❌ | ❌ | | Détection des protocoles hérités | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | | | | ✅ IMAP/POP3/SMTP/EAS/etc | ❌ | ❌ | | Dernière utilisation de l'authentification héritée | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | | | | ✅ Suivi date/heure | ❌ | ❌ | | Statistiques des protocoles | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | | | | ✅ Compteurs de succès/échec | ❌ | ❌ | | Détection des conflits de stratégie | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Redondantes/en conflit | ❌ | ❌ | ❌ | | | ❌ | ❌ | ❌ | | Énumération des unités administratives | ✅ De base | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Complet | ❌ | ❌ | ❌ | | | ❌ | ❌ | ❌ | | Analyse des attributions de rôles limitées | ✅ De base | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Toutes les attributions limitées | ❌ | ❌ | ❌ | | | ❌ | ❌ | ❌ | | Énumération des membres des UA | ✅ De base | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Membres et rôles | ❌ | ❌ | ❌ | | | ❌ | ❌ | ❌ | | Détection des comptes obsolètes | Limité | Limité | Limité | Limité | Limité | ❌ | ❌ | Limité | ✅ Plus de 90 jours inactifs | ❌ | | | Limité | ❌ | ❌ | | Détection des comptes jamais connectés | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Analyse de l'ancienneté du compte | ❌ | | | ❌ | ❌ | ❌ | | Détection de gaspillage de licences | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Désactivés avec licences | ❌ | | | ❌ | ❌ | ❌ | | Suivi de l'expiration des mots de passe | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Mots de passe expirés | ❌ | ❌ | ✅ Analyse de l'expiration | ❌ | ❌ | ❌ | | Détection du statut SSPR | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Activé/Enregistré/En mesure | ❌ | ❌ | ❌ | ❌ | | Analyse des méthodes SSPR | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Méthodes d'enregistrement | ❌ | ❌ | ❌ | ❌ | | Détection des méthodes de secours | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Aucune méthode de secours | ❌ | ❌ | ❌ | ❌ | | Classification des méthodes fortes | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Méthodes fortes vs faibles | ❌ | ❌ | ❌ | ❌ | | Énumération des appareils | ✅ De base | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Complet | ❌ | ❌ | ❌ | ❌ | ❌ | | Détection du statut de conformité | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | ✅ Conforme/Non conforme/Inconnu | | | ❌ | ❌ | ❌ | | Détection BYOD | ✅ De base | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | ✅ Automatique | | | ❌ | ❌ | ❌ | | Détection des connexions obsolètes | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | ✅ Plus de 90 jours | ✅ Plus de 90 jours | | | Limité | ❌ | ❌ | | Stratégies de conformité Intune | ✅ De base | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Énumération complète | | | ❌ | ❌ | ❌ | | Analyse de la confiance des appareils | ✅ De base | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Types de jonction | | | ❌ | ❌ | ❌ | | Statut de gestion | ✅ De base | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Géré/Non géré | | | ❌ | ❌ | ❌ | | Suivi de la dernière connexion | ✅ | ✅ Avec analytique | ✅ Avec analytique | ✅ Avec analytique | ✅ Avec analytique | Limité (activité SP) | ❌ | ✅ Avec analytique | ✅ Avec analytique | ✅ Avec analytique | ✅ Avec analytique | ✅ Avec analytique | ✅ Avec analytique | ✅ Avec analytique | ✅ Avec analytique | ❌ | | Vérification de la capacité de connexion | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | Détection du statut de synchronisation | ✅ De base | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Synchronisé vs Cloud uniquement | ❌ | | Détection des erreurs de synchronisation | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Toutes les erreurs d'approvisionnement | ❌ | | Détection de synchronisation obsolète | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Plus de 7 jours depuis la synchronisation | ❌ | | Identification des conflits de synchronisation | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Attributs en double | ❌ | | Analyse du périmètre de synchronisation | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Configuration de base | ❌ | | Énumération des SKU du locataire | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Énumération complète | ❌ | ❌ | | Suivi des attributions de licences | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Toutes les attributions | ❌ | ❌ | | Détection des licences privilégiées | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ E5, P2, etc. | ❌ | ❌ | | Détection des licences inutilisées | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Désactivés avec licences | ❌ | ❌ | ❌ | ✅ Jamais connecté | ❌ | ❌ | | Analytique d'utilisation des licences | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Statistiques de consommation | ❌ | ❌ | ❌ | | Énumération des Power Apps | ✅ De base | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Complet | ❌ | | Énumération des flux Power Automate | ✅ De base | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Complet | ❌ | | Détection des connecteurs sensibles | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 30+ connecteurs | ❌ | | Détection des actions à haut risque | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Supprimer/Créer/Modifier | ❌ | | Analyse des risques des connecteurs | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ CRITICAL/HIGH/MEDIUM/LOW | ❌ | ❌ | | Énumération des groupes | ✅ De base | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Complet (tous les types) | ❌ | | Détection des groupes sans propriétaire | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Groupes orphelins | ❌ | | Détection de membres excessifs | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Plus de 100 ou 500 membres | ❌ | | Détection des groupes attribuables à un rôle | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Groupes à risque CRITICAL | ❌ | | Analyse des types de groupes | ✅ De base | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Sécurité/M365/Distribution/Dynamique | ❌ | | Énumération des octrois de consentement OAuth | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Tous les OAuth2PermissionGrants | | Détection du consentement administrateur vs utilisateur | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ À l'échelle du locataire vs individuel | | Détection des permissions dangereuses | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Accès courrier/fichiers/annuaire | | Détection des consentements obsolètes | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Seuil configurable | | Détection des applications tierces | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Microsoft vs tiers | | Vérification de l'éditeur | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Statut d'éditeur vérifié | | Analyse multi-locataires | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Tous les locataires accessibles | ❌ | | Ignorer les locataires en échec | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Continuer en cas d'échecs MFA/CA | ❌ | | Export de la base de référence Azure RBAC | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Base de référence JSON | ❌ | | Détection de dérive Azure RBAC | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Attributions nouvelles/supprimées/modifiées | ❌ | | Prise en charge multi-abonnements | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Tous les abonnements sur l'ensemble des locataires | ❌ | | Expansion des membres de groupe | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Étendre les groupes pour afficher les utilisateurs | ❌ | | Matrice des permissions de tous les utilisateurs | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Vue des permissions centrée utilisateur | ❌ | | Analyse de la hiérarchie des portées | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Sub/RG/Ressource | ❌ | | Exclusion PIM/JIT | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Exclure les attributions limitées dans le temps | ❌ | | Détection des conditions ABAC | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Dérive de non-correspondance des conditions | ❌ | | Instructions de remédiation | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Terraform/CLI/PowerShell | ❌ | | Évaluation du niveau de risque | De base | Avancé (HIGH/MEDIUM/LOW) | Avancé (HIGH/MEDIUM/LOW) | Avancé (HIGH/MEDIUM/LOW) | Avancé (CRITICAL/HIGH/MEDIUM/LOW) | Avancé (CRITICAL/HIGH/MEDIUM/LOW) | Avancé (CRITICAL/HIGH/MEDIUM/LOW) | Avancé (CRITICAL/HIGH/MEDIUM/LOW) | Avancé (CRITICAL/HIGH/MEDIUM/LOW) | Avancé (CRITICAL/HIGH/MEDIUM/LOW) | Avancé (HIGH/MEDIUM/LOW) | Avancé (CRITICAL/HIGH/MEDIUM/LOW) | Avancé (CRITICAL/HIGH/MEDIUM/LOW) | Avancé (CRITICAL/HIGH/MEDIUM/LOW) | Avancé (CRITICAL/HIGH/MEDIUM/LOW) | Avancé (CRITICAL/HIGH/MEDIUM/LOW) | Avancé (CRITICAL/HIGH/MEDIUM/LOW) | Avancé (CRITICAL/HIGH/MEDIUM/LOW) | Avancé (CRITICAL/HIGH/MEDIUM/LOW) | Avancé (CRITICAL/HIGH/MEDIUM) | Avancé (CRITICAL/HIGH/MEDIUM/LOW) | | Analytique d'activité | Limité | Détaillée (obsolète/récent/jamais) | Détaillée (obsolète/récent/jamais) | Détaillée (obsolète/récent/jamais) | Détaillée (obsolète/récent/jamais) | De base (basée sur l'ancienneté) | Détaillée (expiration des identifiants/analyse des permissions) | Analyse des lacunes de stratégie | Détaillée (activité admin limitée) | Détaillée (indicateurs d'obsolescence) | Détaillée (obsolète/récent/jamais) | Détaillée (obsolète/récent/jamais) | Détaillée (ancienneté du mot de passe/lacunes de stratégie) | Détaillée (récence d'utilisation/statistiques des protocoles) | Détaillée (utilisation des licences/suivi des inutilisées) | Détaillée (santé de la synchro/statistiques d'erreurs) | Détaillée (statistiques des ressources/environnements/propriétaires) | Détaillée (statistiques des types de groupes/propriétaires/membres) | Détaillée (statistiques des types de chemins d'attaque/complexité/risques) | Détaillée (statistiques des types de dérive/rôles/locataires/abonnements) | Détaillée (statistiques des types de consentement/permissions/obsolescence) | | Vue matricielle | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Analyse par département | ✅ | ✅ Avec statistiques | ✅ Avec statistiques | ✅ Avec statistiques | ✅ Avec statistiques | ❌ | ❌ | ✅ Avec statistiques | ✅ Avec statistiques | ❌ | ✅ Avec statistiques | ✅ Avec statistiques | ✅ Avec statistiques | ✅ Avec statistiques | ✅ Avec statistiques | ❌ | ❌ | ❌ | ❌ | ❌ | | Export BloodHound | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | Rapport HTML | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | Export CSV/JSON | ✅ | ✅ Champs enrichis | ✅ Champs enrichis | ✅ Champs enrichis | ✅ Champs enrichis | ✅ Champs enrichis | ✅ Champs enrichis | ✅ Champs enrichis | ✅ Champs enrichis | ✅ Champs enrichis | ✅ Champs enrichis | ✅ Champs enrichis | ✅ Champs enrichis | ✅ Champs enrichis | ✅ Champs enrichis | ✅ Champs enrichis | ✅ Champs enrichis | ✅ Champs enrichis | ✅ Rapport de base de référence/dérive JSON | ✅ Champs enrichis | | Mode furtif | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | Reconnaissance d'équipe rouge | Audits de conformité MFA | Sécurité des utilisateurs externes | Audit des accès privilégiés | Gouvernance des rôles privilégiés | Sécurité des comptes de service | Sécurité des inscriptions d'applications et gestion des identifiants | Analyse des lacunes de stratégie de sécurité | Gouvernance des accès administrateur limités | Hygiène et nettoyage des comptes | Confiance et conformité des appareils | Sécurité de la réinitialisation des mots de passe | Conformité de la stratégie de mots de passe | Migration et sécurité de l'authentification héritée | Gouvernance des licences et optimisation des coûts | Santé de la synchronisation d'annuaire et suivi des erreurs | Sécurité de Power Platform et gouvernance des connecteurs | Sécurité et gouvernance des groupes | Analyse des chemins d'attaque et détection d'élévation de privilèges | Gouvernance Azure RBAC multi-locataires et détection d'accès non autorisés | Sécurité du consentement OAuth et détection des octrois de consentement illicites |
pip install -r requirements.txt
Ou installez manuellement :```bash
pip install msal requests
# Optional: Additional authentication methods
pip install azure-identity
Enumerate-EntraUsers : Le script installera automatiquement le module Microsoft.Graph.Users requis lors de la première exécution.
Contrôle de sécurité MFA, Énumération des comptes invités, Contrôle de l'accès administrateur critique, Contrôle des rôles privilégiés, Contrôle des principaux de service, Contrôle des inscriptions d'applications, Contrôle de l'accès conditionnel, Contrôle des unités administratives, Contrôle des comptes obsolètes, Contrôle de confiance des appareils, Contrôle SSPR, Contrôle de la politique de mots de passe, Contrôle de l'authentification héritée, Contrôle des licences, Contrôle de la synchronisation de l'annuaire, Contrôle Power Platform et Contrôle de sécurité des groupes : Nécessitent le SDK Microsoft Graph PowerShell :
Contrôle Azure RBAC : Nécessite les modules Azure PowerShell :```powershell Install-Module Az -Scope CurrentUser
Ou installez des modules individuels :```powershell
Install-Module Az.Accounts -Scope CurrentUser
Install-Module Az.Resources -Scope CurrentUser
Autres outils :```powershell Install-Module Microsoft.Graph -Scope CurrentUser
Ou installez les modules individuellement:```powershell
Install-Module Microsoft.Graph.Authentication -Scope CurrentUser
Install-Module Microsoft.Graph.Users -Scope CurrentUser
Install-Module Microsoft.Graph.Identity.SignIns -Scope CurrentUser
Install-Module Microsoft.Graph.Identity.DirectoryManagement -Scope CurrentUser
Install-Module Microsoft.Graph.Applications -Scope CurrentUser
Install-Module Microsoft.Graph.Groups -Scope CurrentUser
Les deux scripts prennent en charge plusieurs méthodes d'authentification :
az login en cacheConnect-AzAccount en cacheGRAPH_ACCESS_TOKEN ou AZURE_ACCESS_TOKENLa version Python prend en charge en outre :
Cette section fournit une matrice complète des méthodes d'authentification et des permissions API requises par chaque script de la boîte à outils.
Tous les scripts prennent en charge les mêmes méthodes d'authentification de base, avec de légères variations selon l'API cible :
Scripts : EntraRecon, EntraMFACheck, EntraGuestCheck, EntraAppAccess, EntraRoleCheck, EntraServicePrincipalCheck, EntraConditionalAccessCheck, EntraAdminUnitCheck, EntraStaleAccountCheck, EntraDeviceCheck, EntraSSPRCheck, EntraPasswordPolicyCheck, EntraLegacyAuthCheck, EntraLicenseCheck, EntraDirectorySyncCheck, EntraPowerPlatformCheck, EntraGroupCheck, EntraApplicationCheck, EntraAttackPathCheck, EntraOAuthConsentCheck, EntraSignInRiskCheck, EntraPIMCheck, EntraComplianceCheck
Scripts : EntraAzureRBACCheck, EntraKeyVaultCheck, EntraStorageAccountCheck, EntraManagedIdentityCheck, EntraNetworkSecurityCheck, EntraAzureAttackPathCheck
Le tableau suivant présente les portées requises et de repli pour chaque script basé sur Microsoft Graph. Les portées de repli sont utilisées lorsque l'utilisateur ne dispose pas des permissions pour l'ensemble complet des portées requises.
scripts/python/entra_recon.py |
| Document | Description |
|---|
| EntraRecon-PS1.md | Documentation complète du script PowerShell incluant tous les paramètres, fonctionnalités et exemples d'utilisation |
| EntraRecon-PY.md | Documentation complète du script Python incluant les méthodes d'authentification, la configuration furtive et des exemples |
| EntraMFACheck-PS1.md | Documentation du contrôle de sécurité MFA incluant la détection des boîtes aux lettres partagées, le suivi des connexions et l'évaluation des risques |
| EntraGuestCheck-PS1.md | Documentation de l'énumération des comptes invités incluant l'extraction des domaines invités, le suivi des invitations et l'analyse de sécurité |
| EntraAppAccess-PS1.md | Documentation du contrôle d'accès PowerShell & Graph CLI incluant le suivi des accès aux applications, les dates d'attribution et l'analyse des accès privilégiés |
| EntraRoleCheck-PS1.md | Documentation du contrôle des rôles privilégiés incluant l'énumération des rôles, le suivi des attributions PIM, l'évaluation des risques et l'analyse de sécurité |
| EntraServicePrincipalCheck-PS1.md | Documentation du contrôle de sécurité des principaux de service incluant l'énumération des informations d'identification, le suivi des expirations, l'analyse des autorisations, la sécurité des propriétaires et l'évaluation des risques |
| EntraConditionalAccessCheck-PS1.md | Documentation du contrôle de sécurité des stratégies d'accès conditionnel incluant l'énumération des stratégies, la détection des exclusions, les lacunes d'application de la MFA, la couverture des applications critiques et l'évaluation des risques |
| EntraStaleAccountCheck-PS1.md | Documentation du contrôle des comptes obsolètes incluant la détection des comptes obsolètes, la détection des comptes jamais connectés, la détection du gaspillage de licences, le suivi de l'expiration des mots de passe et l'analyse de l'hygiène des comptes |
| EntraDeviceCheck-PS1.md | Documentation du contrôle de confiance et de conformité des appareils incluant l'énumération des appareils, la détection du statut de conformité, la détection BYOD, le suivi des connexions obsolètes, les stratégies de conformité Intune et l'évaluation des risques |
| EntraSSPRCheck-PS1.md | Documentation du contrôle de réinitialisation de mot de passe en libre-service incluant la détection du statut SSPR, l'analyse des méthodes d'enregistrement, la détection des méthodes de secours, la classification des méthodes robustes, la corrélation MFA et l'évaluation des risques |
| EntraPasswordPolicyCheck-PS1.md | Documentation du contrôle de sécurité des stratégies de mot de passe incluant l'analyse de l'expiration des mots de passe, la détection des mots de passe sans expiration, la vérification des exigences de complexité, l'identification des stratégies faibles, le suivi de l'ancienneté des mots de passe et l'évaluation des risques |
| EntraLegacyAuthCheck-PS1.md | Documentation du contrôle d'authentification héritée incluant la détection des protocoles hérités, l'analyse des journaux de connexion, le suivi de la dernière utilisation, les statistiques de protocoles, la corrélation MFA et l'évaluation des risques |
| EntraLicenseCheck-PS1.md | Documentation de l'analyse des licences et des SKU incluant l'énumération des SKU du locataire, le suivi des attributions de licences utilisateur, la détection des licences privilégiées, l'identification des licences inutilisées et l'évaluation des risques |
| EntraAdminUnitCheck-PS1.md | Documentation du contrôle de sécurité des unités administratives incluant l'énumération des UA, l'analyse des attributions de rôles à périmètre limité, l'énumération des membres, la détection du statut MFA, l'évaluation des risques et l'analyse des accès administrateur à périmètre limité |
| EntraDirectorySyncCheck-PS1.md | Documentation du contrôle du statut de synchronisation d'annuaire incluant l'analyse du statut de synchronisation, la détection des erreurs de synchronisation, la détection des synchronisations obsolètes, l'identification des conflits de synchronisation, l'analyse du périmètre de synchronisation et l'évaluation des risques |
| EntraPowerPlatformCheck-PS1.md | Documentation de l'énumération Power Platform incluant l'énumération des Power Apps, l'énumération des flux Power Automate, la détection des connecteurs sensibles, l'identification des actions à haut risque, l'analyse des connecteurs et l'évaluation des risques |
| EntraGroupCheck-PS1.md | Documentation de l'analyse de sécurité des groupes incluant l'énumération des groupes, l'analyse des propriétaires avec statut MFA, la détection des groupes sans propriétaire, la détection des adhésions excessives, la détection des groupes attribuables à des rôles et l'évaluation des risques |
| EntraApplicationCheck-PS1.md | Documentation du contrôle de sécurité des enregistrements d'applications incluant l'énumération des applications, l'analyse des informations d'identification, le suivi des expirations, l'analyse des autorisations API, l'évaluation de la sécurité des propriétaires et l'évaluation des risques |
| EntraAttackPathCheck-PS1.md | Documentation de l'analyse des chemins d'attaque incluant les chemins d'élévation de privilèges, les délégations de réinitialisation de mot de passe, les appartenances à des groupes transitives, l'accès aux boîtes aux lettres partagées, l'évaluation des risques et l'analyse de complexité des chemins |
| EntraAzureRBACCheck-PS1.md | Documentation de l'audit des attributions de rôles Azure RBAC et de la détection de dérive incluant l'exportation de la ligne de base, la détection de dérive, la prise en charge multi-abonnements, la prise en charge multi-locataires, l'ignorance des locataires en échec, l'expansion des membres de groupes, la matrice des permissions de tous les utilisateurs, l'exclusion PIM/JIT, la détection des inadéquations de conditions ABAC, les instructions de remédiation (Terraform/CLI/PowerShell), le suivi des attributions de rôles, la détection des changements non autorisés et l'évaluation des risques |
| EntraOAuthConsentCheck-PS1.md | Documentation de l'audit des octrois de consentement OAuth incluant l'énumération des OAuth2PermissionGrant, la détection du consentement administrateur par rapport au consentement utilisateur, l'identification des permissions dangereuses, la détection des consentements obsolètes, l'analyse des applications tierces, la corrélation de l'activité de connexion et l'évaluation des risques pour la détection des octrois de consentement illicites |
| EntraSignInRiskCheck-PS1.md | Documentation de l'analyse Identity Protection incluant l'énumération des utilisateurs à risque, le suivi du niveau/état de risque, l'analyse de la détection des risques, la détection des déplacements impossibles, la détection des adresses IP anonymes, la détection des attaques par pulvérisation de mots de passe, la détection des informations d'identification divulguées, l'analyse des schémas, l'analyse temporelle et les recommandations de remédiation |
| EntraPIMCheck-PS1.md | Documentation de l'audit de configuration de Privileged Identity Management (PIM) incluant les lacunes de configuration d'accès JIT, l'analyse des flux d'approbation, l'application de la MFA, les exigences de justification, la configuration des notifications, la détection des attributions permanentes, PIM pour les groupes, les revues d'accès et l'évaluation des risques |
| EntraKeyVaultCheck-PS1.md | Documentation de l'audit de sécurité Azure Key Vault incluant l'analyse du modèle d'accès (RBAC vs stratégies d'accès), le statut de la suppression réversible et de la protection contre la purge, l'audit de la sécurité réseau (accès public, pare-feu, VNet), la détection des points de terminaison privés, la détection des accès trop permissifs, la vérification de la journalisation de diagnostic, le suivi de l'expiration des secrets/certificats/clés et l'évaluation des risques |
| EntraStorageAccountCheck-PS1.md | Documentation de l'audit de sécurité des comptes de stockage Azure incluant la détection des conteneurs d'objets blob publics, la vérification de l'application du protocole HTTPS, l'analyse de l'accès par clé partagée, l'audit de la sécurité réseau (accès public, pare-feu, VNet, points de terminaison privés), l'analyse de la protection des données (suppression réversible, versioning), le suivi de la rotation des clés, la détection de la réplication entre locataires, la vérification de la version TLS, le contrôle du chiffrement de l'infrastructure, la vérification de la journalisation de diagnostic et l'évaluation des risques |
| EntraNetworkSecurityCheck-PS1.md | Documentation de l'audit de la sécurité réseau Azure incluant l'analyse des règles NSG, la détection des règles trop permissives (0.0.0.0/0, Any-Any), la détection des ports de gestion ouverts (RDP, SSH, WinRM), l'analyse de l'utilisation d'Azure Bastion, le statut de la protection DDoS, la sécurité de l'appairage VNet, la couverture NSG des sous-réseaux, la configuration des journaux de flux NSG, l'analyse des passerelles VPN/ExpressRoute, le statut de l'analyse du trafic et l'évaluation des risques |
| EntraManagedIdentityCheck-PS1.md | Documentation de l'audit de sécurité des identités managées Azure incluant l'inventaire des identités attribuées par le système vs attribuées par l'utilisateur, l'analyse des attributions de rôles, la détection des identités à privilèges élevés (Owner, Contributor, UAA), la détection des rôles critiques, la détection des accès entre abonnements, l'identification des identités inutilisées, la couverture des ressources (VM, App Services, Function Apps), l'analyse du périmètre et l'évaluation des risques |
| EntraExchangeCheck-PS1.md | Documentation de l'audit de sécurité Exchange Online incluant l'analyse des règles de boîte de réception, la détection du transfert externe, l'audit des règles de transport, l'analyse des délégations de boîtes aux lettres, le statut de la journalisation d'audit, l'analyse des stratégies OWA, les règles d'accès client, la détection des indicateurs BEC, la détection des règles suspectes et l'évaluation des risques |
| EntraSharePointCheck-PS1.md | Documentation de l'audit de sécurité SharePoint Online incluant les paramètres de partage du locataire, la détection des liens anonymes, la détection des dérogations au niveau du site, l'analyse de l'accès invité, la configuration du partage OneDrive, la couverture des étiquettes de confidentialité, l'analyse des liens par défaut, les stratégies d'expiration des liens et l'évaluation des risques |
| EntraTeamsCheck-PS1.md | Documentation de l'audit de sécurité Microsoft Teams incluant les paramètres d'accès externe (fédération), les stratégies d'accès invité, l'analyse des stratégies de réunion (participation anonyme, contournement du lobby), les stratégies d'autorisation d'applications, les stratégies de messagerie, l'analyse de l'inventaire Teams et l'évaluation des risques |
| EntraAzureAttackPathCheck-PS1.md | Documentation de l'analyse des chemins d'attaque interservices Azure incluant les chemins de VM vers Key Vault, l'élévation de privilèges par identité managée, le mouvement latéral via le stockage, les vulnérabilités des rôles personnalisés, les chemins entre abonnements, l'héritage des groupes d'administration, les scénarios d'attaque et l'évaluation des risques |
| EntraReport-PS1.md | Documentation du générateur de rapports de sécurité consolidés incluant l'exécution de contrôles multiples, un tableau de bord de direction HTML, le calcul du score de sécurité, une matrice de priorisation de la remédiation, l'analyse des tendances avec comparaison à la ligne de base, les modes d'analyse rapide et d'analyse complète, et l'exportation de la ligne de base en JSON |
| EntraComplianceCheck-PS1.md | Documentation de l'évaluation de la conformité incluant le mappage CIS Azure Benchmark, le mappage des contrôles NIST 800-53, les critères de service de confiance SOC 2, les contrôles ISO 27001, les indicateurs RGPD, le score de conformité, le filtrage par famille de contrôles et les rapports exécutifs |
| SharePointEnum-PS1.md | Documentation de l'énumération SharePoint Online incluant la recherche via l'API REST, les requêtes FQL, les filtres d'affinage, le téléchargement de fichiers (disque et Base64), l'auto-détection, le repli d'authentification intelligent (validation du jeton de session, repli Azure CLI, flux de code d'appareil MSAL), le mode furtif et les options d'exportation |
| Fonctionnalité | PowerShell | Python |
|---|
| Énumération des utilisateurs (15+ méthodes) | ✅ | ✅ |
| Évaluation de la sécurité | ✅ | ✅ |
| Surface d'attaque des identifiants | ✅ | ✅ |
| Analyse de l'accès conditionnel | ✅ | ✅ |
| Énumération des appareils/Intune | ✅ | ✅ |
| Analyse des chemins d'attaque | ✅ | ✅ |
| Énumération Power Platform | ✅ | ✅ |
| Analyse du mouvement latéral | ✅ | ✅ |
| Exportation BloodHound | ✅ | ✅ |
| Génération de rapports HTML | ✅ | ✅ |
| Mode furtif | ✅ | ✅ |
| Menu interactif | ✅ | ✅ |
| Jeton Azure CLI | ✅ | ✅ |
| Flux de code d'appareil | ✅ | ✅ |
| Échange de jeton d'actualisation | ❌ | ✅ |
| Base de données étendue d'ID d'applications | ❌ | ✅ |
| Préréglages furtifs | ❌ | ✅ |
| Paramètre | Méthode | Description |
|---|
| (par défaut) | Interactif | Connect-MgGraph avec invite de navigateur OAuth interactive |
-UseAzCliToken | Jeton Azure CLI | Utilise az account get-access-token --resource https://graph.microsoft.com |
-UseAzPowerShellToken | Jeton Azure PowerShell | Utilise Get-AzAccessToken -ResourceUrl "https://graph.microsoft.com" |
| Paramètre | Méthode | Description |
|---|
| (par défaut) | Interactif | Connect-AzAccount avec invite de navigateur interactive |
-UseAzCliToken | Jeton Azure CLI | Utilise la session az login existante |
-UseAzPowerShellToken | Jeton Azure PowerShell | Utilise la session Connect-AzAccount existante |
-UseDeviceCode | Device Code Flow | Connect-AzAccount -UseDeviceAuthentication pour les terminaux headless |
| Script | Module | Authentification |
|---|
| EntraExchangeCheck | ExchangeOnlineManagement | Connect-ExchangeOnline (nécessite le rôle d'administrateur Exchange) |
| EntraSharePointCheck | Microsoft.Online.SharePoint.PowerShell | Connect-SPOService vers l'URL d'administration SharePoint (nécessite le rôle d'administrateur SharePoint) |
| SharePointEnum | Az.Accounts (facultatif) | Repli intelligent : jeton de session Azure → Azure CLI → MSAL Device Code Flow (ID client Microsoft Office) |
| EntraTeamsCheck | MicrosoftTeams | Connect-MicrosoftTeams (nécessite le rôle d'administrateur Teams) |
| Script | Portées requises | Portées de repli |
|---|
| Invoke-EntraApplicationCheck | Application.Read.All, Directory.Read.All, User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.All | Application.Read.All, Directory.Read.All, User.ReadBasic.All |
| Invoke-EntraRoleCheck | Directory.Read.All, RoleManagement.Read.Directory, User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.All | Directory.Read.All, RoleManagement.Read.Directory, User.ReadBasic.All |
| Invoke-EntraMFACheck | User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.All | User.ReadBasic.All, UserAuthenticationMethod.Read.All |
| Invoke-EntraGroupCheck | Directory.Read.All, Group.Read.All, User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.All | Directory.Read.All, Group.Read.All, User.ReadBasic.All |
| Invoke-EntraGuestCheck | User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.All | User.ReadBasic.All, UserAuthenticationMethod.Read.All |
| Invoke-EntraAdminUnitCheck | Directory.Read.All, AdministrativeUnit.Read.All, RoleManagement.Read.Directory, User.Read.All, UserAuthenticationMethod.Read.All | Directory.Read.All, AdministrativeUnit.Read.All, User.ReadBasic.All |
| Invoke-EntraConditionalAccessCheck | Policy.Read.All, Directory.Read.All, Application.Read.All, User.Read.All | Policy.Read.All, Directory.Read.All |
| Invoke-EntraDeviceCheck | Device.Read.All, Directory.Read.All, DeviceManagementManagedDevices.Read.All, DeviceManagementConfiguration.Read.All | Device.Read.All, Directory.Read.All |
| Invoke-EntraDirectorySyncCheck | Directory.Read.All, User.Read.All, AuditLog.Read.All | Directory.Read.All, User.ReadBasic.All |
| Invoke-EntraAttackPathCheck | Directory.Read.All, Group.Read.All, User.Read.All, UserAuthenticationMethod.Read.All, RoleManagement.Read.Directory, AuditLog.Read.All | Directory.Read.All, Group.Read.All, User.ReadBasic.All |
| Invoke-EntraServicePrincipalCheck | Application.Read.All, Directory.Read.All, User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.All | Application.Read.All, Directory.Read.All, User.ReadBasic.All |
| Invoke-EntraPasswordPolicyCheck | User.Read.All, Directory.Read.All, AuditLog.Read.All | User.ReadBasic.All, Directory.Read.All |
| Invoke-EntraLicenseCheck | Directory.Read.All, User.Read.All | User.ReadBasic.All |
| Invoke-EntraLegacyAuthCheck | AuditLog.Read.All, Directory.Read.All, User.Read.All, UserAuthenticationMethod.Read.All | Directory.Read.All, User.ReadBasic.All |
| Invoke-EntraSSPRCheck | User.Read.All, UserAuthenticationMethod.Read.All, Reports.Read.All, AuditLog.Read.All | User.ReadBasic.All, Reports.Read.All |
| Invoke-EntraStaleAccountCheck | User.Read.All, Directory.Read.All, AuditLog.Read.All | User.ReadBasic.All, Directory.Read.All |
| Invoke-EntraAppAccess | Application.Read.All, Directory.Read.All, User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.All | Application.Read.All, Directory.Read.All, User.ReadBasic.All |
| Invoke-EntraPIMCheck | Directory.Read.All, User.Read.All, RoleManagement.Read.Directory, PrivilegedAccess.Read.AzureAD | Directory.Read.All, User.ReadBasic.All |