Skip to content

Repository files navigation

AzureHound

The BloodHound data collector for Microsoft Azure

GitHub Workflow Status GitHub release (latest SemVer) GitHub all releases Documentation

Get AzureHound

Release Binaries

Download the appropriate binary for your platform from one of our Releases.

Rolling Release

The rolling release contains pre-built binaries that are automatically kept up-to-date with the main branch and can be downloaded from here.

Warning: The rolling release may be unstable.

Compiling

Prerequisites

To build this project from source run the following:

go build -o azurehound -ldflags="-s -w -X github.com/SpecterOps/AzureHound/v2/constants.Version=`git describe tags --exact-match 2> /dev/null || git rev-parse HEAD`"

Documentation

Please refer to the BloodHound Community Edition documentation for:

Usage

Quickstart

Print all Azure Tenant data to stdout

❯ azurehound list -u "$USERNAME" -p "$PASSWORD" -t "$TENANT"

Print all Azure Tenant data to file

❯ azurehound list -u "$USERNAME" -p "$PASSWORD" -t "$TENANT" -o "mytenant.json"

Print all Azure Tenant data to file, reusing your existing authentication from the Azure CLI

❯ JWT=$(az account get-access-token --resource https://graph.microsoft.com | jq -r .accessToken)
❯ azurehound list --jwt "$JWT"

Configure and start data collection service for BloodHound Enterprise

❯ azurehound configure
(follow prompts)

❯ azurehound start

CLI

❯ azurehound --help
AzureHound vx.x.x
Created by the BloodHound Enterprise team at SpecterOps - [https://bloodhoundenterprise.io](https://specterops.io/bloodhound-overview/)

The official tool for collecting Azure data for BloodHound Community Edition and BloodHound Enterprise

Usage:
  azurehound [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  configure   Configure AzureHound
  help        Help about any command
  list        Lists Azure Objects
  start       Start Azure data collection service for BloodHound Enterprise

Flags:
  -c, --config string          AzureHound configuration file (default: /Users/dlees/.config/azurehound/config.json)
  -h, --help                   help for azurehound
      --json                   Output logs as json
  -j, --jwt string             Use an acquired JWT to authenticate into Azure
      --log-compress           Compress rotated logs with gzip (default: true)
      --log-file string        Output logs to this file
      --log-max-age int        Maximum age in days for rotated logs (default: 14; 0 disables age pruning)
      --log-max-backups int    Maximum number of rotated logs to retain (default: 20; 0 disables count pruning)
      --log-max-size int       Maximum active log size in MiB before rotation (default: 100)
      --proxy string           Sets the proxy URL for the AzureHound service
  -r, --refresh-token string   Use an acquired refresh token to authenticate into Azure
  -v, --verbosity int          AzureHound verbosity level (defaults to 0) [Min: -1, Max: 2]
      --version                version for azurehound

Use "azurehound [command] --help" for more information about a command.

Log file management

When --log-file is configured, AzureHound rotates the active log when it reaches --log-max-size. Rotated logs are timestamped, stored beside the active log, and compressed with gzip by default.

Archives are retained for at most --log-max-age days and are also limited by --log-max-backups. Setting either retention option to 0 disables that individual limit. The defaults retain no more than 20 archives or 14 days of history. Only one AzureHound process should write to a given log file.

About

Azure Data Exporter for BloodHound

Topics

Resources

Stars

957 stars

Watchers

21 watching

Forks

Releases

Packages

Used by

Contributors

Languages