FireEye HX - Execution Flow Indicators Hunting
This playbook queries FireEye Endpoint Security (HX) for execution flow indicators, including processes name, registry keys, registry values, and applications. Note that multiple search values should be separated by commas only (without spaces or any special characters).
FireEye HX · 26 tasks · 8 inputs · 19 outputs
Details
| ID | FireEye HX - Execution Flow Indicators Hunting |
|---|---|
| From Version | 6.5.0 |
| Tasks | 26 |
README
This playbook queries FireEye Endpoint Security (HX) for execution flow indicators, including processes name, registry keys, registry values, and applications.
Note that multiple search values should be separated by commas only (without spaces or any special characters).
Dependencies
This playbook uses the following sub-playbooks, integrations, and scripts.
Sub-playbooks
This playbook does not use any sub-playbooks.
Integrations
- FireEyeHX v2
Scripts
- SetAndHandleEmpty
- IsIntegrationAvailable
Commands
- fireeye-hx-search
Playbook Inputs
| Name | Description | Default Value | Required |
|---|---|---|---|
| Application | Single or multiple application names or codes to search for within FireEye HX logs. By default, the ‘contains’ clause is used. Separate multiple search values by commas only (without spaces or any special characters). |
Optional | |
| ProcessName | A single or multiple process names to search for within FireEye HX logs. By default, the ‘contains’ clause is used. Separate multiple search values by commas only (without spaces or any special characters). |
Optional | |
| RegistryKey | A single or multiple registry keys to search for within FireEye HX logs. Separate multiple search values by commas only (without spaces or any special characters). |
Optional | |
| RegistryValue | A single or multiple registry values to search for within FireEye HX logs. By default, the ‘contains’ clause is used. Separate multiple search values by commas only (without spaces or any special characters). |
Optional | |
| hostSetName | The name of host set to be searched. | Required | |
| exhaustive | Whether a search is exhaustive or quick. Possible values are: yes, no. Default is yes. |
Optional | |
| interval_in_seconds | The interval in seconds between each poll. Default is 60. | Optional | |
| limit | Limits the results count (once the limit is reached, the search is stopped). | Optional |
Playbook Outputs
| Path | Description | Type |
|---|---|---|
| FireEyeHX.HuntingResults | Email message objects and fields that were retrieved from FireEye HX. | string |
| FireEyeHX.HuntingResults.Timestamp - Event | The timestamp of the event. | number |
| FireEyeHX.HuntingResults.Timestamp - Accessed | The last accessed time. | number |
| FireEyeHX.HuntingResults.Timestamp - Modified | The time when the entry was last modified. | number |
| FireEyeHX.HuntingResults.File Name | The name of the file. | string |
| FireEyeHX.HuntingResults.File Full Path | The full path of the file. | string |
| FireEyeHX.HuntingResults.DNS Hostname | The name of the DNS host. | string |
| FireEyeHX.HuntingResults.URL | The event URL. | string |
| FireEyeHX.HuntingResults.Username | The event username. | string |
| FireEyeHX.HuntingResults.File MD5 Hash | The MD5 hash of the file. | string |
| FireEyeHX.HuntingResults.Port | The Port. | number |
| FireEyeHX.HuntingResults.Process ID | The ID of the process. | string |
| FireEyeHX.HuntingResults.Local IP Address | The local IP Address. | string |
| FireEyeHX.HuntingResults.Local Port | The local Port. | number |
| FireEyeHX.HuntingResults.Remote Port | The remote port. | number |
| FireEyeHX.HuntingResults.IP Address | The IP address. | string |
| FireEyeHX.HuntingResults.Process Name | The process name. | string |
| FireEyeHX.HuntingResults.type | The type of the event. | string |
| FireEyeHX.HuntingResults.id | The ID of the result. | string |
Playbook Image

