SpecterOpsBloodHoundEnterprise
Use the SpecterOpsBloodHoundEnterprise integration to retrieve attack path findings from BloodHound Enterprise to streamline incident creation and investigation.
Vulnerability Management · SpecterOps BloodHound Enterprise
Details
| ID | SpecterOpsBloodHoundEnterprise |
|---|---|
| Provider | SpecterOps |
| Category | Vulnerability Management |
| From Version | 6.10.0 |
| Docker Image | demisto/python3:3.12.13.10116658 |
README
This integration enables automated retrieval of attack path findings from BloodHound into Cortex XSOAR, streamlining incident creation and investigation.
This integration was integrated and tested with version 1.0.0 of SpecterOps BloodHound Enterprise.
Configure SpecterOps BloodHound Enterprise in Cortex
| Parameter | Description | Required |
|---|---|---|
| BloodHound Enterprise Domain | BloodHound Enterprise Domain URL | True |
| Token ID / Token Key | BloodHound Enterprise API token ID and key | True |
| Proxy URL | Proxy server url | False |
| Proxy URL Username | Proxy server url username | False |
| Proxy URL Password | Proxy server url password | False |
| Finding Environment | The environment from which to fetch attack paths. Default is all. | False |
| Finding Category | The category of attack paths to fetch. Default is all. | False |
| Fetch incidents | Enable automatic fetching of attack path findings from BloodHound Enterprise. | False |
| Incidents Fetch Interval | The interval for fetching attack paths | False |
| Incident type | The incident type to assign to fetched attack path findings. Recommended: SpecterOps BloodHound Enterprise Attack Path. | False |
Commands
You can execute these commands from the CLI, as part of an automation, or in a playbook.
After you successfully execute a command, a DBot message appears in the War Room with the command details.
bloodhound-object-id-get
Fetches the object ID using the object name.
Base Command
bloodhound-object-id-get
Input
| Argument Name | Description | Required |
|---|---|---|
| object_names | The object name associated with object ID. | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| SpecterOpsBloodHoundEnterprise.Object.Status | string | The status of the object ID lookup (success or error). |
| SpecterOpsBloodHoundEnterprise.Object.Message | string | The message describing the result of the lookup. |
| SpecterOpsBloodHoundEnterprise.Object.ObjectID | string | The unique object ID of the found object. |
| SpecterOpsBloodHoundEnterprise.Object.ObjectName | string | The name of the object that was searched. |
Command Example
!bloodhound-object-id-get object_names="OBJECTNAME@example.com"
Human Readable Output
| Object Name | Status | Message | Object ID |
|---|---|---|---|
| OBJECTNAME@example.com | success | Object ID found. | 12345678-1234-1234-1234-123456789abc |
bloodhound-asset-info-get
Fetches asset information using the object ID.
Base Command
bloodhound-asset-info-get
Input
| Argument Name | Description | Required |
|---|---|---|
| object_ids | The object ID to fetch asset information. | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| SpecterOpsBloodHoundEnterprise.Asset.Status | string | The status of the asset information fetch (success or error). |
| SpecterOpsBloodHoundEnterprise.Asset.Message | string | The message describing the result of the asset information fetch. |
| SpecterOpsBloodHoundEnterprise.Asset.ObjectID | string | The object ID for which asset information was fetched. |
| SpecterOpsBloodHoundEnterprise.Asset.Data | json | The raw asset data containing all asset information fields (name, type, objectid, domain, enabled, email, and other properties). |
Command Example
!bloodhound-asset-info-get object_ids="12345678-1234-1234-1234-123456789abc,87654321-4321-4321-4321-cba987654321"
Human Readable Output
| Object ID | Status | Message | Raw Data |
|---|---|---|---|
| 12345678-1234-1234-1234-123456789abc | success | Asset information retrieved successfully. | {"name": "OBJECTNAME@example.com", "type": "User", "objectid": "12345678-1234-1234-1234-123456789abc", "domain": "example.com", "enabled": true} |
bloodhound-path-exist
Checks if a path exists between the two nodes.
Base Command
bloodhound-path-exist
Input
| Argument Name | Description | Required |
|---|---|---|
| from_principal | The start node. | Optional |
| to_principal | The end node. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| SpecterOpsBloodHoundEnterprise.Path.FromPrincipal | string | The start node (from principal) used in the path check. |
| SpecterOpsBloodHoundEnterprise.Path.ToPrincipal | string | The end node (to principal) used in the path check. |
| SpecterOpsBloodHoundEnterprise.Path.Status | string | The status of the path check (success or error). |
| SpecterOpsBloodHoundEnterprise.Path.Message | string | The message describing the result of the path check. |
| SpecterOpsBloodHoundEnterprise.Path.Data | Boolean | Whether a path exists between the nodes (True or False). |
Command Example
!bloodhound-path-exist from_principal="12345678-1234-1234-1234-123456789abc" to_principal="87654321-4321-4321-4321-cba987654321"
Human Readable Output
| From Principal | To Principal | Status | Message | Path Exists |
|---|---|---|---|---|
| 12345678-1234-1234-1234-123456789abc | 87654321-4321-4321-4321-cba987654321 | success | Path exists between nodes. | True |
<~PLATFORM>
License Requirements
The following configuration parameters require one of these licenses: Cortex XSIAM or Agentix:
- Fetch incidents
</~PLATFORM>
Configuration parameters
url— BloodHound Enterprise Domain (required)credentials— Token ID (required)proxy_url— Proxy URLproxy_username— Proxy URL Usernameproxy_password— Proxy URL Passwordfinding_domain— Finding Environmentfinding_category— Finding CategoryisFetch— Fetch incidentsincidentFetchInterval— Incidents Fetch IntervalincidentType— Incident type
Commands (3)
-
bloodhound-asset-info-getFetches asset information using the object ID.
-
bloodhound-object-id-getFetches the object ID using the object name.
-
bloodhound-path-existChecks if a path exists between the two nodes.
sectionorder: - Connect - Collect commonfields: id: SpecterOpsBloodHoundEnterprise version: -1 name: SpecterOpsBloodHoundEnterprise display: SpecterOps BloodHound Enterprise category: Vulnerability Management provider: SpecterOps description: Use the SpecterOpsBloodHoundEnterprise integration to retrieve attack path findings from BloodHound Enterprise to streamline incident creation and investigation. detaileddescription: BloodHound Enterprise reduces risk in Active Directory and Microsoft Azure environments by continuously identifying and quantifying attack paths that attackers use to escalate privileges. The SpecterOpsBloodHoundEnterprise integration automatically ingests attack path findings from BloodHound Enterprise into Cortex XSOAR, streamlining incident creation and investigation. Configure the integration by providing your BloodHound Enterprise domain, API token ID and key, and optionally configure proxy settings and finding filters. Enable incident fetching to automatically retrieve attack paths at your specified interval. configuration: - section: Connect display: BloodHound Enterprise Domain name: url type: 0 required: true additionalinfo: BloodHound Enterprise Domain URL - section: Connect display: Token ID displaypassword: Token Key name: credentials type: 9 required: true additionalinfo: BloodHound Enterprise API token ID - section: Connect display: Proxy URL name: proxy_url type: 0 required: false - section: Connect display: Proxy URL Username name: proxy_username type: 0 required: false - section: Connect display: Proxy URL Password name: proxy_password type: 4 required: false - section: Connect display: Finding Environment name: finding_domain defaultvalue: all type: 0 required: false additionalinfo: The environment from which to fetch attack paths. Default is all. - section: Connect display: Finding Category name: finding_category defaultvalue: all type: 0 required: false additionalinfo: The category of attack paths to fetch. Default is all. - section: Collect display: Fetch incidents name: isFetch type: 8 required: false supportedModules: - agentix - xsiam - section: Collect display: Incidents Fetch Interval name: incidentFetchInterval defaultvalue: "10" type: 19 required: false additionalinfo: The interval for fetching attack paths. supportedModules: - agentix - xsiam - section: Collect display: Incident type name: incidentType type: 13 required: false supportedModules: - agentix - xsiam script: script: '-' commands: - name: bloodhound-object-id-get arguments: - name: object_names required: true description: The object name associated with object ID. isArray: true outputs: - contextPath: SpecterOpsBloodHoundEnterprise.Object.Status description: The status of the object ID lookup (success or error). type: string - contextPath: SpecterOpsBloodHoundEnterprise.Object.Message description: The message describing the result of the lookup. type: string - contextPath: SpecterOpsBloodHoundEnterprise.Object.ObjectID description: The unique object ID of the found object. type: string - contextPath: 'SpecterOpsBloodHoundEnterprise.Object.ObjectName' description: The name of the object that was searched. type: string description: Fetches the object ID using the object name. - name: bloodhound-asset-info-get arguments: - name: object_ids required: true description: The object ID to fetch asset information. isArray: true outputs: - contextPath: SpecterOpsBloodHoundEnterprise.Asset.Status description: The status of the asset information fetch (success or error). type: string - contextPath: SpecterOpsBloodHoundEnterprise.Asset.Message description: The message describing the result of the asset information fetch. type: string - contextPath: SpecterOpsBloodHoundEnterprise.Asset.ObjectID description: The object ID for which asset information was fetched. type: string - contextPath: SpecterOpsBloodHoundEnterprise.Asset.Data description: The raw asset data containing all asset information fields (name, type, objectid, domain, enabled, email, and other properties). type: unknown description: Fetches asset information using the object ID. - name: bloodhound-path-exist arguments: - name: from_principal description: The start node. - name: to_principal description: The end node. outputs: - contextPath: SpecterOpsBloodHoundEnterprise.Path.FromPrincipal description: The start node (from principal) used in the path check. type: String - contextPath: SpecterOpsBloodHoundEnterprise.Path.ToPrincipal description: The end node (to principal) used in the path check. type: String - contextPath: SpecterOpsBloodHoundEnterprise.Path.Status description: The status of the path check (success or error). type: String - contextPath: SpecterOpsBloodHoundEnterprise.Path.Message description: The message describing the result of the path check. type: String - contextPath: SpecterOpsBloodHoundEnterprise.Path.Data description: Whether a path exists between the nodes (True or False). type: Boolean description: Checks if a path exists between the two nodes. type: python dockerimage: demisto/python3:3.12.13.10116658 subtype: python3 isfetch: true runonce: false isFetchSamples: true fromversion: 6.10.0 tests: - No tests (auto formatted)