Rapid7 InsightIDR - Execution Flow Indicators Hunting

This playbook queries Rapid7 InsightIDR SIEM for execution flow indicators, including registry values, registry keys, registry hives, commands, processes name, and applications. Note that multiple search values should be separated by commas only (without spaces or any special characters).

Rapid7 InsightIDR · 34 tasks · 18 inputs · 1 output

Details

IDRapid7 InsightIDR - Execution Flow Indicators Hunting
From Version6.5.0
Tasks34

README

This playbook queries Rapid7 InsightIDR SIEM for execution flow indicators, including registry values, registry keys, registry hives, commands, processes name, 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

  • Rapid7 InsightIDR

Scripts

  • SetAndHandleEmpty
  • IsIntegrationAvailable
  • LoadJSON

Commands

  • rapid7-insight-idr-query-log-set

Playbook Inputs


Name Description Default Value Required
Application A single or multiple application names to search for within Rapid7 InsightIDR logs.

Separate multiple search values by commas only (without spaces or any special characters).
  Optional
InsightIDRAppField The name of the fields, in Rapid7 InsightIDR, in which to find the application names.   Optional
RegistryValue A single or multiple registry values to search for within Rapid7 InsightIDR logs.

Separate multiple search values by commas only (without spaces or any special characters).
  Optional
InsightIDRRegistryValueField The name of the fields, in Rapid7 InsightIDR, in which to find the registry values.   Optional
RegistryKey A single or multiple registry keys to search for within Rapid7 InsightIDR logs.

Separate multiple search values by commas only (without spaces or any special characters).
  Optional
InsightIDRRegistryKeyField The name of the fields, in Rapid7 InsightIDR, in which to find the registry keys.   Optional
RegistryHives Only relevant for hunting on Windows hosts.
A single or multiple registry hives to search for within Rapid7 InsightIDR logs.

Separate multiple search values by commas only (without spaces or any special characters).
  Optional
InsightIDRRegistryHivesField The name of the fields, in Rapid7 InsightIDR, in which to find the registry hives.   Optional
CommandLine A single or multiple command to search for within Rapid7 InsightIDR logs.

Separate multiple search values by commas only (without spaces or any special characters).
  Optional
InsightIDRCommandLineField The name of the fields, in Rapid7 InsightIDR, in which to find the command’s lines.   Optional
ProcessName A single or multiple process names to search for within Rapid7 InsightIDR logs.

Separate multiple search values by commas only (without spaces or any special characters).
  Optional
InsightIDRProcessNameField The name of the fields, in Rapid7 InsightIDR, in which to find the process names.   Optional
LogSetId An identifier for a Rapid7 InsightIDR log set to query.   Required
time_range Specify the timeframe in which the Rapid7 InsightIDR logs will be searched. Most start with ‘last’ (e.g., last 2 months, last 10 minutes).
The ‘start_time’ and ‘end_time’ inputs should not be used if the time_range input is specified.

Supported time units (case insensitive):
min(s) or minute(s)
hr(s) or hour(s)
day(s)
week(s)
month(s)
year(s)
  Optional
logs_per_page Specify the maximum number of log entries to return per page, up to 500 (the maximum allowed). By default, 50 is set.   Optional
sequence_number The earliest sequence number of a log entry to start searching.

If this query parameter is included, the query results will additionally include all log entries received in the ‘start_time’ millisecond which have sequence numbers larger than the one specified.

Sequence numbers are identifiers used to distinguish between log entries received in the same millisecond. If a log entry was split up into several log entries during ingestion, then those chunks are ordered by sequence number.
  Optional
start_time Specify the query start time at which the Rapid7 InsightIDR logs will be searched, as a UNIX timestamp in milliseconds.

For example, if you wish to begin searching 1 week ago, the UNIX timestamp value is 604800.
  Optional
end_time Specify the query end time at which the Rapid7 InsightIDR logs will be searched, as a UNIX timestamp in milliseconds.

For example, to end searching a day ago, the UNIX timestamp value would be 86400.
  Optional

Playbook Outputs


Path Description Type
Rapid7InsightIDR.HuntingResults Events log objects containing relevant fields. string

Playbook Image


Rapid7 InsightIDR - Execution Flow Indicators Hunting

