From fc7e90bd37d113a628ba60f7785b58eafece8505 Mon Sep 17 00:00:00 2001 From: tccontre Date: Mon, 18 Oct 2021 17:11:53 +0200 Subject: [PATCH] iceid_ttps --- .../disable_defender_antivirus_registry.yml | 67 +++++++++++++++++++ .../disable_defender_mpengine_registry.yml | 67 +++++++++++++++++++ ...sable_defender_antivirus_registry.test.yml | 12 ++++ ...isable_defender_mpengine_registry.test.yml | 12 ++++ 4 files changed, 158 insertions(+) create mode 100644 detections/endpoint/disable_defender_antivirus_registry.yml create mode 100644 detections/endpoint/disable_defender_mpengine_registry.yml create mode 100644 tests/endpoint/disable_defender_antivirus_registry.test.yml create mode 100644 tests/endpoint/disable_defender_mpengine_registry.test.yml diff --git a/detections/endpoint/disable_defender_antivirus_registry.yml b/detections/endpoint/disable_defender_antivirus_registry.yml new file mode 100644 index 0000000000..90119c46e5 --- /dev/null +++ b/detections/endpoint/disable_defender_antivirus_registry.yml @@ -0,0 +1,67 @@ +name: Disable Defender AntiVirus Registry +id: aa4f695a-3024-11ec-9987-acde48001122 +version: 1 +date: '2021-10-18' +author: Teoderick Contreras, Splunk +type: TTP +datamodel: +- Endpoint +description: This particular behavior is typically executed when an adversaries or malware gains access to an endpoint + and beings to perform execution and to evade detections. Usually, a batch (.bat) will be executed and multiple + registry and scheduled task modifications will occur. During triage, review parallel + processes and identify any further file modifications. Endpoint should be isolated. +search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) + as lastTime from datamodel=Endpoint.Registry where Registry.registry_path = "*\\Policies\\Microsoft\\Windows Defender*" + Registry.registry_value_name = DisableAntiVirus Registry.registry_value_data = 0x00000001 + by Registry.dest Registry.user Registry.registry_path Registry.registry_value_name Registry.registry_value_data + | `drop_dm_object_name(Registry)` + | `security_content_ctime(lastTime)` + | `security_content_ctime(firstTime)` + | `disable_defender_antivirus_registry_filter`' +how_to_implement: To successfully implement this search, you need to be ingesting + logs with the process name, parent process, and command-line executions from your + endpoints. If you are using Sysmon, you must have at least version 6.0.4 of the + Sysmon TA. +known_false_positives: admin or user may choose to disable windows defender product +references: +- https://thedfirreport.com/2021/10/18/icedid-to-xinglocker-ransomware-in-24-hours/ +tags: + analytic_story: + - IceID + dataset: + - https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/malware/icedid/disable_av/sysmon.log + kill_chain_phases: + - Exploitation + mitre_attack_id: + - T1562.001 + - T1562 + product: + - Splunk Enterprise + - Splunk Enterprise Security + - Splunk Cloud + required_fields: + - _time + - Registry.dest + - Registry.user + - Registry.registry_value_name + - Registry.registry_key_name + - Registry.registry_path + - Registry.registry_value_data + security_domain: endpoint + impact: 70 + confidence: 70 + risk_score: 49 + context: + - Source:Endpoint + - Stage:Defense Evasion + message: modified/added/deleted registry entry $Registry.registry_path$ in $dest$ + observable: + - name: dest + type: Hostname + role: + - Victim + - name: user + type: user + role: + - Victim + \ No newline at end of file diff --git a/detections/endpoint/disable_defender_mpengine_registry.yml b/detections/endpoint/disable_defender_mpengine_registry.yml new file mode 100644 index 0000000000..91a981b64b --- /dev/null +++ b/detections/endpoint/disable_defender_mpengine_registry.yml @@ -0,0 +1,67 @@ +name: Disable Defender MpEngine Registry +id: cc391750-3024-11ec-955a-acde48001122 +version: 1 +date: '2021-10-18' +author: Teoderick Contreras, Splunk +type: TTP +datamodel: +- Endpoint +description: This particular behavior is typically executed when an adversaries or malware gains access to an endpoint + and beings to perform execution and to evade detections. Usually, a batch (.bat) will be executed and multiple + registry and scheduled task modifications will occur. During triage, review parallel + processes and identify any further file modifications. Endpoint should be isolated. +search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) + as lastTime from datamodel=Endpoint.Registry where Registry.registry_path = "*\\Policies\\Microsoft\\Windows Defender\\MpEngine*" + Registry.registry_value_name = MpEnablePus Registry.registry_value_data = 0x00000000 + by Registry.dest Registry.user Registry.registry_path Registry.registry_value_name Registry.registry_value_data + | `drop_dm_object_name(Registry)` + | `security_content_ctime(lastTime)` + | `security_content_ctime(firstTime)` + | `disable_defender_mpengine_registry_filter`' +how_to_implement: To successfully implement this search, you need to be ingesting + logs with the process name, parent process, and command-line executions from your + endpoints. If you are using Sysmon, you must have at least version 6.0.4 of the + Sysmon TA. +known_false_positives: admin or user may choose to disable windows defender product +references: +- https://thedfirreport.com/2021/10/18/icedid-to-xinglocker-ransomware-in-24-hours/ +tags: + analytic_story: + - IceID + dataset: + - https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/malware/icedid/disable_av/sysmon.log + kill_chain_phases: + - Exploitation + mitre_attack_id: + - T1562.001 + - T1562 + product: + - Splunk Enterprise + - Splunk Enterprise Security + - Splunk Cloud + required_fields: + - _time + - Registry.dest + - Registry.user + - Registry.registry_value_name + - Registry.registry_key_name + - Registry.registry_path + - Registry.registry_value_data + security_domain: endpoint + impact: 70 + confidence: 70 + risk_score: 49 + context: + - Source:Endpoint + - Stage:Defense Evasion + message: modified/added/deleted registry entry $Registry.registry_path$ in $dest$ + observable: + - name: dest + type: Hostname + role: + - Victim + - name: user + type: user + role: + - Victim + \ No newline at end of file diff --git a/tests/endpoint/disable_defender_antivirus_registry.test.yml b/tests/endpoint/disable_defender_antivirus_registry.test.yml new file mode 100644 index 0000000000..7bc896bf0d --- /dev/null +++ b/tests/endpoint/disable_defender_antivirus_registry.test.yml @@ -0,0 +1,12 @@ +name: Disable Defender AntiVirus Registry Unit Test +tests: +- name: Disable Defender AntiVirus Registry + file: endpoint/disable_defender_antivirus_registry.yml + pass_condition: '| stats count | where count > 0' + earliest_time: '-24h' + latest_time: 'now' + attack_data: + - file_name: sysmon.log + data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/malware/icedid/disable_av/sysmon.log + source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational + sourcetype: xmlwineventlog \ No newline at end of file diff --git a/tests/endpoint/disable_defender_mpengine_registry.test.yml b/tests/endpoint/disable_defender_mpengine_registry.test.yml new file mode 100644 index 0000000000..a54f28cc63 --- /dev/null +++ b/tests/endpoint/disable_defender_mpengine_registry.test.yml @@ -0,0 +1,12 @@ +name: Disable Defender MpEngine Registry Unit Test +tests: +- name: Disable Defender MpEngine Registry + file: endpoint/disable_defender_mpengine_registry.yml + pass_condition: '| stats count | where count > 0' + earliest_time: '-24h' + latest_time: 'now' + attack_data: + - file_name: sysmon.log + data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/malware/icedid/disable_av/sysmon.log + source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational + sourcetype: xmlwineventlog \ No newline at end of file