Azure enumeration is the process of discovering resources, identities, and attack surfaces in Microsoft's cloud platform. Unlike AWS, Azure is deeply integrated with Microsoft's ecosystem - Active Directory, Office 365, and Windows environments. This integration creates unique enumeration opportunities.
Azure enumeration often starts with unauthenticated discovery of Azure AD tenants, blob storage, and web apps. With credentials, you can map the entire Azure subscription: virtual machines, databases, key vaults, and more. Understanding Azure's structure is key to effective penetration testing.
Azure AD = Entra ID
Microsoft rebranded Azure AD to "Microsoft Entra ID" in 2023. The tools and APIs still use "Azure AD" terminology, so you'll see both names used interchangeably.
Azure Structure
Unauthenticated Enumeration
Authenticated Enumeration
Check Role Assignments
After initial enumeration, always check Get-AzRoleAssignment. Understanding who has access to what reveals misconfigurations and potential privilege escalation paths.
Azure Enumeration Tools
Azure Metadata Service
SSRF to Metadata
Azure metadata requires the "Metadata: true" header, which provides some SSRF protection. However, if you can inject headers or use a server-side proxy that adds headers, metadata is still accessible.
Azure Enumeration Methodology
Systematic Azure Enumeration
1
External ReconnaissanceDiscover tenant ID, domain info, federated vs managed. Enumerate storage accounts, web apps, and other public resources.
2
User EnumerationIf not blocked, enumerate valid usernames via GetCredentialType API. Look for patterns in naming conventions.
3
AuthenticationAttempt access with found/guessed credentials. Try password spraying (carefully!). Look for OAuth misconfigurations.
4
Azure AD EnumerationWith access, enumerate users, groups, service principals, and applications. Use AzureHound for attack path mapping.
5
Resource EnumerationList all subscriptions, resource groups, and resources. Check VMs, storage, databases, Key Vaults.
6
Permission AnalysisReview role assignments. Look for overprivileged identities, dangerous permissions, and escalation paths.
Knowledge Check
Challenges
Key Takeaways
- Azure structure: Tenant (identity) → Subscription (billing) → Resource Groups → Resources
- Tenant info is publicly discoverable via OpenID configuration endpoints
- Blob storage enumeration can find publicly accessible data
- Azure metadata (169.254.169.254) requires Metadata: true header
- Tools: AzureHound, ROADtools, MicroBurst, ScoutSuite for comprehensive enumeration
- Always check role assignments to understand access and find misconfigurations