Inputs
Application— Single or multiple application names or codes to search for within FireEye HX logs. By default, the 'contains' clause is used. Separate multiple search values by commas only (without spaces or any special characters).ProcessName— A single or multiple process names to search for within FireEye HX logs. By default, the 'contains' clause is used. Separate multiple search values by commas only (without spaces or any special characters).RegistryKey— A single or multiple registry keys to search for within FireEye HX logs. Separate multiple search values by commas only (without spaces or any special characters).RegistryValue— A single or multiple registry values to search for within FireEye HX logs. By default, the 'contains' clause is used. Separate multiple search values by commas only (without spaces or any special characters).hostSetName— The name of host set to be searched.exhaustive— Whether a search is exhaustive or quick. Possible values are: yes, no. Default is yes.interval_in_seconds— The interval in seconds between each poll. Default is 60.limit— Limits the results count (once the limit is reached, the search is stopped).
Outputs
FireEyeHX.HuntingResults— Email message objects and fields that were retrieved from FireEye HX.FireEyeHX.HuntingResults.Timestamp - Event— The timestamp of the event.FireEyeHX.HuntingResults.Timestamp - Accessed— The last accessed time.FireEyeHX.HuntingResults.Timestamp - Modified— The time when the entry was last modified.FireEyeHX.HuntingResults.File Name— The name of the file.FireEyeHX.HuntingResults.File Full Path— The full path of the file.FireEyeHX.HuntingResults.DNS Hostname— The name of the DNS host.FireEyeHX.HuntingResults.URL— The event URL.FireEyeHX.HuntingResults.Username— The event username.FireEyeHX.HuntingResults.File MD5 Hash— The MD5 hash of the file.FireEyeHX.HuntingResults.Port— The Port.FireEyeHX.HuntingResults.Process ID— The ID of the process.FireEyeHX.HuntingResults.Local IP Address— The local IP Address.FireEyeHX.HuntingResults.Local Port— The local Port.FireEyeHX.HuntingResults.Remote Port— The remote port.FireEyeHX.HuntingResults.IP Address— The IP address.FireEyeHX.HuntingResults.Process Name— The process name.FireEyeHX.HuntingResults.type— The type of the event.FireEyeHX.HuntingResults.id— The ID of the result.
Commands used
fireeye-hx-search
Flowchart
id: FireEye HX - Execution Flow Indicators Hunting version: -1 name: FireEye HX - Execution Flow Indicators Hunting description: |- This playbook queries FireEye Endpoint Security (HX) for execution flow indicators, including processes name, registry keys, registry values, and applications. Note that multiple search values should be separated by commas only (without spaces or any special characters). starttaskid: "0" tasks: "0": id: "0" taskid: a52d8420-7a8c-4987-866d-15dd05511bae type: start task: id: a52d8420-7a8c-4987-866d-15dd05511bae version: -1 name: "" iscommand: false brand: "" description: '' nexttasks: '#none#': - "56" separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 1750, "y": -340 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "14": id: "14" taskid: 6d03ca44-9728-4044-879d-9c3228a1ed46 type: title task: id: 6d03ca44-9728-4044-879d-9c3228a1ed46 version: -1 name: Application Indicators type: title iscommand: false brand: "" description: '' nexttasks: '#none#': - "107" separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 2050, "y": -40 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "31": id: "31" taskid: c9a4d741-cb13-4350-8973-b2514b1058e9 type: title task: id: c9a4d741-cb13-4350-8973-b2514b1058e9 version: -1 name: Done type: title iscommand: false brand: "" description: '' separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 1750, "y": 910 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "56": id: "56" taskid: 3ba704c6-3573-47f4-8d53-ef1a0dd7dd71 type: condition task: id: 3ba704c6-3573-47f4-8d53-ef1a0dd7dd71 version: -1 name: Is FireEye HX enabled? description: Returns 'yes' if integration brand is available. Otherwise returns 'no' scriptName: IsIntegrationAvailable type: condition iscommand: false brand: "" nexttasks: '#default#': - "31" "yes": - "118" - "14" - "155" - "156" scriptarguments: brandname: simple: FireEyeHX v2 results: - brandInstances separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 1750, "y": -210 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "107": id: "107" taskid: 3e8617cc-d465-4af2-81e4-7bb9ba502837 type: condition task: id: 3e8617cc-d465-4af2-81e4-7bb9ba502837 version: -1 name: Any applications to hunt for? description: | Checks whether any application names are available for threat hunting. type: condition iscommand: false brand: "" nexttasks: '#default#': - "133" "yes": - "108" separatecontext: false conditions: - label: "yes" condition: - - operator: isNotEmpty left: value: complex: root: inputs.Application iscontext: true right: value: {} continueonerrortype: "" view: |- { "position": { "x": 2050, "y": 90 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "108": id: "108" taskid: 1cf825f5-39f9-4fa2-8871-f2c467e2b037 type: regular task: id: 1cf825f5-39f9-4fa2-8871-f2c467e2b037 version: -1 name: FireEye HX Query - Applications description: Searches endpoints to check all hosts or a subset of hosts for a specific file or indicator. script: FireEyeHX v2|||fireeye-hx-search type: regular iscommand: true brand: FireEyeHX v2 nexttasks: '#none#': - "149" scriptarguments: exhaustive: simple: "no" fieldSearchName: simple: Application Name fieldSearchOperator: simple: contains fieldSearchValue: complex: root: inputs.Application transformers: - operator: split args: delimiter: value: simple: ',' - operator: uniq hostSetName: complex: root: inputs.hostSetName interval_in_seconds: complex: root: inputs.interval_in_seconds filters: - - operator: isNotEmpty left: value: simple: inputs.interval_in_seconds iscontext: true limit: complex: root: inputs.limit filters: - - operator: isNotEmpty left: value: simple: inputs.limit iscontext: true polling: simple: "true" separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 2290, "y": 265 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "118": id: "118" taskid: a898916f-a6c5-4358-8934-f88705079501 type: title task: id: a898916f-a6c5-4358-8934-f88705079501 version: -1 name: Process Name Indicators type: title iscommand: false brand: "" description: '' nexttasks: '#none#': - "119" separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 2690, "y": -40 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "119": id: "119" taskid: f9918545-750e-4e26-8eb5-ec7f65371633 type: condition task: id: f9918545-750e-4e26-8eb5-ec7f65371633 version: -1 name: Any process names to hunt for? description: | Checks whether any process names are available for threat hunting. type: condition iscommand: false brand: "" nexttasks: '#default#': - "145" "yes": - "121" - "120" separatecontext: false conditions: - label: "yes" condition: - - operator: isNotEmpty left: value: complex: root: inputs.ProcessName iscontext: true right: value: {} continueonerrortype: "" view: |- { "position": { "x": 2690, "y": 90 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "120": id: "120" taskid: 8fba3425-49a8-4862-82ff-9c2e40427d90 type: regular task: id: 8fba3425-49a8-4862-82ff-9c2e40427d90 version: -1 name: FireEye HX Query - Parent Process Name description: Searches endpoints to check all hosts or a subset of hosts for a specific file or indicator. script: FireEyeHX v2|||fireeye-hx-search type: regular iscommand: true brand: FireEyeHX v2 nexttasks: '#none#': - "153" scriptarguments: exhaustive: simple: "no" fieldSearchName: simple: Process Name fieldSearchOperator: simple: contains fieldSearchValue: complex: root: inputs.ProcessName transformers: - operator: split args: delimiter: value: simple: ',' - operator: uniq hostSetName: complex: root: inputs.hostSetName filters: - - operator: isNotEmpty left: value: simple: inputs.hostSetName iscontext: true interval_in_seconds: complex: root: inputs.interval_in_seconds filters: - - operator: isNotEmpty left: value: simple: inputs.interval_in_seconds iscontext: true limit: complex: root: inputs.limit filters: - - operator: isNotEmpty left: value: simple: inputs.limit iscontext: true polling: simple: "true" separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 2930, "y": 260 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "121": id: "121" taskid: 6de10b58-7f29-4eaa-80d6-4f301f161304 type: regular task: id: 6de10b58-7f29-4eaa-80d6-4f301f161304 version: -1 name: FireEye HX Query - Process Name description: Searches endpoints to check all hosts or a subset of hosts for a specific file or indicator. script: FireEyeHX v2|||fireeye-hx-search type: regular iscommand: true brand: FireEyeHX v2 nexttasks: '#none#': - "150" scriptarguments: exhaustive: complex: root: inputs.exhaustive filters: - - operator: isEqualString left: value: simple: inputs.exhaustive iscontext: true right: value: simple: "yes" - operator: isEqualString left: value: simple: inputs.exhaustive iscontext: true right: value: simple: "no" fieldSearchName: simple: Process Name fieldSearchOperator: simple: contains fieldSearchValue: complex: root: inputs.ProcessName transformers: - operator: split args: delimiter: value: simple: ',' - operator: uniq hostSetName: complex: root: inputs.hostSetName filters: - - operator: isNotEmpty left: value: simple: inputs.hostSetName iscontext: true interval_in_seconds: complex: root: inputs.interval_in_seconds filters: - - operator: isNotEmpty left: value: simple: inputs.interval_in_seconds iscontext: true limit: complex: root: inputs.limit filters: - - operator: isNotEmpty left: value: simple: inputs.limit iscontext: true polling: simple: "true" separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 3360, "y": 260 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "133": id: "133" taskid: 415ec2a5-fd28-4d51-8b6f-8b6d6c223017 type: title task: id: 415ec2a5-fd28-4d51-8b6f-8b6d6c223017 version: -1 name: Application Hunting Done type: title iscommand: false brand: "" description: '' nexttasks: '#none#': - "31" separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 2050, "y": 600 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "145": id: "145" taskid: 9e29c944-074c-4142-8ac2-85f384c474a0 type: title task: id: 9e29c944-074c-4142-8ac2-85f384c474a0 version: -1 name: Process Name Hunting Done type: title iscommand: false brand: "" description: '' nexttasks: '#none#': - "31" separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 2690, "y": 770 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "149": id: "149" taskid: d3ab7a54-dd52-48b5-8f0f-3e38d4774573 type: regular task: id: d3ab7a54-dd52-48b5-8f0f-3e38d4774573 version: -1 name: Save Matching Results - Applications description: |- Set a value in context under the key you entered. If no value is entered, the script doesn't do anything. This automation runs using the default Limited User role, unless you explicitly change the permissions. For more information, see the section about permissions here: - For Cortex XSOAR 6 see https://docs-cortex.paloaltonetworks.com/r/Cortex-XSOAR/6.x/Cortex-XSOAR-Playbook-Design-Guide/Automations - For Cortex XSOAR 8 Cloud see https://docs-cortex.paloaltonetworks.com/r/Cortex-XSOAR/8/Cortex-XSOAR-Cloud-Documentation/Create-a-script - For Cortex XSOAR 8.7 On-prem see https://docs-cortex.paloaltonetworks.com/r/Cortex-XSOAR/8.7/Cortex-XSOAR-On-prem-Documentation/Create-a-script scriptName: SetAndHandleEmpty type: regular iscommand: false brand: "" nexttasks: '#none#': - "133" scriptarguments: append: simple: "true" key: simple: FireEyeHX.HuntingResults value: complex: root: FireEyeHX.Search.results filters: - - operator: isNotEmpty left: value: simple: FireEyeHX.Search.results.id iscontext: true separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 2290, "y": 425 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "150": id: "150" taskid: 4c18d9e4-15d7-48b8-807d-dda56bcea1c8 type: regular task: id: 4c18d9e4-15d7-48b8-807d-dda56bcea1c8 version: -1 name: Save Matching Results - Process Name description: |- Set a value in context under the key you entered. If no value is entered, the script doesn't do anything. This automation runs using the default Limited User role, unless you explicitly change the permissions. For more information, see the section about permissions here: - For Cortex XSOAR 6 see https://docs-cortex.paloaltonetworks.com/r/Cortex-XSOAR/6.x/Cortex-XSOAR-Playbook-Design-Guide/Automations - For Cortex XSOAR 8 Cloud see https://docs-cortex.paloaltonetworks.com/r/Cortex-XSOAR/8/Cortex-XSOAR-Cloud-Documentation/Create-a-script - For Cortex XSOAR 8.7 On-prem see https://docs-cortex.paloaltonetworks.com/r/Cortex-XSOAR/8.7/Cortex-XSOAR-On-prem-Documentation/Create-a-script scriptName: SetAndHandleEmpty type: regular iscommand: false brand: "" nexttasks: '#none#': - "152" scriptarguments: key: simple: HuntingResults2 value: complex: root: FireEyeHX.Search.results filters: - - operator: isNotEmpty left: value: simple: FireEyeHX.Search.results.data.Process ID iscontext: true - operator: isNotEmpty left: value: simple: FireEyeHX.Search.results.data.Process Name iscontext: true separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 3360, "y": 430 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "152": id: "152" taskid: ed7679c0-51c2-4342-86d3-87fa059d2419 type: regular task: id: ed7679c0-51c2-4342-86d3-87fa059d2419 version: -1 name: Remove Duplications From Matching Results description: |- Set a value in context under the key you entered. If no value is entered, the script doesn't do anything. This automation runs using the default Limited User role, unless you explicitly change the permissions. For more information, see the section about permissions here: - For Cortex XSOAR 6 see https://docs-cortex.paloaltonetworks.com/r/Cortex-XSOAR/6.x/Cortex-XSOAR-Playbook-Design-Guide/Automations - For Cortex XSOAR 8 Cloud see https://docs-cortex.paloaltonetworks.com/r/Cortex-XSOAR/8/Cortex-XSOAR-Cloud-Documentation/Create-a-script - For Cortex XSOAR 8.7 On-prem see https://docs-cortex.paloaltonetworks.com/r/Cortex-XSOAR/8.7/Cortex-XSOAR-On-prem-Documentation/Create-a-script scriptName: SetAndHandleEmpty type: regular iscommand: false brand: "" nexttasks: '#none#': - "145" scriptarguments: append: simple: "true" key: simple: FireEyeHX.HuntingResults value: complex: root: HuntingResults2 filters: - - operator: notInList left: value: simple: HuntingResults2.id iscontext: true right: value: simple: FireEyeHX.HuntingResults.id iscontext: true separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 3140, "y": 600 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "153": id: "153" taskid: 11b1693a-32d7-4bcb-8151-aa6459e4b5ae type: regular task: id: 11b1693a-32d7-4bcb-8151-aa6459e4b5ae version: -1 name: Save Matching Results - Parent Process name description: |- Set a value in context under the key you entered. If no value is entered, the script doesn't do anything. This automation runs using the default Limited User role, unless you explicitly change the permissions. For more information, see the section about permissions here: - For Cortex XSOAR 6 see https://docs-cortex.paloaltonetworks.com/r/Cortex-XSOAR/6.x/Cortex-XSOAR-Playbook-Design-Guide/Automations - For Cortex XSOAR 8 Cloud see https://docs-cortex.paloaltonetworks.com/r/Cortex-XSOAR/8/Cortex-XSOAR-Cloud-Documentation/Create-a-script - For Cortex XSOAR 8.7 On-prem see https://docs-cortex.paloaltonetworks.com/r/Cortex-XSOAR/8.7/Cortex-XSOAR-On-prem-Documentation/Create-a-script scriptName: SetAndHandleEmpty type: regular iscommand: false brand: "" nexttasks: '#none#': - "152" scriptarguments: append: simple: "true" key: simple: FireEyeHX.HuntingResults value: complex: root: FireEyeHX.Search.results filters: - - operator: isNotEmpty left: value: simple: FireEyeHX.Search.results.data.Process ID iscontext: true - operator: isNotEmpty left: value: simple: FireEyeHX.Search.results.data.Process Name iscontext: true separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 2930, "y": 430 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "154": id: "154" taskid: 624d003c-6113-4c63-8e0d-00df43aa191e type: regular task: id: 624d003c-6113-4c63-8e0d-00df43aa191e version: -1 name: FireEye HX Query - Registry Value description: Searches endpoints to check all hosts or a subset of hosts for a specific file or indicator. script: FireEyeHX v2|||fireeye-hx-search type: regular iscommand: true brand: FireEyeHX v2 nexttasks: '#none#': - "159" scriptarguments: exhaustive: complex: root: inputs.exhaustive filters: - - operator: isEqualString left: value: simple: inputs.exhaustive iscontext: true right: value: simple: "yes" - operator: isEqualString left: value: simple: inputs.exhaustive iscontext: true right: value: simple: "no" fieldSearchName: simple: Registry Key Value Text fieldSearchOperator: simple: contains fieldSearchValue: complex: root: inputs.RegistryValue transformers: - operator: split args: delimiter: value: simple: ',' - operator: uniq hostSetName: complex: root: inputs.hostSetName interval_in_seconds: complex: root: inputs.interval_in_seconds filters: - - operator: isNotEmpty left: value: simple: inputs.interval_in_seconds iscontext: true limit: complex: root: inputs.limit filters: - - operator: isNotEmpty left: value: simple: inputs.limit iscontext: true polling: simple: "true" separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 1230, "y": 265 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "155": id: "155" taskid: 8cde1c5c-8798-4a55-8f3b-385bf3b115ff type: title task: id: 8cde1c5c-8798-4a55-8f3b-385bf3b115ff version: -1 name: Registry Value Indicators type: title iscommand: false brand: "" description: '' nexttasks: '#none#': - "157" separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 1470, "y": -40 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "156": id: "156" taskid: 6a34e553-c8bb-41b4-8339-63a086adf5cc type: title task: id: 6a34e553-c8bb-41b4-8339-63a086adf5cc version: -1 name: Registry Key Indicators type: title iscommand: false brand: "" description: '' nexttasks: '#none#': - "161" separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 830, "y": -40 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "157": id: "157" taskid: 25f71361-72c3-4462-8f05-ff90e7b0c8be type: condition task: id: 25f71361-72c3-4462-8f05-ff90e7b0c8be version: -1 name: Any registry values to hunt for? description: | Checks whether any registry values are available for threat hunting. type: condition iscommand: false brand: "" nexttasks: '#default#': - "160" "yes": - "154" separatecontext: false conditions: - label: "yes" condition: - - operator: isNotEmpty left: value: complex: root: inputs.RegistryValue iscontext: true right: value: {} continueonerrortype: "" view: |- { "position": { "x": 1470, "y": 90 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "159": id: "159" taskid: fe85c4f9-9d63-4c56-8898-6bc100c5524f type: regular task: id: fe85c4f9-9d63-4c56-8898-6bc100c5524f version: -1 name: Save Matching Results - Registry Value description: |- Set a value in context under the key you entered. If no value is entered, the script doesn't do anything. This automation runs using the default Limited User role, unless you explicitly change the permissions. For more information, see the section about permissions here: - For Cortex XSOAR 6 see https://docs-cortex.paloaltonetworks.com/r/Cortex-XSOAR/6.x/Cortex-XSOAR-Playbook-Design-Guide/Automations - For Cortex XSOAR 8 Cloud see https://docs-cortex.paloaltonetworks.com/r/Cortex-XSOAR/8/Cortex-XSOAR-Cloud-Documentation/Create-a-script - For Cortex XSOAR 8.7 On-prem see https://docs-cortex.paloaltonetworks.com/r/Cortex-XSOAR/8.7/Cortex-XSOAR-On-prem-Documentation/Create-a-script scriptName: SetAndHandleEmpty type: regular iscommand: false brand: "" nexttasks: '#none#': - "160" scriptarguments: append: simple: "true" key: simple: FireEyeHX.HuntingResults value: complex: root: FireEyeHX.Search.results filters: - - operator: isNotEmpty left: value: simple: FireEyeHX.Search.results.id iscontext: true separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 1230, "y": 425 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "160": id: "160" taskid: 07a9fe38-6582-4ddc-8a9d-536935d33e43 type: title task: id: 07a9fe38-6582-4ddc-8a9d-536935d33e43 version: -1 name: Registry Value Hunting Done type: title iscommand: false brand: "" description: '' nexttasks: '#none#': - "31" separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 1470, "y": 600 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "161": id: "161" taskid: 7b92bf7a-7982-4390-87ad-4686f4984d95 type: condition task: id: 7b92bf7a-7982-4390-87ad-4686f4984d95 version: -1 name: Any registry keys to hunt for? description: | Checks whether any registry keys are available for threat hunting. type: condition iscommand: false brand: "" nexttasks: '#default#': - "165" "yes": - "163" separatecontext: false conditions: - label: "yes" condition: - - operator: isNotEmpty left: value: complex: root: inputs.RegistryKey iscontext: true right: value: {} continueonerrortype: "" view: |- { "position": { "x": 830, "y": 90 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "163": id: "163" taskid: 7d3c452c-fd22-4dfb-86ba-bf4f9d8d59e5 type: regular task: id: 7d3c452c-fd22-4dfb-86ba-bf4f9d8d59e5 version: -1 name: FireEye HX Query - Registry Key description: Searches endpoints to check all hosts or a subset of hosts for a specific file or indicator. script: FireEyeHX v2|||fireeye-hx-search type: regular iscommand: true brand: FireEyeHX v2 nexttasks: '#none#': - "164" scriptarguments: exhaustive: complex: root: inputs.exhaustive filters: - - operator: isEqualString left: value: simple: inputs.exhaustive iscontext: true right: value: simple: "yes" - operator: isEqualString left: value: simple: inputs.exhaustive iscontext: true right: value: simple: "no" fieldSearchName: simple: Registry Key Value Name fieldSearchOperator: simple: equals fieldSearchValue: complex: root: inputs.RegistryKey transformers: - operator: split args: delimiter: value: simple: ',' - operator: uniq hostSetName: complex: root: inputs.hostSetName interval_in_seconds: complex: root: inputs.interval_in_seconds filters: - - operator: isNotEmpty left: value: simple: inputs.interval_in_seconds iscontext: true limit: complex: root: inputs.limit filters: - - operator: isNotEmpty left: value: simple: inputs.limit iscontext: true polling: simple: "true" separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 590, "y": 265 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "164": id: "164" taskid: abc68d68-5960-43eb-84ce-78a283ff0e28 type: regular task: id: abc68d68-5960-43eb-84ce-78a283ff0e28 version: -1 name: Save Matching Results - Registry Key description: |- Set a value in context under the key you entered. If no value is entered, the script doesn't do anything. This automation runs using the default Limited User role, unless you explicitly change the permissions. For more information, see the section about permissions here: - For Cortex XSOAR 6 see https://docs-cortex.paloaltonetworks.com/r/Cortex-XSOAR/6.x/Cortex-XSOAR-Playbook-Design-Guide/Automations - For Cortex XSOAR 8 Cloud see https://docs-cortex.paloaltonetworks.com/r/Cortex-XSOAR/8/Cortex-XSOAR-Cloud-Documentation/Create-a-script - For Cortex XSOAR 8.7 On-prem see https://docs-cortex.paloaltonetworks.com/r/Cortex-XSOAR/8.7/Cortex-XSOAR-On-prem-Documentation/Create-a-script scriptName: SetAndHandleEmpty type: regular iscommand: false brand: "" nexttasks: '#none#': - "165" scriptarguments: append: simple: "true" key: simple: FireEyeHX.HuntingResults value: complex: root: FireEyeHX.Search.results filters: - - operator: isNotEmpty left: value: simple: FireEyeHX.Search.results.id iscontext: true separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 590, "y": 425 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false "165": id: "165" taskid: bc931338-7d3d-4727-82a5-10a3b95d3830 type: title task: id: bc931338-7d3d-4727-82a5-10a3b95d3830 version: -1 name: Registry Key Hunting Done type: title iscommand: false brand: "" description: '' nexttasks: '#none#': - "31" separatecontext: false continueonerrortype: "" view: |- { "position": { "x": 830, "y": 600 } } note: false timertriggers: [] ignoreworker: false skipunavailable: false quietmode: 0 isoversize: false isautoswitchedtoquietmode: false view: |- { "linkLabelsPosition": { "157_160_#default#": 0.74, "56_118_yes": 0.74, "56_31_#default#": 0.71 }, "paper": { "dimensions": { "height": 1315, "width": 3150, "x": 590, "y": -340 } } } inputs: - key: Application value: {} required: false description: |- Single or multiple application names or codes to search for within FireEye HX logs. By default, the 'contains' clause is used. Separate multiple search values by commas only (without spaces or any special characters). playbookInputQuery: - key: ProcessName value: {} required: false description: |- A single or multiple process names to search for within FireEye HX logs. By default, the 'contains' clause is used. Separate multiple search values by commas only (without spaces or any special characters). playbookInputQuery: - key: RegistryKey value: {} required: false description: |- A single or multiple registry keys to search for within FireEye HX logs. Separate multiple search values by commas only (without spaces or any special characters). playbookInputQuery: - key: RegistryValue value: {} required: false description: |- A single or multiple registry values to search for within FireEye HX logs. By default, the 'contains' clause is used. Separate multiple search values by commas only (without spaces or any special characters). playbookInputQuery: - key: hostSetName value: {} required: true description: The name of host set to be searched. playbookInputQuery: - key: exhaustive value: {} required: false description: |- Whether a search is exhaustive or quick. Possible values are: yes, no. Default is yes. playbookInputQuery: - key: interval_in_seconds value: {} required: false description: "The interval in seconds between each poll. Default is 60.\t" playbookInputQuery: - key: limit value: {} required: false description: Limits the results count (once the limit is reached, the search is stopped). playbookInputQuery: outputs: - contextPath: FireEyeHX.HuntingResults description: Email message objects and fields that were retrieved from FireEye HX. type: string - contextPath: FireEyeHX.HuntingResults.Timestamp - Event description: The timestamp of the event. type: number - contextPath: FireEyeHX.HuntingResults.Timestamp - Accessed description: The last accessed time. type: number - contextPath: FireEyeHX.HuntingResults.Timestamp - Modified description: The time when the entry was last modified. type: number - contextPath: FireEyeHX.HuntingResults.File Name description: The name of the file. type: string - contextPath: FireEyeHX.HuntingResults.File Full Path description: The full path of the file. type: string - contextPath: FireEyeHX.HuntingResults.DNS Hostname description: The name of the DNS host. type: string - contextPath: FireEyeHX.HuntingResults.URL description: The event URL. type: string - contextPath: FireEyeHX.HuntingResults.Username description: The event username. type: string - contextPath: FireEyeHX.HuntingResults.File MD5 Hash description: The MD5 hash of the file. type: string - contextPath: FireEyeHX.HuntingResults.Port description: The Port. type: number - contextPath: FireEyeHX.HuntingResults.Process ID description: The ID of the process. type: string - contextPath: FireEyeHX.HuntingResults.Local IP Address description: The local IP Address. type: string - contextPath: FireEyeHX.HuntingResults.Local Port description: The local Port. type: number - contextPath: FireEyeHX.HuntingResults.Remote Port description: The remote port. type: number - contextPath: FireEyeHX.HuntingResults.IP Address description: The IP address. type: string - contextPath: FireEyeHX.HuntingResults.Process Name description: The process name. type: string - contextPath: FireEyeHX.HuntingResults.type description: The type of the event. type: string - contextPath: FireEyeHX.HuntingResults.id description: The ID of the result. type: string tests: - No tests (auto formatted) fromversion: 6.5.0