Skip to main content

Bloodhound python Ingestor using ADWS

Project description

Description

While reading Bloodhound.py, a Linux alternative to Sharphound, we observed that object collection is performed on a case-by-case basis. Specific conditions are evaluated to determine the most relevant information for each collected object, and tailored actions are taken accordingly.

We sought to follow a similar logic while implementing Soaphound.py, aiming to collect the most valuable information during object enumeration through ADWS. In addition, as users' session on machines are not collected throught LDAP, we reused Bloodhound.py way to perform this collect.

The tool is currently being improved to cover all specific data collection scenarios. At the time of writing, it is capable of collecting Active Directory objects via the ADWS service and retrieving remote session data similar to what BloodHound.py achieves. Alternatively, it can operate in a mode restricted to collecting only AD objects through ADWS (using option -c ADWSOnly).

More informations: you may check out the short blog post

Usage

usage: soaphound [-h] [-c COLLECTIONMETHOD] -d DOMAIN [-v] [--ts] -u USERNAME [-p PASSWORD] [--hashes HASHES] -dc HOST [--zip] [-op PREFIX_NAME] [-wk NUM_WORKERS] [--output-dir OUTPUT_DIR]

Python based ingestor for BloodHound using ADWS

options:
  -h, --help            show this help message and exit
  -c COLLECTIONMETHOD, --collectionmethod COLLECTIONMETHOD
                        Which information to collect : Default or ADWSOnly (no computer connections).
  -d DOMAIN, --domain DOMAIN
                        Domain to query.
  -v                    Enable verbose output.
  --ts                  Add timestamp to logs.

authentication options:
  NTLM is the only method supported at the moment.

  -u USERNAME, --username USERNAME
                        Username. Format: username[@domain]; If the domain is unspecified, the current domain is used.
  -p PASSWORD, --password PASSWORD
                        Password
  --hashes HASHES       LM:NLTM hashes

collection options:
  -dc HOST, --domain-controller HOST
                        DC to query (hostname)
  --zip                 Compress the JSON output files into a zip archive.
  -op PREFIX_NAME, --outputprefix PREFIX_NAME
                        String to prepend to output file names.
  -wk NUM_WORKERS, --worker_num NUM_WORKERS
                        Number of workers, default 100
  --output-dir OUTPUT_DIR
                        Output folder (default .).

Installation

With poetry

poetry install

Example Usage

Perform ADWS collection with session enumerations

poetry run soaphound -d <domain> -u <user> -p <password> -dc <dc-ip> --output-dir output

Perform only ADWS collection

poetry run soaphound -d <domain> -u <user> -p <password> -dc <dc-ip> --output-dir output -c ADWSOnly

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

soaphound-0.1.0.tar.gz (154.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

soaphound-0.1.0-py3-none-any.whl (151.4 kB view details)

Uploaded Python 3

File details

Details for the file soaphound-0.1.0.tar.gz.

File metadata

  • Download URL: soaphound-0.1.0.tar.gz
  • Upload date:
  • Size: 154.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for soaphound-0.1.0.tar.gz
Algorithm Hash digest
SHA256 edfc69d84e4c20d4cb5675a0f5c099c6ce239f6879667dc763b0dda26c2346b1
MD5 280ebcddcb8676632e05b58aabe3bfcf
BLAKE2b-256 90bfc9c22f2ce16092411415b9e7e7c3869ab6c24d6e8179df77a7d6bda54753

See more details on using hashes here.

File details

Details for the file soaphound-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: soaphound-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 151.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for soaphound-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 16817e9e0a8684d06666fdfe23bf055b70856635904605b6ac73b74f7687c330
MD5 30b8556ac746dcb7144ef6c00a0e3abf
BLAKE2b-256 93c2be0981e9db1114aa99d55399019788a880f15f429e083b60d4a1531cd673

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page