BloodHound is a powerful utility widely used in penetration testing and red team operations to analyze and visualize Active Directory (AD) environments. It leverages graph theory to map out relationships within an AD domain, uncovering hidden or complex attack paths that an attacker could exploit to escalate privileges. By ingesting data collected through tools like SharpHound, BloodHound creates an interactive graph that security professionals can navigate to see how permissions, group memberships, and trusts connect in ways that may not be obvious through manual inspection. This makes it invaluable for understanding the true structure of a network and for identifying weak points that could allow lateral movement.
From a defensive standpoint, BloodHound also provides system administrators and security teams with insight into how attackers view their environments. The same graphs that reveal paths to domain dominance for red teamers can also help defenders spot misconfigurations, overly permissive rights, and unnecessary trust relationships. By proactively using BloodHound, organizations can clean up vulnerabilities before they’re exploited in the wild. Its strength lies in turning the overwhelming complexity of Active Directory into a visual, actionable map that empowers both offensive and defensive security operations.
Bloodhound install and config for Kali Linux in 2025
sudo apt update && sudo apt upgrade -y
sudo apt install -y docker.io -y
sudo systemctl start docker
sudo systemctl enable docker --now
sudo usermod -aG docker $USER
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
sudo apt install docker-compose
docker compose version
docker compose up
sudo reboot now
cd ad/hacks/bloodhound
wget https://github.com/SpecterOps/bloodhound-cli/releases/latest/download/bloodhound-cli-linux-amd64.tar.gz
tar -xvzf bloodhound-cli-linux-amd64.tar.gz
./bloodhound-cli install
How to use Bloodhound Python
mkdir ad
cd ad
mkdir hack
cd hack
mkdir bloodhound
cd bloodhound
nano ad-bloodhound.sh
#!/bin/bash
echo "Domain: "
read domain
echo "Username: "
read username
echo "Password: "
read password
echo "IP of Domain: "
read ip_address
bloodhound-python -d $domain -u $username -p $password -gc $domain -c all -ns $ip_address
chmod +x ad-bloodhound.sh
./ad-bloodhound.sh
How to use Sharphound
Bloodhound-Python Optional/Additional commands
bloodhound-python --username username --password password --domain domain
bloodhound-python --collectionmethod All --kerberos --domain domain
bloodhound-python --collectionmethod All --username username --hashes LM:NTLM --domain domain
bloodhound-python --collectionmethod All --username username --password password --domain domain --nameserver nameserver
bloodhound-python --collectionmethod All --username username --password password --domain domain --zip
sudo docker logs bloodhoundce_bloodhound_1 2>&1 | grep "Initial Password Set To:"
sudo docker logs bloodhoundce-bloodhound-1 2>&1 | grep "Initial Password Set To:"
http://localhost:8080/ui/download-collectors
sudo unzip ~/Downloads/azurehound*.zip -d /opt/bloodhoundce/azurehound
sudo unzip ~/Downloads/sharphound*.zip -d /opt/bloodhoundce/sharphound
sudo /opt/bloodhoundce/azurehound/azurehound-linux-amd64/azurehound -u 'First.Last@example.com' -p 'password123' list --tenant '' -o output.json
http://localhost:8080/ui/administration/file-ingest
sudo nano /etc/hosts