Inputs

  • Application — A single or multiple application names to search for within Rapid7 InsightIDR logs. Separate multiple search values by commas only (without spaces or any special characters).
  • InsightIDRAppField — The name of the fields, in Rapid7 InsightIDR, in which to find the application names.
  • RegistryValue — A single or multiple registry values to search for within Rapid7 InsightIDR logs. Separate multiple search values by commas only (without spaces or any special characters).
  • InsightIDRRegistryValueField — The name of the fields, in Rapid7 InsightIDR, in which to find the registry values.
  • RegistryKey — A single or multiple registry keys to search for within Rapid7 InsightIDR logs. Separate multiple search values by commas only (without spaces or any special characters).
  • InsightIDRRegistryKeyField — The name of the fields, in Rapid7 InsightIDR, in which to find the registry keys.
  • RegistryHives — Only relevant for hunting on Windows hosts. A single or multiple registry hives to search for within Rapid7 InsightIDR logs. Separate multiple search values by commas only (without spaces or any special characters).
  • InsightIDRRegistryHivesField — The name of the fields, in Rapid7 InsightIDR, in which to find the registry hives.
  • CommandLine — A single or multiple command to search for within Rapid7 InsightIDR logs. Separate multiple search values by commas only (without spaces or any special characters).
  • InsightIDRCommandLineField — The name of the fields, in Rapid7 InsightIDR, in which to find the command's lines.
  • ProcessName — A single or multiple process names to search for within Rapid7 InsightIDR logs. Separate multiple search values by commas only (without spaces or any special characters).
  • InsightIDRProcessNameField — The name of the fields, in Rapid7 InsightIDR, in which to find the process names.
  • LogSetId — An identifier for a Rapid7 InsightIDR log set to query.
  • time_range — Specify the timeframe in which the Rapid7 InsightIDR logs will be searched. Most start with 'last' (e.g., last 2 months, last 10 minutes). The 'start_time' and 'end_time' inputs should not be used if the time_range input is specified. Supported time units (case insensitive): min(s) or minute(s) hr(s) or hour(s) day(s) week(s) month(s) year(s)
  • logs_per_page — Specify the maximum number of log entries to return per page, up to 500 (the maximum allowed). By default, 50 is set.
  • sequence_number — The earliest sequence number of a log entry to start searching. If this query parameter is included, the query results will additionally include all log entries received in the 'start_time' millisecond which have sequence numbers larger than the one specified. Sequence numbers are identifiers used to distinguish between log entries received in the same millisecond. If a log entry was split up into several log entries during ingestion, then those chunks are ordered by sequence number.
  • start_time — Specify the query start time at which the Rapid7 InsightIDR logs will be searched, as a UNIX timestamp in milliseconds. For example, if you wish to begin searching 1 week ago, the UNIX timestamp value is 604800.
  • end_time — Specify the query end time at which the Rapid7 InsightIDR logs will be searched, as a UNIX timestamp in milliseconds. For example, to end searching a day ago, the UNIX timestamp value would be 86400.

Outputs

  • Rapid7InsightIDR.HuntingResults — Events log objects containing relevant fields.

Commands used

rapid7-insight-idr-query-log-set

Flowchart

