Azure Active Directory (Azure AD) sirve como el servicio basado en la nube de Microsoft para la gestión de identidad y acceso. Es fundamental para permitir que los empleados inicien sesión y accedan a recursos, tanto dentro como fuera de la organización, abarcando Microsoft 365, el portal de Azure y una multitud de otras aplicaciones SaaS. El diseño de Azure AD se centra en ofrecer servicios de identidad esenciales, incluyendo autenticación, autorización y gestión de usuarios.
Las características clave de Azure AD incluyen autenticación multifactor y acceso condicional, junto con una integración perfecta con otros servicios de seguridad de Microsoft. Estas características elevan significativamente la seguridad de las identidades de usuario y permiten a las organizaciones implementar y hacer cumplir eficazmente sus políticas de acceso. Como componente fundamental del ecosistema de servicios en la nube de Microsoft, Azure AD es crucial para la gestión basada en la nube de identidades de usuario.
AzureAD es un módulo de PowerShell de Microsoft para gestionar Azure AD. No muestra todas las propiedades de los objetos de Azure AD y no se puede utilizar para acceder a la información de los recursos de Azure.
Az PowerShell es un módulo para gestionar recursos de Azure desde la línea de comandos de PowerShell.
Conexión
azlogin#This will open the browserazlogin-u<username>-p<password>#Specify user and passwordazlogin--identity#Use the current machine managed identity (metadata)az login --identity -u /subscriptions/<subscriptionId>/resourcegroups/myRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myID #Login with user managed identity
# Login as service principalaz login --service-principal -u http://azure-cli-2016-08-05-14-31-15 -p VerySecret --tenant contoso.onmicrosoft.com #With password
az login --service-principal -u http://azure-cli-2016-08-05-14-31-15 -p ~/mycertfile.pem --tenant contoso.onmicrosoft.com #With cert
# Request access token (ARM)azaccountget-access-token# Request access token for different resource. Supported tokens: aad-graph, arm, batch, data-lake, media, ms-graph, oss-rdbms
azaccountget-access-token--resource-typeaad-graph# If you want to configure some defaultsazconfigure# Get user logged-in alreadyazadsigned-in-usershow# Helpazfind"vm"# Find vm commandsazvm-h# Get subdomainsazaduserlist--query-examples# Get examples
Connect-AzureAD#Open browser# Using credentials$passwd =ConvertTo-SecureString"Welcome2022!"-AsPlainText -Force$creds =New-Object System.Management.Automation.PSCredential ("test@corp.onmicrosoft.com", $passwd)Connect-AzureAD-Credential $creds# Using tokens## AzureAD cannot request tokens, but can use AADGraph and MSGraph tokens to connectConnect-AzureAD-AccountId test@corp.onmicrosoft.com -AadAccessToken $token
Connect-AzAccount#Open browser# Using credentials$passwd =ConvertTo-SecureString"Welcome2022!"-AsPlainText -Force$creds =New-Object System.Management.Automation.PSCredential("test@corp.onmicrosoft.com", $passwd)Connect-AzAccount-Credential $creds# Get Access Token(Get-AzAccessToken).Token# Request access token to other endpoints: AadGraph, AnalysisServices, Arm, Attestation, Batch, DataLake, KeyVault, MSGraph, OperationalInsights, ResourceManager, Storage, Synapse
Get-AzAccessToken-ResourceTypeName MSGraph(Get-AzAccessToken-Resource "https://graph.microsoft.com").Token# Conenct with access tokenConnect-AzAccount-AccountId test@corp.onmicrosoft.com -AccessToken $tokenConnect-AzAccount-AccessToken $token -GraphAccessToken $graphaccesstoken -AccountId <ACCOUNT-ID>## The -AccessToken is from management.azure.com# Connect with Service principal/enterprise app secret$password =ConvertTo-SecureString'KWEFNOIRFIPMWL.--DWPNVFI._EDWWEF_ADF~SODNFBWRBIF'-AsPlainText -Force$creds =New-ObjectSystem.Management.Automation.PSCredential('2923847f-fca2-a420-df10-a01928bec653', $password)Connect-AzAccount-ServicePrincipal -Credential $creds -Tenant 29sd87e56-a192-a934-bca3-0398471ab4e7d#All the Azure AD cmdlets have the format *-AzAD*Get-Command*azad*#Cmdlets for other Azure resources have the format *Az*Get-Command*az*
# Request tokens to access endpoints# ARMcurl"$IDENTITY_ENDPOINT?resource=https://management.azure.com&api-version=2017-09-01"-Hsecret:$IDENTITY_HEADER# Vaultcurl"$IDENTITY_ENDPOINT?resource=https://vault.azure.net&api-version=2017-09-01"-Hsecret:$IDENTITY_HEADER
Cuando te logueas a través de CLI en Azure con cualquier programa, estás utilizando una Aplicación de Azure de un inquilino que pertenece a Microsoft. Estas Aplicaciones, como las que puedes crear en tu cuenta, tienen un ID de cliente. No podrás ver todas ellas en las listas de aplicaciones permitidas que puedes ver en la consola, pero están permitidas por defecto.
Por ejemplo, un script de powershell que autentica usa una aplicación con el ID de cliente 1950a258-227b-4e31-a9cf-717495945fc2. Incluso si la aplicación no aparece en la consola, un administrador de sistemas podría bloquear esa aplicación para que los usuarios no puedan acceder utilizando herramientas que se conectan a través de esa Aplicación.
Sin embargo, hay otros IDs de cliente de aplicaciones que te permitirán conectarte a Azure:
# The important part is the ClientId, which identifies the application to login inside Azure$token =Invoke-Authorize-Credential $credential `-ClientId '1dfb5f98-f363-4b0f-b63a-8d20ada1e62d'`-Scope 'Files.Read.All openid profile Sites.Read.All User.Read email'`-Redirect_Uri "https://graphtryit-staging.azurewebsites.net/"`-Verbose -Debug `-InformationAction Continue$token =Invoke-Authorize-Credential $credential `-ClientId '65611c08-af8c-46fc-ad20-1888eb1b70d9'`-Scope 'openid profile Sites.Read.All User.Read email'`-Redirect_Uri "chrome-extension://imjekgehfljppdblckcmjggcoboemlah"`-Verbose -Debug `-InformationAction Continue$token =Invoke-Authorize-Credential $credential `-ClientId 'd3ce4cf8-6810-442d-b42e-375e14710095'`-Scope 'openid'`-Redirect_Uri "https://graphexplorer.azurewebsites.net/"`-Verbose -Debug `-InformationAction Continue
Usuarios
# Enumerate usersazaduserlist--outputtableazaduserlist--query"[].userPrincipalName"# Get info of 1 userazadusershow--id"test@corp.onmicrosoft.com"# Search "admin" usersazaduserlist--query"[].displayName"|findstr/i"admin"azaduserlist--query"[?contains(displayName,'admin')].displayName"# Search attributes containing the word "password"azaduserlist|findstr/i"password"|findstr/v"null,"# All users from AzureADazaduserlist--query"[].{osi:onPremisesSecurityIdentifier,upn:userPrincipalName}[?osi==null]"azaduserlist--query"[?onPremisesSecurityIdentifier==null].displayName"# All users synced from on-premazaduserlist--query"[].{osi:onPremisesSecurityIdentifier,upn:userPrincipalName}[?osi!=null]"azaduserlist--query"[?onPremisesSecurityIdentifier!=null].displayName"# Get groups where the user is a memberazaduserget-member-groups--id<email># Get roles assigned to the userazroleassignmentlist--include-groups--include-classic-administratorstrue--assignee<email>
Azure AD
Enumeration
User Enumeration
To enumerate users, you can use the Azure AD Graph API or Microsoft Graph API. The following endpoints can be used:
Azure AD does not have rate limiting for authentication requests, making it vulnerable to brute force attacks. You can perform brute force attacks against Azure AD using common tools like Hydra, Burp Suite, or custom scripts.
Password Spraying
Password spraying attacks can be conducted against Azure AD by trying a small number of commonly used passwords across many accounts. This technique helps avoid account lockouts and detection.
Token Extraction
You can extract tokens from Azure AD by intercepting authentication flows or abusing insecure configurations. These tokens can then be used to access resources or escalate privileges within the Azure environment.
Privilege Escalation
To escalate privileges in Azure AD, you can exploit misconfigurations, weak permissions, or vulnerabilities in applications integrated with Azure AD. Look for opportunities to elevate privileges to gain more control over the Azure environment.
Data Exfiltration
Data exfiltration from Azure AD can be done by accessing and exfiltrating sensitive information stored within user accounts, applications, or Azure resources. This can include confidential documents, emails, or other valuable data.
Persistence
To maintain persistence in Azure AD, attackers can create backdoors, add rogue applications, or abuse existing permissions to ensure continued access to the environment even after initial access has been remediated.
Covering Tracks
Attackers can cover their tracks in Azure AD by deleting logs, modifying audit trails, or manipulating configurations to hide their activities. This makes it harder for defenders to detect and respond to security incidents.
Conclusion
Azure AD enumeration, brute force attacks, password spraying, token extraction, privilege escalation, data exfiltration, persistence, and covering tracks are common techniques used by attackers during penetration testing. Understanding these techniques can help defenders better secure their Azure AD environment against potential threats.
# Enumerate UsersGet-AzureADUser-All $trueGet-AzureADUser-All $true| select UserPrincipalName# Get info of 1 userGet-AzureADUser-ObjectId test@corp.onmicrosoft.com | fl# Search "admin" usersGet-AzureADUser-SearchString "admin"#Search admin at the begining of DisplayName or userPrincipalNameGet-AzureADUser-All $true|?{$_.Displayname-match"admin"} #Search "admin" word in DisplayName# Get all attributes of a userGet-AzureADUser-ObjectId test@defcorphq.onmicrosoft.com|%{$_.PSObject.Properties.Name}# Search attributes containing the word "password"Get-AzureADUser -All $true |%{$Properties = $_;$Properties.PSObject.Properties.Name | % {if ($Properties.$_ -match 'password') {"$($Properties.UserPrincipalName) - $_ - $($Properties.$_)"}}}
# All users from AzureAD# All users from AzureADGet-AzureADUser-All $true|?{$_.OnPremisesSecurityIdentifier-eq$null}# All users synced from on-premGet-AzureADUser-All $true|?{$_.OnPremisesSecurityIdentifier-ne$null}# Objects created by a/any userGet-AzureADUser [-ObjectId<email>] |Get-AzureADUserCreatedObject# Devices owned by a userGet-AzureADUserOwnedDevice-ObjectId test@corp.onmicrosoft.com# Objects owned by a specific userGet-AzureADUserOwnedObject-ObjectId test@corp.onmicrosoft.com# Get groups & roles where the user is a memberGet-AzureADUserMembership-ObjectId 'test@corp.onmicrosoft.com'# Get devices owned by a userGet-AzureADUserOwnedDevice-ObjectId test@corp.onmicrosoft.com# Get devices registered by a userGet-AzureADUserRegisteredDevice-ObjectId test@defcorphq.onmicrosoft.com# Apps where a user has a role (role not shown)Get-AzureADUser-ObjectId roygcain@defcorphq.onmicrosoft.com |Get-AzureADUserAppRoleAssignment| fl *# Get Administrative Units of a user$userObj =Get-AzureADUser-Filter "UserPrincipalName eq 'bill@example.com'"Get-AzureADMSAdministrativeUnit | where { Get-AzureADMSAdministrativeUnitMember -Id $_.Id | where { $_.Id -eq $userObj.ObjectId } }
Azure AD Enumeration
Enumerate Azure AD Users
To list all users in Azure AD, you can use the following PowerShell command:
Get-AzureADUser
This command will return a list of all users in the Azure AD tenant.
Enumerate Azure AD Groups
To list all groups in Azure AD, you can use the following PowerShell command:
Get-AzureADGroup
This command will return a list of all groups in the Azure AD tenant.
Enumerate Azure AD Applications
To list all applications in Azure AD, you can use the following PowerShell command:
Get-AzureADApplication
This command will return a list of all applications in the Azure AD tenant.
Enumerate Azure AD Service Principals
To list all service principals in Azure AD, you can use the following PowerShell command:
Get-AzureADServicePrincipal
This command will return a list of all service principals in the Azure AD tenant.
Enumerate Azure AD Devices
To list all devices in Azure AD, you can use the following PowerShell command:
Get-AzureADDevice
This command will return a list of all devices in the Azure AD tenant.
Enumerate Azure AD Domains
To list all domains in Azure AD, you can use the following PowerShell command:
Get-AzureADDomain
This command will return a list of all domains in the Azure AD tenant.
Enumerate Azure AD Directory Roles
To list all directory roles in Azure AD, you can use the following PowerShell command:
Get-AzureADDirectoryRole
This command will return a list of all directory roles in the Azure AD tenant.
Enumerate Azure AD Directory Role Members
To list all members of a specific directory role in Azure AD, you can use the following PowerShell command:
Replace <DirectoryRoleObjectId> with the actual object ID of the directory role you want to enumerate.
# Enumerate usersGet-AzADUser# Get details of a userGet-AzADUser-UserPrincipalName test@defcorphq.onmicrosoft.com# Search user by stringGet-AzADUser-SearchString "admin"#Search at the beginnig of DisplayNameGet-AzADUser|?{$_.Displayname-match"admin"}# Get roles assigned to a userGet-AzRoleAssignment-SignInName test@corp.onmicrosoft.com
Se recomienda encarecidamente agregar MFA a cada usuario, sin embargo, algunas empresas no lo configurarán o podrían configurarlo con un Acceso Condicional: El usuario necesitará MFA si inicia sesión desde una ubicación específica, navegador o alguna condición. Estas políticas, si no se configuran correctamente, podrían ser propensas a bypasses. Verifique:
# Enumerate groupsaz ad group listaz ad group list --query "[].[displayName]"-o table# Get info of 1 groupaz ad group show --group <group># Get "admin" groupsaz ad group list --query "[].displayName"| findstr /i "admin"az ad group list --query "[?contains(displayName,'admin')].displayName"# All groups from AzureADaz ad group list --query "[].{osi:onPremisesSecurityIdentifier,displayName:displayName,description:description}[?osi==null]"
az ad group list --query "[?onPremisesSecurityIdentifier==null].displayName"# All groups synced from on-premaz ad group list --query "[].{osi:onPremisesSecurityIdentifier,displayName:displayName,description:description}[?osi!=null]"
az ad group list --query "[?onPremisesSecurityIdentifier!=null].displayName"# Get members of groupaz ad group member list --group <group>--query "[].userPrincipalName"-o table# Check if member of groupaz ad group member check --group "VM Admins"--member-id <id># Get which groups a group is member ofaz ad group get-member-groups -g "VM Admins"# Get Apps where a group has a role (role not shown)Get-AzureADGroup-ObjectId <id>|Get-AzureADGroupAppRoleAssignment| fl *
Azure AD
Enumeration
User Enumeration
Azure AD permite la enumeración de usuarios a través de la API Graph de Microsoft. Puedes enumerar usuarios utilizando consultas como https://graph.windows.net/contoso.com/users y obtener información como nombres de usuario, direcciones de correo electrónico, identificadores únicos, entre otros.
Group Enumeration
De manera similar a la enumeración de usuarios, también es posible enumerar grupos en Azure AD utilizando consultas como https://graph.windows.net/contoso.com/groups. Esto te permite obtener información sobre los grupos existentes en la organización, incluyendo nombres, descripciones y miembros.
Brute Force
Azure AD puede ser vulnerable a ataques de fuerza bruta en las interfaces de inicio de sesión. Es importante realizar pruebas de fuerza bruta para identificar posibles credenciales débiles y fortalecer la seguridad de la autenticación.
Password Spraying
El método de "password spraying" se puede utilizar en Azure AD para intentar contraseñas comunes contra múltiples cuentas de usuario. Esto puede ser efectivo para eludir las políticas de bloqueo de cuentas que se activan después de varios intentos fallidos de inicio de sesión.
Phishing
El phishing sigue siendo una técnica efectiva para obtener credenciales de inicio de sesión en Azure AD. Los atacantes pueden enviar correos electrónicos de phishing que redirigen a los usuarios a páginas de inicio de sesión falsas para robar sus credenciales.
Token Extraction
Los tokens de acceso de Azure AD pueden ser extraídos de aplicaciones web comprometidas o mal configuradas. Estos tokens pueden ser utilizados para realizar acciones en nombre de los usuarios legítimos, lo que puede resultar en un acceso no autorizado a recursos protegidos.
Privilege Escalation
Una vez que se ha comprometido una cuenta en Azure AD, los atacantes pueden intentar escalar sus privilegios para obtener acceso a recursos adicionales. Esto puede implicar la elevación de roles o la adición a grupos con mayores permisos.
Data Exfiltration
Los atacantes pueden exfiltrar datos sensibles de Azure AD a través de diversas técnicas, como la descarga de listas de usuarios, grupos o permisos. Es importante monitorear de cerca las actividades inusuales que puedan indicar intentos de exfiltración de datos.
Persistence
Para mantener el acceso a largo plazo, los atacantes pueden establecer mecanismos de persistencia en Azure AD, como la creación de aplicaciones maliciosas con permisos elevados o la creación de reglas de acceso condicional que les permitan mantener el control sobre las cuentas comprometidas.
Summary
Azure AD es un componente crítico en el ecosistema de Microsoft 365 y es fundamental asegurar su configuración y uso adecuado para proteger los datos y la identidad de la organización. Realizar pruebas de penetración en Azure AD puede ayudar a identificar posibles vulnerabilidades y fortalecer las medidas de seguridad en la nube.
# Enumerate GroupsGet-AzureADGroup-All $true# Get info of 1 groupGet-AzADGroup-DisplayName <resource_group_name>| fl# Get "admin" groupsGet-AzureADGroup-SearchString "admin"| fl #Groups starting by "admin"Get-AzureADGroup-All $true|?{$_.Displayname-match"admin"} #Groups with the word "admin"# Get groups allowing dynamic membershipGet-AzureADMSGroup|?{$_.GroupTypes-eq'DynamicMembership'}# All groups that are from Azure ADGet-AzureADGroup-All $true|?{$_.OnPremisesSecurityIdentifier-eq$null}# All groups that are synced from on-prem (note that security groups are not synced)Get-AzureADGroup-All $true|?{$_.OnPremisesSecurityIdentifier-ne$null}# Get members of a groupGet-AzureADGroupMember-ObjectId <group_id># Get roles of groupGet-AzureADMSGroup-SearchString "Contoso_Helpdesk_Administrators"#Get group idGet-AzureADMSRoleAssignment-Filter "principalId eq '69584002-b4d1-4055-9c94-320542efd653'"# Get Administrative Units of a group$groupObj =Get-AzureADGroup-Filter "displayname eq 'TestGroup'"Get-AzureADMSAdministrativeUnit | where { Get-AzureADMSAdministrativeUnitMember -Id $_.Id | where {$_.Id -eq $groupObj.ObjectId} }
Azure AD Enumeration
Enumerate Azure AD Users
To list all users in Azure AD, you can use the following PowerShell command:
Get-AzureADUser
This command will return a list of all users in the Azure AD tenant.
Enumerate Azure AD Groups
To list all groups in Azure AD, you can use the following PowerShell command:
Get-AzureADGroup
This command will return a list of all groups in the Azure AD tenant.
Enumerate Azure AD Applications
To list all applications in Azure AD, you can use the following PowerShell command:
Get-AzureADApplication
This command will return a list of all applications in the Azure AD tenant.
Enumerate Azure AD Service Principals
To list all service principals in Azure AD, you can use the following PowerShell command:
Get-AzureADServicePrincipal
This command will return a list of all service principals in the Azure AD tenant.
Enumerate Azure AD Devices
To list all devices in Azure AD, you can use the following PowerShell command:
Get-AzureADDevice
This command will return a list of all devices in the Azure AD tenant.
Enumerate Azure AD Domains
To list all domains in Azure AD, you can use the following PowerShell command:
Get-AzureADDomain
This command will return a list of all domains in the Azure AD tenant.
Enumerate Azure AD Directory Roles
To list all directory roles in Azure AD, you can use the following PowerShell command:
Get-AzureADDirectoryRole
This command will return a list of all directory roles in the Azure AD tenant.
Enumerate Azure AD Directory Role Members
To list all members of a specific directory role in Azure AD, you can use the following PowerShell command:
Replace <ApplicationId> with the actual ID of the application you want to enumerate.
# Get all groupsGet-AzADGroup# Get details of a groupGet-AzADGroup-ObjectId <id># Search group by stringGet-AzADGroup-SearchString "admin"| fl *#Search at the beginnig of DisplayNameGet-AzADGroup|?{$_.Displayname-match"admin"}# Get members of groupGet-AzADGroupMember-GroupDisplayName <resource_group_name># Get roles of groupGet-AzRoleAssignment-ResourceGroupName <resource_group_name>
Agregar usuario a grupo
Los propietarios del grupo pueden agregar nuevos usuarios al grupo
Los grupos pueden ser dinámicos, lo que básicamente significa que si un usuario cumple ciertas condiciones, será agregado a un grupo. Por supuesto, si las condiciones se basan en atributos que un usuario puede controlar, podría abusar de esta característica para ingresar en otros grupos.
Ver cómo abusar de los grupos dinámicos en la siguiente página:
Tenga en cuenta que el Service Principal en la terminología de PowerShell se llamaEnterprise Applications en el portal de Azure (web).
# Get Service Principalsazadsplist--allazadsplist--all--query"[].[displayName]"-otable# Get details of one SPazadspshow--id00000000-0000-0000-0000-000000000000# Search SP by stringazadsplist--all--query"[?contains(displayName,'app')].displayName"# Get owner of service principalazadspownerlist--id<id>--query"[].[displayName]"-otable# Get service principals owned by the current userazadsplist--show-mine# List apps that have password credentialsazadsplist--all--query"[?passwordCredentials != null].displayName"# List apps that have key credentials (use of certificate authentication)azadsplist-all--query"[?keyCredentials != null].displayName"
Azure AD
Enumeration
User Enumeration
Azure AD permite a los atacantes enumerar usuarios a través de la API Graph de Microsoft. Los atacantes pueden enumerar usuarios utilizando consultas de filtro para buscar usuarios específicos o enumerar todos los usuarios en el directorio.
Group Enumeration
Los atacantes también pueden enumerar grupos en Azure AD utilizando consultas de filtro a través de la API Graph de Microsoft. Esto les permite identificar grupos específicos o enumerar todos los grupos en el directorio.
Brute Force
Los atacantes pueden realizar ataques de fuerza bruta contra las cuentas de usuario de Azure AD para intentar adivinar las contraseñas débiles. Esto se puede hacer a través de la API Graph de Microsoft o utilizando herramientas de fuerza bruta como Hydra o Burp Suite.
Password Spraying
El rociado de contraseñas es una técnica en la que los atacantes prueban algunas contraseñas comunes contra múltiples cuentas de usuario en Azure AD. Esto se hace para evitar la detección de bloqueo de cuenta por intentos de inicio de sesión fallidos.
Phishing
Los ataques de phishing pueden dirigirse a los usuarios de Azure AD para engañarlos y hacer que revelen sus credenciales de inicio de sesión. Esto puede llevar a la compromisión de cuentas y a posibles violaciones de datos en Azure AD.
Token Impersonation
Los atacantes pueden intentar la suplantación de tokens para obtener acceso no autorizado a recursos protegidos en Azure AD. Esto se puede lograr mediante la manipulación de tokens de acceso válidos o mediante la obtención de tokens de actualización de forma fraudulenta.
Exploiting Misconfigurations
Las configuraciones incorrectas en Azure AD pueden ser explotadas por los atacantes para obtener acceso no autorizado o realizar otras actividades maliciosas. Esto puede incluir permisos excesivos, configuraciones de directivas débiles o configuraciones de autenticación inseguras.
Conclusion
La enumeración de usuarios y grupos, los ataques de fuerza bruta, el rociado de contraseñas, los ataques de phishing, la suplantación de tokens y la explotación de configuraciones incorrectas son algunas de las técnicas que los atacantes pueden utilizar para comprometer la seguridad de Azure AD. Es importante que los administradores de Azure AD implementen medidas de seguridad adecuadas para proteger sus entornos de posibles amenazas.
# Get Service PrincipalsGet-AzureADServicePrincipal-All $true# Get details about a SPGet-AzureADServicePrincipal-ObjectId <id>| fl *# Get SP by string name or IdGet-AzureADServicePrincipal-All $true|?{$_.DisplayName-match"app"} | flGet-AzureADServicePrincipal-All $true|?{$_.AppId-match"103947652-1234-5834-103846517389"}# Get owner of SPGet-AzureADServicePrincipal-ObjectId <id>|Get-AzureADServicePrincipalOwner|fl *# Get objects owned by a SPGet-AzureADServicePrincipal-ObjectId <id>|Get-AzureADServicePrincipalOwnedObject# Get objects created by a SPGet-AzureADServicePrincipal-ObjectId <id>|Get-AzureADServicePrincipalCreatedObject# Get groups where the SP is a memberGet-AzureADServicePrincipal|Get-AzureADServicePrincipalMembershipGet-AzureADServicePrincipal-ObjectId <id>|Get-AzureADServicePrincipalMembership|fl *
Azure AD Enumeration
Enumerate Azure AD Users
To list all users in Azure AD, you can use the following PowerShell command:
Get-AzureADUser
Enumerate Azure AD Groups
To list all groups in Azure AD, you can use the following PowerShell command:
Get-AzureADGroup
Enumerate Azure AD Applications
To list all applications in Azure AD, you can use the following PowerShell command:
Get-AzureADApplication
Enumerate Azure AD Service Principals
To list all service principals in Azure AD, you can use the following PowerShell command:
Get-AzureADServicePrincipal
Enumerate Azure AD Devices
To list all devices in Azure AD, you can use the following PowerShell command:
Get-AzureADDevice
Enumerate Azure AD Domains
To list all domains in Azure AD, you can use the following PowerShell command:
Get-AzureADDomain
Enumerate Azure AD Directory Roles
To list all directory roles in Azure AD, you can use the following PowerShell command:
Get-AzureADDirectoryRole
Enumerate Azure AD Directory Role Members
To list all members of a specific directory role in Azure AD, you can use the following PowerShell command:
Replace <DirectoryRoleObjectId> with the actual object ID of the directory role you want to enumerate members for.
# Get SPs
Get-AzADServicePrincipal
# Get info of 1 SP
Get-AzADServicePrincipal -ObjectId <id>
# Search SP by string
Get-AzADServicePrincipal | ?{$_.DisplayName -match "app"}
# Get roles of a SP
Get-AzRoleAssignment -ServicePrincipalName <String>
</details>
### Roles
<div data-gb-custom-block data-tag="tabs"></div>
<div data-gb-custom-block data-tag="tab" data-title='az cli'>
```bash
# Get roles
az role definition list
# Get assigned roles
az role assignment list --all --query "[].roleDefinitionName"
az role assignment list --all | jq '.[] | .roleDefinitionName,.scope'
# Get info of 1 role
az role definition list --name "AzureML Registry User"
# Get only custom roles
az role definition list --custom-role-only
# Get only roles assigned to the resource group indicated
az role definition list --resource-group <resource_group>
# Get only roles assigned to the indicated scope
az role definition list --scope <scope>
# Get all the principals a role is assigned to
az role assignment list --all --query "[].{principalName:principalName,principalType:principalType,resourceGroup:resourceGroup,roleDefinitionName:roleDefinitionName}[?roleDefinitionName=='<ROLE_NAME>']"
Azure AD
Enumeration
User Enumeration
Azure AD permite a los atacantes enumerar usuarios a través de la API Graph de Microsoft. Los atacantes pueden enumerar usuarios utilizando consultas de filtro para buscar usuarios específicos o listar todos los usuarios en el directorio.
Group Enumeration
Los atacantes también pueden enumerar grupos en Azure AD a través de la API Graph. Pueden buscar grupos específicos o listar todos los grupos en el directorio.
Brute Force
Los atacantes pueden realizar ataques de fuerza bruta contra las cuentas de usuario de Azure AD para intentar adivinar contraseñas débiles. Esto se puede hacer a través de la API Graph o mediante el portal de inicio de sesión de Azure.
Password Spraying
El rociado de contraseñas es una técnica común utilizada por los atacantes para intentar iniciar sesión en múltiples cuentas de usuario con algunas contraseñas comunes. Pueden usar herramientas automatizadas para realizar este tipo de ataque contra Azure AD.
Phishing
El phishing es una técnica efectiva para engañar a los usuarios y obtener sus credenciales de inicio de sesión. Los atacantes pueden enviar correos electrónicos de phishing que parecen legítimos para robar información de inicio de sesión de los usuarios de Azure AD.
Token Manipulation
Los atacantes pueden manipular tokens de acceso en Azure AD para obtener acceso no autorizado a recursos protegidos. Pueden robar tokens válidos o manipular tokens existentes para extender sus privilegios en la plataforma.
Exploiting Misconfigurations
Las configuraciones incorrectas en Azure AD pueden ser explotadas por los atacantes para obtener acceso no autorizado. Esto puede incluir permisos excesivos, configuraciones de directivas débiles o configuraciones de autenticación inseguras.
Social Engineering
La ingeniería social es una técnica común utilizada por los atacantes para engañar a los usuarios y obtener información confidencial. Pueden hacerse pasar por personal legítimo de soporte técnico o de la empresa para engañar a los usuarios de Azure AD y obtener acceso no autorizado.
Insider Threats
Las amenazas internas también son un riesgo en Azure AD. Los empleados malintencionados pueden abusar de sus privilegios para acceder a información confidencial o realizar acciones maliciosas en la plataforma.
Monitoring and Logging
Es importante monitorear y registrar las actividades en Azure AD para detectar posibles intrusiones o actividades maliciosas. El análisis de registros puede ayudar a identificar comportamientos sospechosos y tomar medidas correctivas para proteger la plataforma.
# Get all available role templates
Get-AzureADDirectoryroleTemplate
# Get enabled roles (Assigned roles)
Get-AzureADDirectoryRole
Get-AzureADDirectoryRole -ObjectId <roleID> #Get info about the role
# Get custom roles - use AzureAdPreview
Get-AzureADMSRoleDefinition | ?{$_.IsBuiltin -eq $False} | select DisplayName
# Users assigned a role (Global Administrator)
Get-AzureADDirectoryRole -Filter "DisplayName eq 'Global Administrator'" | Get-AzureADDirectoryRoleMember
Get-AzureADDirectoryRole -ObjectId <id> | fl
# Roles of the Administrative Unit (who has permissions over the administrative unit and its members)
Get-AzureADMSScopedRoleMembership -Id <id> | fl *
Azure AD Enumeration
Enumerate Azure AD Users
To list all users in Azure AD, you can use the following PowerShell command:
Get-AzureADUser
This command will return a list of all users in the Azure AD tenant.
Enumerate Azure AD Groups
To list all groups in Azure AD, you can use the following PowerShell command:
Get-AzureADGroup
This command will return a list of all groups in the Azure AD tenant.
Enumerate Azure AD Applications
To list all applications in Azure AD, you can use the following PowerShell command:
Get-AzureADApplication
This command will return a list of all applications in the Azure AD tenant.
Enumerate Azure AD Service Principals
To list all service principals in Azure AD, you can use the following PowerShell command:
Get-AzureADServicePrincipal
This command will return a list of all service principals in the Azure AD tenant.
Enumerate Azure AD Devices
To list all devices in Azure AD, you can use the following PowerShell command:
Get-AzureADDevice
This command will return a list of all devices in the Azure AD tenant.
Enumerate Azure AD Domains
To list all domains in Azure AD, you can use the following PowerShell command:
Get-AzureADDomain
This command will return a list of all domains in the Azure AD tenant.
Enumerate Azure AD Directory Roles
To list all directory roles in Azure AD, you can use the following PowerShell command:
Get-AzureADDirectoryRole
This command will return a list of all directory roles in the Azure AD tenant.
Enumerate Azure AD Directory Role Members
To list all members of a specific directory role in Azure AD, you can use the following PowerShell command:
Replace <DirectoryRoleObjectId> with the actual object ID of the directory role you want to enumerate.
# Get role assignments on the subscription
Get-AzRoleDefinition
# Get Role definition
Get-AzRoleDefinition -Name "Virtual Machine Command Executor"
# Get roles of a user or resource
Get-AzRoleAssignment -SignInName test@corp.onmicrosoft.com
Get-AzRoleAssignment -Scope /subscriptions/<subscription-id>/resourceGroups/<res_group_name>/providers/Microsoft.Compute/virtualMachines/<vm_name>
# Get permissions over a resource using ARM directly
$Token = (Get-AzAccessToken).Token
$URI = 'https://management.azure.com/subscriptions/b413826f-108d-4049-8c11-d52d5d388768/resourceGroups/Research/providers/Microsoft.Compute/virtualMachines/infradminsrv/providers/Microsoft.Authorization/permissions?api-version=2015-07-01'
$RequestParams = @{
Method = 'GET'
Uri = $URI
Headers = @{
'Authorization' = "Bearer $Token"
}
}
(Invoke-RestMethod @RequestParams).value
Dispositivos
# If you know how to do this send a PR!
Azure AD
Enumeration
User Enumeration
Azure AD permite a los atacantes enumerar usuarios a través de la API Graph de Microsoft. Los atacantes pueden enumerar usuarios utilizando consultas de filtro para buscar usuarios específicos o listar todos los usuarios en el directorio.
Group Enumeration
Los atacantes también pueden enumerar grupos en Azure AD a través de la API Graph. Pueden buscar grupos específicos o listar todos los grupos en el directorio.
Brute Force
Azure AD no implementa protecciones contra ataques de fuerza bruta en la autenticación. Los atacantes pueden realizar ataques de fuerza bruta contra las cuentas de usuario para descifrar contraseñas débiles.
Password Spraying
Los atacantes pueden llevar a cabo ataques de "password spraying" contra Azure AD. Esto implica intentar unas pocas contraseñas comunes en muchas cuentas de usuario, en lugar de intentar muchas contraseñas en una sola cuenta.
Phishing
El phishing es una técnica común utilizada para comprometer cuentas de Azure AD. Los atacantes envían correos electrónicos de phishing a los usuarios para engañarlos y hacer que revelen sus credenciales de inicio de sesión.
Token Extraction
Los atacantes pueden extraer tokens de acceso de Azure AD para obtener acceso a recursos protegidos. Esto puede lograrse mediante técnicas como el phishing, la ingeniería social o la explotación de vulnerabilidades en aplicaciones web.
Privilege Escalation
Una vez que un atacante ha comprometido una cuenta de usuario en Azure AD, puede intentar escalar sus privilegios para obtener acceso a recursos más sensibles o realizar acciones administrativas en la organización.
Data Exfiltration
Los atacantes pueden exfiltrar datos confidenciales de Azure AD, como información de usuario, contraseñas u otros datos sensibles. Esto puede hacerse a través de la API Graph u otras interfaces de Azure AD.
Account Takeover
El secuestro de cuentas es una amenaza significativa en Azure AD. Los atacantes pueden tomar el control de cuentas de usuario legítimas para acceder a recursos, realizar actividades maliciosas o comprometer la seguridad de la organización.
Mitigations
Para mitigar estas amenazas, se recomienda implementar medidas de seguridad como la autenticación multifactor, la supervisión de registros, la educación sobre concienciación en seguridad y la aplicación de políticas de acceso y contraseñas robustas.
# Enumerate Devices
Get-AzureADDevice -All $true | fl *
# List all the active devices (and not the stale devices)
Get-AzureADDevice -All $true | ?{$_.ApproximateLastLogonTimeStamp -ne $null}
# Get owners of all devices
Get-AzureADDevice -All $true | Get-AzureADDeviceRegisteredOwner
Get-AzureADDevice -All $true | %{if($user=Get-AzureADDeviceRegisteredOwner -ObjectId $_.ObjectID){$_;$user.UserPrincipalName;"`n"}}
# Registred users of all the devices
Get-AzureADDevice -All $true | Get-AzureADDeviceRegisteredUser
Get-AzureADDevice -All $true | %{if($user=Get-AzureADDeviceRegisteredUser -ObjectId $_.ObjectID){$_;$user.UserPrincipalName;"`n"}}
# Get dives managed using Intune
Get-AzureADDevice -All $true | ?{$_.IsCompliant -eq "True"}
# Get devices owned by a user
Get-AzureADUserOwnedDevice -ObjectId test@corp.onmicrosoft.com
# Get Administrative Units of a device
Get-AzureADMSAdministrativeUnit | where { Get-AzureADMSAdministrativeUnitMember -ObjectId $_.ObjectId | where {$_.ObjectId -eq $deviceObjId} }
Si un dispositivo (VM) está unido a AzureAD, los usuarios de AzureAD podrán iniciar sesión.
Además, si el usuario conectado es Propietario del dispositivo, será administrador local.
Aplicaciones
Las aplicaciones son Registros de aplicaciones en el portal (no Aplicaciones empresariales).
Pero cada Registro de aplicación creará una Aplicación empresarial (Principal de servicio) con el mismo nombre.
Además, si la Aplicación es una Aplicación multiinquilino, se creará otra Aplicación empresarial (Principal de servicio) en ese inquilino con el mismo nombre.
Cuando se genera una Aplicación, se otorgan 2 tipos de permisos:
Permisos otorgados al Principal de servicio
Permisos que la aplicación puede tener y usar en nombre del usuario.
# List Apps
az ad app list
az ad app list --query "[].[displayName]" -o table
# Get info of 1 App
az ad app show --id 00000000-0000-0000-0000-000000000000
# Search App by string
az ad app list --query "[?contains(displayName,'app')].displayName"
# Get the owner of an application
az ad app owner list --id <id> --query "[].[displayName]" -o table
# List all the apps with an application password
az ad app list --query "[?passwordCredentials != null].displayName"
# List apps that have key credentials (use of certificate authentication)
az ad app list --query "[?keyCredentials != null].displayName"
Azure AD
Enumeration
User Enumeration
Azure AD permite a los atacantes enumerar usuarios a través de la API Graph de Microsoft. Los atacantes pueden enumerar usuarios utilizando consultas de filtro para buscar usuarios específicos o enumerar todos los usuarios en el directorio.
Group Enumeration
Los atacantes también pueden enumerar grupos en Azure AD utilizando consultas de filtro a través de la API Graph de Microsoft. Esto les permite identificar grupos específicos o enumerar todos los grupos en el directorio.
Brute Force
Los atacantes pueden realizar ataques de fuerza bruta contra las cuentas de usuario de Azure AD para intentar adivinar las contraseñas débiles. Esto se puede hacer a través de la API Graph de Microsoft o utilizando herramientas de fuerza bruta como Hydra o Burp Suite.
Password Spraying
El rociado de contraseñas es una técnica en la que los atacantes prueban algunas contraseñas comunes contra múltiples cuentas de usuario en Azure AD. Esto se hace para evitar la detección de bloqueo de cuenta por intentos de inicio de sesión fallidos.
Phishing
Los ataques de phishing pueden dirigirse a los usuarios de Azure AD para engañarlos y hacer que revelen sus credenciales de inicio de sesión. Esto puede llevar a la compromisión de cuentas y a posibles violaciones de datos en Azure AD.
Token Impersonation
Los atacantes pueden intentar la suplantación de tokens para obtener acceso no autorizado a recursos protegidos en Azure AD. Esto se puede lograr mediante la manipulación de tokens de acceso válidos o mediante la obtención de tokens de actualización de forma fraudulenta.
Exploiting Misconfigurations
Las configuraciones incorrectas en Azure AD pueden ser explotadas por los atacantes para obtener acceso no autorizado o realizar otras actividades maliciosas. Esto puede incluir permisos excesivos, configuraciones de directivas débiles o configuraciones de autenticación inseguras.
Conclusion
La enumeración de usuarios y grupos, los ataques de fuerza bruta, el rociado de contraseñas, los ataques de phishing, la suplantación de tokens y la explotación de configuraciones incorrectas son algunas de las técnicas que los atacantes pueden utilizar para comprometer la seguridad de Azure AD. Es importante que los administradores de Azure AD implementen medidas de seguridad adecuadas para proteger sus entornos de posibles amenazas.
# List all registered applications
Get-AzureADApplication -All $true
# Get details of an application
Get-AzureADApplication -ObjectId <id> | fl *
# List all the apps with an application password
Get-AzureADApplication -All $true | %{if(Get-AzureADApplicationPasswordCredential -ObjectID $_.ObjectID){$_}}
# Get owner of an application
Get-AzureADApplication -ObjectId <id> | Get-AzureADApplicationOwner |fl *
Azure AD Enumeration
Enumerate Azure AD Users
To list all users in Azure AD, you can use the following PowerShell command:
Get-AzureADUser
This command will return a list of all users in the Azure AD tenant.
Enumerate Azure AD Groups
To list all groups in Azure AD, you can use the following PowerShell command:
Get-AzureADGroup
This command will return a list of all groups in the Azure AD tenant.
Enumerate Azure AD Applications
To list all applications in Azure AD, you can use the following PowerShell command:
Get-AzureADApplication
This command will return a list of all applications in the Azure AD tenant.
Enumerate Azure AD Service Principals
To list all service principals in Azure AD, you can use the following PowerShell command:
Get-AzureADServicePrincipal
This command will return a list of all service principals in the Azure AD tenant.
Enumerate Azure AD Devices
To list all devices in Azure AD, you can use the following PowerShell command:
Get-AzureADDevice
This command will return a list of all devices in the Azure AD tenant.
Enumerate Azure AD Domains
To list all domains in Azure AD, you can use the following PowerShell command:
Get-AzureADDomain
This command will return a list of all domains in the Azure AD tenant.
Enumerate Azure AD Directory Roles
To list all directory roles in Azure AD, you can use the following PowerShell command:
Get-AzureADDirectoryRole
This command will return a list of all directory roles in the Azure AD tenant.
Enumerate Azure AD Directory Role Members
To list all members of a specific directory role in Azure AD, you can use the following PowerShell command:
Replace <DirectoryRoleTemplateId> with the actual ID of the directory role template you want to enumerate.
# Get Apps
Get-AzADApplication
# Get details of one App
Get-AzADApplication -ObjectId <id>
# Get App searching by string
Get-AzADApplication | ?{$_.DisplayName -match "app"}
# Get Apps with password
Get-AzADAppCredential
Una aplicación con el permiso AppRoleAssignment.ReadWrite puede escalar a Global Admin otorgándose a sí misma el rol.
Para más información verifica esto.
Una cadena secreta que la aplicación utiliza para demostrar su identidad al solicitar un token es la contraseña de la aplicación.
Por lo tanto, si encuentras esta contraseña puedes acceder como service principaldentro del tenant.
Ten en cuenta que esta contraseña solo es visible cuando se genera (puedes cambiarla pero no puedes obtenerla nuevamente).
El propietario de la aplicación puede agregar una contraseña a la misma (para poder hacerse pasar por ella).
Los inicios de sesión como estos service principals no se marcan como riesgosos y no requerirán MFA.
Diferencia entre Aplicaciones y (Aplicaciones Empresariales o Service Principals)
Diferencia entre una aplicación y un Service Principal en Azure:
Aplicaciones/Registros de Aplicaciones: Son aplicaciones que existen en tu Azure AD
Service Principal/Aplicaciones Empresariales: Objetos de seguridad en tu Azure AD que pueden tener privilegios en el Directorio de Azure y están vinculados a tu aplicación o a una aplicación de terceros
Un administrador podría necesitar aprobar los permisos otorgados si son muy sensibles.
Una aplicación puede estar ejecutándose en un tenant de terceros y una vez que comienzas a usarla y le das acceso, se crea una Aplicación Empresarial/Service Principal en tu tenant para darle acceso a la información que necesita:
Unidades Administrativas
Se utilizan para una mejor gestión de usuarios.
Las unidades administrativas restringen los permisos en un rol a cualquier parte de tu organización que definas. Por ejemplo, podrías usar unidades administrativas para delegar el rol de Administrador de Helpdesk a especialistas de soporte regional, para que puedan administrar usuarios solo en la región que respaldan.
Por lo tanto, puedes asignar roles a la unidad administrativa y los miembros de la misma tendrán estos roles.
AzureAD Enumeration
User Enumeration
Manual Enumeration: Use the Azure Portal or Azure CLI to list users.
Automated Enumeration: Utilize tools like Azure AD Recon or Azure AD Exploitation Framework.
Group Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to list groups.
Automated Enumeration: Tools like Azure AD Recon can help automate group enumeration.
Domain Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to list domains.
Automated Enumeration: Tools like Azure AD Recon can automate domain enumeration.
Application Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to list applications.
Automated Enumeration: Tools like Azure AD Recon can automate application enumeration.
Service Principal Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to list service principals.
Automated Enumeration: Tools like Azure AD Recon can automate service principal enumeration.
Device Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to list devices.
Automated Enumeration: Tools like Azure AD Recon can automate device enumeration.
Role Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to list roles.
Automated Enumeration: Tools like Azure AD Recon can automate role enumeration.
Policy Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to list policies.
Automated Enumeration: Tools like Azure AD Recon can automate policy enumeration.
Security Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to list security settings.
Automated Enumeration: Tools like Azure AD Recon can automate security settings enumeration.
Audit Log Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access audit logs.
Automated Enumeration: Tools like Azure AD Recon can automate audit log enumeration.
Token Enumeration
Manual Enumeration: Manually inspect tokens for sensitive information.
Automated Enumeration: Tools like Azure AD Recon can automate token enumeration.
OAuth App Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to list OAuth applications.
Automated Enumeration: Tools like Azure AD Recon can automate OAuth application enumeration.
Certificate Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to list certificates.
Automated Enumeration: Tools like Azure AD Recon can automate certificate enumeration.
Key Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to list keys.
Automated Enumeration: Tools like Azure AD Recon can automate key enumeration.
Endpoint Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to list endpoints.
Automated Enumeration: Tools like Azure AD Recon can automate endpoint enumeration.
API Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to list APIs.
Automated Enumeration: Tools like Azure AD Recon can automate API enumeration.
Permission Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to list permissions.
Automated Enumeration: Tools like Azure AD Recon can automate permission enumeration.
Federation Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to list federation settings.
Automated Enumeration: Tools like Azure AD Recon can automate federation enumeration.
SAML Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to list SAML configurations.
Automated Enumeration: Tools like Azure AD Recon can automate SAML enumeration.
MFA Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to list MFA settings.
Automated Enumeration: Tools like Azure AD Recon can automate MFA enumeration.
B2B Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to list B2B settings.
Automated Enumeration: Tools like Azure AD Recon can automate B2B enumeration.
B2C Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to list B2C settings.
Automated Enumeration: Tools like Azure AD Recon can automate B2C enumeration.
Conditional Access Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to list conditional access policies.
Automated Enumeration: Tools like Azure AD Recon can automate conditional access enumeration.
Risk Detection Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access risk detection settings.
Automated Enumeration: Tools like Azure AD Recon can automate risk detection enumeration.
Identity Protection Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access identity protection settings.
Automated Enumeration: Tools like Azure AD Recon can automate identity protection enumeration.
Security Defaults Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to list security defaults settings.
Automated Enumeration: Tools like Azure AD Recon can automate security defaults enumeration.
Security Reports Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security reports.
Automated Enumeration: Tools like Azure AD Recon can automate security reports enumeration.
Security Alerts Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security alerts.
Automated Enumeration: Tools like Azure AD Recon can automate security alerts enumeration.
Security Recommendations Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security recommendations.
Automated Enumeration: Tools like Azure AD Recon can automate security recommendations enumeration.
Security Scores Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security scores.
Automated Enumeration: Tools like Azure AD Recon can automate security scores enumeration.
Security Baselines Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security baselines.
Automated Enumeration: Tools like Azure AD Recon can automate security baselines enumeration.
Security Policies Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security policies.
Automated Enumeration: Tools like Azure AD Recon can automate security policies enumeration.
Security Configurations Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security configurations.
Automated Enumeration: Tools like Azure AD Recon can automate security configurations enumeration.
Security Compliance Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security compliance settings.
Automated Enumeration: Tools like Azure AD Recon can automate security compliance enumeration.
Security Controls Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security controls.
Automated Enumeration: Tools like Azure AD Recon can automate security controls enumeration.
Security Assessments Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security assessments.
Automated Enumeration: Tools like Azure AD Recon can automate security assessments enumeration.
Security Insights Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security insights.
Automated Enumeration: Tools like Azure AD Recon can automate security insights enumeration.
Security Analytics Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security analytics.
Automated Enumeration: Tools like Azure AD Recon can automate security analytics enumeration.
Security Intelligence Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security intelligence.
Automated Enumeration: Tools like Azure AD Recon can automate security intelligence enumeration.
Security Monitoring Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security monitoring settings.
Automated Enumeration: Tools like Azure AD Recon can automate security monitoring enumeration.
Security Operations Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security operations.
Automated Enumeration: Tools like Azure AD Recon can automate security operations enumeration.
Security Response Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security response settings.
Automated Enumeration: Tools like Azure AD Recon can automate security response enumeration.
Security Investigations Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security investigations.
Automated Enumeration: Tools like Azure AD Recon can automate security investigations enumeration.
Security Remediations Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security remediations.
Automated Enumeration: Tools like Azure AD Recon can automate security remediations enumeration.
Security Updates Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security updates.
Automated Enumeration: Tools like Azure AD Recon can automate security updates enumeration.
Security Patches Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security patches.
Automated Enumeration: Tools like Azure AD Recon can automate security patches enumeration.
Security Fixes Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security fixes.
Automated Enumeration: Tools like Azure AD Recon can automate security fixes enumeration.
Security Vulnerabilities Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security vulnerabilities.
Automated Enumeration: Tools like Azure AD Recon can automate security vulnerabilities enumeration.
Security Exploits Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security exploits.
Automated Enumeration: Tools like Azure AD Recon can automate security exploits enumeration.
Security Threats Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security threats.
Automated Enumeration: Tools like Azure AD Recon can automate security threats enumeration.
Security Risks Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security risks.
Automated Enumeration: Tools like Azure AD Recon can automate security risks enumeration.
Security Incidents Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security incidents.
Automated Enumeration: Tools like Azure AD Recon can automate security incidents enumeration.
Security Breaches Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security breaches.
Automated Enumeration: Tools like Azure AD Recon can automate security breaches enumeration.
Security Compromises Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security compromises.
Automated Enumeration: Tools like Azure AD Recon can automate security compromises enumeration.
Security Violations Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security violations.
Automated Enumeration: Tools like Azure AD Recon can automate security violations enumeration.
Security Controls Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security controls.
Automated Enumeration: Tools like Azure AD Recon can automate security controls enumeration.
Security Measures Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security measures.
Automated Enumeration: Tools like Azure AD Recon can automate security measures enumeration.
Security Protocols Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security protocols.
Automated Enumeration: Tools like Azure AD Recon can automate security protocols enumeration.
Security Mechanisms Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security mechanisms.
Automated Enumeration: Tools like Azure AD Recon can automate security mechanisms enumeration.
Security Safeguards Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security safeguards.
Automated Enumeration: Tools like Azure AD Recon can automate security safeguards enumeration.
Security Countermeasures Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security countermeasures.
Automated Enumeration: Tools like Azure AD Recon can automate security countermeasures enumeration.
Security Precautions Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security precautions.
Automated Enumeration: Tools like Azure AD Recon can automate security precautions enumeration.
Security Best Practices Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security best practices.
Automated Enumeration: Tools like Azure AD Recon can automate security best practices enumeration.
Security Guidelines Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security guidelines.
Automated Enumeration: Tools like Azure AD Recon can automate security guidelines enumeration.
Security Standards Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security standards.
Automated Enumeration: Tools like Azure AD Recon can automate security standards enumeration.
Security Policies Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security policies.
Automated Enumeration: Tools like Azure AD Recon can automate security policies enumeration.
Security Configurations Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security configurations.
Automated Enumeration: Tools like Azure AD Recon can automate security configurations enumeration.
Security Compliance Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security compliance settings.
Automated Enumeration: Tools like Azure AD Recon can automate security compliance enumeration.
Security Controls Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security controls.
Automated Enumeration: Tools like Azure AD Recon can automate security controls enumeration.
Security Assessments Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security assessments.
Automated Enumeration: Tools like Azure AD Recon can automate security assessments enumeration.
Security Insights Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security insights.
Automated Enumeration: Tools like Azure AD Recon can automate security insights enumeration.
Security Analytics Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security analytics.
Automated Enumeration: Tools like Azure AD Recon can automate security analytics enumeration.
Security Intelligence Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security intelligence.
Automated Enumeration: Tools like Azure AD Recon can automate security intelligence enumeration.
Security Monitoring Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security monitoring settings.
Automated Enumeration: Tools like Azure AD Recon can automate security monitoring enumeration.
Security Operations Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security operations.
Automated Enumeration: Tools like Azure AD Recon can automate security operations enumeration.
Security Response Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security response settings.
Automated Enumeration: Tools like Azure AD Recon can automate security response enumeration.
Security Investigations Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security investigations.
Automated Enumeration: Tools like Azure AD Recon can automate security investigations enumeration.
Security Remediations Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security remediations.
Automated Enumeration: Tools like Azure AD Recon can automate security remediations enumeration.
Security Updates Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security updates.
Automated Enumeration: Tools like Azure AD Recon can automate security updates enumeration.
Security Patches Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security patches.
Automated Enumeration: Tools like Azure AD Recon can automate security patches enumeration.
Security Fixes Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security fixes.
Automated Enumeration: Tools like Azure AD Recon can automate security fixes enumeration.
Security Vulnerabilities Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security vulnerabilities.
Automated Enumeration: Tools like Azure AD Recon can automate security vulnerabilities enumeration.
Security Exploits Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security exploits.
Automated Enumeration: Tools like Azure AD Recon can automate security exploits enumeration.
Security Threats Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security threats.
Automated Enumeration: Tools like Azure AD Recon can automate security threats enumeration.
Security Risks Enumeration
Manual Enumeration: Use Azure Portal or Azure CLI to access security risks.
Automated Enumeration: Tools like Azure AD Recon can automate security risks enumeration.
Security Incidents Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security incidents.
Automated Enumeration: Tools like Azure AD Recon can automate security incidents enumeration.
Security Breaches Enumeration
Manual Enumeration: Use Azure Portal or use Azure CLI to access security breaches.
Automated Enumeration: Tools like Azure AD Recon can automate security breaches enumeration.
Security Compromises Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security compromises.
Automated Enumeration: Tools like Azure AD Recon can automate security compromises enumeration.
Security Violations Enumeration
Manual Enumeration: Use Azure Portal or use Azure CLI to access security violations.
Automated Enumeration: Tools like Azure AD Recon can automate security violations enumeration.
Security Controls Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security controls.
Automated Enumeration: Tools like Azure AD Recon can automate security controls enumeration.
Security Measures Enumeration
Manual Enumeration: Use Azure Portal or use Azure CLI to access security measures.
Automated Enumeration: Tools like Azure AD Recon can automate security measures enumeration.
Security Protocols Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security protocols.
Automated Enumeration: Tools like Azure AD Recon can automate security protocols enumeration.
Security Mechanisms Enumeration
Manual Enumeration: Use Azure Portal or use Azure CLI to access security mechanisms.
Automated Enumeration: Tools like Azure AD Recon can automate security mechanisms enumeration.
Security Safeguards Enumeration
Manual Enumeration: Check Azure Portal or use Azure CLI to access security safeguards.
Automated Enumeration: Tools like Azure AD Recon can automate security safeguards enumeration.
Security Countermeasures Enumeration
Manual Enumeration: Use Azure Portal or use Azure CLI to access security countermeasures.
Automated Enumeration: Tools like `Azure AD Recon
# Get Administrative Units
Get-AzureADMSAdministrativeUnit
Get-AzureADMSAdministrativeUnit -Id <id>
# Get ID of admin unit by string
$adminUnitObj = Get-AzureADMSAdministrativeUnit -Filter "displayname eq 'Test administrative unit 2'"
# List the users, groups, and devices affected by the administrative unit
Get-AzureADMSAdministrativeUnitMember -Id <id>
# Get the roles users have over the members of the AU
Get-AzureADMSScopedRoleMembership -Id <id> | fl #Get role ID and role members
Protección de Identidad de Azure AD (AIP)
La Protección de Identidad de Azure AD (AIP) es un servicio de seguridad que utiliza detección y remediación automatizadas para ayudar a proteger las identidades de usuario en Azure Active Directory de ser comprometidas. AIP monitorea y evalúa continuamente el riesgo de inicio de sesión de usuarios y configuraciones de identidad, aplicando automáticamente medidas de seguridad apropiadas, como requerir autenticación multifactor o bloquear actividades potencialmente peligrosas. Esto ayuda a las organizaciones a prevenir brechas de seguridad basadas en identidades.
Flujo:
La Protección de Identidad de Azure AD monitorea las actividades de los usuarios y recopila datos sobre inicios de sesión, eventos de autenticación y otras actividades relevantes de los usuarios.
El servicio utiliza algoritmos de aprendizaje automático para analizar estos datos y detectar posibles amenazas de seguridad.
La Protección de Identidad de Azure AD asigna un nivel de riesgo a la amenaza (por ejemplo, inicio de sesión) y genera una alerta si es necesario realizar alguna acción automática.
Protección de Contraseña de Azure AD (APP)
La Protección de Contraseña de Azure AD (APP) es una característica de seguridad que ayuda a prevenir contraseñas débiles en Azure Active Directory al hacer cumplir políticas de contraseñas sólidas. APP bloquea contraseñas débiles comúnmente utilizadas y sus variantes, reduciendo el riesgo de brechas relacionadas con contraseñas. Puede aplicarse tanto a nivel de la nube como en el Directorio Activo local, mejorando la seguridad general de contraseñas en toda la organización.