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
# 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?