yes yes yes yes yes yes yes yes yes yes yes yes Start Start Application Indicators Application Indicators Rapid7 InsightIDR query - application - rapid7-insight-idr-query-log-set Rapid7 InsightIDR query -... rapid7-insight-idr-query-log-set Is Rapid7 InsightIDR enabled? - IsIntegrationAvailable Is Rapid7 InsightIDR enab... IsIntegrationAvailable Rapid7 InsightIDR query - registry value - rapid7-insight-idr-query-log-set Rapid7 InsightIDR query -... rapid7-insight-idr-query-log-set Rapid7 InsightIDR query - registry hives - rapid7-insight-idr-query-log-set Rapid7 InsightIDR query -... rapid7-insight-idr-query-log-set Rapid7 InsightIDR query - registry key - rapid7-insight-idr-query-log-set Rapid7 InsightIDR query -... rapid7-insight-idr-query-log-set Registry Value Indicators Registry Value Indicators Registry Key Indicators Registry Key Indicators Registry Hives Indicators Registry Hives Indicators Rapid7 InsightIDR query - command line - rapid7-insight-idr-query-log-set Rapid7 InsightIDR query -... rapid7-insight-idr-query-log-set Rapid7 InsightIDR query - process name - rapid7-insight-idr-query-log-set Rapid7 InsightIDR query -... rapid7-insight-idr-query-log-set Process Name Indicators Process Name Indicators Command Line Indicators Command Line Indicators Application Hunting Done Application Hunting Done Registry Value Hunting Done Registry Value Hunting Done Registry Key Hunting Done Registry Key Hunting Done Registry Hives Hunting Done Registry Hives Hunting Done Process Name Hunting Done Process Name Hunting Done Command Line Hunting Done Command Line Hunting Done Any application to hunt for? Any application to hunt for? Any registry value to hunt for? Any registry value to hun... Any registry key to hunt for? Any registry key to hunt ... Any registry hives to hunt for? Any registry hives to hun... Any process name to hunt for? Any process name to hunt ... Any command line to hunt for? Any command line to hunt ... Set application search argument - SetAndHandleEmpty Set application search ar... SetAndHandleEmpty Set registry value search argument - SetAndHandleEmpty Set registry value search... SetAndHandleEmpty Set registry key search argument - SetAndHandleEmpty Set registry key search a... SetAndHandleEmpty Set registry hives search argument - SetAndHandleEmpty Set registry hives search... SetAndHandleEmpty Set process name search argument - SetAndHandleEmpty Set process name search a... SetAndHandleEmpty Set command line search argument - SetAndHandleEmpty Set command line search a... SetAndHandleEmpty Done Done Save Queries Results - LoadJSON Save Queries Results LoadJSON
id: Rapid7 InsightIDR - Execution Flow Indicators Hunting
version: -1
name: Rapid7 InsightIDR - Execution Flow Indicators Hunting
description: "This playbook queries Rapid7 InsightIDR SIEM for execution flow indicators, including registry values, registry keys, registry hives, commands, processes name, and applications. \n\nNote 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": -6230,
          "y": -2330
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "7":
    id: "7"
    taskid: d5e74867-89b4-403b-8892-a224d4d3dce1
    type: title
    task:
      id: d5e74867-89b4-403b-8892-a224d4d3dce1
      version: -1
      name: Application Indicators
      type: title
      iscommand: false
      brand: ""
      description: ''
    nexttasks:
      '#none#':
      - "147"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -3000,
          "y": -2030
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "16":
    id: "16"
    taskid: 55463bf4-d0d5-4869-8c00-018e47aaed68
    type: regular
    task:
      id: 55463bf4-d0d5-4869-8c00-018e47aaed68
      version: -1
      name: Rapid7 InsightIDR query - application
      description: Queries within a log set for certain values.
      script: Rapid7 InsightIDR|||rapid7-insight-idr-query-log-set
      type: regular
      iscommand: true
      brand: Rapid7 InsightIDR
    nexttasks:
      '#none#':
      - "131"
    scriptarguments:
      end_time:
        complex:
          root: inputs
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.end_time
                iscontext: true
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.start_time
                iscontext: true
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.time_range
                iscontext: true
          accessor: end_time
      log_set_id:
        complex:
          root: inputs.LogSetId
      logs_per_page:
        complex:
          root: inputs.logs_per_page
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.logs_per_page
                iscontext: true
          - - operator: lessThanOrEqual
              left:
                value:
                  simple: inputs.logs_per_page
                iscontext: true
              right:
                value:
                  simple: "500"
      query:
        simple: where(${inputs.InsightIDRAppField} CONTAINS-ANY [${ApplicationParsed}])
      sequence_number:
        complex:
          root: inputs.sequence_number
      start_time:
        complex:
          root: inputs
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.start_time
                iscontext: true
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.end_time
                iscontext: true
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.time_range
                iscontext: true
          accessor: start_time
      time_range:
        complex:
          root: inputs.time_range
          filters:
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.end_time
                iscontext: true
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.start_time
                iscontext: true
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.time_range
                iscontext: true
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -2780,
          "y": -1570
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "56":
    id: "56"
    taskid: fb5cd1e8-9f1f-4324-8ad1-20611359bdea
    type: condition
    task:
      id: fb5cd1e8-9f1f-4324-8ad1-20611359bdea
      version: -1
      name: Is Rapid7 InsightIDR enabled?
      description: Returns 'yes' if integration brand is available. Otherwise returns 'no'
      scriptName: IsIntegrationAvailable
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "175"
      "yes":
      - "89"
      - "94"
      - "95"
      - "88"
      - "87"
      - "7"
    scriptarguments:
      brandname:
        simple: Rapid7 InsightIDR
    results:
    - brandInstances
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -6230,
          "y": -2200
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "82":
    id: "82"
    taskid: 6e28f484-5d30-4498-8cc9-dbc2cf414564
    type: regular
    task:
      id: 6e28f484-5d30-4498-8cc9-dbc2cf414564
      version: -1
      name: Rapid7 InsightIDR query - registry value
      description: Queries within a log set for certain values.
      script: Rapid7 InsightIDR|||rapid7-insight-idr-query-log-set
      type: regular
      iscommand: true
      brand: Rapid7 InsightIDR
    nexttasks:
      '#none#':
      - "132"
    scriptarguments:
      end_time:
        complex:
          root: inputs
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.end_time
                iscontext: true
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.start_time
                iscontext: true
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.time_range
                iscontext: true
          accessor: end_time
      log_set_id:
        complex:
          root: inputs.LogSetId
      logs_per_page:
        complex:
          root: inputs.logs_per_page
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.logs_per_page
                iscontext: true
          - - operator: lessThanOrEqual
              left:
                value:
                  simple: inputs.logs_per_page
                iscontext: true
              right:
                value:
                  simple: "500"
      query:
        simple: where(${inputs.InsightIDRRegistryValueField} CONTAINS-ANY [${RegistryValueParsed}])
      sequence_number:
        complex:
          root: inputs.sequence_number
      start_time:
        complex:
          root: inputs
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.start_time
                iscontext: true
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.end_time
                iscontext: true
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.time_range
                iscontext: true
          accessor: start_time
      time_range:
        complex:
          root: inputs.time_range
          filters:
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.end_time
                iscontext: true
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.start_time
                iscontext: true
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.time_range
                iscontext: true
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -3380,
          "y": -1570
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "83":
    id: "83"
    taskid: c5be0c45-d500-4aac-8388-b6722b6c2980
    type: regular
    task:
      id: c5be0c45-d500-4aac-8388-b6722b6c2980
      version: -1
      name: Rapid7 InsightIDR query - registry hives
      description: Queries within a log set for certain values.
      script: Rapid7 InsightIDR|||rapid7-insight-idr-query-log-set
      type: regular
      iscommand: true
      brand: Rapid7 InsightIDR
    nexttasks:
      '#none#':
      - "134"
    scriptarguments:
      end_time:
        complex:
          root: inputs
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.end_time
                iscontext: true
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.start_time
                iscontext: true
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.time_range
                iscontext: true
          accessor: end_time
      log_set_id:
        complex:
          root: inputs.LogSetId
      logs_per_page:
        complex:
          root: inputs.logs_per_page
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.logs_per_page
                iscontext: true
          - - operator: lessThanOrEqual
              left:
                value:
                  simple: inputs.logs_per_page
                iscontext: true
              right:
                value:
                  simple: "500"
      query:
        simple: where(${inputs.InsightIDRRegistryHivesField} CONTAINS-ANY [${RegistryHivesParsed}])
      sequence_number:
        complex:
          root: inputs.sequence_number
      start_time:
        complex:
          root: inputs
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.start_time
                iscontext: true
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.end_time
                iscontext: true
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.time_range
                iscontext: true
          accessor: start_time
      time_range:
        complex:
          root: inputs.time_range
          filters:
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.end_time
                iscontext: true
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.start_time
                iscontext: true
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.time_range
                iscontext: true
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -4570,
          "y": -1570
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "84":
    id: "84"
    taskid: e7b3bd2f-08de-4985-81c1-e7dd7ee4fbcf
    type: regular
    task:
      id: e7b3bd2f-08de-4985-81c1-e7dd7ee4fbcf
      version: -1
      name: Rapid7 InsightIDR query - registry key
      description: Queries within a log set for certain values.
      script: Rapid7 InsightIDR|||rapid7-insight-idr-query-log-set
      type: regular
      iscommand: true
      brand: Rapid7 InsightIDR
    nexttasks:
      '#none#':
      - "133"
    scriptarguments:
      end_time:
        complex:
          root: inputs
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.end_time
                iscontext: true
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.start_time
                iscontext: true
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.time_range
                iscontext: true
          accessor: end_time
      log_set_id:
        complex:
          root: inputs.LogSetId
      logs_per_page:
        complex:
          root: inputs.logs_per_page
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.logs_per_page
                iscontext: true
          - - operator: lessThanOrEqual
              left:
                value:
                  simple: inputs.logs_per_page
                iscontext: true
              right:
                value:
                  simple: "500"
      query:
        simple: where(${inputs.InsightIDRRegistryKeyField} CONTAINS-ANY [${RegistryKeyParsed}])
      sequence_number:
        complex:
          root: inputs.sequence_number
      start_time:
        complex:
          root: inputs
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.start_time
                iscontext: true
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.end_time
                iscontext: true
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.time_range
                iscontext: true
          accessor: start_time
      time_range:
        complex:
          root: inputs.time_range
          filters:
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.end_time
                iscontext: true
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.start_time
                iscontext: true
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.time_range
                iscontext: true
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -3970,
          "y": -1570
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "87":
    id: "87"
    taskid: d5a28d92-d341-47d6-8529-edf529650cb1
    type: title
    task:
      id: d5a28d92-d341-47d6-8529-edf529650cb1
      version: -1
      name: Registry Value Indicators
      type: title
      iscommand: false
      brand: ""
      description: ''
    nexttasks:
      '#none#':
      - "148"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -3600,
          "y": -2030
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "88":
    id: "88"
    taskid: f1c8be57-0360-46b9-8fe1-ced2761f05e1
    type: title
    task:
      id: f1c8be57-0360-46b9-8fe1-ced2761f05e1
      version: -1
      name: Registry Key Indicators
      type: title
      iscommand: false
      brand: ""
      description: ''
    nexttasks:
      '#none#':
      - "149"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -4190,
          "y": -2030
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "89":
    id: "89"
    taskid: 59e1bf56-b676-4949-8821-46bfe2b48cf4
    type: title
    task:
      id: 59e1bf56-b676-4949-8821-46bfe2b48cf4
      version: -1
      name: Registry Hives Indicators
      type: title
      iscommand: false
      brand: ""
      description: ''
    nexttasks:
      '#none#':
      - "150"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -4790,
          "y": -2030
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "90":
    id: "90"
    taskid: b9ec980d-e399-41f7-8f3b-205f933d814a
    type: regular
    task:
      id: b9ec980d-e399-41f7-8f3b-205f933d814a
      version: -1
      name: Rapid7 InsightIDR query - command line
      description: Queries within a log set for certain values.
      script: Rapid7 InsightIDR|||rapid7-insight-idr-query-log-set
      type: regular
      iscommand: true
      brand: Rapid7 InsightIDR
    nexttasks:
      '#none#':
      - "136"
    scriptarguments:
      end_time:
        complex:
          root: inputs
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.end_time
                iscontext: true
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.start_time
                iscontext: true
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.time_range
                iscontext: true
          accessor: end_time
      log_set_id:
        complex:
          root: inputs.LogSetId
      logs_per_page:
        complex:
          root: inputs.logs_per_page
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.logs_per_page
                iscontext: true
          - - operator: lessThanOrEqual
              left:
                value:
                  simple: inputs.logs_per_page
                iscontext: true
              right:
                value:
                  simple: "500"
      query:
        simple: where(${inputs.InsightIDRCommandLineField} CONTAINS-ANY [${CommandLineParsed}])
      sequence_number:
        complex:
          root: inputs.sequence_number
      start_time:
        complex:
          root: inputs
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.start_time
                iscontext: true
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.end_time
                iscontext: true
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.time_range
                iscontext: true
          accessor: start_time
      time_range:
        complex:
          root: inputs.time_range
          filters:
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.end_time
                iscontext: true
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.start_time
                iscontext: true
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.time_range
                iscontext: true
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -5770,
          "y": -1570
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "91":
    id: "91"
    taskid: b8f3b282-a963-4ace-89e0-89b00fcda9d2
    type: regular
    task:
      id: b8f3b282-a963-4ace-89e0-89b00fcda9d2
      version: -1
      name: Rapid7 InsightIDR query - process name
      description: Queries within a log set for certain values.
      script: Rapid7 InsightIDR|||rapid7-insight-idr-query-log-set
      type: regular
      iscommand: true
      brand: Rapid7 InsightIDR
    nexttasks:
      '#none#':
      - "135"
    scriptarguments:
      end_time:
        complex:
          root: inputs
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.end_time
                iscontext: true
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.start_time
                iscontext: true
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.time_range
                iscontext: true
          accessor: end_time
      log_set_id:
        complex:
          root: inputs.LogSetId
      logs_per_page:
        complex:
          root: inputs.logs_per_page
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.logs_per_page
                iscontext: true
          - - operator: lessThanOrEqual
              left:
                value:
                  simple: inputs.logs_per_page
                iscontext: true
              right:
                value:
                  simple: "500"
      query:
        simple: where(${inputs.InsightIDRProcessNameField} CONTAINS-ANY [${ProcessNameParsed}])
      sequence_number:
        complex:
          root: inputs.sequence_number
      start_time:
        complex:
          root: inputs
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.start_time
                iscontext: true
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.end_time
                iscontext: true
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.time_range
                iscontext: true
          accessor: start_time
      time_range:
        complex:
          root: inputs.time_range
          filters:
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.end_time
                iscontext: true
          - - operator: isEmpty
              left:
                value:
                  simple: inputs.start_time
                iscontext: true
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.time_range
                iscontext: true
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -5170,
          "y": -1570
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "94":
    id: "94"
    taskid: 3b5e321a-479d-4ac7-85c1-15655fdd4513
    type: title
    task:
      id: 3b5e321a-479d-4ac7-85c1-15655fdd4513
      version: -1
      name: Process Name Indicators
      type: title
      iscommand: false
      brand: ""
      description: ''
    nexttasks:
      '#none#':
      - "151"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -5390,
          "y": -2030
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "95":
    id: "95"
    taskid: 7a575160-eddb-4980-8bd7-e36e64be7326
    type: title
    task:
      id: 7a575160-eddb-4980-8bd7-e36e64be7326
      version: -1
      name: Command Line Indicators
      type: title
      iscommand: false
      brand: ""
      description: ''
    nexttasks:
      '#none#':
      - "152"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -5990,
          "y": -2030
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "131":
    id: "131"
    taskid: aa6a8857-2fb0-42e8-84be-1e39458ad01f
    type: title
    task:
      id: aa6a8857-2fb0-42e8-84be-1e39458ad01f
      version: -1
      name: Application Hunting Done
      type: title
      iscommand: false
      brand: ""
      description: ''
    nexttasks:
      '#none#':
      - "176"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -3000,
          "y": -1395
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "132":
    id: "132"
    taskid: 98f92b56-2d4f-43ef-8631-ad14b6113f3e
    type: title
    task:
      id: 98f92b56-2d4f-43ef-8631-ad14b6113f3e
      version: -1
      name: Registry Value Hunting Done
      type: title
      iscommand: false
      brand: ""
      description: ''
    nexttasks:
      '#none#':
      - "176"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -3600,
          "y": -1395
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "133":
    id: "133"
    taskid: 7a296b4d-29b2-48d8-80ad-5514de8fa44a
    type: title
    task:
      id: 7a296b4d-29b2-48d8-80ad-5514de8fa44a
      version: -1
      name: Registry Key Hunting Done
      type: title
      iscommand: false
      brand: ""
      description: ''
    nexttasks:
      '#none#':
      - "176"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -4190,
          "y": -1395
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "134":
    id: "134"
    taskid: 9dc07cdf-e8eb-473f-8a2e-1441b044f4bd
    type: title
    task:
      id: 9dc07cdf-e8eb-473f-8a2e-1441b044f4bd
      version: -1
      name: Registry Hives Hunting Done
      type: title
      iscommand: false
      brand: ""
      description: ''
    nexttasks:
      '#none#':
      - "176"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -4790,
          "y": -1395
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "135":
    id: "135"
    taskid: 0ea07ce0-ad4d-460c-8ac2-526d1a440c18
    type: title
    task:
      id: 0ea07ce0-ad4d-460c-8ac2-526d1a440c18
      version: -1
      name: Process Name Hunting Done
      type: title
      iscommand: false
      brand: ""
      description: ''
    nexttasks:
      '#none#':
      - "176"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -5390,
          "y": -1395
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "136":
    id: "136"
    taskid: 8f4267df-50cb-43bd-8bbe-73c6205ad9f0
    type: title
    task:
      id: 8f4267df-50cb-43bd-8bbe-73c6205ad9f0
      version: -1
      name: Command Line Hunting Done
      type: title
      iscommand: false
      brand: ""
      description: ''
    nexttasks:
      '#none#':
      - "176"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -5990,
          "y": -1395
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "147":
    id: "147"
    taskid: aecf57c4-b0be-4108-8d63-b1082934b9f9
    type: condition
    task:
      id: aecf57c4-b0be-4108-8d63-b1082934b9f9
      version: -1
      name: Any application to hunt for?
      description: |
        Checks whether any applications are available for threat hunting.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "131"
      "yes":
      - "153"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isNotEmpty
          left:
            value:
              complex:
                root: inputs.Application
            iscontext: true
          right:
            value: {}
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -3000,
          "y": -1900
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "148":
    id: "148"
    taskid: 036b07b5-1444-49fb-84ea-f822cc3a4bdd
    type: condition
    task:
      id: 036b07b5-1444-49fb-84ea-f822cc3a4bdd
      version: -1
      name: Any registry value to hunt for?
      description: |
        Checks whether any registry values are available for threat hunting.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "132"
      "yes":
      - "154"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isNotEmpty
          left:
            value:
              complex:
                root: inputs.RegistryValue
            iscontext: true
          right:
            value: {}
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -3600,
          "y": -1900
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "149":
    id: "149"
    taskid: 505ce6e7-7573-4644-8eca-501733502538
    type: condition
    task:
      id: 505ce6e7-7573-4644-8eca-501733502538
      version: -1
      name: Any registry key to hunt for?
      description: |
        Checks whether any registry keys are available for threat hunting.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "133"
      "yes":
      - "155"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isNotEmpty
          left:
            value:
              complex:
                root: inputs.RegistryKey
            iscontext: true
          right:
            value: {}
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -4190,
          "y": -1900
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "150":
    id: "150"
    taskid: ca129bb1-acb0-49f2-8807-596758fe4cd8
    type: condition
    task:
      id: ca129bb1-acb0-49f2-8807-596758fe4cd8
      version: -1
      name: Any registry hives to hunt for?
      description: |
        Checks whether any registry hives are available for threat hunting.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "134"
      "yes":
      - "156"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isNotEmpty
          left:
            value:
              complex:
                root: inputs.RegistryHives
            iscontext: true
          right:
            value: {}
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -4790,
          "y": -1900
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "151":
    id: "151"
    taskid: 421fd0bc-2f86-4f20-8660-9f8f6e8a7403
    type: condition
    task:
      id: 421fd0bc-2f86-4f20-8660-9f8f6e8a7403
      version: -1
      name: Any process name to hunt for?
      description: |
        Checks whether any process names are available for threat hunting.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "135"
      "yes":
      - "157"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isNotEmpty
          left:
            value:
              complex:
                root: inputs.ProcessName
            iscontext: true
          right:
            value: {}
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -5390,
          "y": -1900
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "152":
    id: "152"
    taskid: 8d9713de-7bdd-4634-87fa-b2a2f354afa0
    type: condition
    task:
      id: 8d9713de-7bdd-4634-87fa-b2a2f354afa0
      version: -1
      name: Any command line to hunt for?
      description: |
        Checks whether any commands are available for threat hunting.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "136"
      "yes":
      - "158"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isNotEmpty
          left:
            value:
              complex:
                root: inputs.CommandLine
            iscontext: true
          right:
            value: {}
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -5990,
          "y": -1900
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "153":
    id: "153"
    taskid: e32caedd-4a67-4d3d-89f6-1a789e3f2688
    type: regular
    task:
      id: e32caedd-4a67-4d3d-89f6-1a789e3f2688
      version: -1
      name: Set application search argument
      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#':
      - "16"
    scriptarguments:
      key:
        simple: ApplicationParsed
      value:
        complex:
          root: inputs.Application
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.Application
                iscontext: true
          transformers:
          - operator: split
            args:
              delimiter:
                value:
                  simple: ','
          - operator: uniq
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -2780,
          "y": -1730
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "154":
    id: "154"
    taskid: 29538faa-ca09-4cf8-83fe-3b7784360521
    type: regular
    task:
      id: 29538faa-ca09-4cf8-83fe-3b7784360521
      version: -1
      name: Set registry value search argument
      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#':
      - "82"
    scriptarguments:
      key:
        simple: RegistryValueParsed
      value:
        complex:
          root: inputs.RegistryValue
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.RegistryValue
                iscontext: true
          transformers:
          - operator: split
            args:
              delimiter:
                value:
                  simple: ','
          - operator: uniq
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -3380,
          "y": -1730
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "155":
    id: "155"
    taskid: caabb1f8-43bb-49db-8086-95c06aa277b9
    type: regular
    task:
      id: caabb1f8-43bb-49db-8086-95c06aa277b9
      version: -1
      name: Set registry key search argument
      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#':
      - "84"
    scriptarguments:
      key:
        simple: RegistryKeyParsed
      value:
        complex:
          root: inputs.RegistryKey
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.RegistryKey
                iscontext: true
          transformers:
          - operator: split
            args:
              delimiter:
                value:
                  simple: ','
          - operator: uniq
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -3970,
          "y": -1730
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "156":
    id: "156"
    taskid: e98dfd6b-acbf-4e9b-8628-2be4fb6f386e
    type: regular
    task:
      id: e98dfd6b-acbf-4e9b-8628-2be4fb6f386e
      version: -1
      name: Set registry hives search argument
      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#':
      - "83"
    scriptarguments:
      key:
        simple: RegistryHivesParsed
      value:
        complex:
          root: inputs.RegistryHives
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.RegistryHives
                iscontext: true
          transformers:
          - operator: split
            args:
              delimiter:
                value:
                  simple: ','
          - operator: uniq
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -4570,
          "y": -1730
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "157":
    id: "157"
    taskid: c590c90b-9c94-4bf7-8cd7-8d25ec86bd6b
    type: regular
    task:
      id: c590c90b-9c94-4bf7-8cd7-8d25ec86bd6b
      version: -1
      name: Set process name search argument
      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#':
      - "91"
    scriptarguments:
      key:
        simple: ProcessNameParsed
      value:
        complex:
          root: inputs.ProcessName
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.ProcessName
                iscontext: true
          transformers:
          - operator: split
            args:
              delimiter:
                value:
                  simple: ','
          - operator: uniq
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -5170,
          "y": -1730
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "158":
    id: "158"
    taskid: 7ef701df-2ce2-4445-8f0f-174be38bc127
    type: regular
    task:
      id: 7ef701df-2ce2-4445-8f0f-174be38bc127
      version: -1
      name: Set command line search argument
      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#':
      - "90"
    scriptarguments:
      key:
        simple: CommandLineParsed
      value:
        complex:
          root: inputs.CommandLine
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: inputs.CommandLine
                iscontext: true
          transformers:
          - operator: split
            args:
              delimiter:
                value:
                  simple: ','
          - operator: uniq
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -5770,
          "y": -1730
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "175":
    id: "175"
    taskid: 426e4bed-833f-49fb-8f12-08453c5fc526
    type: title
    task:
      id: 426e4bed-833f-49fb-8f12-08453c5fc526
      version: -1
      name: Done
      type: title
      iscommand: false
      brand: ""
      description: ''
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -6230,
          "y": -1080
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "176":
    id: "176"
    taskid: ca9d2a88-b264-441e-8ea3-7da09a928b17
    type: regular
    task:
      id: ca9d2a88-b264-441e-8ea3-7da09a928b17
      version: -1
      name: Save Queries Results
      description: Loads a json from string input, and returns a json object result
      scriptName: LoadJSON
      type: regular
      iscommand: false
      brand: ""
    nexttasks:
      '#none#':
      - "175"
    scriptarguments:
      extend-context:
        simple: Rapid7InsightIDR.HuntingResults=
      ignore-outputs:
        simple: "true"
      input:
        complex:
          root: Rapid7InsightIDR.Event
          filters:
          - - operator: isNotEmpty
              left:
                value:
                  simple: Rapid7InsightIDR.Event
                iscontext: true
          accessor: message
          transformers:
          - operator: replace
            args:
              limit: {}
              replaceWith: {}
              toReplace:
                value:
                  simple: \
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -4490,
          "y": -1250
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
view: |-
  {
    "linkLabelsPosition": {
      "56_175_#default#": 0.79,
      "56_7_yes": 0.9,
      "56_87_yes": 0.88,
      "56_88_yes": 0.84,
      "56_89_yes": 0.78,
      "56_94_yes": 0.65,
      "56_95_yes": 0.38
    },
    "paper": {
      "dimensions": {
        "height": 1315,
        "width": 3830,
        "x": -6230,
        "y": -2330
      }
    }
  }
