Enumeration Commands and Options
Thelist command collects all supported Entra ID and Azure Resource Manager data. Add a collection option directly after list to limit the scope.
For example, use azurehound list az-ad to collect all supported Entra ID data and azurehound list apps to collect only application registrations within Entra ID. Run azurehound list -h to see all available collection commands.
The following tree logically groups every collection option by resource and abuse type. This grouping does not mean an aggregate command emits every option shown beneath it. All options are direct children of list; for example, run azurehound list apps, not azurehound list az-ad apps.
Authentication Flags
AzureHound supports several authentication options. You can control how AzureHound authenticates by using command-line flags or the configuration file. Some flags should always be used together and are presented here in the context of their authentication use cases.For authentication flags, AzureHound reads file contents only from paths passed to
--cert and --key. Every other authentication flag takes a literal value and does not interpret that value as a file path.Authenticating with Username and Password
-uor--username— The Entra ID user’s user principal name (UPN), inusername@domain.comformat.-por--password— The user’s clear-text password value.-tor--tenant— The directory tenant value, in GUID or friendly-name format.
Authenticating with Service Principal Secret
-aor--app— The application (client) ID value assigned when the app was registered.-sor--secret— The client secret value generated for the app registration.-tor--tenant— The directory tenant value, in GUID or friendly-name format.
Authenticating with Service Principal Certificate
-aor--app— The application (client) ID value assigned when the app was registered.--cert— The path to the certificate uploaded for the app registration, in PEM format. AzureHound reads the certificate from this file.-kor--key— The path to the certificate’s private key file, in PEM format. AzureHound reads the private key from this file.--keypass(optional) — The literal passphrase value to use if the private key is encrypted.-tor--tenant— The directory tenant value, in GUID or friendly-name format.
Authenticating with Azure Managed Identity
--managed-identity— Use Azure Managed Identity to authenticate. Use this when running AzureHound on an Azure resource, such as a virtual machine or App Service, with a managed identity assigned.--managed-identity-client-id(optional) — The client ID value of a user-assigned managed identity. If not provided, AzureHound uses the system-assigned identity.-tor--tenant— The directory tenant value, in GUID or friendly-name format.
Authenticating with a JWT
-jor--jwt— The literal value of a Microsoft Graph or Azure Resource Manager scoped JWT.
Authenticating with a Refresh Token
-ror--refresh-token— The literal refresh token value. AzureHound exchanges it for an appropriately scoped JWT when accessing the Microsoft Graph and Azure Resource Manager APIs.-tor--tenant— The directory tenant value, in GUID or friendly-name format.
Additional Scoping and Output Flags
-b- Filter by one or more subscription IDs. AzureHound will automatically dedupe this list for you.-m- Filter by one or more management group IDs. AzureHound will automatically dedupe all descendant management groups and subscriptions for you.-oor--output- Instructs AzureHound to write its output to a specified file name. Accepts either a bare filename (azurehound.json, written to the current working directory) or an absolute path (~/azurehound.json).--log-file- Write logs to the specified file. Accepts either a bare filename (log.txt, written to the current working directory) or an absolute path (~/azurehound.log).--json- Emit logs as structured JSON instead of the default line-based format. Requires--log-fileto be set.-vor--verbosity- AzureHound verbosity level (defaults to 0), a higher value gives more verbosity [Min: -1, Max: 2]--version- Print the AzureHound version and exit.
Custom User-Agent
-U or --user-agent - Set a custom User-Agent header for all HTTP requests. This can be useful for evasion purposes or for debugging and identification. If not specified, AzureHound uses the default User-Agent value.
Example: