Are you a blue team member looking to remediate identity risks? Request a demo of BloodHound Enterprise.
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 |
BloodHound Community Edition is a security auditing tool that was written to test the resilience of networks against attackers. Because this tool can equally be used for evil, some anti-malware and EDR solutions flag BloodHound and its components as malware. If you encounter issues with downloads being blocked and files being prohibited from execution, you may have to shut off these protections. We recommend that you set up BloodHound on a dedicated machine so that your regular work environment remains protected. If you are planning to use BloodHound on a corporate network, please notify your Security Operations Center (SOC) ahead of time and ensure you have the required permissions to audit the network. For legal and ethical reasons, you must never use BloodHound on systems you do not own or lack explicit permission to audit.
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.Option 1: In the terminal
- Clear the quarantine flag by typing
xattr -d com.apple.quarantine ./bloodhound-cli
in the CLI - Repeat the CLI command
./bloodhound-cli install
- 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 opened 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 defaultdocker-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. - Reset the password as prompted.
Get data into BloodHound
To get data into BloodHound, ingest sample data or run a data collector.Option 1 (Faster): 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
- 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.
The default admin email address is spam@example.com. You may notice this show up as the user who’s ingesting the data.
Option 2 (More Realistic): 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 from GitHub releases: SharpHound releases or AzureHound releases.
- 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.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.1
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.
2
Pathfind
Review the path from one user to another on the Pathfinding tab. For example, pathfind from
BOB
to ADMINISTRATOR
.3
Explore Cypher queries
Explore the pre-saved Cypher queries on the Cypher tab.
Update BloodHound CE
The easiest way to update your instance of BloodHound Community Edition is viabloodhound-cli
.