inputs:
- key: Application
  value: {}
  required: false
  description: |-
    A single or multiple application names to search for within Rapid7 InsightIDR logs.

    Separate multiple search values by commas only (without spaces or any special characters).
  playbookInputQuery:
- key: InsightIDRAppField
  value: {}
  required: false
  description: The name of the fields, in Rapid7 InsightIDR, in which to find the application names.
  playbookInputQuery:
- key: RegistryValue
  value: {}
  required: false
  description: |-
    A single or multiple registry values to search for within Rapid7 InsightIDR logs.

    Separate multiple search values by commas only (without spaces or any special characters).
  playbookInputQuery:
- key: InsightIDRRegistryValueField
  value: {}
  required: false
  description: The name of the fields, in Rapid7 InsightIDR, in which to find the registry values.
  playbookInputQuery:
- key: RegistryKey
  value: {}
  required: false
  description: |-
    A single or multiple registry keys to search for within Rapid7 InsightIDR logs.

    Separate multiple search values by commas only (without spaces or any special characters).
  playbookInputQuery:
- key: InsightIDRRegistryKeyField
  value: {}
  required: false
  description: The name of the fields, in Rapid7 InsightIDR, in which to find the registry keys.
  playbookInputQuery:
- key: RegistryHives
  value: {}
  required: false
  description: |-
    Only relevant for hunting on Windows hosts.
    A single or multiple registry hives to search for within Rapid7 InsightIDR logs.

    Separate multiple search values by commas only (without spaces or any special characters).
  playbookInputQuery:
