
Audite les configurations Azure AD et Exchange Online pour les autorisations difficiles à trouver, les approbations de fédération, les règles de transfert de courrier et les accès délégués afin d'aider les organisations à sécuriser leurs environnements cloud.
Cet outil interroge les configurations suivantes dans le locataire Azure AD/O365, qui peuvent mettre en lumière des autorisations et des paramètres de configuration difficiles à trouver, afin d'aider les organisations à sécuriser ces environnements.
Exchange Online (O365) :
Azure AD :
Interrogation des informations sur les partenaires du locataire : Pour consulter les informations sur les partenaires du locataire, y compris les rôles attribués à vos partenaires, vous devez vous connecter au Centre d'administration Microsoft 365 en tant qu'administrateur général :
https://admin.microsoft.com/AdminPortal/Home#/partners
Les modules PowerShell suivants sont requis et seront installés automatiquement :
REMARQUE : Pour obtenir l'ensemble complet des configurations interrogées, le rôle suivant est requis :
Lorsque les privilèges d'administrateur général ne sont pas disponibles, l'outil vous informera des informations qui ne vous seront pas accessibles en conséquence.
Aucun paramètre spécifié : Un dossier nommé avec la date et l'heure (YYYYDDMMTHHMM) sera créé automatiquement dans le répertoire à partir duquel le script est exécuté. La méthode d'authentification par défaut demandera une connexion pour chaque connexion pour la compatibilité avec l'authentification multifacteur (MFA).
.\Get-CRTReport.ps1
Paramètre -BasicAuth :
[FACULTATIF] Si l'authentification multifacteur n'est pas appliquée pour votre principal d'utilisateur, vous pouvez utiliser ce paramètre qui ne demandera qu'une seule fois l'authentification et stockera les informations d'identification à l'aide de Get-Credential. (Non recommandé)
.\Get-CRTReport.ps1 -BasicAuth
Paramètre -JobName :
[FACULTATIF] Utilisez le paramètre JobName pour distinguer différents locataires. Si aucun JobName n'est spécifié, un dossier formaté avec la date/heure sera placé dans le répertoire de travail.
.\Get-CRTReport.ps1 -JobName MyJobName
Paramètre -WorkingDirectory :
[FACULTATIF] Si vous souhaitez spécifier un répertoire de travail différent pour vos travaux, vous pouvez le faire avec ce paramètre. Le répertoire de travail par défaut est le répertoire à partir duquel le script est exécuté.
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder'
Paramètre -Commands :
[FACULTATIF] Avec ce paramètre, spécifiez les commandes spécifiques que vous souhaitez exécuter entre guillemets, séparées par des virgules ou des espaces.
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder' -Commands "Command1,Command2"
Paramètre -AzureEnvironmentName & -ExchangeEnvironmentName :
[FACULTATIF] Avec ce paramètre, spécifiez les noms des environnements Azure ou Exchange. En utilisant la complétion par tabulation, vous pouvez rechercher les valeurs acceptables.
.\Get-CRTReport.ps1 -ExchangeEnvironmentName O365USGovGCCHigh -AzureEnvironmentName AzureUSGovernment
Commandes disponibles :
FedConfig
FedTrust
ClientAccess
RemoteDomains
SMTPForward
TransportRules
FullAccessGranted
AnyAccessGranted
SendAsGranted
EXOPowerShell
AuditBypassEnabled
HiddenMailboxes
KeyCredentials
O365AdminGroups
DelegateAppPerms
AdminAuditLogConfig
Paramètre -Interactive :
[FACULTATIF] Certaines commandes peuvent prendre beaucoup de temps à traiter en fonction de la quantité de données dans le locataire. En utilisant le paramètre Interactive, vous aurez la possibilité de sauter une commande particulière avant l'exécution du module.
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder' -Interactive
À chaque exécution, CRT générera un rapport pour chaque requête en json ainsi que dans des formats plus lisibles, .TXT et .CSV :
Aucun paramètre spécifié : Un dossier nommé avec la date et l'heure (YYYYDDMMTHHMM) sera créé automatiquement dans le répertoire à partir duquel le script est exécuté. Pour prendre en charge l'authentification multifacteur, la méthode d'authentification par défaut demandera à l'utilisateur de se connecter pour chaque connexion.
YYYYDDMMTHHMM\output.log (copie papier de la journalisation de la console)YYYYDDMMTHHMM\_CRTReportSummary.txt (Résumé des scripts exécutés et conseils d'investigation pour l'orientation)YYYYDDMMTHHMM\Reports\<report>.csv (Rapport en sortie CSV, le cas échéant)YYYYDDMMTHHMM\Reports\<report>.txt (Rapport en sortie TXT, le cas échéant)YYYYDDMMTHHMM\Reports\json\<report>.json (Chaque rapport est accompagné d'une sortie JSON pour une verbosité supplémentaire)Get-EXOMailbox -ResultSize Unlimited | Get-EXOMailboxPermission | Where-Object { ($_.IsInherited -eq $false) -and -not ($_.User -like "NT AUTHORITY\SELF")} | Export-Csv "AnyAssignedPerms.csv" -NoTypeInformation -Encoding Default
Get-EXOMailbox -ResultSize Unlimited | Get-EXOMailboxPermission | Where-Object { ($_.AccessRights -eq "FullAccess") -and ($_.IsInherited -eq $false) -and -not ($_.User -like "NT AUTHORITY\SELF")} | Export-Csv "FullAccessPerms.csv" -NoTypeInformation -Encoding Default
Si vous avez trouvé un bogue, veuillez utiliser l'onglet Issues pour signaler un nouveau problème ou ajouter vos commentaires à un problème existant.
Si vous avez des recommandations pour l'outil ou si vous avez besoin d'une escalade critique, veuillez envoyer un courriel à : [email protected].