Skip to content

Latest commit

 

History

History
133 lines (95 loc) · 6.39 KB

enumeracion.md

File metadata and controls

133 lines (95 loc) · 6.39 KB

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:

{% content-ref url="../method/recon/subdominios.md" %} subdominios.md {% endcontent-ref %}

Estructura de nombre de dominio de Azure Web Sites

{% embed url="https://www.netspi.com/blog/technical/cloud-penetration-testing/enumerating-azure-services/" %}

Domain Associated Service
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 Email
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

{% embed url="https://www.microsoft.com/en-us/download/details.aspx?id=56519" %}

Sabiendo el dominio es perteneciente a Azure Tenant, se puede ocupar lo siguiente:

Manual Tenant ID

{% code overflow="wrap" %}

https://login.microsoftonline.com/<Domain_To_Audit><.onmicrosoft>.com/.well-known/openid-configuration

{% endcode %}

{% code overflow="wrap" %}

https://login.microsoftonline.com/getuserrealm.srf?login=auditor@atomic-nuclear.site&xml=1

{% endcode %}

{% code overflow="wrap" %}

https://login.microsoftonline.com/atomic-nuclear.site/.well-known/openid-configuration

{% endcode %}

APIInformationAADInternals function
login.microsoftonline.com/<domain>/.well-known/openid-configurationLogin information, including tenant IDGet-AADIntTenantID -Domain <domain>
autodiscover-s.outlook.com/autodiscover/autodiscover.svcAll domains of the tenantGet-AADIntTenantDomains -Domain <domain>
login.microsoftonline.com/GetUserRealm.srf?login=<UserName>Login information of the tenant, including tenant Name and domain authentication typeGet-AADIntLoginInformation -UserName <UserName>
login.microsoftonline.com/common/GetCredentialTypeLogin information, including Desktop SSO informationGet-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

{% code overflow="wrap" %}

Invoke-AADIntUserEnumerationAsOutsider -UserName "user@company.com"

{% endcode %}

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:

MétodoDescripción
NormalHace referencia a la API GetCredentialType mencionada anteriormente. El método por defecto.
LoginEste 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