Enumeration

Quick Checks

After compromising a new user means you should immediately check your privileges:

  • Get-AzResource

  • Get-AzRoleAssignment

  • Assigned Entra Roles

  • Administrative Units

  • Owned Entra Objects

  • Group Memberships

Automated Tools

ROADTools and AzureHound are popular tools to help automate enumeration of Azure tenants. AzureHound features attack mapping and a node-based GUI. ROADTools is more useful for a general overview of the tenant and user policies such as consent granting.

# ROADTools
roadrecon auth
roadrecon gather
roadrecon gui

# AzureHound with creds
./azurehound list -u jotter@jotter-labs.com -p 'jotter'  -o azure.json
.\azurehound.exe -u jotter@jotter-labs.com -p password list --tenant jotter-labs.com -o azure.json

Microsoft Graph

The Microsoft Graph API handles interactions with Entra ID/Azure AD. The token audience is graph.microsoft.com.

It is worth taking a closer look at the owners of Entra Applications (App Registrations) - owners and administrators of Applications may add secrets and authenticate as the associated service principal. If the service principal has a privileged role, you may impersonate the role:

Entirely separate from existing IAMs is Administrative Units. These are groups of users that may be administered through various permission by a select few users. RoadRecon will only show you the AU scope - NOT the users permitted to perform the actions or the associated privileges!

Azure

The Azure API handles interactions with the Azure Resource Manager and requires a different token audience - management.azure.com. Keep in mind that this token audience only permits access to the management plane, not the data plane (you may not read key vault secrets, for instance).

Code execution on Azure applications can allow for the abuse of a service principal's role:

Last updated