BloodHound Community Edition Quickstart
Set up BloodHound Community Edition (BloodHound CE) with Docker Compose and start identifying and visualizing security risks..
Prerequisites
To complete the quickstart, ensure you meet these system requirements. BloodHound CE deploys in a traditional multi-tier container architecture consisting of databases, application, and UI layers.
Minimum specifications | For large environments (>50K users) |
---|---|
4GB of RAM | 96GB of RAM |
4 processor cores | 12 processor cores |
10GB hard disk space | 50GB hard disk space |
Install BloodHound CE
-
Install Docker Desktop. This gives you access to Docker Compose.
-
Download the latest release of Bloodhound CLI for your operating system and architecture (AMD or ARM) and unpack the file. BloodHound CLI is a utility that makes it easy to install BloodHound Community Edition in containers on your machine. To avoid the software getting blocked as malware in the browser, we recommend downloading it via command line using the following commands (substitute your architecture as appropriate):
- Next, unpack the file:
- In your terminal, enter the following command to install BloodHound Community Edition via BloodHound CLI:
If you encounter Mac Error: “bloodhound-cli” Not Opened. Apple could not verify “bloodhound-cli” is free of malware that may harm your mac or compromise your privacy. In case you get this error message, you need to allow bloodhound-cli to be executed.
- Go to System Settings (or System Preferences on older macOS versions)
- Navigate to Privacy & Security
- Scroll down to the Security section
- You should see a message stating that bloodhound-cli was blocked
- Click Allow Anyway
- Repeat the CLI command
./bloodhound-cli install
- Click Open Anyway
- Enter your password or use your fingerprint to confirm
If you encounter Mac Error: Malware Blocked – “com.docker.vmnetd” was not openend because it contains malware. This action did not harm your Mac. In case you get the error message, you need to uninstall and re-install Docker.
- Follow the Docker uninstall instructions (click tab for your operating system).
- Re-install Docker Desktop.
- Repeat the CLI command
./bloodhound-cli install
If you encounter Mac Error: “Docker is installed on this system, but the daemon is not running” In case you get the error message, you need to uninstall and re-install Docker.
- Simply launch Docker Desktop and proceed.
-
The installation will now proceed. You’ll know it’s complete when you see the randomly generated password displayed on your screen. Make sure to keep your terminal open until you have changed your password in a future step.
If you lose the password, you can reset it locally using BloodHound CLI:
-
- Go to http://localhost:8080/ui/login, and log in with
admin
and the randomly generated password from the last installation step.
The default
docker-compose.yml
example binds only to localhost (127.0.0.1). To access BloodHound outside of localhost, follow the instructions in examples/docker-compose/README.md to configure host binding for the container. - Go to http://localhost:8080/ui/login, and log in with
-
Reset the password as prompted.
You’re now logged in to a locally hosted BloodHound CE tenant running with Docker Compose.
Get data into BloodHound
To get data into BloodHound, ingest sample data or run a data collector.
Option 1: Ingest sample data
Sample collection data helps you explore and test BloodHound CE functionality before using your own data.
To ingest the BloodHound sample data:
-
Download sample data for Active Directory or Azure
Active Directory Sample Data generated with SharpHound includes:
- 3 collected domains with trusts between them
- Additional, visible, trusted domains without collections
- Coverage for local permissions
- Multiple ADCS escalation paths
Azure Sample Data generated with AzureHound includes:
- Full collection of an Azure environment
- Support for user-sync hybrid paths when ingested alongside the example AD data
-
From the BloodHound CE UI, go to settings (⚙️) → Administration → Upload Files.
Option 2: Ingest your data with data collectors
BloodHound CE analyzes data collected by its two collector services, each collecting from a specific directory:
- Active Directory, collected by SharpHound CE
- Entra ID and Azure, collected by AzureHound CE
Download collectors
Each collector is a standalone binary. Download collectors using one of these methods:
- From BloodHound CE, click ⚙️ → Download Collectors → the download button for SHARPHOUND or AZUREHOUND.
- Download the collector from their respective GitHub repository: SharpHound repository or AzureHound repository.
- Build the collector from source with the source code for SharpHound or AzureHound.
Run a collector
Run the SharpHound or AzureHound collector. During collection, JSON files are generated and compressed into a ZIP file.
For Azure argument definitions, see All AzureHound Community Edition Flags, Explained.
Ingest data into BloodHound
Use the BloodHound CE API or the BloodHound CE UI to ingest collected data into BloodHound.
To ingest collected data with the API, use the BloodHound CE endpoint /api/v2/file-upload/
. See the BloodHound API documentation for details.
To ingest collected data with the BloodHound CE UI, go to settings (⚙️) → Administration → Data Collection → select File Ingest → click UPLOAD FILES and upload your files.
BloodHound CE accepts .zip archives or JSON files, with no size limit. Your browser’s ability to package the uploaded file is a limiting factor in uploading large datasets directly through the UI.
Explore attack paths
To look at identified attack paths in the graph, go to the Explore page in the BloodHound CE UI.
Search for a user
- In the Search bar, search nodes for a user like
user:bob
. - Select the user and click on the node that appears.
- Explore information about the user’s sessions and memberships.
Pathfind
Review the path from one user to another on the Pathfinding tab. For example, pathfind from BOB
to ADMINISTRATOR
.
Explore Cypher queries
Explore the pre-saved Cypher queries on the Cypher tab.
Learn more in Explore → Search for Objects.
Update BloodHound CE
The easiest way to update your instance of BloodHound Community Edition is via bloodhound-cli
.