# BloodHound.py: Collect Active Directory Data with Impacket

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Source: osrepos.com
Repository profile: https://osrepos.com/repo/dirkjanm-bloodhound.py
Generated for open source discovery and AI-assisted research.

BloodHound.py is a Python ingestor built on Impacket that collects Active Directory data for BloodHound analysis. It suits security teams and testers who need to map domain relationships, permissions, sessions, and local administrators.

GitHub: https://github.com/dirkjanm/BloodHound.py
OSRepos URL: https://osrepos.com/repo/dirkjanm-bloodhound.py

## Summary

BloodHound.py is a Python ingestor built on Impacket that collects Active Directory data for BloodHound analysis. It suits security teams and testers who need to map domain relationships, permissions, sessions, and local administrators.

## Topics

- python
- cli
- cybersecurity
- security-tools
- active-directory
- bloodhound
- impacket

## Repository Information

Last analyzed by OSRepos: Sun Oct 25 2026 01:00:26 GMT+0100 (Western European Summer Time)
Detail views: 1
GitHub clicks: 0

## Safety Notice

OSRepos shares public repositories for knowledge and discovery only. Review source code, dependencies, licenses, and security implications before running or installing anything.

## Content

## Overview
BloodHound.py is a Python-based ingestor built on Impacket for collecting Active Directory data for BloodHound. It helps security teams and penetration testers map domain relationships and identify permissions, sessions, and local administrator access for analysis in BloodHound.

The default branch targets BloodHound versions 4.2 and 4.3. BloodHound CE users should use the project's separate `bloodhound-ce` branch and its `bloodhound-ce-python` command instead.

## Key Features
- Collects domain users, computers, groups, trusts, sessions, and local administrators.
- Supports selectable collection methods, including ACLs, object properties, RDP, DCOM, and PS Remoting.
- Offers `DCOnly` collection for methods that can be queried from a domain controller without connecting to member hosts.
- Accepts password, NT hash, AES key, or Kerberos ticket-cache credentials.
- Supports selecting a domain controller or Global Catalog when automatic detection is unsuitable.
- Provides a Docker image for running the ingestor in a container.

## Use Cases
- A penetration tester can collect domain data during an authorized assessment and analyze it in BloodHound.
- A security team can run focused collection, such as group membership or ACL enumeration, when a full sweep is unnecessary.
- An assessor with limited connectivity to member servers can use `DCOnly` methods to gather domain-controller-accessible data.
- A team can use the CE branch when its BloodHound deployment is Community Edition rather than the legacy versions supported by the default branch.

## Our Take
This is a focused, actively maintained Python ingestor, but adoption should account for its legacy-version scope, slow issue resolution, and reliance on a highly concentrated contributor base.

**Good fit if:**
- You need to collect Active Directory data for BloodHound 4.2 or 4.3 using a Python tool built on Impacket.
- You want to select specific collection methods or run domain-controller-only collection.
- You can work with Python and, if useful, its optional Docker setup.

**Look elsewhere if:**
- You need the default branch to support BloodHound CE. The project directs CE users to a separate branch and package.
- You require all SharpHound collection features, since GPO local groups are not supported.
- You need frequent releases or fast issue handling. There have been no releases in over a year, and issues take a long time to close.

## Project Health

| Signal | Value |
|---|---|
| Status | **Maintained**: a few commits in the last 90 days |
| Last commit | 2026-10-23 (1 day ago) |
| Commits, last 90 days | 2 |
| Releases, last 12 months | 0 |
| Contributors | 41 (top contributor: 82% of commits) |
| Issues closed, last 90 days | 5 (typically closed in 347 days) |
| Pull requests merged, last 90 days | 1 |
| Project age | 8 years |

Checked on 2026-10-25 with the GitHub API.

## Project Facts

- Language: Python
- License: MIT
- Stars: 2.5k
- Forks: 382
- Archived: no

## What You Need

Detected in the repository:

- Python (from pyproject.toml)
- A Dockerfile, so it can run in a container

## Getting Started
Install the legacy ingestor with:

```bash
pip install bloodhound
```

This adds `bloodhound-python` to your PATH. See the [README](https://github.com/dirkjanm/BloodHound.py#readme) for credentials, collection options, and CE installation details.

## License in Plain Words

**MIT** (permissive).

- Commercial use: yes
- Modify and redistribute: yes
- You must keep: the copyright and license notice
- Share your changes: no

A summary, not legal advice: the LICENSE file is what applies.

## Considerations
- The default branch supports BloodHound 4.2 and 4.3 only; CE requires the separate `bloodhound-ce` branch.
- GPO local-group collection is not supported, although the README says other collection methods are implemented.
- Recent activity consists of a few commits, with no release in over a year. Most contributions come from one person, and reported issue resolution is slow.
- The project is MIT-licensed. Check the license terms when including it in a product or distribution.
- The repository metadata does not indicate CI or a test suite, so teams should validate collection behavior in their own environment.