Containment Plan - Block Indicators

## Containment Plan - Block Indicators This playbook is a sub-playbook within the containment plan playbook. ### Indicator Blocking The playbook block indicators by two methods: 1. It adds the malicious hashes into the XSIAM hash block list 2. It utilizes the sub-playbook "Block Indicators - Generic v3"

Common Playbooks · 15 tasks · 10 inputs · 1 output

Details

IDContainment Plan - Block Indicators
From Version6.6.0
Tasks15

README

Containment Plan - Block Indicators

This playbook is a sub-playbook within the containment plan playbook.

Indicator Blocking

The playbook block indicators by two methods:

  1. It adds the malicious hashes into the XSIAM hash block list
  2. It utilizes the sub-playbook “Block Indicators - Generic v3”

Dependencies

This playbook uses the following sub-playbooks, integrations, and scripts.

Sub-playbooks

  • Block Indicators - Generic v3

Integrations

This playbook does not use any integrations.

Scripts

This playbook does not use any scripts.

Commands

  • setParentIncidentContext
  • core-blocklist-files

Playbook Inputs


Name Description Default Value Required
BlockIndicators Set to ‘True’ to block the indicators. True Optional
UserVerification Possible values: True/False.
Whether to provide user verification for blocking those IPs.

False - No prompt will be displayed to the user.
True - The server will ask the user for blocking verification and will display the blocking list.
False Optional
AutoBlockIndicators Possible values: True/False. Default: True.
Should the given indicators be automatically blocked, or should the user be given the option to choose?

If set to True - no prompt will appear, and all provided indicators will be blocked automatically.
If set to False - the user will be prompted to select which indicators to block.
True Optional
FileHash The file hash to block.   Optional
IP The IP indicators.   Optional
Domain The domain indicators.   Optional
URL The URL indicator.   Optional
Username The username to disable.   Optional
FilePath The path of the file to block.   Optional
AutoContainment Whether to execute containment plan automatically.   Optional

Playbook Outputs


Path Description Type
Core.blocklist.added_hashes The file Hash that was added to the blocklist. unknown

Playbook Image


Containment Plan - Block Indicators

Inputs

  • BlockIndicators — Set to 'True' to block the indicators.
  • UserVerification — Possible values: True/False. Whether to provide user verification for blocking those IPs. False - No prompt will be displayed to the user. True - The server will ask the user for blocking verification and will display the blocking list.
  • AutoBlockIndicators — Possible values: True/False. Default: True. Should the given indicators be automatically blocked, or should the user be given the option to choose? If set to True - no prompt will appear, and all provided indicators will be blocked automatically. If set to False - the user will be prompted to select which indicators to block.
  • FileHash — The file hash to block.
  • IP — The IP indicators.
  • Domain — The domain indicators.
  • URL — The URL indicator.
  • Username — The username to disable.
  • FilePath — The path of the file to block.
  • AutoContainment — Whether to execute containment plan automatically.

Outputs

  • Core.blocklist.added_hashes — The file Hash that was added to the blocklist.

Commands used

core-blocklist-files setParentIncidentContext

Flowchart

yes yes yes yes yes yes yes Start Start Add to XSIAM hash block list - core-blocklist-files Add to XSIAM hash block list core-blocklist-files Done - Block Indicators Done - Block Indicators Should block indicators? Should block indicators? Set Block list files to the Incident context - setParentIncidentContext Set Block list files to t... setParentIncidentContext Set Blocked Indicators to the Incident context - setParentIncidentContext Set Blocked Indicators to... setParentIncidentContext Is file hash exist? Is file hash exist? Should block indicators automatically? Should block indicators a... Is file hash exist? Is file hash exist? Add to XSIAM hash block list - core-blocklist-files Add to XSIAM hash block list core-blocklist-files Block Indicators - Generic v3 - Block Indicators - Generic v3 Block Indicators - Generi... Block Indicators - Generic v3 Set Block list files to the Incident context - setParentIncidentContext Set Block list files to t... setParentIncidentContext Are there any indicators that are blocked? Are there any indicators ... Is the file hash was added to the block list? Is the file hash was adde... Is the file hash was added to the block list? Is the file hash was adde...
id: Containment Plan - Block Indicators
version: -1
name: Containment Plan - Block Indicators
description: |-
  ## Containment Plan - Block Indicators

  This playbook is a sub-playbook within the containment plan playbook.

  ### Indicator Blocking

  The playbook block indicators by two methods:

  1. It adds the malicious hashes into the XSIAM hash block list
  2. It utilizes the sub-playbook "Block Indicators - Generic v3"
