
Audita configuraciones de Azure AD y Exchange Online en busca de permisos difíciles de encontrar, relaciones de confianza de federación, reglas de reenvío de correo y acceso delegado para ayudar a las organizaciones a asegurar sus entornos en la nube.
Esta herramienta consulta las siguientes configuraciones en el inquilino de Azure AD/O365 que pueden arrojar luz sobre permisos y ajustes de configuración difíciles de encontrar para ayudar a las organizaciones a asegurar estos entornos.
Exchange Online (O365):
Azure AD:
Consultar información de socios del inquilino: Para ver la información de socios del inquilino, incluidos los roles asignados a sus socios, debe iniciar sesión en el Centro de administración de Microsoft 365 como administrador global:
https://admin.microsoft.com/AdminPortal/Home#/partners
Los siguientes módulos de PowerShell son necesarios y se instalarán automáticamente:
NOTA: Para devolver la totalidad de las configuraciones consultadas, se requiere el siguiente rol:
Cuando no se disponga de privilegios de administrador global, la herramienta le notificará qué información no estará disponible como consecuencia.
Sin parámetros especificados: Se creará automáticamente una carpeta con nombre de fecha y hora (YYYYDDMMTHHMM) en el directorio desde donde se ejecuta el script. El método de autenticación predeterminado solicitará cada conexión para compatibilidad con MFA.
.\Get-CRTReport.ps1
Parámetro -BasicAuth:
[OPCIONAL] Si MFA no está impuesto para su principal de usuario, puede usar este parámetro que solo solicitará autenticación una vez y almacenará las credenciales usando Get-Credential. (No recomendado)
.\Get-CRTReport.ps1 -BasicAuth
Parámetro -JobName:
[OPCIONAL] Use el parámetro JobName para distinguir entre diferentes inquilinos. Si no se especifica JobName, se colocará una carpeta con formato de fecha/hora dentro del directorio de trabajo.
.\Get-CRTReport.ps1 -JobName MyJobName
Parámetro -WorkingDirectory:
[OPCIONAL] Si desea especificar un directorio de trabajo diferente para sus trabajos, puede hacerlo con este parámetro. El directorio de trabajo predeterminado es el directorio desde donde se ejecuta el script.
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder'
Parámetro -Commands:
[OPCIONAL] Con este parámetro, especifique los comandos específicos que desea ejecutar entre comillas, separados por comas o espacios.
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder' -Commands "Command1,Command2"
Parámetros -AzureEnvironmentName y -ExchangeEnvironmentName:
[OPCIONAL] Con este parámetro, especifique los nombres de los entornos de Azure o Exchange. Usando la finalización con tabulación puede buscar los valores aceptables.
.\Get-CRTReport.ps1 -ExchangeEnvironmentName O365USGovGCCHigh -AzureEnvironmentName AzureUSGovernment
Comandos disponibles:
FedConfig
FedTrust
ClientAccess
RemoteDomains
SMTPForward
TransportRules
FullAccessGranted
AnyAccessGranted
SendAsGranted
EXOPowerShell
AuditBypassEnabled
HiddenMailboxes
KeyCredentials
O365AdminGroups
DelegateAppPerms
AdminAuditLogConfig
Parámetro -Interactive:
[OPCIONAL] Algunos comandos pueden tardar mucho tiempo en procesarse dependiendo de la cantidad de datos en el inquilino. Usando el parámetro Interactive, tendrá la opción de omitir cualquier comando en particular antes de que el módulo se ejecute.
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder' -Interactive
Con cada ejecución, CRT generará un informe para cada consulta en json, así como en formatos más legibles .TXT y .CSV:
Sin parámetros especificados: Se creará automáticamente una carpeta con nombre de fecha y hora (YYYYDDMMTHHMM) en el directorio desde donde se ejecuta el script. Para admitir MFA, el método de autenticación predeterminado solicitará al usuario que inicie sesión para cada conexión.
YYYYDDMMTHHMM\output.log (copia impresa del registro de consola)YYYYDDMMTHHMM\_CRTReportSummary.txt (Resumen de scripts ejecutados y consejos de investigación para orientación)YYYYDDMMTHHMM\Reports\<report>.csv (Informe en salida CSV, cuando corresponda)YYYYDDMMTHHMM\Reports\<report>.txt (Informe en salida TXT, cuando corresponda)YYYYDDMMTHHMM\Reports\json\<report>.json (Cada informe va acompañado de salida JSON para mayor verbosidad)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 ha encontrado un error, use la pestaña Issues para informar un nuevo problema o agregar sus comentarios a uno existente.
Si tiene alguna recomendación para la herramienta o requiere una escalación crítica, envíe un correo electrónico a: [email protected].