CyberBlindspot Incident Management V3

This playbook runs the incidents through indicator enrichment, then based on the mirroring settings, it can communicate with the remote server to assist the user in the next course of action (Whether it be closing the incident, initiating the takedown of an online asset or simply waiting for a process on the remote server to end) to take on the incident if any.

CTM360 · 19 tasks · 0 inputs · 0 outputs

Details

IDCyberBlindspot Incident Management V3
From Version6.10.0
Tasks19

README

This playbook runs the incidents through indicator enrichment, then based on the mirroring settings, it can communicate with the remote server to assist the user in the next course of action (Whether it be closing the incident, initiating the takedown of an online asset or simply waiting for a process on the remote server to end) to take on the incident if any.

Dependencies

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

Sub-playbooks

  • CyberBlindspot Retrieve Incident Screenshots
  • Entity Enrichment - Generic v3

Integrations

  • CTM360_CyberBlindspot

Scripts

  • AssignAnalystToIncident
  • GetEnabledInstances
  • IsIntegrationAvailable
  • Print

Commands

  • closeInvestigation
  • ctm360-cbs-incident-details
  • ctm360-cbs-incident-request-takedown

Playbook Inputs


There are no inputs for this playbook.

Playbook Outputs


There are no outputs for this playbook.

Playbook Image


CyberBlindspot Incident Management V3

Commands used

closeInvestigation ctm360-cbs-incident-details ctm360-cbs-incident-request-takedown

Flowchart