- key: InsightIDRRegistryHivesField
  value: {}
  required: false
  description: The name of the fields, in Rapid7 InsightIDR, in which to find the registry hives.
  playbookInputQuery:
- key: CommandLine
  value: {}
  required: false
  description: |-
    A single or multiple command to search for within Rapid7 InsightIDR logs.

    Separate multiple search values by commas only (without spaces or any special characters).
  playbookInputQuery:
- key: InsightIDRCommandLineField
  value: {}
  required: false
  description: The name of the fields, in Rapid7 InsightIDR, in which to find the command's lines.
  playbookInputQuery:
- key: ProcessName
  value: {}
  required: false
  description: |-
    A single or multiple process names to search for within Rapid7 InsightIDR logs.

    Separate multiple search values by commas only (without spaces or any special characters).
  playbookInputQuery:
- key: InsightIDRProcessNameField
  value: {}
  required: false
  description: The name of the fields, in Rapid7 InsightIDR, in which to find the process names.
  playbookInputQuery:
- key: LogSetId
  value: {}
  required: true
  description: An identifier for a Rapid7 InsightIDR log set to query.
  playbookInputQuery:
- key: time_range
  value: {}
  required: false
  description: |-
    Specify the timeframe in which the Rapid7 InsightIDR logs will be searched. Most start with 'last' (e.g., last 2 months, last 10 minutes).
    The 'start_time' and 'end_time' inputs should not be used if the time_range input is specified.

    Supported time units (case insensitive):
    min(s) or minute(s)
    hr(s) or hour(s)
    day(s)
    week(s)
    month(s)
    year(s)
  playbookInputQuery:
