
Prüft Azure AD- und Exchange Online-Konfigurationen auf schwer auffindbare Berechtigungen, Verbundvertrauensstellungen, E-Mail-Weiterleitungsregeln und delegierten Zugriff, um Organisationen dabei zu helfen, ihre Cloud-Umgebungen zu sichern.
Dieses Tool fragt die folgenden Konfigurationen im Azure AD/O365-Mandanten ab, die Aufschluss über schwer auffindbare Berechtigungen und Konfigurationseinstellungen geben können, um Unternehmen bei der Sicherung dieser Umgebungen zu unterstützen.
Exchange Online (O365):
Azure AD:
Partnerinformationen des Mandanten abfragen: Um Partnerinformationen des Mandanten, einschließlich den Ihren Partnern zugewiesenen Rollen, anzuzeigen, müssen Sie sich als Globaler Administrator beim Microsoft 365 Admin Center anmelden:
https://admin.microsoft.com/AdminPortal/Home#/partners
Die folgenden PowerShell-Module werden benötigt und automatisch installiert:
HINWEIS: Um den vollen Umfang der abgefragten Konfigurationen zurückzugeben, ist die folgende Rolle erforderlich:
Wenn keine globalen Administratorrechte verfügbar sind, teilt Ihnen das Tool mit, welche Informationen Ihnen dadurch nicht zur Verfügung stehen.
Keine Parameter angegeben: Ein Ordner mit Datum und Uhrzeit (YYYYDDMMTHHMM) wird automatisch im Verzeichnis erstellt, in dem das Skript ausgeführt wird. Die Standardauthentifizierungsmethode fordert bei jeder Verbindung zur Eingabe auf, um die Kompatibilität mit MFA zu gewährleisten.
.\Get-CRTReport.ps1
-BasicAuth-Parameter:
[OPTIONAL] Wenn MFA für Ihren Benutzerprinzipal nicht erzwungen wird, können Sie diesen Parameter verwenden, der nur einmal zur Authentifizierung auffordert und die Anmeldeinformationen mit Get-Credential speichert. (Nicht empfohlen)
.\Get-CRTReport.ps1 -BasicAuth
-JobName-Parameter:
[OPTIONAL] Verwenden Sie den JobName-Parameter, um zwischen verschiedenen Mandanten zu unterscheiden. Wenn kein JobName angegeben wird, wird ein Ordner mit Datum/Uhrzeit im Arbeitsverzeichnis erstellt.
.\Get-CRTReport.ps1 -JobName MyJobName
-WorkingDirectory-Parameter:
[OPTIONAL] Wenn Sie ein anderes Arbeitsverzeichnis für Ihre Aufträge angeben möchten, können Sie dies mit diesem Parameter tun. Das Standardarbeitsverzeichnis ist das Verzeichnis, in dem das Skript ausgeführt wird.
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder'
-Commands-Parameter:
[OPTIONAL] Mit diesem Parameter geben Sie die spezifischen Befehle an, die Sie ausführen möchten, in Anführungszeichen, durch Komma oder Leerzeichen getrennt.
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder' -Commands "Command1,Command2"
-AzureEnvironmentName & -ExchangeEnvironmentName-Parameter:
[OPTIONAL] Mit diesem Parameter geben Sie die Namen der Azure- oder Exchange-Umgebungen an. Mit der Tabulatorvervollständigung können Sie die zulässigen Werte durchsuchen.
.\Get-CRTReport.ps1 -ExchangeEnvironmentName O365USGovGCCHigh -AzureEnvironmentName AzureUSGovernment
Verfügbare Befehle:
FedConfig
FedTrust
ClientAccess
RemoteDomains
SMTPForward
TransportRules
FullAccessGranted
AnyAccessGranted
SendAsGranted
EXOPowerShell
AuditBypassEnabled
HiddenMailboxes
KeyCredentials
O365AdminGroups
DelegateAppPerms
AdminAuditLogConfig
-Interactive-Parameter:
[OPTIONAL] Einige Befehle können je nach Datenmenge im Mandanten lange dauern. Mit dem Interactive-Parameter haben Sie die Möglichkeit, einen bestimmten Befehl zu überspringen, bevor das Modul ausgeführt wird.
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder' -Interactive
Bei jeder Ausführung gibt CRT einen Bericht für jede Abfrage im JSON- sowie besser lesbaren TXT- und CSV-Formaten aus:
Keine Parameter angegeben: Ein Ordner mit Datum und Uhrzeit (YYYYDDMMTHHMM) wird automatisch im Verzeichnis erstellt, in dem das Skript ausgeführt wird. Um MFA zu unterstützen, fordert die Standardauthentifizierungsmethode den Benutzer auf, sich für jede Verbindung anzumelden.
YYYYDDMMTHHMM\output.log (Hardcopy der Konsolenprotokollierung)YYYYDDMMTHHMM\_CRTReportSummary.txt (Zusammenfassung der ausgeführten Skripte und Untersuchungstipps als Orientierungshilfe)YYYYDDMMTHHMM\Reports\<report>.csv (Bericht im CSV-Format, sofern zutreffend)YYYYDDMMTHHMM\Reports\<report>.txt (Bericht im TXT-Format, sofern zutreffend)YYYYDDMMTHHMM\Reports\json\<report>.json (Jeder Bericht wird für zusätzliche Ausführlichkeit mit einer JSON-Ausgabe begleitet)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
Wenn Sie einen Fehler gefunden haben, verwenden Sie bitte den Reiter „Issues“, um ein neues Problem zu melden oder Ihre Kommentare zu einem bestehenden hinzuzufügen.
Wenn Sie Empfehlungen für das Tool haben oder eine kritische Eskalation benötigen, senden Sie bitte eine E-Mail an: [email protected].