Darkmon - Generic User Action

Provider-agnostic user-action dispatcher (disable, reset password, revoke sessions). Reads "Darkmon - Identity Provider" List for the configured directory (ad | okta | azuread) and routes to the matching command.

Darkmon · 10 tasks · 3 inputs · 0 outputs

Details

IDDarkmon - Generic User Action
From Version6.8.0
Tasks10

README

Darkmon - Generic User Action

Provider-agnostic user-action dispatcher (disable, reset password, revoke sessions). Reads the “Darkmon - Identity Provider” List for the configured directory (ad okta azuread) and routes to the matching command.

Dependencies

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

Sub-playbooks

This playbook does not use any sub-playbooks.

Integrations

  • Active Directory Query v2
  • Okta v2
  • Azure Active Directory Users

Scripts

  • PrintErrorEntry

Commands

  • ad-disable-account
  • ad-set-new-password
  • ad-clear-sessions
  • okta-deactivate-user
  • msgraph-user-account-disable

Playbook Inputs

Name Description Default Value Required
Username The directory username (sAMAccountName / UPN / login) to act on.   Required
Action One of disable | reset-password | revoke-sessions. disable Required
NewPassword Required only when Action is reset-password.   Optional

Playbook Outputs

There are no outputs for this playbook.

Inputs

  • Username — The directory username (sAMAccountName / UPN / login) to act on.
  • Action — One of disable | reset-password | revoke-sessions.
  • NewPassword — Required only when Action is reset-password.

Flowchart

