Grimorio de XTORMIN
Xtormin GithubLinkedIn
  • Home
  • 🧠IA / AI
    • Investigación y automatización
    • IA en local
    • Plantillas de prompts
      • Informes de pentesting
  • 🏢Pentesting en Infraestructuras
    • Intrusión física
    • Redes Wi-Fi
      • Herramientas
      • Metodología de Pentest Wifi
      • WEP
      • WPA2-PSK / Red personal
      • WPA2-MGT / Red corporativa
    • Cloud
      • 🔷Azure
        • Herramientas
        • Metodología de Azure Pentest
        • AzureAD
        • Az Powershell
        • Az Cli
        • Portal de Azure
    • Perímetro
      • Acceso remoto
    • Red interna
      • Windows
      • Active directory
        • Enumeración manual
    • Servicios
      • FTP - 21/tcp
      • SSH - 22/tcp
      • DNS - 53/UDP
      • SMB - 135, 445 /tcp
      • SNMP - 161, 162, 10161, 10162/udp
      • IPMI - 623/udp/tcp
      • RDP - 3389/TCP
      • Redis - 6379/tcp
    • Misc
      • Transferencia de ficheros
  • 🌐Pentesting en aplicaciones web
    • General
      • Ataques y vulnerabilidades
        • Autenticación
          • Vulnerabilidades JWT
        • Javascript
          • XSS
          • Contaminación de prototipos - Prototype pollution
        • GraphQL
      • Explotación
        • Webshell
    • Tecnología
      • Jenkins
      • Salesforce
  • ⚒️Herramientas comunes
    • Recursos generales
    • Nmap
    • Nuclei
    • BloodHound
  • 👾MISC
    • [ Kali ] Setup
      • VPN
Con tecnología de GitBook
En esta página
  • Instalación
  • AzureAD
  • AzureADPreview
  • Conexión
  • Popup
  • Línea de comandos
  • Token
  • Información general
  • Sesión actual
  • Tenant
  • Usuarios
  • Grupos
  • Roles
  • Dispositivos
  • Aplicaciones
  • Service Principals

¿Te fue útil?

  1. Pentesting en Infraestructuras
  2. Cloud
  3. Azure

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.

Popup

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

"Service principal" es la representación local para una aplicación en un tenant específico y es el objeto de seguridad que tiene privilegios. Se trata de la «cuenta servicio».

  • 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 *
AnteriorMetodología de Azure PentestSiguienteAz Powershell

Última actualización hace 1 año

¿Te fue útil?

🏢
🔷