From cdca26cbddec5af346552c6d325ebc019e84e230 Mon Sep 17 00:00:00 2001 From: tccontre Date: Wed, 17 May 2023 09:44:33 +0200 Subject: [PATCH] ad_ldap_account_locking_playbook --- playbooks/AD_LDAP_Account_Locking.json | 283 +++++++++++++++++++++++++ playbooks/AD_LDAP_Account_Locking.png | Bin 0 -> 91958 bytes playbooks/AD_LDAP_Account_Locking.py | 173 +++++++++++++++ playbooks/AD_LDAP_Account_Locking.yml | 24 +++ 4 files changed, 480 insertions(+) create mode 100644 playbooks/AD_LDAP_Account_Locking.json create mode 100644 playbooks/AD_LDAP_Account_Locking.png create mode 100644 playbooks/AD_LDAP_Account_Locking.py create mode 100644 playbooks/AD_LDAP_Account_Locking.yml diff --git a/playbooks/AD_LDAP_Account_Locking.json b/playbooks/AD_LDAP_Account_Locking.json new file mode 100644 index 0000000000..a607c65591 --- /dev/null +++ b/playbooks/AD_LDAP_Account_Locking.json @@ -0,0 +1,283 @@ +{ + "blockly": false, + "blockly_xml": "", + "category": "Account Locking", + "coa": { + "data": { + "description": "Accepts user name that needs to be disabled in Microsoft LDAP Active Directory. Generates an observable output based on the status of account locking or disabling.", + "edges": [ + { + "id": "port_0_to_port_2", + "sourceNode": "0", + "sourcePort": "0_out", + "targetNode": "2", + "targetPort": "2_in" + }, + { + "conditions": [ + { + "index": 0 + } + ], + "id": "port_2_to_port_3", + "sourceNode": "2", + "sourcePort": "2_out", + "targetNode": "3", + "targetPort": "3_in" + }, + { + "id": "port_4_to_port_1", + "sourceNode": "4", + "sourcePort": "4_out", + "targetNode": "1", + "targetPort": "1_in" + }, + { + "id": "port_3_to_port_5", + "sourceNode": "3", + "sourcePort": "3_out", + "targetNode": "5", + "targetPort": "5_in" + }, + { + "conditions": [ + { + "index": 0 + } + ], + "id": "port_5_to_port_4", + "sourceNode": "5", + "sourcePort": "5_out", + "targetNode": "4", + "targetPort": "4_in" + } + ], + "hash": "9e264b4abd2e3c0730a58dd66c6ef88d9b2453af", + "nodes": { + "0": { + "data": { + "advanced": { + "join": [] + }, + "functionName": "on_start", + "id": "0", + "type": "start" + }, + "errors": {}, + "id": "0", + "type": "start", + "warnings": {}, + "x": 19.999999999999986, + "y": -6.394884621840902e-14 + }, + "1": { + "data": { + "advanced": { + "join": [] + }, + "functionName": "on_finish", + "id": "1", + "type": "end" + }, + "errors": {}, + "id": "1", + "type": "end", + "warnings": {}, + "x": 19.999999999999986, + "y": 864 + }, + "2": { + "data": { + "advanced": { + "customName": "username filter", + "customNameId": 0, + "description": "Filter user name inputs to route inputs to appropriate actions.", + "join": [], + "note": "Filter user name inputs to route inputs to appropriate actions." + }, + "conditions": [ + { + "comparisons": [ + { + "conditionIndex": 0, + "op": "!=", + "param": "playbook_input:user_name", + "value": "" + } + ], + "conditionIndex": 0, + "customName": "filter_username_check", + "logic": "and" + } + ], + "functionId": 1, + "functionName": "username_filter", + "id": "2", + "type": "filter" + }, + "errors": {}, + "id": "2", + "type": "filter", + "warnings": { + "config": [ + "Reconfigure invalid datapath." + ] + }, + "x": 60, + "y": 140 + }, + "3": { + "data": { + "action": "disable account", + "actionType": "generic", + "advanced": { + "customName": "disable user account", + "customNameId": 0, + "delayTime": 0, + "description": "Disable user account from filtered playbook inputs.", + "join": [], + "note": "Disable user account from filtered playbook inputs." + }, + "connector": "AD LDAP", + "connectorConfigs": [ + "microsoft ad ldap" + ], + "connectorId": "a5730e5d-a396-4695-92c2-35ff391aaf45", + "connectorVersion": "v1", + "functionId": 1, + "functionName": "disable_user_account", + "id": "3", + "parameters": { + "use_samaccountname": true, + "user": "playbook_input:user_name" + }, + "requiredParameters": [ + { + "data_type": "string", + "default": false, + "field": "user" + } + ], + "type": "action" + }, + "errors": {}, + "id": "3", + "type": "action", + "warnings": { + "config": [ + "Reconfigure invalid datapath." + ] + }, + "x": 0, + "y": 328 + }, + "4": { + "data": { + "advanced": { + "customName": "username observables", + "customNameId": 0, + "description": "Format a normalized output for each user.", + "join": [], + "note": "Format a normalized output for each user." + }, + "functionId": 1, + "functionName": "username_observables", + "id": "4", + "inputParameters": [ + "disable_user_account:action_result.parameter.user", + "disable_user_account:action_result.parameter.use_samaccountname", + "disable_user_account:action_result.data.*.user_dn", + "disable_user_account:action_result.status", + "disable_user_account:action_result.message", + "disable_user_account:action_result.data.*.starting_status" + ], + "outputVariables": [ + "observable_array" + ], + "type": "code" + }, + "errors": {}, + "id": "4", + "type": "code", + "userCode": "\n # Write your custom code here...\n username_observables__observable_array = []\n \n for user, sam_account, user_dn, status, msg, prev_status in zip(disable_user_account_parameter_user, disable_user_account_parameter_use_samaccountname, disable_user_account_result_item_2, disable_user_account_result_item_3, disable_user_account_result_message, disable_user_account_result_item_5):\n user_acc_status = {\n \"type\": \"Microsoft AD LDAP Account\",\n \"value\": user,\n \"previous_status\": prev_status,\n \"sam_account\": sam_account,\n \"user_dn\": user_dn,\n \"message\": msg,\n \"status\": status\n }\n \n username_observables__observable_array.append(user_acc_status)\n #phantom.debug(username_observables__observable_array)\n", + "warnings": {}, + "x": 0, + "y": 686 + }, + "5": { + "data": { + "advanced": { + "customName": "filter disable account", + "customNameId": 0, + "description": "filter check if the user is disabled successfully.", + "join": [], + "note": "filter check if the user is disabled successfully." + }, + "conditions": [ + { + "comparisons": [ + { + "conditionIndex": 0, + "op": "==", + "param": "disable_user_account:action_result.status", + "value": "success" + } + ], + "conditionIndex": 0, + "customName": "disabled_success", + "logic": "and" + } + ], + "functionId": 2, + "functionName": "filter_disable_account", + "id": "5", + "type": "filter" + }, + "errors": {}, + "id": "5", + "type": "filter", + "warnings": {}, + "x": 60, + "y": 500 + } + }, + "notes": "Inputs: users\nInteractions: Microsoft AD LDAP\nActions: Account Locking/Disabling\nOutputs: observables" + }, + "input_spec": [ + { + "contains": [ + "user name" + ], + "description": "A user name provided to be disable - AD LDAP", + "name": "user_name" + } + ], + "output_spec": [ + { + "contains": [], + "datapaths": [ + "username_observables:custom_function:observable_array" + ], + "deduplicate": false, + "description": "An array of observable dictionaries ", + "metadata": {}, + "name": "observable" + } + ], + "playbook_type": "data", + "python_version": "3", + "schema": "5.0.9", + "version": "6.0.0.114895" + }, + "create_time": "2023-05-15T10:29:31.917563+00:00", + "draft_mode": false, + "labels": [ + "*" + ], + "tags": [ + "user", + "microsoft_ad_ldap", + "disable_account", + "D3-AL" + ] +} \ No newline at end of file diff --git a/playbooks/AD_LDAP_Account_Locking.png b/playbooks/AD_LDAP_Account_Locking.png new file mode 100644 index 0000000000000000000000000000000000000000..683568a45873e5edee495b54e77e2639bc0f2940 GIT binary patch literal 91958 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 z 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 literal 0 HcmV?d00001 diff --git a/playbooks/AD_LDAP_Account_Locking.py b/playbooks/AD_LDAP_Account_Locking.py new file mode 100644 index 0000000000..83697b1fbd --- /dev/null +++ b/playbooks/AD_LDAP_Account_Locking.py @@ -0,0 +1,173 @@ +""" +Accepts user name that needs to be disabled in Microsoft LDAP Active Directory. Generates an observable output based on the status of account locking or disabling. +""" + + +import phantom.rules as phantom +import json +from datetime import datetime, timedelta + + +@phantom.playbook_block() +def on_start(container): + phantom.debug('on_start() called') + + # call 'username_filter' block + username_filter(container=container) + + return + +@phantom.playbook_block() +def username_filter(action=None, success=None, container=None, results=None, handle=None, filtered_artifacts=None, filtered_results=None, custom_function=None, **kwargs): + phantom.debug("username_filter() called") + + ################################################################################ + # Filter user name inputs to route inputs to appropriate actions. + ################################################################################ + + # collect filtered artifact ids and results for 'if' condition 1 + matched_artifacts_1, matched_results_1 = phantom.condition( + container=container, + conditions=[ + ["playbook_input:user_name", "!=", ""] + ], + name="username_filter:condition_1") + + # call connected blocks if filtered artifacts or results + if matched_artifacts_1 or matched_results_1: + disable_user_account(action=action, success=success, container=container, results=results, handle=handle, filtered_artifacts=matched_artifacts_1, filtered_results=matched_results_1) + + return + + +@phantom.playbook_block() +def disable_user_account(action=None, success=None, container=None, results=None, handle=None, filtered_artifacts=None, filtered_results=None, custom_function=None, **kwargs): + phantom.debug("disable_user_account() called") + + # phantom.debug('Action: {0} {1}'.format(action['name'], ('SUCCEEDED' if success else 'FAILED'))) + + ################################################################################ + # Disable user account from filtered playbook inputs. + ################################################################################ + + playbook_input_user_name = phantom.collect2(container=container, datapath=["playbook_input:user_name"]) + + parameters = [] + + # build parameters list for 'disable_user_account' call + for playbook_input_user_name_item in playbook_input_user_name: + if playbook_input_user_name_item[0] is not None: + parameters.append({ + "user": playbook_input_user_name_item[0], + "use_samaccountname": True, + }) + + ################################################################################ + ## Custom Code Start + ################################################################################ + + # Write your custom code here... + + ################################################################################ + ## Custom Code End + ################################################################################ + + phantom.act("disable account", parameters=parameters, name="disable_user_account", assets=["microsoft ad ldap"], callback=filter_disable_account) + + return + + +@phantom.playbook_block() +def username_observables(action=None, success=None, container=None, results=None, handle=None, filtered_artifacts=None, filtered_results=None, custom_function=None, **kwargs): + phantom.debug("username_observables() called") + + ################################################################################ + # Format a normalized output for each user. + ################################################################################ + + disable_user_account_result_data = phantom.collect2(container=container, datapath=["disable_user_account:action_result.parameter.user","disable_user_account:action_result.parameter.use_samaccountname","disable_user_account:action_result.data.*.user_dn","disable_user_account:action_result.status","disable_user_account:action_result.message","disable_user_account:action_result.data.*.starting_status"], action_results=results) + + disable_user_account_parameter_user = [item[0] for item in disable_user_account_result_data] + disable_user_account_parameter_use_samaccountname = [item[1] for item in disable_user_account_result_data] + disable_user_account_result_item_2 = [item[2] for item in disable_user_account_result_data] + disable_user_account_result_item_3 = [item[3] for item in disable_user_account_result_data] + disable_user_account_result_message = [item[4] for item in disable_user_account_result_data] + disable_user_account_result_item_5 = [item[5] for item in disable_user_account_result_data] + + username_observables__observable_array = None + + ################################################################################ + ## Custom Code Start + ################################################################################ + + # Write your custom code here... + username_observables__observable_array = [] + + for user, sam_account, user_dn, status, msg, prev_status in zip(disable_user_account_parameter_user, disable_user_account_parameter_use_samaccountname, disable_user_account_result_item_2, disable_user_account_result_item_3, disable_user_account_result_message, disable_user_account_result_item_5): + user_acc_status = { + "type": "Microsoft AD LDAP Account", + "value": user, + "previous_status": prev_status, + "sam_account": sam_account, + "user_dn": user_dn, + "message": msg, + "status": status + } + + username_observables__observable_array.append(user_acc_status) + #phantom.debug(username_observables__observable_array) + ################################################################################ + ## Custom Code End + ################################################################################ + + phantom.save_run_data(key="username_observables:observable_array", value=json.dumps(username_observables__observable_array)) + + return + + +@phantom.playbook_block() +def filter_disable_account(action=None, success=None, container=None, results=None, handle=None, filtered_artifacts=None, filtered_results=None, custom_function=None, **kwargs): + phantom.debug("filter_disable_account() called") + + ################################################################################ + # filter check if the user is disabled successfully. + ################################################################################ + + # collect filtered artifact ids and results for 'if' condition 1 + matched_artifacts_1, matched_results_1 = phantom.condition( + container=container, + conditions=[ + ["disable_user_account:action_result.status", "==", "success"] + ], + name="filter_disable_account:condition_1") + + # call connected blocks if filtered artifacts or results + if matched_artifacts_1 or matched_results_1: + username_observables(action=action, success=success, container=container, results=results, handle=handle, filtered_artifacts=matched_artifacts_1, filtered_results=matched_results_1) + + return + + +@phantom.playbook_block() +def on_finish(container, summary): + phantom.debug("on_finish() called") + + username_observables__observable_array = json.loads(_ if (_ := phantom.get_run_data(key="username_observables:observable_array")) != "" else "null") # pylint: disable=used-before-assignment + + output = { + "observable": username_observables__observable_array, + } + + ################################################################################ + ## Custom Code Start + ################################################################################ + + # Write your custom code here... + + ################################################################################ + ## Custom Code End + ################################################################################ + + phantom.save_playbook_output_data(output=output) + + return \ No newline at end of file diff --git a/playbooks/AD_LDAP_Account_Locking.yml b/playbooks/AD_LDAP_Account_Locking.yml new file mode 100644 index 0000000000..de25477e50 --- /dev/null +++ b/playbooks/AD_LDAP_Account_Locking.yml @@ -0,0 +1,24 @@ +name: AD LDAP Account Locking +id: e6f96caf-610c-4ced-aa2c-ba9b19b89e1f +version: 1 +date: '2023-05-08' +author: Teoderick Contreras, Splunk +type: Investigation +description: "Accepts user, to be disabled using Microsoft AD LDAP connector. This playbook produces a normalized observables output for each user and device." +playbook: AD_LDAP_Account_Locking +how_to_implement: This input playbook requires the Microsoft AD LDAP connector to be configured. + It is designed to work in conjunction with the Dynamic Attribute Lookup playbook or other playbooks in the same style. +references: [] +app_list: + - AD LDAP API +tags: + platform_tags: + - user + - microsoft_ad_ldap + - D3-AL + - disable_account + playbook_type: Input + vpe_type: Modern + playbook_fields: [] + product: + - Splunk SOAR