yes yes Close and Takedown Allowed Close Incident No Action Close Incident Initiate Takedown of Asset No Action yes yes yes Start Start Get Incident Remote Status - ctm360-cbs-incident-details Get Incident Remote Status ctm360-cbs-incident-details Is The Remote Incident Closed? Is The Remote Incident Cl... Close Incident Locally - closeInvestigation Close Incident Locally closeInvestigation Is The Incident Pending User Action? Is The Incident Pending U... Initiate Takedown - ctm360-cbs-incident-request-takedown Initiate Takedown ctm360-cbs-incident-request-t... Is There Action To Take? Is There Action To Take? Prompt User to Close Incident Prompt User to Close Inci... End of Playbook End of Playbook Assign Analyst - AssignAnalystToIncident Assign Analyst AssignAnalystToIncident Prompt User to Close Incident or Request Takedown of Asset Prompt User to Close Inci... Entity Enrichment - Generic v3 - Entity Enrichment - Generic v3 Entity Enrichment - Gener... Entity Enrichment - Generic v3 Is Incoming Mirroring Enabled? Is Incoming Mirroring Ena... Early End of Playbook Early End of Playbook Inform User Regarding Incident Status On Remote - Print Inform User Regarding Inc... Print Is CTM360 CyberBlindspot Integration Available? - IsIntegrationAvailable Is CTM360 CyberBlindspot ... IsIntegrationAvailable Get Enabled Instances - GetEnabledInstances Get Enabled Instances GetEnabledInstances Is Source Instance Enabled? Is Source Instance Enabled? CyberBlindspot Retrieve Incident Screenshots - CyberBlindspot Retrieve Incident Screenshots CyberBlindspot Retrieve I... CyberBlindspot Retrieve Incid...
id: CyberBlindspot Incident Management V3
version: -1
fromversion: "6.10.0"
name: CyberBlindspot Incident Management V3
description: This playbook runs the incidents through indicator enrichment, then based on the mirroring settings, it can communicate with the remote server to assist the user in the next course of action (Whether it be closing the incident, initiating the takedown of an online asset or simply waiting for a process on the remote server to end) to take on the incident if any.
starttaskid: "0"
tasks:
  "0":
    id: "0"
    taskid: 03c440d0-0050-48de-894c-50a6eb17ea3b
    type: start
    task:
      id: 03c440d0-0050-48de-894c-50a6eb17ea3b
      version: -1
      name: ""
      description: ""
      iscommand: false
      brand: ""
    nexttasks:
      '#none#':
      - "25"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 930,
          "y": 50
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "1":
    id: "1"
    taskid: a5035426-9cb0-49a6-82e7-680bb0e9851d
    type: regular
    task:
      id: a5035426-9cb0-49a6-82e7-680bb0e9851d
      version: -1
      name: Get Incident Remote Status
      description: Get the current status of the incident from the remote server.
      script: CTM360_CyberBlindspot|||ctm360-cbs-incident-details
      type: regular
      iscommand: true
      brand: CTM360_CyberBlindspot
    nexttasks:
      '#none#':
      - "28"
    scriptarguments:
      retry-count:
        simple: "3"
      ticketId:
        complex:
          root: incident
          accessor: dbotMirrorId
      using:
        simple: ${incident.sourceInstance}
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 665,
          "y": 1465
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "3":
    id: "3"
    taskid: 207dad80-8343-453e-8b29-28ffa24a5e00
    type: condition
    task:
      id: 207dad80-8343-453e-8b29-28ffa24a5e00
      version: -1
      name: Is The Remote Incident Closed?
      description: Check whether or not the incident had been closed on the remote server.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "6"
      "yes":
      - "4"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isEqualString
          left:
            value:
              simple: CyberBlindspot.RemoteIncident.status
            iscontext: true
          right:
            value:
              simple: Closed
          ignorecase: true
        - operator: isEqualString
          left:
            value:
              simple: CyberBlindspot.RemoteIncident.status
            iscontext: true
          right:
            value:
              simple: Resolved
          ignorecase: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 665,
          "y": 1920
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "4":
    id: "4"
    taskid: 42dba807-70c3-492e-86cc-9a2ed760aa42
    type: regular
    task:
      id: 42dba807-70c3-492e-86cc-9a2ed760aa42
      version: -1
      name: Close Incident Locally
      description: Close the current incident.
      script: Builtin|||closeInvestigation
      type: regular
      iscommand: true
      brand: Builtin
    nexttasks:
      '#none#':
      - "12"
    scriptarguments:
      closeReason:
        simple: Incident closed by DBot via playbook
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 130,
          "y": 2860
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "6":
    id: "6"
    taskid: 8aa215dd-9226-41c2-8a6f-9ff827be75c6
    type: condition
    task:
      id: 8aa215dd-9226-41c2-8a6f-9ff827be75c6
      version: -1
      name: Is The Incident Pending User Action?
      description: If the incident is not yet closed on the remote server, check if any action is required/permitted on the user's side.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "24"
      "yes":
      - "9"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: isEqualString
          left:
            value:
              simple: CyberBlindspot.RemoteIncident.status
            iscontext: true
          right:
            value:
              simple: Member Feedback
          ignorecase: true
      - - operator: inList
          left:
            value:
              simple: incident.dbotMirrorDirection
            iscontext: true
          right:
            value:
              simple: Out,Both
          ignorecase: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 982.5,
          "y": 2095
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "8":
    id: "8"
    taskid: 411171ea-8f22-419f-8759-3cf7434a2014
    type: regular
    task:
      id: 411171ea-8f22-419f-8759-3cf7434a2014
      version: -1
      name: Initiate Takedown
      description: Request a takedown of the asset where the incident was found.
      script: CTM360_CyberBlindspot|||ctm360-cbs-incident-request-takedown
      type: regular
      iscommand: true
      brand: CTM360_CyberBlindspot
    nexttasks:
      '#none#':
      - "12"
    scriptarguments:
      ticketId:
        simple: ${incident.dbotMirrorId}
      using:
        simple: ${incident.sourceInstance}
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 1430,
          "y": 2750
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "9":
    id: "9"
    taskid: 69c526f5-be4f-4086-8f8e-4aed8f3f29d0
    type: condition
    task:
      id: 69c526f5-be4f-4086-8f8e-4aed8f3f29d0
      version: -1
      name: Is There Action To Take?
      description: If action is required/permitted on the user's side, check the possible actions.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "10"
      Close and Takedown Allowed:
      - "18"
    separatecontext: false
    conditions:
    - label: Close and Takedown Allowed
      condition:
      - - operator: isNotEqualString
          left:
            value:
              simple: CyberBlindspot.RemoteIncident.coa
            iscontext: true
          right:
            value:
              simple: Member Side Action
          ignorecase: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 750,
          "y": 2290
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "10":
    id: "10"
    taskid: d90fb9b5-4f5e-4063-8cd9-8b86a3734e45
    type: condition
    task:
      id: d90fb9b5-4f5e-4063-8cd9-8b86a3734e45
      version: -1
      name: Prompt User to Close Incident
      description: Ask the user whether or not they'd like to close the incident.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      Close Incident:
      - "4"
      No Action:
      - "12"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 500,
          "y": 2520
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    message:
      to:
        simple: Analyst
      subject:
        simple: CyberBlindspot Incident ${incident.dbotMirrorId} waiting for user input
      body:
        simple: The CyberBlindspot incident is waiting for your input to close the incident.
      methods:
      - email
      format: ""
      bcc:
      cc:
      timings:
        retriescount: 2
        retriesinterval: 360
        completeafterreplies: 1
        completeafterv2: true
        completeaftersla: false
      replyOptions:
      - Close Incident
      - No Action
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "12":
    id: "12"
    taskid: 3f4c64e7-e484-48f5-8212-06adee06a5bc
    type: title
    task:
      id: 3f4c64e7-e484-48f5-8212-06adee06a5bc
      version: -1
      name: End of Playbook
      description: The end of the playbook.
      type: title
      iscommand: false
      brand: ""
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 922.5,
          "y": 3035
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "17":
    id: "17"
    taskid: b2cb6967-aaa8-4704-8f99-df40031bf2e3
    type: regular
    task:
      id: b2cb6967-aaa8-4704-8f99-df40031bf2e3
      version: -1
      name: Assign Analyst
      description: |-
        Assign analyst to incident.
        By default,  the analyst is picked randomly from the available users, according to the provided roles (if no roles provided, will fetch all users).
        Otherwise, the analyst will be picked according to the 'assignBy' arguments.
        machine-learning: DBot will calculate and decide who is the best analyst for the job.
        top-user: The user who most commonly owns this type of incident.
        less-busy-user: The less busy analyst will be picked to be the incident owner.
        online: The analyst is picked randomly from all online analysts, according to the provided roles (if no roles provided, will fetch all users).
        current: The user who executed the command.
      scriptName: AssignAnalystToIncident
      type: regular
      iscommand: false
      brand: ""
    nexttasks:
      '#none#':
      - "22"
    scriptarguments:
      assignBy:
        simple: less-busy-user
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 930,
          "y": 1035
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "18":
    id: "18"
    taskid: 3a9ad2a9-96f5-4b7d-81fb-fd359fcfc97d
    type: condition
    task:
      id: 3a9ad2a9-96f5-4b7d-81fb-fd359fcfc97d
      version: -1
      name: Prompt User to Close Incident or Request Takedown of Asset
      description: Ask the user whether to close the incident or request a take-down of the related asset/subject.
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      Close Incident:
      - "4"
      Initiate Takedown of Asset:
      - "8"
      No Action:
      - "12"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 1030,
          "y": 2550
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    message:
      to:
        simple: Analyst
      subject:
        simple: CyberBlindspot Incident ${incident.dbotMirrorId} waiting for user input
      body:
        simple: The CyberBlindspot incident is waiting for your input to either takedown the asset or close the incident.
      methods:
      - email
      format: ""
      bcc:
      cc:
      timings:
        retriescount: 2
        retriesinterval: 360
        completeafterreplies: 1
        completeafterv2: true
        completeaftersla: false
      replyOptions:
      - Close Incident
      - Initiate Takedown of Asset
      - No Action
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "20":
    id: "20"
    taskid: b92cd2a5-2caf-4c22-8805-6cf5d5def247
    type: playbook
    task:
      id: b92cd2a5-2caf-4c22-8805-6cf5d5def247
      version: -1
      name: Entity Enrichment - Generic v3
      description: Add more value to indicators that were extracted.
      playbookName: Entity Enrichment - Generic v3
      type: playbook
      iscommand: false
      brand: ""
    nexttasks:
      '#none#':
      - "17"
    scriptarguments:
      CVE:
        complex:
          root: CVE
          accessor: ID
      Domain:
        complex:
          root: Domain
          accessor: Name
          transformers:
          - operator: uniq
      Email:
        complex:
          root: Account
          accessor: Email.Address
          transformers:
          - operator: uniq
      Hostname:
        complex:
          root: Endpoint
          accessor: Hostname
          transformers:
          - operator: uniq
      IP:
        complex:
          root: IP
          accessor: Address
          transformers:
          - operator: uniq
      MD5:
        complex:
          root: File
          accessor: MD5
          transformers:
          - operator: uniq
      ResolveIP:
        simple: "False"
      SHA1:
        complex:
          root: File
          accessor: SHA1
          transformers:
          - operator: uniq
      SHA256:
        complex:
          root: File
          accessor: SHA256
          transformers:
          - operator: uniq
      URL:
        complex:
          root: URL
          accessor: Data
          transformers:
          - operator: uniq
      URLSSLVerification:
        simple: "False"
      Username:
        complex:
          root: Account
          accessor: Username
          transformers:
          - operator: uniq
    separatecontext: true
    continueonerrortype: ""
    loop:
      iscommand: false
      exitCondition: ""
      wait: 1
      max: 100
    view: |-
      {
        "position": {
          "x": 930,
          "y": 855
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "22":
    id: "22"
    taskid: 357acbf0-17ad-45ed-813f-130dc9b6e639
    type: condition
    task:
      id: 357acbf0-17ad-45ed-813f-130dc9b6e639
      version: -1
      name: Is Incoming Mirroring Enabled?
      description: ""
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "23"
      "yes":
      - "1"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: inList
          left:
            value:
              simple: incident.dbotMirrorDirection
            iscontext: true
          right:
            value:
              simple: In,Both
          ignorecase: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 930,
          "y": 1220
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "23":
    id: "23"
    taskid: 684196a3-175d-4bdf-8b83-39afd5548da5
    type: title
    task:
      id: 684196a3-175d-4bdf-8b83-39afd5548da5
      version: -1
      name: Early End of Playbook
      description: The end of the playbook.
      type: title
      iscommand: false
      brand: ""
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 1290,
          "y": 1480
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "24":
    id: "24"
    taskid: 2bc678e3-59f8-4395-8308-934ee41c872d
    type: regular
    task:
      id: 2bc678e3-59f8-4395-8308-934ee41c872d
      version: -1
      name: Inform User Regarding Incident Status On Remote
      description: Prints text to War Room (Markdown supported).
      scriptName: Print
      type: regular
      iscommand: false
      brand: ""
    nexttasks:
      '#none#':
      - "12"
    scriptarguments:
      value:
        simple: The playbook indicates that the incident is currently in "${CyberBlindspot.RemoteIncident.status}" status on the platform. No further action is required at this time.
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 1810,
          "y": 2635
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 2
    isoversize: false
    isautoswitchedtoquietmode: false
  "25":
    id: "25"
    taskid: 3a856dd5-c2b0-40f7-8b3b-8c3b94759daf
    type: condition
    task:
      id: 3a856dd5-c2b0-40f7-8b3b-8c3b94759daf
      version: -1
      name: Is CTM360 CyberBlindspot Integration Available?
      description: Returns 'yes' if integration brand is available. Otherwise returns 'no'.
      scriptName: IsIntegrationAvailable
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "23"
      "yes":
      - "26"
    scriptarguments:
      brandname:
        simple: CTM360_CyberBlindspot
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 930,
          "y": 200
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "26":
    id: "26"
    taskid: 062da08f-ff06-4e4f-8c33-4d213c9fd3ae
    type: regular
    task:
      id: 062da08f-ff06-4e4f-8c33-4d213c9fd3ae
      version: -1
      name: Get Enabled Instances
      description: Gets all currently enabled integration instances.
      scriptName: GetEnabledInstances
      type: regular
      iscommand: false
      brand: ""
    nexttasks:
      '#none#':
      - "27"
    scriptarguments:
      using:
        complex:
          root: incident
          accessor: sourceInstance
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 930,
          "y": 420
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "27":
    id: "27"
    taskid: 80fd938d-40fb-4035-89a1-de9d80dc3bc8
    type: condition
    task:
      id: 80fd938d-40fb-4035-89a1-de9d80dc3bc8
      version: -1
      name: Is Source Instance Enabled?
      description: ""
      type: condition
      iscommand: false
      brand: ""
    nexttasks:
      '#default#':
      - "23"
      "yes":
      - "20"
    separatecontext: false
    conditions:
    - label: "yes"
      condition:
      - - operator: containsGeneral
          left:
            value:
              simple: EnabledInstances
            iscontext: true
          right:
            value:
              simple: incident.sourceInstance
            iscontext: true
          ignorecase: true
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 930,
          "y": 610
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
  "28":
    id: "28"
    taskid: 98358105-78e3-491f-837a-1054a683ec8d
    type: playbook
    task:
      id: 98358105-78e3-491f-837a-1054a683ec8d
      version: -1
      name: CyberBlindspot Retrieve Incident Screenshots
      description: ""
      playbookName: CyberBlindspot Retrieve Incident Screenshots
      type: playbook
      iscommand: false
      brand: ""
    nexttasks:
      '#none#':
      - "3"
    separatecontext: false
    continueonerrortype: ""
    view: |-
      {
        "position": {
          "x": 665,
          "y": 1690
        }
      }
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
    isoversize: false
    isautoswitchedtoquietmode: false
view: |-
  {
    "linkLabelsPosition": {
      "10_12_No Action": 0.3,
      "10_4_Close Incident": 0.35,
      "18_12_No Action": 0.44,
      "18_4_Close Incident": 0.62,
      "25_26_yes": 0.6,
      "27_20_yes": 0.27,
      "9_18_Close and Takedown Allowed": 0.54
    },
    "paper": {
      "dimensions": {
        "height": 3050,
        "width": 2060,
        "x": 130,
        "y": 50
      }
    }
  }
inputs: []
outputs: []
quiet: true
tests:
- No tests (auto formatted)