- From the BloodHound CE interface as a pre-compiled binary
- ⚙️ → Download Collectors, and click the button Download AzureHound
- From the AzureHound releases as precompiled binaries for your OS/arch
- Build it from source with the code on the AzureHound repository
- Clone the repository and `cd` into the directory
- Run
go build .
- When built, you will have a binary called `azurehound` in the directory
Collecting Data with AzureHound
AzureHound supports several authentication flows for collecting information from Azure. You can supply a username/password combo, a JWT, a refresh token, a service principal secret, or service principal certificate. You can combine these various authentication methods with several collection scoping options. For example, to authenticate with a username/password and list all groups in a tenant:Dealing with Multi-Factor Auth and Conditional Access Policies
If a user has MFA or CAP restrictions applied to them, you will not be able to authenticate with just a username and password with AzureHound. In this situation, you can acquire a refresh token for the user and supply the refresh token to AzureHound. The most straight-forward way to accomplish this is to use the device code flow. In this example I will show you how to perform this flow using PowerShell, but this example can be very easily ported to any language, as we are simply making calls to Azure APIs. Open a PowerShell window on any system and paste the following:-r
switch: