
Audita configurações do Azure AD e Exchange Online em busca de permissões difíceis de encontrar, relações de confiança de federação, regras de encaminhamento de e-mail e acesso delegado para ajudar organizações a proteger seus ambientes em nuvem.
Esta ferramenta consulta as seguintes configurações no tenant Azure AD/O365 que podem esclarecer permissões e definições de configuração difíceis de encontrar, a fim de ajudar as organizações a proteger esses ambientes.
Exchange Online (O365):
Azure AD:
Consultando Informações de Parceiro do Tenant: Para visualizar as Informações do Parceiro do Tenant, incluindo funções atribuídas aos seus parceiros, você deve fazer login no Centro de Administração do Microsoft 365 como Administrador Global:
https://admin.microsoft.com/AdminPortal/Home#/partners
Os seguintes módulos do PowerShell são necessários e serão instalados automaticamente:
NOTA: Para retornar toda a extensão das configurações sendo consultadas, a seguinte função é necessária:
Quando os privilégios de Administrador Global não estiverem disponíveis, a ferramenta notificará você sobre quais informações não estarão disponíveis como resultado.
Nenhum parâmetro especificado: Uma pasta nomeada com data e hora (YYYYDDMMTHHMM) será criada automaticamente no diretório onde o script está sendo executado. O método de autenticação padrão solicitará autenticação para cada conexão para compatibilidade com MFA.
.\Get-CRTReport.ps1
Parâmetro -BasicAuth:
[OPCIONAL] Se o MFA não for obrigatório para seu usuário principal, você pode usar este parâmetro, que solicitará autenticação apenas uma vez e armazenará as credenciais usando Get-Credential. (Não Recomendado)
.\Get-CRTReport.ps1 -BasicAuth
Parâmetro -JobName:
[OPCIONAL] Use o parâmetro JobName para distinguir entre diferentes tenants. Se nenhum JobName for especificado, uma pasta formatada com Data/Hora será colocada dentro do diretório de trabalho.
.\Get-CRTReport.ps1 -JobName MyJobName
Parâmetro -WorkingDirectory:
[OPCIONAL] Se você quiser especificar um diretório de trabalho diferente para seus jobs, pode fazê-lo com este parâmetro. O diretório de trabalho padrão é o diretório onde o script está sendo executado.
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder'
Parâmetro -Commands:
[OPCIONAL] Com este parâmetro, especifique os comandos específicos que deseja executar entre aspas, separados por vírgula ou espaço.
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder' -Commands "Command1,Command2"
Parâmetro -AzureEnvironmentName & -ExchangeEnvironmentName:
[OPCIONAL] Com este parâmetro, especifique os nomes dos ambientes Azure ou Exchange. Usando o preenchimento com Tab, você pode pesquisar os valores aceitáveis.
.\Get-CRTReport.ps1 -ExchangeEnvironmentName O365USGovGCCHigh -AzureEnvironmentName AzureUSGovernment
Comandos Disponíveis:
FedConfig
FedTrust
ClientAccess
RemoteDomains
SMTPForward
TransportRules
FullAccessGranted
AnyAccessGranted
SendAsGranted
EXOPowerShell
AuditBypassEnabled
HiddenMailboxes
KeyCredentials
O365AdminGroups
DelegateAppPerms
AdminAuditLogConfig
Parâmetro -Interactive:
[OPCIONAL] Alguns comandos podem demorar muito para processar, dependendo da quantidade de dados no tenant. Usando o parâmetro Interactive, você terá a opção de pular qualquer comando específico antes da execução do módulo.
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder' -Interactive
A cada execução, o CRT gerará um relatório para cada consulta em json, bem como em formatos mais legíveis, .TXT e .CSV:
Nenhum parâmetro especificado: Uma pasta nomeada com data e hora (YYYYDDMMTHHMM) será criada automaticamente no diretório onde o script está sendo executado. Para suportar MFA, o método de autenticação padrão solicitará que o usuário faça login para cada conexão.
YYYYDDMMTHHMM\output.log (cópia física do registro do console)YYYYDDMMTHHMM\_CRTReportSummary.txt (Resumo dos scripts executados e dicas investigativas para orientação)YYYYDDMMTHHMM\Reports\<report>.csv (Relatório em saída CSV, quando aplicável)YYYYDDMMTHHMM\Reports\<report>.txt (Relatório em saída TXT, quando aplicável)YYYYDDMMTHHMM\Reports\json\<report>.json (Cada relatório é acompanhado por saída JSON para maior verbosidade)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
Se você encontrou um bug, use a guia Issues para relatar um novo problema ou adicionar seus comentários a um já existente.
Se você tiver recomendações para a ferramenta ou precisar de escalonamento crítico, envie um e-mail para: [email protected].