starttaskid: "0"
tasks:
  "0":
    id: "0"
    taskid: 0eab88db-3b97-46e9-8040-fc0e5ccdd72b
    type: start
    task:
      id: 0eab88db-3b97-46e9-8040-fc0e5ccdd72b
      version: -1
      name: ""
      iscommand: false
      brand: ""
      description: ''
    nexttasks:
      '#none#':
      - "3"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 230,
          "y": -190
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "1":
    id: "1"
    taskid: 42177fdd-e676-4494-8430-473b77c4d326
    type: regular
    task:
      id: 42177fdd-e676-4494-8430-473b77c4d326
      version: -1
      name: Add to XSIAM hash block list
      description: Block lists requested files which have not already been block listed or added to allow list.
      script: '|||core-blocklist-files'
      type: regular
      iscommand: true
      brand: ""
    nexttasks:
      '#none#':
      - "32"
    scriptarguments:
      comment:
        complex:
          root: alert
          accessor: alertname
      hash_list:
        complex:
          root: foundIncidents.CustomFields
          filters:
          - - operator: isNotEqualString
              left:
                value:
                  simple: foundIncidents.CustomFields.initiatorpath
                iscontext: true
              right:
                value:
                  simple: c:\windows\explorer.exe
              ignorecase: true
          accessor: initiatorsha256
          transformers:
          - operator: SetIfEmpty
            args:
              applyIfEmpty: {}
              defaultValue:
                value:
                  simple: inputs.FileHash
                iscontext: true
          - operator: uniq
    separatecontext: false
    continueonerror: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 470,
          "y": 590
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "2":
    id: "2"
    taskid: 6555f437-9362-4b64-8416-9a207801acc8
    type: title
    task:
      id: 6555f437-9362-4b64-8416-9a207801acc8
      version: -1
      name: Done - Block Indicators
      type: title
      iscommand: false
      brand: ""
      description: ''
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 690,
          "y": 1710
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "3":
    id: "3"
    taskid: c769a542-379a-42a7-8cb0-325e6b48e2b4
    type: condition
    task:
      id: c769a542-379a-42a7-8cb0-325e6b48e2b4
      version: -1
      name: Should block indicators?
      description: Whether to block the indicators based on the input values.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "2"
      "yes":
      - "25"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isEqualString
          left:
            value:
              complex:
                root: inputs.BlockIndicators
            iscontext: true
          right:
            value:
              simple: "True"
          ignorecase: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 230,
          "y": -50
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "10":
    id: "10"
    taskid: 58da2cac-8a9e-4f4f-88de-623361cde61f
    type: regular
    task:
      id: 58da2cac-8a9e-4f4f-88de-623361cde61f
      version: -1
      name: Set Block list files to the Incident context
      description: commands.local.cmd.set.parent.incident.context
      script: Builtin|||setParentIncidentContext
      type: regular
      iscommand: true
      brand: Builtin
    nexttasks:
      '#none#':
      - "28"
    scriptarguments:
      key:
        simple: BlockedFilesHash
      value:
        complex:
          root: Core.blocklist.added_hashes
          accessor: fileHash
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 470,
          "y": 990
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: true
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "11":
    id: "11"
    taskid: 4fb0cfd4-2555-4d5b-844c-c83c447c4a99
    type: regular
    task:
      id: 4fb0cfd4-2555-4d5b-844c-c83c447c4a99
      version: -1
      name: Set Blocked Indicators to the Incident context
      description: commands.local.cmd.set.parent.incident.context
      script: Builtin|||setParentIncidentContext
      type: regular
      iscommand: true
      brand: Builtin
    nexttasks:
      '#none#':
      - "2"
    scriptarguments:
      key:
        simple: IndicatorsToBlock
      value:
        complex:
          root: IndicatorsToBlock
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 230,
          "y": 1530
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: true
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "24":
    id: "24"
    taskid: df934c6a-4169-41f4-8cbe-76de251da626
    type: condition
    task:
      id: df934c6a-4169-41f4-8cbe-76de251da626
      version: -1
      name: Is file hash exist?
      description: Checks whether the file hash exists.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "28"
      "yes":
      - "1"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isNotEmpty
          left:
            value:
              complex:
                root: foundIncidents.CustomFields
                accessor: initiatorsha256
            iscontext: true
          right:
            value: {}
        - operator: isNotEmpty
          left:
            value:
              complex:
                root: inputs.FileHash
            iscontext: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 470,
          "y": 390
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "25":
    id: "25"
    taskid: 56214186-2922-4165-820b-062ad475cf73
    type: condition
    task:
      id: 56214186-2922-4165-820b-062ad475cf73
      version: -1
      name: Should block indicators automatically?
      description: Whether to disable the account automatically based on the input values.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "26"
      "yes":
      - "24"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isEqualString
          left:
            value:
              complex:
                root: inputs.AutoContainment
            iscontext: true
          right:
            value:
              simple: "True"
          ignorecase: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 230,
          "y": 160
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "26":
    id: "26"
    taskid: 6401c6c9-8ff7-4f49-8676-fd99f48da60f
    type: condition
    task:
      id: 6401c6c9-8ff7-4f49-8676-fd99f48da60f
      version: -1
      name: Is file hash exist?
      description: Checks whether the file hash exists.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "28"
      "yes":
      - "27"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isNotEmpty
          left:
            value:
              complex:
                root: inputs.FileHash
                transformers:
                - operator: uniq
            iscontext: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -10,
          "y": 390
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "27":
    id: "27"
    taskid: fca5352e-ba68-4776-8b35-903387490051
    type: regular
    task:
      id: fca5352e-ba68-4776-8b35-903387490051
      version: -1
      name: Add to XSIAM hash block list
      description: Block lists requested files which have not already been block listed or added to allow list.
      script: '|||core-blocklist-files'
      type: regular
      iscommand: true
      brand: ""
    nexttasks:
      '#none#':
      - "31"
    scriptarguments:
      comment:
        complex:
          root: alert
          accessor: alertname
      hash_list:
        complex:
          root: inputs.FileHash
          filters:
          - - operator: in
              left:
                value:
                  simple: inputs.FileHash
                iscontext: true
              right:
                value:
                  simple: inputs.FileHash
                iscontext: true
          - - operator: stringHasLength
              left:
                value:
                  simple: inputs.FileHash
                iscontext: true
              right:
                value:
                  simple: "64"
          transformers:
          - operator: uniq
    separatecontext: false
    continueonerror: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -10,
          "y": 590
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "28":
    id: "28"
    taskid: 5ba573bb-fbf4-4890-8e63-15376725d187
    type: playbook
    task:
      id: 5ba573bb-fbf4-4890-8e63-15376725d187
      version: -1
      name: Block Indicators - Generic v3
      description: |+
        This playbook blocks malicious indicators using all integrations that are enabled, using the following sub-playbooks:

        - Block URL - Generic v2
        - Block Account - Generic v2
        - Block IP - Generic v3
        - Block File - Generic v2
        - Block Email - Generic v2
        - Block Domain - Generic v2

      playbookName: Block Indicators - Generic v3
      type: playbook
      iscommand: false
      brand: ""
    nexttasks:
      '#none#':
      - "30"
    scriptarguments:
      AutoBlockIndicators:
        complex:
          root: inputs.AutoBlockIndicators
      AutoCommit:
        simple: "No"
      CustomBlockRule:
        simple: "True"
      CustomURLCategory:
        simple: Demisto Remediation - Malicious URLs
      DomainToBlock:
        complex:
          root: inputs.Domain
      EmailToBlock:
        complex:
          root: DBotScore
          filters:
          - - operator: isEqualString
              left:
                value:
                  simple: DBotScore.Type
                iscontext: true
              right:
                value:
                  simple: email
          - - operator: greaterThanOrEqual
              left:
                value:
                  simple: DBotScore.Score
                iscontext: true
              right:
                value:
                  simple: "3"
          accessor: Indicator
          transformers:
          - operator: uniq
      FilesToBlock:
        complex:
          root: DBotScore
          filters:
          - - operator: isEqualString
              left:
                value:
                  simple: DBotScore.Type
                iscontext: true
              right:
                value:
                  simple: file
          - - operator: greaterThanOrEqual
              left:
                value:
                  simple: DBotScore.Score
                iscontext: true
              right:
                value:
                  simple: "3"
          accessor: Indicator
          transformers:
          - operator: uniq
      IP:
        complex:
          root: inputs.IP
          transformers:
          - operator: uniq
      InputEnrichment:
        simple: "False"
      MD5:
        complex:
          root: inputs.FileHash
          filters:
          - - operator: stringHasLength
              left:
                value:
                  simple: inputs.FileHash
                iscontext: true
              right:
                value:
                  simple: "32"
          transformers:
          - operator: uniq
      RuleDirection:
        simple: outbound
      RuleName:
        simple: XSOAR - Block Indicators playbook - ${incident.id}
      SHA256:
        complex:
          root: inputs.FileHash
          filters:
          - - operator: stringHasLength
              left:
                value:
                  simple: inputs.FileHash
                iscontext: true
              right:
                value:
                  simple: "64"
          transformers:
          - operator: uniq
      URL:
        complex:
          root: inputs.URL
          transformers:
          - operator: uniq
      UserVerification:
        complex:
          root: inputs.UserVerification
      Username:
        complex:
          root: inputs.Username
          transformers:
          - operator: replace
            args:
              limit: {}
              replaceWith: {}
              toReplace:
                value:
                  simple: inputs.Username
                iscontext: true
    separatecontext: true
    continueonerrortype: ""
    loop:
      iscommand: false
      exitCondition: ""
      wait: 1
      max: 100
    view: |-
      {
        "position": {
          "x": 230,
          "y": 1170
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "29":
    id: "29"
    taskid: cb04e962-15e3-4189-8fcc-73efa9cb71fb
    type: regular
    task:
      id: cb04e962-15e3-4189-8fcc-73efa9cb71fb
      version: -1
      name: Set Block list files to the Incident context
      description: commands.local.cmd.set.parent.incident.context
      script: Builtin|||setParentIncidentContext
      type: regular
      iscommand: true
      brand: Builtin
    nexttasks:
      '#none#':
      - "28"
    scriptarguments:
      key:
        simple: BlockedFilesHash
      value:
        complex:
          root: Core.blocklist.added_hashes
          accessor: fileHash
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -10,
          "y": 990
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: true
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "30":
    id: "30"
    taskid: 0a63acdb-6497-4f96-8318-5231aefde427
    type: condition
    task:
      id: 0a63acdb-6497-4f96-8318-5231aefde427
      version: -1
      name: Are there any indicators that are blocked?
      description: Check if there are any indicators that are blocked.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "2"
      "yes":
      - "11"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isNotEmpty
          left:
            value:
              simple: IndicatorsToBlock
            iscontext: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 230,
          "y": 1340
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "31":
    id: "31"
    taskid: 5e12fc6b-2fa0-43d0-8a46-d2f213525a45
    type: condition
    task:
      id: 5e12fc6b-2fa0-43d0-8a46-d2f213525a45
      version: -1
      name: Is the file hash was added to the block list?
      description: Checks whether the file hash exists.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "28"
      "yes":
      - "29"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isNotEmpty
          left:
            value:
              simple: Core.blocklist.added_hashes.fileHash
            iscontext: true
          right:
            value: {}
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": -10,
          "y": 780
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "32":
    id: "32"
    taskid: 5df17f17-1825-4ac0-8edf-c0e89f437551
    type: condition
    task:
      id: 5df17f17-1825-4ac0-8edf-c0e89f437551
      version: -1
      name: Is the file hash was added to the block list?
      description: Checks whether the file hash exists.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "28"
      "yes":
      - "10"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isNotEmpty
          left:
            value:
              simple: Core.blocklist.added_hashes.fileHash
            iscontext: true
          right:
            value: {}
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 470,
          "y": 780
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
view: |-
  {
    "linkLabelsPosition": {
      "24_1_yes": 0.44,
      "24_28_#default#": 0.24,
      "26_28_#default#": 0.29,
      "30_11_yes": 0.52,
      "30_2_#default#": 0.38,
      "31_29_yes": 0.51,
      "32_10_yes": 0.57,
      "3_25_yes": 0.43,
      "3_2_#default#": 0.12
    },
    "paper": {
      "dimensions": {
        "height": 1965,
        "width": 1080,
        "x": -10,
        "y": -190
      }
    }
  }
inputs:
- key: BlockIndicators
  value:
    simple: "True"
  required: false
  description: Set to 'True' to block the indicators.
  playbookInputQuery:
- key: UserVerification
  value:
    simple: "False"
  required: false
  description: "Possible values: True/False.\nWhether to provide user verification for blocking those IPs. \n\nFalse - No prompt will be displayed to the user.\nTrue - The server will ask the user for blocking verification and will display the blocking list."
  playbookInputQuery:
- key: AutoBlockIndicators
  value:
    simple: "True"
  required: false
  description: |-
    Possible values: True/False.  Default: True.
    Should the given indicators be automatically blocked, or should the user be given the option to choose?

    If set to True - no prompt will appear, and all provided indicators will be blocked automatically.
    If set to False - the user will be prompted to select which indicators to block.
  playbookInputQuery:
- key: FileHash
  value: {}
  required: false
  description: The file hash to block.
  playbookInputQuery:
- key: IP
  value: {}
  required: false
  description: The IP indicators.
  playbookInputQuery:
- key: Domain
  value: {}
  required: false
  description: The domain indicators.
  playbookInputQuery:
- key: URL
  value: {}
  required: false
  description: The URL indicator.
  playbookInputQuery:
- key: Username
  value: {}
  required: false
  description: The username to disable.
  playbookInputQuery:
- key: FilePath
  value: {}
  required: false
  description: The path of the file to block.
  playbookInputQuery:
- key: AutoContainment
  value: {}
  required: false
  description: Whether to execute containment plan automatically.
  playbookInputQuery:
outputs:
- contextPath: Core.blocklist.added_hashes
  description: The file Hash that was added to the blocklist.
tests:
- No tests (auto formatted)
fromversion: 6.6.0
marketplaces:
- marketplacev2
- platform
supportedModules:
- cloud_runtime_security
- xsiam
- edr