
Проверяет конфигурации Azure AD и Exchange Online на наличие труднообнаруживаемых разрешений, доверий федерации, правил пересылки почты и делегированного доступа, чтобы помочь организациям защитить свои облачные среды.
Этот инструмент запрашивает следующие конфигурации в клиенте Azure AD/O365, которые могут пролить свет на труднодоступные разрешения и настройки конфигурации, чтобы помочь организациям в обеспечении безопасности этих сред.
Exchange Online (O365):
Azure AD:
Запрос информации о партнерах клиента: Чтобы просмотреть информацию о партнерах клиента, включая роли, назначенные вашим партнерам, вы должны войти в Центр администрирования Microsoft 365 как глобальный администратор:
https://admin.microsoft.com/AdminPortal/Home#/partners
Следующие модули PowerShell требуются и будут установлены автоматически:
ПРИМЕЧАНИЕ: Для возврата полного объема запрашиваемых конфигураций требуется следующая роль:
Если привилегии глобального администратора недоступны, инструмент уведомит вас о том, какая информация не будет вам доступна в результате.
Без указания параметров: Папка с именем, содержащим дату и время (YYYYDDMMTHHMM), будет автоматически создана в каталоге, из которого запускается скрипт. Метод аутентификации по умолчанию будет запрашивать каждое подключение для совместимости с MFA.
.\Get-CRTReport.ps1
-BasicAuth Параметр:
[ОПЦИОНАЛЬНО] Если MFA не применяется для вашего пользовательского субъекта, вы можете использовать этот параметр, который запросит аутентификацию только один раз и сохранит учетные данные с помощью Get-Credential. (Не рекомендуется)
.\Get-CRTReport.ps1 -BasicAuth
-JobName Параметр:
[ОПЦИОНАЛЬНО] Используйте параметр JobName для различения разных клиентов. Если JobName не указан, папка с форматированием даты/времени будет помещена в рабочий каталог.
.\Get-CRTReport.ps1 -JobName MyJobName
-WorkingDirectory Параметр:
[ОПЦИОНАЛЬНО] Если вы хотите указать другой рабочий каталог для ваших задач, вы можете сделать это с помощью этого параметра. Рабочий каталог по умолчанию - это каталог, из которого запускается скрипт.
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder'
-Commands Параметр:
[ОПЦИОНАЛЬНО] С помощью этого параметра укажите конкретные команды, которые вы хотите выполнить, в кавычках, разделенные запятыми или пробелами.
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder' -Commands "Command1,Command2"
-AzureEnvironmentName и -ExchangeEnvironmentName Параметр:
[ОПЦИОНАЛЬНО] С помощью этого параметра укажите имена сред Azure или Exchange. Используя автодополнение по табуляции, вы можете найти допустимые значения.
.\Get-CRTReport.ps1 -ExchangeEnvironmentName O365USGovGCCHigh -AzureEnvironmentName AzureUSGovernment
Доступные команды:
FedConfig
FedTrust
ClientAccess
RemoteDomains
SMTPForward
TransportRules
FullAccessGranted
AnyAccessGranted
SendAsGranted
EXOPowerShell
AuditBypassEnabled
HiddenMailboxes
KeyCredentials
O365AdminGroups
DelegateAppPerms
AdminAuditLogConfig
-Interactive Параметр:
[ОПЦИОНАЛЬНО] Некоторые команды могут обрабатываться долго в зависимости от объема данных в клиенте. Используя параметр Interactive, у вас будет возможность пропустить любую конкретную команду перед запуском модуля.
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder' -Interactive
При каждом запуске CRT выводит отчет для каждого запроса в формате json, а также в более читаемых форматах .TXT и .CSV:
Без указания параметров: Папка с именем, содержащим дату и время (YYYYDDMMTHHMM), будет автоматически создана в каталоге, из которого запускается скрипт. Для поддержки MFA метод аутентификации по умолчанию предложит пользователю войти для каждого подключения.
YYYYDDMMTHHMM\output.log (твердая копия журнала консоли)YYYYDDMMTHHMM\_CRTReportSummary.txt (Сводка выполненных скриптов и рекомендации по расследованию)YYYYDDMMTHHMM\Reports\<report>.csv (Отчет в формате CSV, если применимо)YYYYDDMMTHHMM\Reports\<report>.txt (Отчет в формате TXT, если применимо)YYYYDDMMTHHMM\Reports\json\<report>.json (Каждый отчет сопровождается выводом в формате JSON для дополнительной детализации)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
Если вы нашли ошибку, пожалуйста, используйте вкладку Issues, чтобы сообщить о новой проблеме или добавить свои комментарии к существующей.
Если у вас есть какие-либо рекомендации по инструменту или требуется критическая эскалация, пожалуйста, напишите на электронную почту: [email protected].