Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make it possible to use Bloodhound ingestor for the Community Edition version #402

Open
Schrubitteflau opened this issue Aug 21, 2024 · 2 comments

Comments

@Schrubitteflau
Copy link

Hello ✋

Please Describe The Problem To Be Solved
Currently, when the flag --bloodhound is provided, it performs a data collection using the Bloodhound package from https://github.com/dirkjanm/BloodHound.py. However, the README clearly states that This version of BloodHound.py is only compatible with BloodHound 4.2 and 4.3, which means it might not work properly with Bloodhound CE : the generated ZIP archive won't be successfully ingested, or only partially (as far as I tested). It would therefore be great to add a way to specify that we want to use a collector compatible with Bloodhound CE, which is becoming more and more popular as it's getting improved.
One limitation is the bloodhound package itself. In order to use the version compatible with Bloodhound CE, as far as I understand, you have to install it from a specific branch (https://github.com/dirkjanm/BloodHound.py/tree/bloodhound-ce), instead of, for instance, simply having two imports such as bloodhound.legacy and bloodhound.ce.

(Optional): Suggest A Solution
(Replace This Text: A concise description of your preferred solution. Things to address include:

  • Provide a flag, for example --bloodhound-ce to indicate which collector to use
  • An idea would be to keep having the bloodhound dependency as is, and add another one in the pyproject.toml and name it bloodhoundce so that it doesn't conflict with bloodhound, for example a line like bloodhoundce = { git = "https://github.com/dirkjanm/BloodHound.py", branch = "bloodhound-ce" } (I hope it's possible)
  • Based on the provided flag (--bloodhound or --bloodhound-ce), the proper implementation will be called
@NeffIsBack
Copy link
Contributor

Hi, yes I am aware of the problem but I did not find a solution yet. All import specific stuff (e.g. in the pyproject.toml file) depend on the package name you are importing/adding. Therefore, from my knowledge it is not possible to add another package with the same name to the toml file without renaming the source (that would have to be done by dirk-jan).

@Schrubitteflau
Copy link
Author

Thanks for your fast reply. I also tried to have both bloodhound packages at the same time (with one named bloodhound_ce from the bloodhound-ce branch) and it didn't work.
It would be great to help dirkjanm with that, a PR merging the code for bloodhound-ce into main and providing a way to select which one to use, so that it would be easy to implement in NetExec under a same bloodhound package ! Just posting the idea here, if someone has the time and the knowledge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants