BloodHound and SharpHound Collection
BloodHound maps attack paths through Active Directory by collecting relationships between users, computers, groups, and ACLs and visualising the shortest path to Domain Admin. SharpHound is the Windows-based collector. BloodHound.py and other tools handle collection from Linux. The output is a ZIP of JSON files that loads directly into BloodHound.
SharpHound — Windows collection
SharpHound runs on a domain-joined host or from any host with domain credentials. It contacts the DC and domain hosts directly to collect session, trust, ACL, and object data. On Kali: /usr/share/sharphound/SharpHound.exe
[+] Creating randomized filenames [+] Resolved Collection Methods: Group, LocalAdmin, Session, Trusts, ACL, Container, RDP, ObjectProps, DCOM, SPNTargets, PSRemote [+] Initializing SharpHound at 14:23:01 on 04/05/2026 [+] Flags: Group, LocalAdmin, Session, Trusts, ACL, Container, RDP, ObjectProps, DCOM, SPNTargets, PSRemote [+] Finished enumeration for CORP.LOCAL in 00:00:14.1337 [+] Zipping files to C:\Windows\Temp\bh\20260405142315_BloodHound.zip
Collection methods explained:
All— everything, queries domain hosts for local admins and sessions (noisy)DCOnly— only queries the DC via LDAP, no host-to-host traffic (stealthy, misses session data)ACL— ACL relationships only — the most valuable for privilege escalation path findingSession— where users are currently logged in (requires connecting to each host)ObjectProps— user and computer properties from LDAP
Transfer the ZIP to your attack box
BloodHound.py — collection from Linux
BloodHound.py collects from Linux without needing a Windows foothold. It communicates directly with the DC over LDAP and SMB using any valid domain credentials.
INFO: Found AD domain: corp.local INFO: Connecting to LDAP server: 10.10.10.10 INFO: Found 1 domains INFO: Found 3 computers INFO: Found 24 users INFO: Found 15 groups INFO: Done in 00M 12S
nxc BloodHound collection
nxc can trigger SharpHound execution on a remote host via SMB without needing an interactive shell — useful when you have credentials but no direct shell on a domain-joined host.
LDAP 10.10.10.10 389 DC01 [*] Compressing output into 20260405_BloodHound.zip LDAP 10.10.10.10 389 DC01 [+] 20260405_BloodHound.zip written to current directory
BloodyAD — targeted collection without ZIP
BloodyAD does not produce BloodHound ZIPs but its get writable and get search queries cover the most actionable enumeration — writable objects and delegation targets — without the overhead of a full BloodHound run.
BloodHound Community Edition (CE)
BloodHound CE is the current maintained version. It replaces the legacy Electron app and neo4j-only setup with a containerised stack and a web UI.
Starting BloodHound CE
On Kali, CE ships via Docker Compose:
First-run credentials are printed to stdout — look for Initial Password Set To:. The web UI opens at http://localhost:8080.
If you have the standalone bloodhound package installed (legacy), start it with:
CE and legacy are separate installs. CE is the default going forward.
Collecting for CE
SharpHound output (ZIP) is CE-compatible since v2.0 — no changes needed. bloodhound-python produces CE-compatible ZIPs with --zip:
Without --zip, bloodhound-python writes individual JSON files. CE accepts both — drag the ZIP or folder into the web UI upload at http://localhost:8080.
Uploading to CE
In the CE web UI: Administration → File Ingest → Upload Files. Drag the ZIP or individual JSON files. CE processes them in the background — check status under Administration → File Ingest Status.
Loading and analysing in BloodHound
After collection, load the ZIP into BloodHound and run these queries first to identify the most direct attack paths.
Shortest Paths to Domain Admins — fewest hops from your current account to DA
Find Principals with DCSync Rights — accounts that can dump all domain hashes without being DA
Shortest Path from Owned Principals — mark your account as owned first, then run this
Find Computers with Unconstrained Delegation — coercion targets for TGT theft — see Unconstrained Delegation Abuse
Find AS-REP Roastable Users — accounts with pre-auth disabled — see AS-REP Roasting
Find Kerberoastable Users in High Value Groups — high-impact SPN accounts — see Kerberoasting
For acting on what BloodHound finds see Active Directory ACL Enumeration and ACL Abuse Privilege Escalation.
Related
References
-
SharpHound — GitHubgithub.com/BloodHoundAD/SharpHound (opens in new tab)
Collection methods, flags, and output format reference
-
BloodHound.py — GitHubgithub.com/dirkjanm/BloodHound.py (opens in new tab)
Linux-based collection, authentication options
-
NetExec (nxc) — GitHubgithub.com/Pennyw0rth/NetExec (opens in new tab)
Remote BloodHound collection via --bloodhound flag
Was this helpful?
Your feedback helps improve this page.