Open
Conversation
… in wiki; add BHCE client stub and README notes
- Introduced BHCEClient for interacting with BloodHound CE API. - Updated environment variable handling for BHCE credentials (user, secret, OTP, cookie, and insecure flag). - Refactored `do_test` and `mark_owned` functions to support BHCE backend. - Enhanced user property updates for marking as owned and high value in BHCE. - Implemented user querying and password handling for BHCE. - Added functionality to clear user attributes and manage cracked passwords in BHCE. - Updated command-line arguments to include BHCE-specific options. - Improved error handling and response checks for BHCE interactions.
…r BloodHound CE connection
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces support for BloodHound Community Edition (BHCE) as an alternative backend to the legacy Neo4j database, with accompanying documentation and a new client implementation. It updates the
README.mdto explain backend selection, environment variables, and usage examples for both Neo4j and BHCE. A new file,bhce_client.py, leveraging REST client for BHCE with authentication, Cypher query, and user management capabilities. Additionally, a Cypher catalog is added to help migrate Neo4j queries to BHCE.Note: This was heavily vibe coded during a weekend, I performed some tests and there are some missing components, but main goal was to get DPAT working with BH CE. I did not want to overwrite legacy BH support since I imagine some are still using this.
BHCE Backend Support and Documentation
README.mdto document backend selection between legacy Neo4j and BHCE, including supported modules, environment variables, and CLI flags for BHCE authentication. Usage examples for both backends are provided. [1] [2] [3]New BHCE REST Client Implementation
bhce_client.py, a comprehensive REST client for BHCE that supports login, user info retrieval, Cypher queries, and property updates, enabling direct interaction with the BHCE API from Python.Migration Support for Neo4j Queries
wiki/bh-legacy-cypher-catalog.mdto catalog all Cypher queries used in the project, aiding migration and compatibility efforts with BHCE.Testing Performed
DPAT Issues