Bloodhound is a GUI tool that works together with the enumeration tool Sharphound. Generally, Sharphound will be executed to enumerate through the AD environment to collect information, before being passed to Bloodhound to be displayed visually. Essentially, Sharphound can be viewed as the data collector for Bloodhound.
Note: the Bloodhound and Sharphound versions should match for the best results.
There are different types of data collectors for Bloodhound:
SharpHound: as a Powershell script (.ps1) or a Windows executable version (.exe )
The official data collector for BloodHound Community Edition (CE), written in C# and uses native Windows API and LDAP namespace functions to collect data from domain controllers and domain-joined Windows systems.
AzureHound: as a Powershell script (.ps1 ) or pre-compiled binary
AzureHound Community Edition collects data from Entra ID (formerly known as AzureAD) and AzureRM via the Microsoft Graph and Azure REST APIs. It does not use any external dependencies and will run on any operating system.
# remember to replace the filename based on your architecture (relese page link above)
$ wget https://github.com/SpecterOps/bloodhound-cli/releases/latest/download/bloodhound-cli-linux-amd64.tar.gz
$ tar -xvzf bloodhound-cli-linux-amd64.tar.gz # replace apprioprately too
$ ./bloodhound-cli install # use with sudo if this command fails
$ sudo systemctl disable docker
$ sudo systemctl disable docker.socket
# to stop the bloodhound instance
$ ./bloodhound-cli down
$ sudo systemctl start docker
$ sudo systemctl start docker.socket
# navigate to the directory where the bloodhound-cli binary is stored
$ ./bloodhound-cli up