AzureAD

Permite administrar Azure AD. Los módulos de PowerShell de Azure AD y MSOnline están en desuso a partir del 30 de marzo de 2024. La opción alternativa y actualizada es Microsoft Graph PowerShell.

Instalación

AzureAD

Install-Module AzureAD
o
Import-Module C:\Pentest\Tools\AzureAD\AzureAD.psd1

AzureADPreview

Install-Module AzureADPreview

Conexión

Una vez se hayan obtenido credenciales válidas, se podría utilizar la herramienta de AzureAD para conectarse al Tenant y enumerar información haciendo uso de la sesión del usuario.

Connect-AzureAD
Account                      Environment TenantId                             TenantDomain AccountType
-------                      ----------- --------                             ------------ -----------
xtormin@xtormincorp.com      AzureCloud  11081700-e4e1-4313-bf78-41fae513bbe6 xtormincorp.com  User

Línea de comandos

$passwd = ConvertTo-SecureString "<password>" -AsPlainText -Force
$creds = New-Object System.Management.Automation.PSCredential("<email>", $passwd)
Connect-AzureAD -Credential $creds

Token

  • Conexión con información del access token, tenantId y accountId:

Connect-AzureAD -AadAccessToken <JWT> -TenantId "1d50cb29-5f5b-48a4-87ce-fe75a941adb6" -AccountId "f66e433c-bd01-4b0b-b3b7-7cd749fd45f3"

Información general

Sesión actual

Get-AzureADCurrentSessionInfo
Account                      Environment TenantId                             TenantDomain AccountType
-------                      ----------- --------                             ------------ -----------
xtormin@xtormincorp.com      AzureCloud  11081700-e4e1-4313-bf78-41fae513bbe6 xtormincorp.com  User

Tenant

Get-AzureADTenantDetail
ObjectId                             DisplayName            VerifiedDomain
--------                             -----------            --------------
11081700-e4e1-4313-bf78-41fae513bbe6 Xtormin Corp.          xtormincorp.com

Usuarios

  • Todos los usuarios:

Get-AzureADUser -All $true
ObjectId                             DisplayName               UserPrincipalName            UserType
--------                             -----------               -----------------            --------
04ee91f2-4cd2-456c-b546-9f6401b08de4 Jennifer Torres           xtormin@xtormincorp.com      Member
[...]
  • Un usuario en concreto:

Get-AzureADUser -ObjectId xtormin@xtormincorp.com
  • Buscar todos los usuarios que contengan la cadena "admin" en el DisplayName:

Get-AzureADUser -All $true | ?{$_.Displayname -match "admin"}
  • Obtener todos los atributos de un usuario:

Get-AzureADUser -ObjectId xtormin@xtormincorp.com | fl *
  • Listado de atributos del usuario:

Get-AzureADUser -ObjectId xtormin@xtormincorp.com | %{$_.PSObject.Properties.Name}
  • Buscar los atributos de los usuarios que contengan la cadena "password":

Get-AzureADUser -All $true | %{$Properties = $_;$Properties.PSObject.Properties.Name | % {if ($Properties.$_ -match 'password') {"$($Properties.UserPrincipalName) - $_ - $($Properties.$_)"}}}
  • Todos los usuarios que se han sincronizado desde un AD on-premise: Es útil para obtener la lista de usuarios principales de la organización ya que no muestra los usuarios externos.

Get-AzureADUser -All $true | ?{$_.OnPremisesSecurityIdentifier -ne $null}
  • Todos los usuarios de AzureAD: Es útil para obtener una lista con los usuarios creados en AzureAD y obtener los usuarios externos.

Get-AzureADUser -All $true | ?{$_.OnPremisesSecurityIdentifier -eq $null}
  • Lista de todos los objetos creados por los todos usuarios:

Get-AzureADUser | Get-AzureADUserCreatedObject
  • Lista de todos los objetos creados por un usuario:

Get-AzureADUserOwnedObject -ObjectId

Grupos

  • Todos los grupos:

Get-AzureADGroup -All $true
  • Detalles de un grupo en concreto:

Get-AzureADGroup -ObjectId 7c63dd47-91ed-45c4-9081-427ad616347f
  • Buscar grupos que empiecen por una cadena (por ejemplo: admin):

Get-AzureADGroup -SearchString "admin" | fl *
  • Buscar grupos que contengan una cadena (por ejemplo: admin):

Get-AzureADGroup -All $true |?{$_.Displayname -match "admin"}
  • Buscar grupos que permitan "DynamicMembership":

Get-AzureADMSGroup | ?{$_.GroupTypes -eq 'DynamicMembership'}
  • Todos los grupos que se han sincronizado desde on-prem:

Get-AzureADGroup -All $true | ?{$_.OnPremisesSecurityIdentifier -ne $null}
  • Todos los grupos de AzureAD:

Get-AzureADGroup -All $true | ?{$_.OnPremisesSecurityIdentifier -eq $null}
  • Obtener los miembros de un grupo:

Get-AzureADGroupMember -ObjectId 7c63dd47-98ed-45c4-9081-427ad616347f
  • Obtener grupos y roles donde el usuario es miembro:

