Unauthenticated Recon
With just a e-mail address or domain we can get the following information:
Get if Azure tenant is in use, tenant name and Federation
https://login.microsoftonline.com/getuserrealm.srf?login=%5bUSERNAME@DOMAIN%5d&xml=1
Get tenant ID
https://login.microsoftonline.com/[DOMAIN]/.well-known/openid-configuration
Validate Email ID by sending requests
https://login.microsoftonline.com/common/GetCredentialType
AADInternals
It is a PS module that you can use for multiple attacks against AzureAD
Import-Module AADInternals.psd1 -Verbose
Recon as outsider
Invoke-AADIntReconAsOutsider -DomainName pp.onmicrosoft.com
Tenant brand: Defense Corporation
Tenant name: pp
Tenant id: 2d50cb29-5f7b-48a4-87ce-fkk49d321
DesktopSSO enabled: False
Name : pp.onmicrosoft.com
DNS : True
MX : True
SPF : True
DMARC : False
Type : Managed
STS :
Check if an email ID belongs to a tenant using o365creeper
C:\Python27\python.exe C:\AzAD\Tools\o365creeper\o365creeper.py -f C:\AzAD\Tools\emails.txt
[email protected] - VALID
pp.onmicrosoft.com - INVALID
Check if an email ID belongs to a tenant using omnispray
python.exe omnispray.py --type enum -uf ../users.txt --module o365_enum_office
Azure Services Discovery
Azure services are available at specific domains and subdomains. We can enumerate services by finding subdomains.
MicroBurst
MicroBurst is a useful tool for security assessment for Azure. It uses Az, AzureAD, AzurRM ans MSOL tools and additional REST API calls.
Import-Module MicroBurst.psm1
Enumerate Subdomains:
Invoke-EnumerateAzureSubDomains -Base pp -Verbose
VERBOSE: Found pp.onmicrosoft.com
VERBOSE: Found pp.onmicrosoft.com
VERBOSE: Found pp.onmicrosoft.com
VERBOSE: Found pp.mail.protection.outlook.com
VERBOSE: Found pp.mail.protection.outlook.com
VERBOSE: Found pp.mail.protection.outlook.com
Find subdomains with AzSubEnum
python3 azsubenum.py -b megabigtech --thread 10
Last updated