ad okta azuread disable reset revoke Start Start Provider switch Provider switch AD action switch AD action switch Okta: deactivate user Okta: deactivate user Azure AD: disable user Azure AD: disable user AD: disable account AD: disable account AD: force password change at next logon AD: force password change... AD: revoke Kerberos tickets AD: revoke Kerberos tickets Fallback: log unsupported request - PrintErrorEntry Fallback: log unsupported... PrintErrorEntry Done Done
id: Darkmon - Generic User Action
version: -1
name: Darkmon - Generic User Action
description: Provider-agnostic user-action dispatcher (disable, reset password, revoke sessions). Reads "Darkmon - Identity Provider" List for the configured directory (ad | okta | azuread) and routes to the matching command.
fromversion: 6.8.0
marketplaces:
- xsoar
- platform
starttaskid: '0'
tasks:
  '0':
    id: '0'
    taskid: 0a901864-5faa-49b3-9c67-2bba28cc891c
    type: start
    task:
      id: 0a901864-5faa-49b3-9c67-2bba28cc891c
      version: -1
      name: ''
      description: ''
      iscommand: false
      brand: ''
    nexttasks:
      '#none#':
      - '1'
    separatecontext: false
    continueonerrortype: ''
    view: '{"position": {"x": 50, "y": 50}}'
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
  '1':
    id: '1'
    taskid: 71cd6625-3579-4f00-bfb3-d3c18d7a1b3a
    type: condition
    task:
      id: 71cd6625-3579-4f00-bfb3-d3c18d7a1b3a
      version: -1
      name: Provider switch
      description: ''
      type: condition
      iscommand: false
      brand: ''
    conditions:
    - label: ad
      condition:
      - - operator: isEqualString
          left:
            value:
              complex:
                root: lists.Darkmon - Identity Provider
            iscontext: true
          ignorecase: true
          right:
            value:
              simple: ad
    - label: okta
      condition:
      - - operator: isEqualString
          left:
            value:
              complex:
                root: lists.Darkmon - Identity Provider
            iscontext: true
          ignorecase: true
          right:
            value:
              simple: okta
    - label: azuread
      condition:
      - - operator: isEqualString
          left:
            value:
              complex:
                root: lists.Darkmon - Identity Provider
            iscontext: true
          ignorecase: true
          right:
            value:
              simple: azuread
    nexttasks:
      '#default#':
      - '10'
      ad:
      - '2'
      okta:
      - '3'
      azuread:
      - '4'
    separatecontext: false
    continueonerrortype: ''
    view: '{"position": {"x": 50, "y": 290}}'
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
  '2':
    id: '2'
    taskid: f7fdbc63-230b-4983-8e3f-e86e716936db
    type: condition
    task:
      id: f7fdbc63-230b-4983-8e3f-e86e716936db
      version: -1
      name: AD action switch
      description: ''
      type: condition
      iscommand: false
      brand: ''
    conditions:
    - label: disable
      condition:
      - - operator: isEqualString
          left:
            value:
              complex:
                root: inputs.Action
            iscontext: true
          right:
            value:
              simple: disable
    - label: reset
      condition:
      - - operator: isEqualString
          left:
            value:
              complex:
                root: inputs.Action
            iscontext: true
          right:
            value:
              simple: reset-password
    - label: revoke
      condition:
      - - operator: isEqualString
          left:
            value:
              complex:
                root: inputs.Action
            iscontext: true
          right:
            value:
              simple: revoke-sessions
    nexttasks:
      '#default#':
      - '10'
      disable:
      - '5'
      reset:
      - '6'
      revoke:
      - '7'
    separatecontext: false
    continueonerrortype: ''
    view: '{"position": {"x": -190, "y": 530}}'
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
  '3':
    id: '3'
    taskid: 083986cb-9bc1-4381-96a0-6e779d10aa8a
    type: regular
    task:
      id: 083986cb-9bc1-4381-96a0-6e779d10aa8a
      version: -1
      name: 'Okta: deactivate user'
      description: ''
      script: okta-deactivate-user
      type: regular
      iscommand: true
      brand: ''
    scriptarguments:
      username:
        complex:
          root: inputs.Username
    nexttasks:
      '#none#':
      - '11'
    separatecontext: false
    continueonerrortype: ''
    view: '{"position": {"x": 290, "y": 530}}'
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: true
    quietmode: 0
  '4':
    id: '4'
    taskid: 9bc69625-c4c2-4b30-9d73-d12ccfd0bc29
    type: regular
    task:
      id: 9bc69625-c4c2-4b30-9d73-d12ccfd0bc29
      version: -1
      name: 'Azure AD: disable user'
      description: ''
      script: msgraph-user-account-disable
      type: regular
      iscommand: true
      brand: ''
    scriptarguments:
      user:
        complex:
          root: inputs.Username
    nexttasks:
      '#none#':
      - '11'
    separatecontext: false
    continueonerrortype: ''
    view: '{"position": {"x": 770, "y": 530}}'
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: true
    quietmode: 0
  '5':
    id: '5'
    taskid: 59c0c8a5-d47e-4b0e-915c-873f94f3fdca
    type: regular
    task:
      id: 59c0c8a5-d47e-4b0e-915c-873f94f3fdca
      version: -1
      name: 'AD: disable account'
      description: ''
      script: ad-disable-account
      type: regular
      iscommand: true
      brand: ''
    scriptarguments:
      username:
        complex:
          root: inputs.Username
    nexttasks:
      '#none#':
      - '11'
    separatecontext: false
    continueonerrortype: ''
    view: '{"position": {"x": -430, "y": 770}}'
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: true
    quietmode: 0
  '6':
    id: '6'
    taskid: 674ed138-5e2f-41a4-8c36-76f7cc57a4b6
    type: regular
    task:
      id: 674ed138-5e2f-41a4-8c36-76f7cc57a4b6
      version: -1
      name: 'AD: force password change at next logon'
      description: ''
      script: ad-set-new-password
      type: regular
      iscommand: true
      brand: ''
    scriptarguments:
      username:
        complex:
          root: inputs.Username
      password:
        complex:
          root: inputs.NewPassword
    nexttasks:
      '#none#':
      - '11'
    separatecontext: false
    continueonerrortype: ''
    view: '{"position": {"x": 50, "y": 770}}'
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: true
    quietmode: 0
  '7':
    id: '7'
    taskid: 665f174c-44d0-4a71-9966-cf8d848109b0
    type: regular
    task:
      id: 665f174c-44d0-4a71-9966-cf8d848109b0
      version: -1
      name: 'AD: revoke Kerberos tickets'
      description: Custom AD command via the AD - Authentication integration. For environments without that integration, replace with your tooling.
      script: ad-clear-sessions
      type: regular
      iscommand: true
      brand: ''
    scriptarguments:
      username:
        complex:
          root: inputs.Username
    nexttasks:
      '#none#':
      - '11'
    separatecontext: false
    continueonerrortype: ''
    view: '{"position": {"x": 530, "y": 770}}'
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: true
    quietmode: 0
  '10':
    id: '10'
    taskid: e82f83e9-38bb-4cf3-b9a0-0e9b1c03bbf0
    type: regular
    task:
      id: e82f83e9-38bb-4cf3-b9a0-0e9b1c03bbf0
      version: -1
      name: 'Fallback: log unsupported request'
      description: No identity provider configured (or unrecognized action). Set the "Darkmon - Identity Provider" List to one of ad/okta/azuread.
      scriptName: PrintErrorEntry
      type: regular
      iscommand: false
      brand: ''
    scriptarguments:
      message:
        simple: 'Generic User Action skipped: provider list unset or unsupported action.'
    nexttasks:
      '#none#':
      - '11'
    separatecontext: false
    continueonerrortype: ''
    view: '{"position": {"x": -910, "y": 770}}'
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: true
    quietmode: 0
  '11':
    id: '11'
    taskid: dd32a7c1-ed5f-4f6e-a1fd-bd6385e2eb60
    type: title
    task:
      id: dd32a7c1-ed5f-4f6e-a1fd-bd6385e2eb60
      version: -1
      name: Done
      description: ''
      type: title
      iscommand: false
      brand: ''
    separatecontext: false
    continueonerrortype: ''
    view: '{"position": {"x": 50, "y": 1010}}'
    note: false
    timertriggers: []
    ignoreworker: false
    skipunavailable: false
    quietmode: 0
view: '{"linkLabelsPosition": {"1_10_#default#": 0.82, "1_2_ad": 0.82, "1_3_okta": 0.82, "1_4_azuread": 0.82, "2_10_#default#": 0.82, "2_5_disable": 0.82, "2_6_reset": 0.82, "2_7_revoke": 0.82}, "paper": {"dimensions": {"height": 1175, "width": 2160, "x": -960, "y": 0}}}'
inputs:
- key: Username
  value: {}
  required: true
  description: The directory username (sAMAccountName / UPN / login) to act on.
- key: Action
  value:
    simple: disable
  required: true
  description: One of disable | reset-password | revoke-sessions.
- key: NewPassword
  value: {}
  required: false
  description: Required only when Action is reset-password.
outputs: []
tests:
- No tests
supportedModules:
- cloud_posture
- cloud
- cloud_runtime_security
- edr
- asm
- tim
- cloud_appsec
- xsiam
- exposure_management
- agentix
- email_security