Reconocimiento externo

El reconocimiento externo se realiza con el objetivo de obtener información general y pública sobre el Tenant de la organización/dominio objetivo.

Alguna información puede obtenerse de forma manual al realizar una petición contra determinados recursos de Microsoft. No obstante, existen varias herramientas y scripts que permiten automatizar algunas acciones.

Enumeración del Tenant

Conociendo un email de la organización, se podría obtener información asociada al Tenant donde se encuentra:

curl "https://login.microsoftonline.com/getuserrealm.srf?login=<Email corporativo>&xml=1"
<RealmInfo Success="true">
<State>4</State>
<UserState>1</UserState>
<Login>[email protected]</Login>
<NameSpaceType>Managed</NameSpaceType>
<DomainName>xtormincorp.com</DomainName>
<IsFederatedNS>false</IsFederatedNS>
<FederationBrandName>Xtormin Corp</FederationBrandName>
<CloudInstanceName>microsoftonline.com</CloudInstanceName>
<CloudInstanceIssuerUri>urn:federation:MicrosoftOnline</CloudInstanceIssuerUri>
</RealmInfo>

Para obtener el ID del Tenant e información de OpenID, se puede utilizar el siguiente recurso, donde se indicará el dominio objetivo:

curl "https://login.microsoftonline.com/<dominio>/.well-known/openid-configuration"
# Nombre del Tenant, autenticación, nombre, etc.
Get-AADIntLoginInformation -UserName <Email corporativo>
Has Password                         : True
Federation Protocol                  :
Pref Credential                      : 1
Consumer Domain                      :
Cloud Instance audience urn          : urn:federation:MicrosoftOnline
Authentication Url                   :
Throttle Status                      : 0
Account Type                         : Managed
Federation Active Authentication Url :
Exists                               : 0
Federation Metadata Url              :
Desktop Sso Enabled                  :
Tenant Banner Logo                   :
Tenant Locale                        :
Cloud Instance                       : microsoftonline.com
State                                : 4
Domain Type                          : 3
Domain Name                          : xtormincorp.onmicrosoft.com
Tenant Banner Illustration           :
Federation Brand Name                : Xtormin Corporation
Federation Global Version            :
User State                           : 1

Enumeración de emails

Se puede obtener una lista inicial de emails de la organización por médio de técnicas de OSINT o una lista de posibles emails.

Posteriormente, si se quiere comprobar si un email existe o no en el Tenant, sin agotar intentos de inicio de sesión, se puede usar el recurso GetCredentialType para ello, se realiza la siguiente petición POST indicando el email:

https://login.microsoftonline.com/common/GetCredentialType
POST /common/GetCredentialType HTTP/1.1
Host: login.microsoftonline.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Te: trailers
Connection: close
Content-Length: 76
Content-Type: application/json

{
"username":"[email protected]",
"isOtherIdpSupported":  true
}

O365EmailValidator

https://github.com/xtormin/PowerPentest/tree/4bd914593a03128c77ed1747c14c843b3f966563/Azure

O365EmailValidator: Si se desea automatizar esto, también se puede utilizar el siguiente script indicando la lista de emails que se quiera comprobar.

wget "https://github.com/xtormin/PowerPentest/blob/4bd914593a03128c77ed1747c14c843b3f966563/Azure/O365EmailValidator.ps1"
. .\O365EmailValidator.ps1
# Ejecución del script con una lista de posibles emails
Invoke-O365EmailValidator -file emails.txt -output emails_validated.txt

Ejemplo de emails.txt:

Enumeración de subdominios y servicios

MicroBurst

MicroBust: https://github.com/NetSPI/MicroBurst

"MicroBurst incluye funciones y scripts que permiten la enumeración de servicios de Azure, la auditoría de configuraciones débiles y acciones de post-explotación como el volcado de credenciales. Está diseñado para ser utilizado durante pruebas de penetración en entornos donde se utiliza Azure." – MicroBurst

# Enumeración de subdominios y servicios de xtormincorp.com
# Para ello se usa el nombre base "xtormincorp"
Invoke-EnumerateAzureSubDomains -Base xtormincorp -Verbose

Última actualización

¿Te fue útil?