Get-AzureADUser -SearchString 'test' | Get-AzureADUserMembership

Get-AzureADUserMembership -ObjectId xtormin@xtormincorp.onmicrosoft.com

Roles

  • Obtener todas las plantillas de roles disponibles:

Get-AzureADDirectoryroleTemplate
  • Obtener todos los roles habilitados (han sido asignados al menos a un usuario):

Get-AzureADDirectoryRole
  • Obtener usuarios asignados a un rol:

Get-AzureADDirectoryRole -Filter "DisplayName eq 'Global Administrator'" | Get-AzureADDirectoryRoleMember

Dispositivos

  • Obtener todos los dispositivos registrados y unidos a azure:

Get-AzureADDevice -All $true | fl *
  • Obtener el objeto de configuración de dispositivos:

Get-AzureADDeviceConfiguration | fl *
  • Obtener todos los dispositivos activos:

Get-AzureADDevice -All $true | ?{$_.ApproximateLastLogonTimeStamp -ne $null}
  • Obtener los propietarios registrados:

Get-AzureADDevice -All $true | Get-AzureADDeviceRegisteredOwner

Get-AzureADDevice -All $true | %{if($user=Get-AzureADDeviceRegisteredOwner -ObjectId $_.ObjectID){$_;$user.UserPrincipalName;"`n"}}
  • Obtener los usuarios registrados:

Get-AzureADDevice -All $true | Get-AzureADDeviceRegisteredUser

Get-AzureADDevice -All $true | %{if($user=Get-AzureADDeviceRegisteredUser -ObjectId $_.ObjectID){$_;$user.UserPrincipalName;"`n"}}
  • Dispositivos propiedad de un usuario:

Get-AzureADUserOwnedDevice -ObjectId xtormin@xtormincorp.onmicrosoft.com
  • Dispositivos registrados por un usuario:

Get-AzureADUserRegisteredDevice -ObjectId xtormin@xtormincorp.onmicrosoft.com
  • Dispositivos administrados por Intune:

Get-AzureADDevice -All $true | ?{$_.IsCompliant -eq "True"}

Aplicaciones

  • Obtener todos los objetos de aplicaciones registradas en el tenant actual:

Get-AzureADApplication -All $true
  • Obtener los detalles de una aplicación:

Get-AzureADApplication -ObjectId fa656d62-b53a-431d-b40c-b0a8757892d2 | fl *
  • Obtener una aplicación según su "Display Name":

Get-AzureADApplication -All $true | ?{$_.DisplayName -match "app"}
  • Obtener las aplicaciones que cuentan con contraseña:

Get-AzureADApplication -All $true | %{if(Get-AzureADApplicationPasswordCredential -ObjectID $_.ObjectID){$_}}
  • Obtener el owner de una aplicación:

Get-AzureADApplication -ObjectId fa656d61-b55a-431d-b44c-b0a8658897d2 | Get-AzureADApplicationOwner |fl *
  • Obtener las aplicaciones donde el usuario tiene un rol asignado:

Get-AzureADUser -ObjectId xtormin@xtormincorp.onmicrosoft.com | Get-AzureADUserAppRoleAssignment | fl *
  • Obtener las aplicaciones donde un grupo tiene un rol asignado:

Get-AzureADGroup -ObjectId 54787e13-4374-4b05-85a1-5cfe4b3ddc98 | Get-AzureADGroupAppRoleAssignment | fl *

Service Principals

  • Obtener todos los Service Principals:

Get-AzureADServicePrincipal -All $true
  • Obtener todos los detalles de un Service Principal:

Get-AzureADServicePrincipal -ObjectId ff2612c5-7168-4fed-b571-2f7c5c31b066 | fl *
  • Obtener todos los detalles según su Display Name:

Get-AzureADServicePrincipal -All $true | ?{$_.DisplayName -match "app"}
  • Obtener todos los Service Principals que requieren contraseña:

Get-AzureADServicePrincipal -All $true | %{if(Get-AzureADServicePrincipalKeyCredential -ObjectID $_.ObjectID){$_}}
  • Obtener propietario de un Service Principal:

Get-AzureADServicePrincipal -ObjectId 60a70e2b-c1bd-453b-928e-f7398ebe3660 | Get-AzureADServicePrincipalOwner |fl *
  • Obtener los objetos que son propietarios de un Service Principal:

Get-AzureADServicePrincipal -ObjectId ff1601c6-7368-7fed-b672-2f7c5c31b066 | Get-AzureADServicePrincipalOwnedObject
  • Objetos creados por un Service Principal:

Get-AzureADServicePrincipal -ObjectId f5ac063d-7ddc-3e7c-aabc-f135b00a972c | Get-AzureADServicePrincipalCreatedObject
  • Obtener grupo y roles de un Service Principal:

Get-AzureADServicePrincipal -ObjectId f4ac083d-7ddc-3e7c-aabc-f231b00a972c | Get-AzureADServicePrincipalMembership |fl *

Última actualización

¿Te fue útil?