- key: logs_per_page
  value: {}
  required: false
  description: Specify the maximum number of log entries to return per page, up to 500 (the maximum allowed). By default, 50 is set.
  playbookInputQuery:
- key: sequence_number
  value: {}
  required: false
  description: |-
    The earliest sequence number of a log entry to start searching.

    If this query parameter is included, the query results will additionally include all log entries received in the 'start_time' millisecond which have sequence numbers larger than the one specified.

    Sequence numbers are identifiers used to distinguish between log entries received in the same millisecond. If a log entry was split up into several log entries during ingestion, then those chunks are ordered by sequence number.
  playbookInputQuery:
- key: start_time
  value: {}
  required: false
  description: |-
    Specify the query start time at which the Rapid7 InsightIDR logs will be searched, as a UNIX timestamp in milliseconds.

    For example, if you wish to begin searching 1 week ago, the UNIX timestamp value is 604800.
  playbookInputQuery:
- key: end_time
  value: {}
  required: false
  description: |-
    Specify the query end time at which the Rapid7 InsightIDR logs will be searched, as a UNIX timestamp in milliseconds.

    For example, to end searching a day ago, the UNIX timestamp value would be 86400.
  playbookInputQuery:
outputs:
- contextPath: Rapid7InsightIDR.HuntingResults
  description: Events log objects containing relevant fields.
  type: string
tests:
- No tests (auto formatted)
fromversion: 6.5.0