Note: Timed on a 2020 MacBook Pro (2.3 GHz i7) connecting to a remote DC over VPN. If you have automation scripts that rely on the old bloodhound.py output format, you have two paths forward. Quick Fix: Convert JSONL back to legacy JSON If you cannot update your parser immediately, use jq to reconstruct the legacy format:
For red teamers, blue teamers, and Active Directory (AD) forensic analysts, few tools have revolutionized privilege escalation auditing like BloodHound. At the heart of the data collection process lies the ingestor. However, for those operating in Python environments—specifically when dealing with restricted shells, Linux-based attack machines, or cross-platform C2 frameworks—the Python implementation known as bloodbornepkg (or simply bloodhound.py ) has been the go-to solution. bloodbornepkg updated
If you are mid-engagement with a legacy BloodHound GUI (version 4.2 or older), . If you are using BloodHound CE 4.3+ or BHE, update immediately for the performance gains. Note: Timed on a 2020 MacBook Pro (2
: If you encounter ModuleNotFoundError: No module named 'impacket' , the new package requires Impacket >= 0.10.0. Install via pip install impacket -U . 4. Operational Security (OpSec) Considerations The bloodbornepkg update introduces both risks and benefits for operational security. The Good: Stealthier LDAP Filters Previous versions used generic LDAP filters like (&(objectCategory=person)(objectClass=user)) . This is a fingerprintable signature for EDRs monitoring LDAP queries. The updated version randomizes the attribute order and adds decoy filters (e.g., (name=*) ), making detection signature-based rules less reliable. The Bad: Certificate Validation Enforced Older versions ignored SSL certificate errors for LDAPS (port 636) by default. The update enforces certificate validation. If your domain controller uses a self-signed certificate (common in test labs), you must now use the --ignore-cert flag, which will log a visible warning in your shell history—potentially a forensic artifact. New Anti-Sandbox Feature The update includes a check for LDAP_SERVER_DIRSYNC_OID control. If missing (indicating a honeypot or fake DC), the tool will exit with error code LDAP_HONEYPOT_DETECTED . This prevents wasting time on decoy networks. 5. Real-World Performance Benchmarks We tested bloodbornepkg v0.7.2 vs. v1.0.0 against a mock domain with 15,000 users, 3,000 computers, and 40,000 ACL edges. At the heart of the data collection process