Enumeration
Quick Checks
After compromising a new user means you should immediately check your privileges:
Get-AzResourceGet-AzRoleAssignmentAssigned 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.jsonMicrosoft 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