Enumeración
Enumeración de Dominios
Existen algunas APIs públicas de Azure que sólo conociendo el dominio del tenant un atacante podría consultar para recabar más información sobre el mismo.

A parte de utilizar google dorks y consultas con dns se puede usar lo siguiente:
SubDominiosEstructura de nombre de dominio de Azure Web Sites

azurewebsites.net
App Services
scm.azurewebsites.net
App Services – Management
p.azurewebsites.net
App Services
cloudapp.net
App Services
file.core.windows.net
Storage Accounts-Files
blob.core.windows.net
Storage Accounts-Blobs
queue.core.windows.net
Storage Accounts-Queues
table.core.windows.net
Storage Accounts-Tables
redis.cache.windows.net
Databases-Redis
documents.azure.com
Databases-Cosmos DB
database.windows.net
Databases-MSSQL
vault.azure.net
Key Vaults
onmicrosoft.com
Microsoft Hosted Domain
mail.protection.outlook.com
sharepoint.com
SharePoint
azureedge.net
CDN
search.windows.net
Search Appliance
azure-api.net
API Services
Con la herramienta dig se tiene que ver que resuelva a algún dominio de Azure o 365

Rangos de IP de Azure

Sabiendo el dominio es perteneciente a Azure Tenant, se puede ocupar lo siguiente:
Manual Tenant ID
https://login.microsoftonline.com/<Domain_To_Audit><.onmicrosoft>.com/.well-known/openid-configuration

https://login.microsoftonline.com/getuserrealm.srf?login=auditor@atomic-nuclear.site&xml=1
https://login.microsoftonline.com/atomic-nuclear.site/.well-known/openid-configuration
login.microsoftonline.com/<domain>/.well-known/openid-configuration
Login information, including tenant ID
Get-AADIntTenantID -Domain <domain>
autodiscover-s.outlook.com/autodiscover/autodiscover.svc
All domains of the tenant
Get-AADIntTenantDomains -Domain <domain>
login.microsoftonline.com/GetUserRealm.srf?login=<UserName>
Login information of the tenant, including tenant Name and domain authentication type
Get-AADIntLoginInformation -UserName <UserName>
login.microsoftonline.com/common/GetCredentialType
Login information, including Desktop SSO information
Get-AADIntLoginInformation -UserName <UserName>
Tool AADInternals - Tenant id
También se pueden usar la herramienta AADInternals para enumerar rápidamente los dominios:
Invoke-AADIntReconAsOutsider -DomainName some.onmicrosoft.com | Format-Table
Salida de ejemplo:
Tenant brand: Company Ltd
Tenant name: company
Tenant id: 05aea22e-32f3-4c35-831b-52735704feb3
DesktopSSO enabled: True
Name DNS MX SPF Type STS
---- --- -- --- ---- ---
company.com True True True Federated sts.company.com
company.mail.onmicrosoft.com True True True Managed
company.onmicrosoft.com True True True Managed
int.company.com False False False Managed
Otra función de AADinternals para obtener solo el Tenant ID es:
Get-AADIntTenantID -Domain some.onmicrosoft.com
Enumeración de Usuarios
Por medio de la herramienta AADInternals se puede
Invoke-AADIntUserEnumerationAsOutsider -UserName "user@company.com"
Listar información de los correos válidos:
Get-AADIntLoginInformation -UserName "user@company.com"
Además de uso de herramienta, existen otros 3 metodos de enumeración de usuarios:
Normal
Hace referencia a la API GetCredentialType mencionada anteriormente. El método por defecto.
Login
Este método intenta iniciar sesión como usuario. Nota: las consultas se registrarán en el registro de inicio de sesión.
Autologon
Este método intenta iniciar sesión como el usuario a través de autologon endpoint.
Las consultas no se registran en el registro de inicio de sesión. Como tal, funciona bien para los ataques de password spray y de fuerza bruta.
Otra herramienta para enumeración es o365screeper:
# Poner los correos en el archivo emails.txt
python.exe .\o365creeper\o365creeper.py -f .\emails.txt -o validemails.txt
Última actualización