From 27b27a5b5956557bd6de608b2e2f4c419b417e11 Mon Sep 17 00:00:00 2001
From: P4T12ICK
Date: Mon, 18 Jan 2021 14:10:47 +0100
Subject: [PATCH 01/24] detection testing branch
---
.../detect_long_dns_txt_record_response.yml | 3 ++-
.../{network => deprecated}/detection_of_dns_tunnels.yml | 3 ++-
.../{network => deprecated}/monitor_dns_for_brand_abuse.yml | 0
detections/{ => experimental}/network/dns_record_changed.yml | 0
.../network/dns_query_length_with_high_standard_deviation.yml | 2 +-
5 files changed, 5 insertions(+), 3 deletions(-)
rename detections/{network => deprecated}/detect_long_dns_txt_record_response.yml (95%)
rename detections/{network => deprecated}/detection_of_dns_tunnels.yml (97%)
rename detections/{network => deprecated}/monitor_dns_for_brand_abuse.yml (100%)
rename detections/{ => experimental}/network/dns_record_changed.yml (100%)
diff --git a/detections/network/detect_long_dns_txt_record_response.yml b/detections/deprecated/detect_long_dns_txt_record_response.yml
similarity index 95%
rename from detections/network/detect_long_dns_txt_record_response.yml
rename to detections/deprecated/detect_long_dns_txt_record_response.yml
index 8b583b918a..cb10f9672b 100644
--- a/detections/network/detect_long_dns_txt_record_response.yml
+++ b/detections/deprecated/detect_long_dns_txt_record_response.yml
@@ -6,6 +6,7 @@ description: This search is used to detect attempts to use DNS tunneling, by cal
the length of responses to DNS TXT queries. Endpoints using DNS as a method of transmission
for data exfiltration, command and control, or evasion of security controls can
often be detected by noting unusually large volumes of DNS traffic.
+ Deprecated because this detection should focus on DNS queries instead of DNS responses.
how_to_implement: To successfully implement this search you need to ingest data from
your DNS logs, or monitor DNS traffic using Stream, Bro or something similar. Specifically,
this query requires that the DNS data model is populated with information regarding
@@ -31,7 +32,7 @@ tags:
- Suspicious DNS Traffic
- Command and Control
mitre_attack_id:
- - T1071.004
+ - T1048.003
kill_chain_phases:
- Command and Control
cis20:
diff --git a/detections/network/detection_of_dns_tunnels.yml b/detections/deprecated/detection_of_dns_tunnels.yml
similarity index 97%
rename from detections/network/detection_of_dns_tunnels.yml
rename to detections/deprecated/detection_of_dns_tunnels.yml
index 235c0f52a5..381cfd8f74 100644
--- a/detections/network/detection_of_dns_tunnels.yml
+++ b/detections/deprecated/detection_of_dns_tunnels.yml
@@ -9,6 +9,7 @@ description: This search is used to detect DNS tunneling, by calculating the sum
method of transmission for data exfiltration, command and control, or evasion of
security controls can often be detected by noting an unusually large volume of DNS
traffic.
+ Deprecated because existing detection is doing the same.
how_to_implement: To successfully implement this search, we must ensure that DNS data
is being ingested and mapped to the appropriate fields in the Network_Resolution
data model. Fields like src_category are automatically provided by the Assets and
@@ -43,7 +44,7 @@ tags:
- Suspicious DNS Traffic
- Command and Control
mitre_attack_id:
- - T1071.004
+ - T1048.003
kill_chain_phases:
- Command and Control
- Actions on Objectives
diff --git a/detections/network/monitor_dns_for_brand_abuse.yml b/detections/deprecated/monitor_dns_for_brand_abuse.yml
similarity index 100%
rename from detections/network/monitor_dns_for_brand_abuse.yml
rename to detections/deprecated/monitor_dns_for_brand_abuse.yml
diff --git a/detections/network/dns_record_changed.yml b/detections/experimental/network/dns_record_changed.yml
similarity index 100%
rename from detections/network/dns_record_changed.yml
rename to detections/experimental/network/dns_record_changed.yml
diff --git a/detections/network/dns_query_length_with_high_standard_deviation.yml b/detections/network/dns_query_length_with_high_standard_deviation.yml
index 6c15cec868..6b26d7f894 100644
--- a/detections/network/dns_query_length_with_high_standard_deviation.yml
+++ b/detections/network/dns_query_length_with_high_standard_deviation.yml
@@ -22,7 +22,7 @@ tags:
- Suspicious DNS Traffic
- Command and Control
mitre_attack_id:
- - T1071.004
+ - T1048.003
kill_chain_phases:
- Command and Control
cis20:
From 44bf41a67898b80fade2c2a2efbac32b5eb822ca Mon Sep 17 00:00:00 2001
From: P4T12ICK
Date: Mon, 18 Jan 2021 15:22:05 +0100
Subject: [PATCH 02/24] new test file
---
.../clients_connecting_to_multiple_dns_servers.yml | 0
...etect_web_traffic_to_dynamic_domain_providers.yml | 3 ++-
...h_volume_of_network_traffic_from_email_server.yml | 0
.../network/prohibited_network_traffic_allowed.yml | 0
.../network/protocol_or_port_mismatch.yml | 0
...protocols_passing_authentication_in_cleartext.yml | 0
.../web/sql_injection_with_long_urls.yml | 0
...dns_query_length_with_high_standard_deviation.yml | 6 +++---
...uery_length_with_high_standard_deviation.test.yml | 12 ++++++++++++
9 files changed, 17 insertions(+), 4 deletions(-)
rename detections/{network => deprecated}/clients_connecting_to_multiple_dns_servers.yml (100%)
rename detections/{web => deprecated}/detect_web_traffic_to_dynamic_domain_providers.yml (95%)
rename detections/{ => experimental}/network/hosts_receiving_high_volume_of_network_traffic_from_email_server.yml (100%)
rename detections/{ => experimental}/network/prohibited_network_traffic_allowed.yml (100%)
rename detections/{ => experimental}/network/protocol_or_port_mismatch.yml (100%)
rename detections/{ => experimental}/network/protocols_passing_authentication_in_cleartext.yml (100%)
rename detections/{ => experimental}/web/sql_injection_with_long_urls.yml (100%)
create mode 100644 tests/network/dns_query_length_with_high_standard_deviation.test.yml
diff --git a/detections/network/clients_connecting_to_multiple_dns_servers.yml b/detections/deprecated/clients_connecting_to_multiple_dns_servers.yml
similarity index 100%
rename from detections/network/clients_connecting_to_multiple_dns_servers.yml
rename to detections/deprecated/clients_connecting_to_multiple_dns_servers.yml
diff --git a/detections/web/detect_web_traffic_to_dynamic_domain_providers.yml b/detections/deprecated/detect_web_traffic_to_dynamic_domain_providers.yml
similarity index 95%
rename from detections/web/detect_web_traffic_to_dynamic_domain_providers.yml
rename to detections/deprecated/detect_web_traffic_to_dynamic_domain_providers.yml
index 81d069ad2d..f54409a169 100644
--- a/detections/web/detect_web_traffic_to_dynamic_domain_providers.yml
+++ b/detections/deprecated/detect_web_traffic_to_dynamic_domain_providers.yml
@@ -19,7 +19,8 @@ how_to_implement: 'This search requires you to be ingesting web-traffic logs. Yo
**Label:** IsDynamicDNS, **Field:** isDynDNS\
Detailed documentation on how to create a new field within Incident Review may be
- found here: `https://docs.splunk.com/Documentation/ES/5.3.0/Admin/Customizenotables#Add_a_field_to_the_notable_event_details`'
+ found here: `https://docs.splunk.com/Documentation/ES/5.3.0/Admin/Customizenotables#Add_a_field_to_the_notable_event_details`
+ Deprecated because duplicate.'
type: ESCU
references: []
author: Bhavin Patel, Splunk
diff --git a/detections/network/hosts_receiving_high_volume_of_network_traffic_from_email_server.yml b/detections/experimental/network/hosts_receiving_high_volume_of_network_traffic_from_email_server.yml
similarity index 100%
rename from detections/network/hosts_receiving_high_volume_of_network_traffic_from_email_server.yml
rename to detections/experimental/network/hosts_receiving_high_volume_of_network_traffic_from_email_server.yml
diff --git a/detections/network/prohibited_network_traffic_allowed.yml b/detections/experimental/network/prohibited_network_traffic_allowed.yml
similarity index 100%
rename from detections/network/prohibited_network_traffic_allowed.yml
rename to detections/experimental/network/prohibited_network_traffic_allowed.yml
diff --git a/detections/network/protocol_or_port_mismatch.yml b/detections/experimental/network/protocol_or_port_mismatch.yml
similarity index 100%
rename from detections/network/protocol_or_port_mismatch.yml
rename to detections/experimental/network/protocol_or_port_mismatch.yml
diff --git a/detections/network/protocols_passing_authentication_in_cleartext.yml b/detections/experimental/network/protocols_passing_authentication_in_cleartext.yml
similarity index 100%
rename from detections/network/protocols_passing_authentication_in_cleartext.yml
rename to detections/experimental/network/protocols_passing_authentication_in_cleartext.yml
diff --git a/detections/web/sql_injection_with_long_urls.yml b/detections/experimental/web/sql_injection_with_long_urls.yml
similarity index 100%
rename from detections/web/sql_injection_with_long_urls.yml
rename to detections/experimental/web/sql_injection_with_long_urls.yml
diff --git a/detections/network/dns_query_length_with_high_standard_deviation.yml b/detections/network/dns_query_length_with_high_standard_deviation.yml
index 6b26d7f894..45c4909b04 100644
--- a/detections/network/dns_query_length_with_high_standard_deviation.yml
+++ b/detections/network/dns_query_length_with_high_standard_deviation.yml
@@ -1,7 +1,7 @@
name: DNS Query Length With High Standard Deviation
id: 1a67f15a-f4ff-4170-84e9-08cf6f75d6f5
-version: 2
-date: '2020-07-21'
+version: 3
+date: '2021-01-18'
description: This search allows you to identify DNS requests and compute the standard
deviation on the length of the names being resolved, then filter on two times the
standard deviation to show you those queries that are unusually large for your environment.
@@ -11,7 +11,7 @@ type: ESCU
references: []
author: Bhavin Patel, Splunk
search: '| tstats `security_content_summariesonly` count from datamodel=Network_Resolution
- by DNS.query DNS.record_type | `drop_dm_object_name("DNS")` | eval query_length
+ by DNS.query | `drop_dm_object_name("DNS")` | eval query_length
= len(query) | table query query_length record_type count | eventstats stdev(query_length)
AS stdev avg(query_length) AS avg p50(query_length) AS p50| where query_length>(avg+stdev*2)
| eval z_score=(query_length-avg)/stdev | `dns_query_length_with_high_standard_deviation_filter` '
diff --git a/tests/network/dns_query_length_with_high_standard_deviation.test.yml b/tests/network/dns_query_length_with_high_standard_deviation.test.yml
new file mode 100644
index 0000000000..fd304f15fe
--- /dev/null
+++ b/tests/network/dns_query_length_with_high_standard_deviation.test.yml
@@ -0,0 +1,12 @@
+name: DNS Query Length With High Standard Deviation Unit Test
+tests:
+ - name: DNS Query Length With High Standard Deviation
+ file: network/dns_query_length_with_high_standard_deviation.yml
+ pass_condition: '| stats count | where count > 0'
+ earliest_time: '-24h'
+ latest_time: 'now'
+ attack_data:
+ - file_name: windows-sysmon.log
+ data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1048.003/long_dns_queries/windows-sysmon.log
+ source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
+ sourcetype: xmlwineventlog
From a88d8291fe4fbfc15945f85030222507df59e295 Mon Sep 17 00:00:00 2001
From: root
Date: Mon, 18 Jan 2021 14:41:53 +0000
Subject: [PATCH 03/24] Added detection testing service results inDNS Query
Length With High Standard Deviation
---
.../dns_query_length_with_high_standard_deviation.yml | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/detections/network/dns_query_length_with_high_standard_deviation.yml b/detections/network/dns_query_length_with_high_standard_deviation.yml
index 45c4909b04..701e72bd21 100644
--- a/detections/network/dns_query_length_with_high_standard_deviation.yml
+++ b/detections/network/dns_query_length_with_high_standard_deviation.yml
@@ -11,9 +11,9 @@ type: ESCU
references: []
author: Bhavin Patel, Splunk
search: '| tstats `security_content_summariesonly` count from datamodel=Network_Resolution
- by DNS.query | `drop_dm_object_name("DNS")` | eval query_length
- = len(query) | table query query_length record_type count | eventstats stdev(query_length)
- AS stdev avg(query_length) AS avg p50(query_length) AS p50| where query_length>(avg+stdev*2)
+ by DNS.query | `drop_dm_object_name("DNS")` | eval query_length = len(query) |
+ table query query_length record_type count | eventstats stdev(query_length) AS stdev
+ avg(query_length) AS avg p50(query_length) AS p50| where query_length>(avg+stdev*2)
| eval z_score=(query_length-avg)/stdev | `dns_query_length_with_high_standard_deviation_filter` '
known_false_positives: It's possible there can be long domain names that are legitimate.
tags:
@@ -34,3 +34,6 @@ tags:
- DE.CM
security_domain: network
asset_type: Endpoint
+ automated_detection_testing: passed
+ dataset:
+ - https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1048.003/long_dns_queries/windows-sysmon.log
From 477221da99c58befce41bcf2a34399d0b2cdbdf9 Mon Sep 17 00:00:00 2001
From: P4T12ICK
Date: Mon, 18 Jan 2021 15:46:53 +0100
Subject: [PATCH 04/24] detection testing
---
.../dns_query_requests_resolved_by_unauthorized_dns_servers.yml | 0
.../high_number_of_login_failures_from_a_single_source.yml | 2 +-
.../{application => deprecated}/open_redirect_in_splunk_web.yml | 0
.../splunk_enterprise_information_disclosure.yml | 0
.../{ => experimental}/network/excessive_dns_failures.yml | 0
.../network/large_volume_of_dns_any_queries.yml | 0
6 files changed, 1 insertion(+), 1 deletion(-)
rename detections/{network => deprecated}/dns_query_requests_resolved_by_unauthorized_dns_servers.yml (100%)
rename detections/{cloud => deprecated}/high_number_of_login_failures_from_a_single_source.yml (96%)
rename detections/{application => deprecated}/open_redirect_in_splunk_web.yml (100%)
rename detections/{application => deprecated}/splunk_enterprise_information_disclosure.yml (100%)
rename detections/{ => experimental}/network/excessive_dns_failures.yml (100%)
rename detections/{ => experimental}/network/large_volume_of_dns_any_queries.yml (100%)
diff --git a/detections/network/dns_query_requests_resolved_by_unauthorized_dns_servers.yml b/detections/deprecated/dns_query_requests_resolved_by_unauthorized_dns_servers.yml
similarity index 100%
rename from detections/network/dns_query_requests_resolved_by_unauthorized_dns_servers.yml
rename to detections/deprecated/dns_query_requests_resolved_by_unauthorized_dns_servers.yml
diff --git a/detections/cloud/high_number_of_login_failures_from_a_single_source.yml b/detections/deprecated/high_number_of_login_failures_from_a_single_source.yml
similarity index 96%
rename from detections/cloud/high_number_of_login_failures_from_a_single_source.yml
rename to detections/deprecated/high_number_of_login_failures_from_a_single_source.yml
index 04d49c1634..333ac9e390 100644
--- a/detections/cloud/high_number_of_login_failures_from_a_single_source.yml
+++ b/detections/deprecated/high_number_of_login_failures_from_a_single_source.yml
@@ -2,7 +2,7 @@ name: High Number of Login Failures from a single source
id: 7f398cfb-918d-41f4-8db8-2e2474e02222
version: 1
date: '2020-12-16'
-description: This search will detect more than 5 login failures in Office365 Azure Active Directory from a single source IP address. Please adjust the threshold value of 5 as suited for your environment.
+description: This search will detect more than 5 login failures in Office365 Azure Active Directory from a single source IP address. Please adjust the threshold value of 5 as suited for your environment. Deprecated because duplicate.
type: ESCU
author: Bhavin Patel, Splunk
search: '`o365_management_activity` Operation=UserLoginFailed record_type=AzureActiveDirectoryStsLogon app=AzureActiveDirectory
diff --git a/detections/application/open_redirect_in_splunk_web.yml b/detections/deprecated/open_redirect_in_splunk_web.yml
similarity index 100%
rename from detections/application/open_redirect_in_splunk_web.yml
rename to detections/deprecated/open_redirect_in_splunk_web.yml
diff --git a/detections/application/splunk_enterprise_information_disclosure.yml b/detections/deprecated/splunk_enterprise_information_disclosure.yml
similarity index 100%
rename from detections/application/splunk_enterprise_information_disclosure.yml
rename to detections/deprecated/splunk_enterprise_information_disclosure.yml
diff --git a/detections/network/excessive_dns_failures.yml b/detections/experimental/network/excessive_dns_failures.yml
similarity index 100%
rename from detections/network/excessive_dns_failures.yml
rename to detections/experimental/network/excessive_dns_failures.yml
diff --git a/detections/network/large_volume_of_dns_any_queries.yml b/detections/experimental/network/large_volume_of_dns_any_queries.yml
similarity index 100%
rename from detections/network/large_volume_of_dns_any_queries.yml
rename to detections/experimental/network/large_volume_of_dns_any_queries.yml
From 0d75faf3238d1a72603e0893b6422365efc54a0e Mon Sep 17 00:00:00 2001
From: P4T12ICK
Date: Tue, 19 Jan 2021 13:55:33 +0100
Subject: [PATCH 05/24] new test file
---
...owershell_process_with_obfuscation_techniques.yml | 12 +++++++-----
.../sunburst_correlation_dll_and_network_event.yml | 0
.../network/detect_arp_poisoning.yml | 0
...hell_process_with_obfuscation_techniques.test.yml | 12 ++++++++++++
4 files changed, 19 insertions(+), 5 deletions(-)
rename detections/{ => experimental}/endpoint/sunburst_correlation_dll_and_network_event.yml (100%)
rename detections/{ => experimental}/network/detect_arp_poisoning.yml (100%)
create mode 100644 tests/endpoint/malicious_powershell_process_with_obfuscation_techniques.test.yml
diff --git a/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml b/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
index 334c8f08bb..924600e08b 100644
--- a/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
+++ b/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
@@ -1,7 +1,7 @@
name: Malicious PowerShell Process With Obfuscation Techniques
id: cde75cf6-3c7a-4dd6-af01-27cdb4511fd4
-version: 3
-date: '2020-07-21'
+version: 4
+date: '2021-01-19'
description: This search looks for PowerShell processes launched with arguments that
have characters indicative of obfuscation on the command-line.
how_to_implement: You must be ingesting data that records process activity from your
@@ -12,14 +12,16 @@ how_to_implement: You must be ingesting data that records process activity from
type: ESCU
references: []
author: David Dorsey, Splunk
-search: '| tstats `security_content_summariesonly` count values(Processes.process)
+search: |
+ | tstats `security_content_summariesonly` count values(Processes.process)
as process values(Processes.parent_process) as parent_process min(_time) as firstTime
max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=powershell.exe
by Processes.user Processes.process_name Processes.parent_process_name Processes.dest
Processes.process | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`|
`security_content_ctime(lastTime)`| eval num_obfuscation = (mvcount(split(process,
- "`"))-1) + (mvcount(split(process, "^"))-1) | `malicious_powershell_process_with_obfuscation_techniques_filter`
- | search num_obfuscation > 0'
+ "`"))-1) + (mvcount(split(process, "^"))-1) + (mvcount(split(process, "'"))-1)
+ | `malicious_powershell_process_with_obfuscation_techniques_filter`
+ | search num_obfuscation > 10
known_false_positives: These characters might be legitimately on the command-line,
but it is not common.
tags:
diff --git a/detections/endpoint/sunburst_correlation_dll_and_network_event.yml b/detections/experimental/endpoint/sunburst_correlation_dll_and_network_event.yml
similarity index 100%
rename from detections/endpoint/sunburst_correlation_dll_and_network_event.yml
rename to detections/experimental/endpoint/sunburst_correlation_dll_and_network_event.yml
diff --git a/detections/network/detect_arp_poisoning.yml b/detections/experimental/network/detect_arp_poisoning.yml
similarity index 100%
rename from detections/network/detect_arp_poisoning.yml
rename to detections/experimental/network/detect_arp_poisoning.yml
diff --git a/tests/endpoint/malicious_powershell_process_with_obfuscation_techniques.test.yml b/tests/endpoint/malicious_powershell_process_with_obfuscation_techniques.test.yml
new file mode 100644
index 0000000000..9ea73ba45a
--- /dev/null
+++ b/tests/endpoint/malicious_powershell_process_with_obfuscation_techniques.test.yml
@@ -0,0 +1,12 @@
+name: Malicious PowerShell Process With Obfuscation Techniques Unit Test
+tests:
+- name: Malicious PowerShell Process With Obfuscation Techniques
+ file: endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
+ pass_condition: '| stats count | where count > 0'
+ earliest_time: '-24h'
+ latest_time: 'now'
+ attack_data:
+ - file_name: windows-sysmon.log
+ data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.001/obfuscated_powershell/windows-sysmon.log
+ source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
+ sourcetype: xmlwineventlog
From feb909bb55ab8832973334c646db3a84a7f4019c Mon Sep 17 00:00:00 2001
From: P4T12ICK
Date: Tue, 19 Jan 2021 14:08:44 +0100
Subject: [PATCH 06/24] new test file
---
...iple_suspicious_command_line_arguments.yml | 8 +-
...ll_process_with_obfuscation_techniques.yml | 4 +-
package/default/analytic_stories.conf | 136 +++++-----
package/default/collections.conf | 2 +-
package/default/es_investigations.conf | 86 +++----
package/default/macros.conf | 6 +-
package/default/savedsearches.conf | 234 ++++++++++--------
package/default/transforms.conf | 2 +-
package/default/use_case_library.conf | 152 ++++++------
9 files changed, 339 insertions(+), 291 deletions(-)
diff --git a/detections/endpoint/malicious_powershell_process___multiple_suspicious_command_line_arguments.yml b/detections/endpoint/malicious_powershell_process___multiple_suspicious_command_line_arguments.yml
index 41bdf87da8..13297dffcf 100644
--- a/detections/endpoint/malicious_powershell_process___multiple_suspicious_command_line_arguments.yml
+++ b/detections/endpoint/malicious_powershell_process___multiple_suspicious_command_line_arguments.yml
@@ -1,7 +1,7 @@
name: Malicious PowerShell Process - Multiple Suspicious Command-Line Arguments
id: 2cdb91d2-542c-497f-b252-be495e71f38c
-version: 5
-date: '2020-11-20'
+version: 6
+date: '2021-01-19'
description: This search looks for PowerShell processes started with a base64 encoded
command-line passed to it, with parameters to modify the execution policy for the
process, and those that prevent the display of an interactive prompt to the user.
@@ -21,7 +21,7 @@ search: '| tstats `security_content_summariesonly` count values(Processes.proces
max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=powershell.exe
by Processes.user Processes.process_name Processes.parent_process_name Processes.dest |
`drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`|
- search (process=*-EncodedCommand* OR process=*-enc*) process=*-Exec* AND process=*-NonI*
+ search (process=*-EncodedCommand* OR process=*-enc*) process=*-Exec*
| `malicious_powershell_process___multiple_suspicious_command_line_arguments_filter`'
known_false_positives: Legitimate process can have this combination of command-line
options, but it's not common.
@@ -29,7 +29,7 @@ tags:
analytics_story:
- Malicious PowerShell
mitre_attack_id:
- - T1027
+ - T1059.001
kill_chain_phases:
- Command and Control
- Actions on Objectives
diff --git a/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml b/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
index 924600e08b..d58614a500 100644
--- a/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
+++ b/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
@@ -12,14 +12,14 @@ how_to_implement: You must be ingesting data that records process activity from
type: ESCU
references: []
author: David Dorsey, Splunk
-search: |
+search: >
| tstats `security_content_summariesonly` count values(Processes.process)
as process values(Processes.parent_process) as parent_process min(_time) as firstTime
max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=powershell.exe
by Processes.user Processes.process_name Processes.parent_process_name Processes.dest
Processes.process | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`|
`security_content_ctime(lastTime)`| eval num_obfuscation = (mvcount(split(process,
- "`"))-1) + (mvcount(split(process, "^"))-1) + (mvcount(split(process, "'"))-1)
+ "`"))-1) + (mvcount(split(process, "^"))-1) + (mvcount(split(process, "\'"))-1)
| `malicious_powershell_process_with_obfuscation_techniques_filter`
| search num_obfuscation > 10
known_false_positives: These characters might be legitimately on the command-line,
diff --git a/package/default/analytic_stories.conf b/package/default/analytic_stories.conf
index ed40d35bd2..4c14f9d759 100644
--- a/package/default/analytic_stories.conf
+++ b/package/default/analytic_stories.conf
@@ -1,6 +1,6 @@
#############
# Automatically generated by generator.py in splunk/security-content
-# On Date: 2021-01-14T11:30:38 UTC
+# On Date: 2021-01-19T13:08:32 UTC
# Author: Splunk Security Research
# Contact: research@splunk.com
#############
@@ -16,7 +16,7 @@ version = 1
reference = ["https://aws.amazon.com/blogs/security/aws-cloudtrail-now-tracks-cross-account-activity-to-its-origin/"]
detection_searches = ["ESCU - aws detect attach to role policy - Rule", "ESCU - aws detect permanent key creation - Rule", "ESCU - aws detect role creation - Rule", "ESCU - aws detect sts assume role abuse - Rule", "ESCU - aws detect sts get session token abuse - Rule"]
mappings = {"kill_chain_phases": ["Lateral Movement"], "mitre_attack": ["T1078", "T1550"]}
-investigative_searches = ["ESCU - Get Notable History", "ESCU - AWS Investigate User Activities By AccessKeyId"]
+investigative_searches = ["ESCU - AWS Investigate User Activities By AccessKeyId", "ESCU - Get Notable History"]
support_searches = ["ESCU - Previously Seen AWS Cross Account Activity"]
data_models = []
providing_technologies = none
@@ -34,8 +34,8 @@ version = 1
reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
detection_searches = ["ESCU - Abnormally High AWS Instances Launched by User - MLTK - Rule", "ESCU - Abnormally High AWS Instances Launched by User - Rule", "ESCU - EC2 Instance Started In Previously Unseen Region - Rule", "ESCU - EC2 Instance Started With Previously Unseen AMI - Rule", "ESCU - EC2 Instance Started With Previously Unseen Instance Type - Rule", "ESCU - EC2 Instance Started With Previously Unseen User - Rule"]
mappings = {"cis20": ["CIS 1", "CIS 12", "CIS 13"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1078.004", "T1535"], "nist": ["DE.AE", "DE.DP", "ID.AM"]}
-investigative_searches = ["ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - Get Notable History", "ESCU - Get EC2 Launch Details"]
-support_searches = ["ESCU - Previously Seen EC2 Instance Types", "ESCU - Previously Seen EC2 Launches By User", "ESCU - Baseline of Excessive AWS Instances Launched by User - MLTK", "ESCU - Previously Seen EC2 AMIs", "ESCU - Previously Seen AWS Regions"]
+investigative_searches = ["ESCU - Get Notable History", "ESCU - Get EC2 Launch Details", "ESCU - Investigate AWS activities via region name", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN"]
+support_searches = ["ESCU - Previously Seen EC2 Instance Types", "ESCU - Baseline of Excessive AWS Instances Launched by User - MLTK", "ESCU - Previously Seen AWS Regions", "ESCU - Previously Seen EC2 Launches By User", "ESCU - Previously Seen EC2 AMIs"]
data_models = []
providing_technologies = none
description = Monitor your AWS EC2 instances for activities related to cryptojacking/cryptomining. New instances that originate from previously unseen regions, users who launch abnormally high numbers of instances, or EC2 instances started by previously unseen users are just a few examples of potentially malicious behavior.
@@ -53,8 +53,8 @@ version = 2
reference = ["https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_NACLs.html", "https://aws.amazon.com/blogs/security/how-to-help-prepare-for-ddos-attacks-by-reducing-your-attack-surface/"]
detection_searches = ["ESCU - AWS Network Access Control List Created with All Open Ports - Rule", "ESCU - AWS Network Access Control List Deleted - Rule", "ESCU - Detect Spike in Network ACL Activity - Rule", "ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule"]
mappings = {"cis20": ["CIS 11", "CIS 12"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1562.007"], "nist": ["DE.AE", "DE.CM", "DE.DP", "PR.AC"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get DNS Server History for a host", "ESCU - AWS Investigate User Activities By ARN", "ESCU - AWS Network ACL Details from ID", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio"]
-support_searches = ["ESCU - Baseline of blocked outbound traffic from AWS", "ESCU - Baseline of Network ACL Activity by ARN"]
+investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Network ACL Details from ID", "ESCU - AWS Investigate User Activities By ARN"]
+support_searches = ["ESCU - Baseline of Network ACL Activity by ARN", "ESCU - Baseline of blocked outbound traffic from AWS"]
data_models = []
providing_technologies = none
description = Monitor your AWS network infrastructure for bad configurations and malicious activity. Investigative searches help you probe deeper, when the facts warrant it.
@@ -69,7 +69,7 @@ version = 1
reference = ["https://aws.amazon.com/security-hub/features/"]
detection_searches = ["ESCU - Detect Spike in AWS Security Hub Alerts for EC2 Instance - Rule", "ESCU - Detect Spike in AWS Security Hub Alerts for User - Rule"]
mappings = {"cis20": ["CIS 13"], "nist": ["DE.AE", "DE.DP"]}
-investigative_searches = ["ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get EC2 Launch Details"]
+investigative_searches = ["ESCU - Get EC2 Instance Details by instanceId", "ESCU - Get EC2 Launch Details", "ESCU - AWS Investigate User Activities By ARN"]
support_searches = []
data_models = []
providing_technologies = none
@@ -85,7 +85,7 @@ version = 1
reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
detection_searches = ["ESCU - AWS Cloud Provisioning From Previously Unseen City - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen Country - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen IP Address - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen Region - Rule"]
mappings = {"cis20": ["CIS 1"], "mitre_attack": ["T1535"], "nist": ["ID.AM"]}
-investigative_searches = ["ESCU - Get All AWS Activity From City", "ESCU - Get All AWS Activity From Region", "ESCU - AWS Investigate User Activities By ARN", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get All AWS Activity From Country"]
+investigative_searches = ["ESCU - Get All AWS Activity From Region", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get All AWS Activity From City", "ESCU - Get All AWS Activity From Country", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN"]
support_searches = ["ESCU - Previously Seen AWS Provisioning Activity Sources"]
data_models = []
providing_technologies = none
@@ -103,7 +103,7 @@ reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.p
detection_searches = ["ESCU - Detect API activity from users without MFA - Rule", "ESCU - Detect AWS API Activities From Unapproved Accounts - Rule", "ESCU - Detect Spike in AWS API Activity - Rule", "ESCU - Detect Spike in Security Group Activity - Rule", "ESCU - Detect new API calls from user roles - Rule"]
mappings = {"cis20": ["CIS 1", "CIS 16"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1078.004"], "nist": ["DE.CM", "DE.DP", "ID.AM", "PR.AC"]}
investigative_searches = ["ESCU - Investigate AWS User Activities by user field", "ESCU - Get Notable History"]
-support_searches = ["ESCU - Create a list of approved AWS service accounts", "ESCU - Previously seen API call per user roles in CloudTrail", "ESCU - Baseline of API Calls per User ARN", "ESCU - Baseline of Security Group Activity by ARN"]
+support_searches = ["ESCU - Baseline of Security Group Activity by ARN", "ESCU - Create a list of approved AWS service accounts", "ESCU - Previously seen API call per user roles in CloudTrail", "ESCU - Baseline of API Calls per User ARN"]
data_models = []
providing_technologies = none
description = Detect and investigate dormant user accounts for your AWS environment that have become active again. Because inactive and ad-hoc accounts are common attack targets, it's critical to enable governance within your environment.
@@ -121,7 +121,7 @@ version = 1
reference = ["https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/v3.2/dev/rules/REQUEST-944-APPLICATION-ATTACK-JAVA.conf"]
detection_searches = ["ESCU - Suspicious Java Classes - Rule", "ESCU - Unusually Long Content-Type Length - Rule", "ESCU - Web Servers Executing Suspicious Processes - Rule"]
mappings = {"cis20": ["CIS 12", "CIS 18", "CIS 3", "CIS 4", "CIS 7"], "kill_chain_phases": ["Actions on Objectives", "Delivery", "Exploitation"], "mitre_attack": ["T1082"], "nist": ["DE.AE", "DE.CM", "ID.RA", "PR.IP", "PR.MA", "PR.PT", "RS.MI"]}
-investigative_searches = ["ESCU - Investigate Suspicious Strings in HTTP Header", "ESCU - Investigate Web POSTs From src", "ESCU - Get Notable History"]
+investigative_searches = ["ESCU - Investigate Suspicious Strings in HTTP Header", "ESCU - Get Notable History", "ESCU - Investigate Web POSTs From src"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -166,7 +166,7 @@ version = 1
reference = ["https://www.zerofox.com/blog/what-is-digital-risk-monitoring/", "https://securingtomorrow.mcafee.com/consumer/family-safety/what-is-typosquatting/", "https://blog.malwarebytes.com/cybercrime/2016/06/explained-typosquatting/"]
detection_searches = ["ESCU - Monitor DNS For Brand Abuse - Rule", "ESCU - Monitor Email For Brand Abuse - Rule", "ESCU - Monitor Web Traffic For Brand Abuse - Rule"]
mappings = {"cis20": ["CIS 7"], "kill_chain_phases": ["Actions on Objectives", "Delivery"], "nist": ["PR.IP"]}
-investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Emails From Specific Sender", "ESCU - Get Notable History", "ESCU - Get Email Info"]
+investigative_searches = ["ESCU - Get Emails From Specific Sender", "ESCU - Get Notable History", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Email Info"]
support_searches = ["ESCU - DNSTwist Domain Names"]
data_models = ["Email", "Network_Resolution", "Web"]
providing_technologies = none
@@ -184,8 +184,8 @@ version = 1
reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
detection_searches = ["ESCU - Abnormally High Number Of Cloud Instances Destroyed - Rule", "ESCU - Abnormally High Number Of Cloud Instances Launched - Rule", "ESCU - Cloud Compute Instance Created By Previously Unseen User - Rule", "ESCU - Cloud Compute Instance Created In Previously Unused Region - Rule", "ESCU - Cloud Compute Instance Created With Previously Unseen Image - Rule", "ESCU - Cloud Compute Instance Created With Previously Unseen Instance Type - Rule"]
mappings = {"cis20": ["CIS 1", "CIS 12", "CIS 13"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1078.004", "T1535"], "nist": ["DE.AE", "DE.DP", "ID.AM"]}
-investigative_searches = ["ESCU - AWS Investigate User Activities By ARN", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History", "ESCU - Get EC2 Launch Details"]
-support_searches = ["ESCU - Baseline Of Cloud Instances Destroyed", "ESCU - Previously Seen Cloud Compute Creations By User - Initial", "ESCU - Previously Seen Cloud Regions - Update", "ESCU - Previously Seen Cloud Compute Creations By User - Update", "ESCU - Previously Seen Cloud Compute Instance Types - Initial", "ESCU - Previously Seen Cloud Compute Images - Initial", "ESCU - Previously Seen Cloud Compute Instance Types - Update", "ESCU - Previously Seen Cloud Regions - Initial", "ESCU - Previously Seen Cloud Compute Images - Update", "ESCU - Baseline Of Cloud Instances Launched"]
+investigative_searches = ["ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get Notable History", "ESCU - Get EC2 Launch Details", "ESCU - Investigate AWS activities via region name", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN"]
+support_searches = ["ESCU - Previously Seen Cloud Compute Images - Update", "ESCU - Previously Seen Cloud Compute Instance Types - Update", "ESCU - Baseline Of Cloud Instances Destroyed", "ESCU - Baseline Of Cloud Instances Launched", "ESCU - Previously Seen Cloud Compute Images - Initial", "ESCU - Previously Seen Cloud Regions - Update", "ESCU - Previously Seen Cloud Compute Creations By User - Initial", "ESCU - Previously Seen Cloud Compute Creations By User - Update", "ESCU - Previously Seen Cloud Compute Instance Types - Initial", "ESCU - Previously Seen Cloud Regions - Initial"]
data_models = ["Change"]
providing_technologies = none
description = Monitor your cloud compute instances for activities related to cryptojacking/cryptomining. New instances that originate from previously unseen regions, users who launch abnormally high numbers of instances, or compute instances started by previously unseen users are just a few examples of potentially malicious behavior.
@@ -221,7 +221,7 @@ version = 1
reference = ["https://attack.mitre.org/wiki/Collection", "https://attack.mitre.org/wiki/Technique/T1074"]
detection_searches = ["ESCU - Email files written outside of the Outlook directory - Rule", "ESCU - Email servers sending high volume traffic to hosts - Rule", "ESCU - Hosts receiving high volume of network traffic from email server - Rule", "ESCU - Suspicious writes to System Volume Information - Rule", "ESCU - Suspicious writes to windows Recycle Bin - Rule"]
mappings = {"cis20": ["CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1036", "T1114.001", "T1114.002"], "nist": ["DE.AE", "DE.CM", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
support_searches = []
data_models = ["Endpoint", "Network_Traffic"]
providing_technologies = none
@@ -238,9 +238,9 @@ id = 943773c6-c4de-4f38-89a8-0b92f98804d8
version = 1
reference = ["https://attack.mitre.org/wiki/Command_and_Control", "https://searchsecurity.techtarget.com/feature/Command-and-control-servers-The-puppet-masters-that-govern-malware"]
detection_searches = ["ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Detect Large Outbound ICMP Packets - Rule", "ESCU - Detect Long DNS TXT Record Response - Rule", "ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Excessive DNS Failures - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Protocol or Port Mismatch - Rule", "ESCU - TOR Traffic - Rule"]
-mappings = {"cis20": ["CIS 1", "CIS 11", "CIS 12", "CIS 13", "CIS 3", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Delivery"], "mitre_attack": ["T1048", "T1048.003", "T1071.001", "T1071.004", "T1095"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.AC", "PR.DS", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get DNS Server History for a host", "ESCU - AWS Investigate User Activities By ARN", "ESCU - AWS Network ACL Details from ID", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - Get Parent Process Info"]
-support_searches = ["ESCU - Baseline of DNS Query Length - MLTK", "ESCU - Baseline of blocked outbound traffic from AWS"]
+mappings = {"cis20": ["CIS 1", "CIS 11", "CIS 12", "CIS 13", "CIS 3", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Delivery"], "mitre_attack": ["T1048", "T1048.003", "T1071.001", "T1071.004", "T1095", "T1189"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.AC", "PR.DS", "PR.IP", "PR.PT"]}
+investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Network ACL Details from ID", "ESCU - AWS Investigate User Activities By ARN"]
+support_searches = ["ESCU - Baseline of blocked outbound traffic from AWS", "ESCU - Baseline of DNS Query Length - MLTK"]
data_models = ["Network_Resolution", "Network_Traffic"]
providing_technologies = none
description = Detect and investigate tactics, techniques, and procedures leveraged by attackers to establish and operate command and control channels. Implants installed by attackers on compromised endpoints use these channels to receive instructions and send data back to the malicious operators.
@@ -289,7 +289,7 @@ version = 3
reference = ["https://attack.mitre.org/wiki/Technique/T1003", "https://cyberwardog.blogspot.com/2017/03/chronicles-of-threat-hunter-hunting-for.html"]
detection_searches = ["ESCU - Access LSASS Memory for Dump Creation - Rule", "ESCU - Attempt To Set Default PowerShell Execution Policy To Unrestricted or Bypass - Rule", "ESCU - Attempted Credential Dump From Registry via Reg exe - Rule", "ESCU - Create Remote Thread into LSASS - Rule", "ESCU - Creation of Shadow Copy - Rule", "ESCU - Creation of Shadow Copy with wmic and powershell - Rule", "ESCU - Credential Dumping via Copy Command from Shadow Copy - Rule", "ESCU - Credential Dumping via Symlink to Shadow Copy - Rule", "ESCU - Detect Credential Dumping through LSASS access - Rule", "ESCU - Detect Mimikatz Using Loaded Images - Rule", "ESCU - Dump LSASS via comsvcs DLL - Rule", "ESCU - Unsigned Image Loaded by LSASS - Rule"]
mappings = {"cis20": ["CIS 16", "CIS 3", "CIS 5", "CIS 6", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Installation"], "mitre_attack": ["T1003.001", "T1003.002", "T1003.003", "T1059.001"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.IP"]}
-investigative_searches = ["ESCU - Investigate Pass the Hash Attempts", "ESCU - Investigate Pass the Ticket Attempts", "ESCU - Investigate Failed Logins for Multiple Destinations", "ESCU - Investigate Previous Unseen User"]
+investigative_searches = ["ESCU - Investigate Failed Logins for Multiple Destinations", "ESCU - Investigate Pass the Ticket Attempts", "ESCU - Investigate Previous Unseen User", "ESCU - Investigate Pass the Hash Attempts"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -307,8 +307,8 @@ version = 2
reference = ["https://www.us-cert.gov/ncas/alerts/TA18-074A"]
detection_searches = ["ESCU - Create local admin accounts using net exe - Rule", "ESCU - Detect New Local Admin account - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - Detect PsExec With accepteula Flag - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Malicious PowerShell Process - Execution Policy Bypass - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Scheduled Task Deleted Or Created via CMD - Rule", "ESCU - Single Letter Process On Endpoint - Rule", "ESCU - Suspicious Reg exe Process - Rule"]
mappings = {"cis20": ["CIS 12", "CIS 16", "CIS 2", "CIS 3", "CIS 5", "CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Installation"], "mitre_attack": ["T1021.002", "T1053.005", "T1059.001", "T1059.003", "T1071.002", "T1112", "T1136.001", "T1204.002", "T1543.003", "T1547.001", "T1562.004"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.AC", "PR.AT", "PR.DS", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Notable History", "ESCU - Get Process File Activity", "ESCU - Get Parent Process Info"]
-support_searches = ["ESCU - Previously seen command line arguments", "ESCU - Baseline of SMB Traffic - MLTK"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Process File Activity", "ESCU - Get Process Information For Port Activity"]
+support_searches = ["ESCU - Baseline of SMB Traffic - MLTK", "ESCU - Previously seen command line arguments"]
data_models = ["Endpoint", "Network_Traffic"]
providing_technologies = none
description = Monitor for suspicious activities associated with DHS Technical Alert US-CERT TA18-074A. Some of the activities that adversaries used in these compromises included spearfishing attacks, malware, watering-hole domains, many and more.
@@ -342,7 +342,7 @@ id = 8169f17b-ef68-4b59-aa28-586907301221
version = 1
reference = ["https://www.fireeye.com/blog/threat-research/2017/09/apt33-insights-into-iranian-cyber-espionage.html", "https://umbrella.cisco.com/blog/2013/04/15/on-the-trail-of-malicious-dynamic-dns-domains/", "http://www.noip.com/blog/2014/07/11/dynamic-dns-can-use-2/", "https://www.splunk.com/blog/2015/08/04/detecting-dynamic-dns-domains-in-splunk.html"]
detection_searches = ["ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - DNS record changed - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule"]
-mappings = {"cis20": ["CIS 1", "CIS 12", "CIS 13", "CIS 3", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1048.003", "T1071.004"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.DS", "PR.IP", "PR.PT"]}
+mappings = {"cis20": ["CIS 1", "CIS 12", "CIS 13", "CIS 3", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1048.003", "T1071.004", "T1189"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.DS", "PR.IP", "PR.PT"]}
investigative_searches = ["ESCU - Get DNS Server History for a host", "ESCU - DNS Hijack Enrichment"]
support_searches = ["ESCU - Discover DNS records"]
data_models = ["Network_Resolution"]
@@ -382,8 +382,8 @@ id = 91c676cf-0b23-438d-abee-f6335e1fce33
version = 1
reference = ["https://www.cisecurity.org/controls/data-protection/", "https://www.sans.org/reading-room/whitepapers/dns/splunk-detect-dns-tunneling-37022", "https://umbrella.cisco.com/blog/2013/04/15/on-the-trail-of-malicious-dynamic-dns-domains/"]
detection_searches = ["ESCU - Detect USB device insertion - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detection of DNS Tunnels - Rule"]
-mappings = {"cis20": ["CIS 12", "CIS 13", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Installation"], "mitre_attack": ["T1071.004"], "nist": ["DE.AE", "DE.CM", "PR.DS", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio"]
+mappings = {"cis20": ["CIS 12", "CIS 13", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Installation"], "mitre_attack": ["T1048.003", "T1189"], "nist": ["DE.AE", "DE.CM", "PR.DS", "PR.PT"]}
+investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host"]
support_searches = []
data_models = ["Change_Analysis", "Network_Resolution"]
providing_technologies = none
@@ -415,8 +415,8 @@ version = 2
reference = ["https://attack.mitre.org/wiki/Technique/T1089", "https://blog.malwarebytes.com/cybercrime/2015/11/vonteera-adware-uses-certificates-to-disable-anti-malware/", "https://www.operationblockbuster.com/wp-content/uploads/2016/02/Operation-Blockbuster-Tools-Report.pdf"]
detection_searches = ["ESCU - Attempt To Add Certificate To Untrusted Store - Rule", "ESCU - Attempt To Stop Security Service - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Unload Sysmon Filter Driver - Rule"]
mappings = {"cis20": ["CIS 3", "CIS 5", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Installation"], "mitre_attack": ["T1112", "T1543.003", "T1553.004", "T1562.001", "T1562.004"], "nist": ["DE.CM", "PR.AC", "PR.AT", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
-support_searches = ["ESCU - Previously seen command line arguments", "ESCU - Baseline of SMB Traffic - MLTK"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+support_searches = ["ESCU - Baseline of SMB Traffic - MLTK", "ESCU - Previously seen command line arguments"]
data_models = ["Endpoint"]
providing_technologies = none
description = Looks for activities and techniques associated with the disabling of security tools on a Windows system, such as suspicious `reg.exe` processes, processes launching netsh, and many others.
@@ -430,8 +430,8 @@ id = 8169f17b-ef68-4b59-aae8-586907301221
version = 2
reference = ["https://www.fireeye.com/blog/threat-research/2017/09/apt33-insights-into-iranian-cyber-espionage.html", "https://umbrella.cisco.com/blog/2013/04/15/on-the-trail-of-malicious-dynamic-dns-domains/", "http://www.noip.com/blog/2014/07/11/dynamic-dns-can-use-2/", "https://www.splunk.com/blog/2015/08/04/detecting-dynamic-dns-domains-in-splunk.html"]
detection_searches = ["ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detect web traffic to dynamic domain providers - Rule"]
-mappings = {"cis20": ["CIS 12", "CIS 13", "CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1071.001"], "nist": ["DE.AE", "DE.CM", "DE.DP", "PR.DS", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable History"]
+mappings = {"cis20": ["CIS 12", "CIS 13", "CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1071.001", "T1189"], "nist": ["DE.AE", "DE.CM", "DE.DP", "PR.DS", "PR.IP", "PR.PT"]}
+investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio"]
support_searches = []
data_models = ["Network_Resolution", "Web"]
providing_technologies = none
@@ -447,7 +447,7 @@ version = 1
reference = ["https://www.us-cert.gov/ncas/alerts/TA18-201A", "https://www.first.org/resources/papers/conf2017/Advanced-Incident-Detection-and-Threat-Hunting-using-Sysmon-and-Splunk.pdf", "https://www.vkremez.com/2017/05/emotet-banking-trojan-malware-analysis.html"]
detection_searches = ["ESCU - Detect Rare Executables - Rule", "ESCU - Detect Use of cmd exe to Launch Script Interpreters - Rule", "ESCU - Detection of tools built by NirSoft - Rule", "ESCU - Email Attachments With Lots Of Spaces - Rule", "ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Suspicious Email Attachment Extensions - Rule"]
mappings = {"cis20": ["CIS 12", "CIS 2", "CIS 3", "CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Delivery", "Exploitation", "Installation"], "mitre_attack": ["T1021.002", "T1059.003", "T1072", "T1547.001", "T1566.001"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.DS", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get History Of Email Sources", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get History Of Email Sources", "ESCU - Get Process Information For Port Activity"]
support_searches = ["ESCU - Baseline of SMB Traffic - MLTK"]
data_models = ["Email", "Endpoint", "Network_Traffic"]
providing_technologies = none
@@ -498,9 +498,9 @@ id = baf7580b-d4b4-4774-8173-7d198e9da335
version = 2
reference = ["https://www.us-cert.gov/HIDDEN-COBRA-North-Korean-Malicious-Cyber-Activity", "https://www.operationblockbuster.com/wp-content/uploads/2016/02/Operation-Blockbuster-Destructive-Malware-Report.pdf"]
detection_searches = ["ESCU - Create or delete windows shares using net exe - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Remote Desktop Process Running On System - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Suspicious File Write - Rule"]
-mappings = {"cis20": ["CIS 12", "CIS 16", "CIS 3", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1021.001", "T1021.002", "T1059.001", "T1059.003", "T1070.005", "T1071.002", "T1071.004"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get DNS Server History for a host", "ESCU - Get Outbound Emails to Hidden Cobra Threat Actors", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get History Of Email Sources", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - Get Parent Process Info"]
-support_searches = ["ESCU - Baseline of DNS Query Length - MLTK", "ESCU - Previously seen command line arguments", "ESCU - Baseline of SMB Traffic - MLTK"]
+mappings = {"cis20": ["CIS 12", "CIS 16", "CIS 3", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1021.001", "T1021.002", "T1048.003", "T1059.001", "T1059.003", "T1070.005", "T1071.002", "T1071.004"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.IP", "PR.PT"]}
+investigative_searches = ["ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Parent Process Info", "ESCU - Get Outbound Emails to Hidden Cobra Threat Actors", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - Get History Of Email Sources", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity"]
+support_searches = ["ESCU - Baseline of SMB Traffic - MLTK", "ESCU - Baseline of DNS Query Length - MLTK", "ESCU - Previously seen command line arguments"]
data_models = ["Endpoint", "Network_Resolution", "Network_Traffic"]
providing_technologies = none
description = Monitor for and investigate activities, including the creation or deletion of hidden shares and file writes, that may be evidence of infiltration by North Korean government-sponsored cybercriminals. Details of this activity were reported in DHS Report TA-18-149A.
@@ -564,7 +564,7 @@ version = 1
reference = ["https://github.com/splunk/cloud-datamodel-security-research"]
detection_searches = ["ESCU - Amazon EKS Kubernetes Pod scan detection - Rule", "ESCU - Amazon EKS Kubernetes cluster scan detection - Rule", "ESCU - GCP Kubernetes cluster pod scan detection - Rule", "ESCU - GCP Kubernetes cluster scan detection - Rule", "ESCU - Kubernetes Azure pod scan fingerprint - Rule", "ESCU - Kubernetes Azure scan fingerprint - Rule"]
mappings = {"kill_chain_phases": ["Reconnaissance"], "mitre_attack": ["T1526"]}
-investigative_searches = ["ESCU - Amazon EKS Kubernetes activity by src ip", "ESCU - Get Notable History", "ESCU - GCP Kubernetes activity by src ip"]
+investigative_searches = ["ESCU - GCP Kubernetes activity by src ip", "ESCU - Get Notable History", "ESCU - Amazon EKS Kubernetes activity by src ip"]
support_searches = []
data_models = []
providing_technologies = none
@@ -612,7 +612,7 @@ version = 2
reference = ["https://www.fireeye.com/blog/executive-perspective/2015/08/malware_lateral_move.html"]
detection_searches = ["ESCU - Detect Activity Related to Pass the Hash Attacks - Rule", "ESCU - Kerberoasting spn request with RC4 encryption - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Remote Desktop Process Running On System - Rule", "ESCU - Schtasks scheduling job on remote system - Rule"]
mappings = {"cis20": ["CIS 16", "CIS 3", "CIS 5", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1021.001", "T1053.005", "T1550.002", "T1558.003"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.AT", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Process Information For Port Activity", "ESCU - Get History Of Email Sources", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get History Of Email Sources", "ESCU - Get Process Information For Port Activity"]
support_searches = []
data_models = ["Endpoint", "Network_Traffic"]
providing_technologies = none
@@ -632,7 +632,7 @@ version = 4
reference = ["https://blogs.mcafee.com/mcafee-labs/malware-employs-powershell-to-infect-systems/", "https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/"]
detection_searches = ["ESCU - Attempt To Set Default PowerShell Execution Policy To Unrestricted or Bypass - Rule", "ESCU - Malicious PowerShell Process - Connect To Internet With Hidden Window - Rule", "ESCU - Malicious PowerShell Process - Encoded Command - Rule", "ESCU - Malicious PowerShell Process - Multiple Suspicious Command-Line Arguments - Rule", "ESCU - Malicious PowerShell Process With Obfuscation Techniques - Rule"]
mappings = {"cis20": ["CIS 3", "CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Installation"], "mitre_attack": ["T1027", "T1059.001"], "nist": ["DE.CM", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get History Of Email Sources", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info", "ESCU - Get History Of Email Sources"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -673,7 +673,7 @@ version = 1
reference = ["https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/"]
detection_searches = ["ESCU - Prohibited Software On Endpoint - Rule"]
mappings = {"cis20": ["CIS 2"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Installation"], "nist": ["ID.AM", "PR.DS"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -708,8 +708,8 @@ version = 1
reference = ["https://docs.microsoft.com/en-us/previous-versions/tn-archive/bb490939(v=technet.10)", "https://htmlpreview.github.io/?https://github.com/MatthewDemaske/blogbackup/blob/master/netshell.html", "http://blog.jpcert.or.jp/2016/01/windows-commands-abused-by-attackers.html"]
detection_searches = ["ESCU - Processes created by netsh - Rule", "ESCU - Processes launching netsh - Rule"]
mappings = {"cis20": ["CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1562.004"], "nist": ["DE.CM", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
-support_searches = ["ESCU - Previously seen command line arguments", "ESCU - Baseline of SMB Traffic - MLTK"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+support_searches = ["ESCU - Baseline of SMB Traffic - MLTK", "ESCU - Previously seen command line arguments"]
data_models = ["Endpoint"]
providing_technologies = none
description = Detect activities and various techniques associated with the abuse of `netsh.exe`, which can disable local firewall settings or set up a remote connection to a host from an infected system.
@@ -723,8 +723,8 @@ modification_date = 2020-12-16
id = 1a51dd71-effc-48b2-abc4-3e9cdb61e5b9
version = 1
reference = ["https://i.blackhat.com/USA-20/Thursday/us-20-Bienstock-My-Cloud-Is-APTs-Cloud-Investigating-And-Defending-Office-365.pdf"]
-detection_searches = ["ESCU - High Number of Login Failures from a single source - Rule", "ESCU - O365 Disable MFA - Rule", "ESCU - O365 Excessive Authentication Failures Alert - Rule", "ESCU - O365 PST export alert - Rule", "ESCU - O365 Suspicious Admin Email Forwarding - Rule", "ESCU - O365 Suspicious Rights Delegation - Rule", "ESCU - O365 Suspicious User Email Forwarding - Rule"]
-mappings = {"cis20": ["CIS 16"], "kill_chain_phases": ["Actions on Objective", "Actions on Objectives", "Not Applicable"], "mitre_attack": ["T1110", "T1110.001", "T1114", "T1114.002", "T1114.003", "T1556"], "nist": ["DE.AE", "DE.DP"]}
+detection_searches = ["ESCU - High Number of Login Failures from a single source - Rule", "ESCU - O365 Bypass MFA via Trusted IP - Rule", "ESCU - O365 Disable MFA - Rule", "ESCU - O365 Excessive Authentication Failures Alert - Rule", "ESCU - O365 PST export alert - Rule", "ESCU - O365 Suspicious Admin Email Forwarding - Rule", "ESCU - O365 Suspicious Rights Delegation - Rule", "ESCU - O365 Suspicious User Email Forwarding - Rule"]
+mappings = {"cis20": ["CIS 16"], "kill_chain_phases": ["Actions on Objective", "Actions on Objectives", "Not Applicable"], "mitre_attack": ["T1110", "T1110.001", "T1114", "T1114.002", "T1114.003", "T1556", "T1562.007"], "nist": ["DE.AE", "DE.DP"]}
investigative_searches = []
support_searches = []
data_models = []
@@ -741,8 +741,8 @@ version = 2
reference = ["https://www.symantec.com/blogs/threat-intelligence/orangeworm-targets-healthcare-us-europe-asia", "https://www.infosecurity-magazine.com/news/healthcare-targeted-by-hacker/"]
detection_searches = ["ESCU - First Time Seen Running Windows Service - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule"]
mappings = {"cis20": ["CIS 2", "CIS 3", "CIS 5", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Installation"], "mitre_attack": ["T1059.001", "T1059.003", "T1543.003", "T1569.002"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.AC", "PR.AT", "PR.DS", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get History Of Email Sources", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
-support_searches = ["ESCU - Previously Seen Running Windows Services - Update", "ESCU - Previously seen command line arguments", "ESCU - Previously Seen Running Windows Services - Initial"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info", "ESCU - Get History Of Email Sources"]
+support_searches = ["ESCU - Previously Seen Running Windows Services - Update", "ESCU - Previously Seen Running Windows Services - Initial", "ESCU - Previously seen command line arguments"]
data_models = ["Endpoint"]
providing_technologies = none
description = Detect activities and various techniques associated with the Orangeworm Attack Group, a group that frequently targets the healthcare industry.
@@ -784,7 +784,7 @@ version = 1
reference = ["https://www.infosecurity-magazine.com/news/scope-of-mudcarp-attacks-highlight-1/", "http://blog.amossys.fr/badflick-is-not-so-bad.html"]
detection_searches = ["ESCU - First time seen command line argument - Rule", "ESCU - Malicious PowerShell Process - Connect To Internet With Hidden Window - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule"]
mappings = {"cis20": ["CIS 3", "CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1059.001", "T1059.003", "T1547.001"], "nist": ["DE.AE", "DE.CM", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get History Of Email Sources", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info", "ESCU - Get History Of Email Sources"]
support_searches = ["ESCU - Baseline of Command Line Length - MLTK", "ESCU - Previously seen command line arguments"]
data_models = ["Endpoint"]
providing_technologies = none
@@ -826,8 +826,8 @@ id = 6d13121c-90f3-446d-8ac3-27efbbc65218
version = 1
reference = ["http://www.novetta.com/2015/02/advanced-methods-to-detect-advanced-cyber-attacks-protocol-abuse/"]
detection_searches = ["ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Protocol or Port Mismatch - Rule", "ESCU - TOR Traffic - Rule"]
-mappings = {"cis20": ["CIS 12", "CIS 13", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Delivery"], "mitre_attack": ["T1048", "T1048.003", "T1071.001"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.DS", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+mappings = {"cis20": ["CIS 12", "CIS 13", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Delivery"], "mitre_attack": ["T1048", "T1048.003", "T1071.001", "T1189"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.DS", "PR.PT"]}
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity"]
support_searches = []
data_models = ["Network_Resolution", "Network_Traffic"]
providing_technologies = none
@@ -843,7 +843,7 @@ version = 1
reference = ["https://www.carbonblack.com/2017/06/28/carbon-black-threat-research-technical-analysis-petya-notpetya-ransomware/", "https://www.splunk.com/blog/2017/06/27/closing-the-detection-to-mitigation-gap-or-to-petya-or-notpetya-whocares-.html"]
detection_searches = ["ESCU - BCDEdit Failure Recovery Modification - Rule", "ESCU - Common Ransomware Extensions - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Remote Process Instantiation via WMI - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Scheduled tasks used in BadRabbit ransomware - Rule", "ESCU - Schtasks used for forcing a reboot - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - Suspicious wevtutil Usage - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - TOR Traffic - Rule", "ESCU - USN Journal Deletion - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Windows Event Log Cleared - Rule"]
mappings = {"cis20": ["CIS 10", "CIS 12", "CIS 3", "CIS 5", "CIS 6", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Delivery"], "mitre_attack": ["T1021.002", "T1036.003", "T1047", "T1048", "T1053.005", "T1070", "T1070.001", "T1071.001", "T1485", "T1490", "T1547.001"], "nist": ["DE.AE", "DE.CM", "DE.DP", "PR.AC", "PR.AT", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get Process Information For Port Activity", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get History Of Email Sources", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get History Of Email Sources", "ESCU - Get Process Information For Port Activity"]
support_searches = ["ESCU - Baseline of Command Line Length - MLTK", "ESCU - Baseline of SMB Traffic - MLTK"]
data_models = ["Endpoint", "Network_Traffic"]
providing_technologies = none
@@ -925,7 +925,7 @@ version = 1
reference = ["https://www.crowdstrike.com/blog/an-in-depth-analysis-of-samsam-ransomware-and-boss-spider/", "https://nakedsecurity.sophos.com/2018/07/31/samsam-the-almost-6-million-ransomware/", "https://thehackernews.com/2018/07/samsam-ransomware-attacks.html"]
detection_searches = ["ESCU - Batch File Write to System32 - Rule", "ESCU - Common Ransomware Extensions - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Detect PsExec With accepteula Flag - Rule", "ESCU - Detect attackers scanning for vulnerable JBoss servers - Rule", "ESCU - Detect malicious requests to exploit JBoss servers - Rule", "ESCU - File with Samsam Extension - Rule", "ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Remote Desktop Network Bruteforce - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Samsam Test File Write - Rule", "ESCU - Spike in File Writes - Rule"]
mappings = {"cis20": ["CIS 10", "CIS 12", "CIS 16", "CIS 18", "CIS 2", "CIS 3", "CIS 4", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Delivery", "Installation", "Reconnaissance"], "mitre_attack": ["T1021.001", "T1021.002", "T1082", "T1204.002", "T1485", "T1486", "T1490"], "nist": ["DE.AE", "DE.CM", "ID.AM", "ID.RA", "PR.AC", "PR.DS", "PR.IP", "PR.MA", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Process Information For Port Activity", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get History Of Email Sources", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get History Of Email Sources", "ESCU - Get Process Information For Port Activity"]
support_searches = []
data_models = ["Endpoint", "Network_Traffic", "Web"]
providing_technologies = none
@@ -1022,8 +1022,8 @@ version = 1
reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
detection_searches = ["ESCU - Abnormally High AWS Instances Launched by User - MLTK - Rule", "ESCU - Abnormally High AWS Instances Launched by User - Rule", "ESCU - Abnormally High AWS Instances Terminated by User - MLTK - Rule", "ESCU - Abnormally High AWS Instances Terminated by User - Rule", "ESCU - EC2 Instance Started In Previously Unseen Region - Rule", "ESCU - EC2 Instance Started With Previously Unseen User - Rule"]
mappings = {"cis20": ["CIS 1", "CIS 12", "CIS 13"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1078.004", "T1535"], "nist": ["DE.AE", "DE.DP", "ID.AM"]}
-investigative_searches = ["ESCU - AWS Investigate User Activities By ARN", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History", "ESCU - Get EC2 Launch Details"]
-support_searches = ["ESCU - Previously Seen EC2 Launches By User", "ESCU - Baseline of Excessive AWS Instances Terminated by User - MLTK", "ESCU - Baseline of Excessive AWS Instances Launched by User - MLTK", "ESCU - Previously Seen AWS Regions"]
+investigative_searches = ["ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get Notable History", "ESCU - Get EC2 Launch Details", "ESCU - Investigate AWS activities via region name", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN"]
+support_searches = ["ESCU - Baseline of Excessive AWS Instances Launched by User - MLTK", "ESCU - Baseline of Excessive AWS Instances Terminated by User - MLTK", "ESCU - Previously Seen AWS Regions", "ESCU - Previously Seen EC2 Launches By User"]
data_models = []
providing_technologies = none
description = Use the searches in this Analytic Story to monitor your AWS EC2 instances for evidence of anomalous activity and suspicious behaviors, such as EC2 instances that originate from unusual locations or those launched by previously unseen users (among others). Included investigative searches will help you probe more deeply, when the information warrants it.
@@ -1054,8 +1054,8 @@ version = 2
reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf", "https://www.tripwire.com/state-of-security/security-data-protection/cloud/public-aws-s3-buckets-writable/"]
detection_searches = ["ESCU - Detect New Open S3 Buckets over AWS CLI - Rule", "ESCU - Detect New Open S3 buckets - Rule", "ESCU - Detect S3 access from a new IP - Rule", "ESCU - Detect Spike in S3 Bucket deletion - Rule"]
mappings = {"cis20": ["CIS 13", "CIS 14"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1530"], "nist": ["DE.CM", "DE.DP", "PR.AC", "PR.DS"]}
-investigative_searches = ["ESCU - AWS S3 Bucket details via bucketName", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Notable History"]
-support_searches = ["ESCU - Baseline of S3 Bucket deletion activity by ARN", "ESCU - Previously seen S3 bucket access by remote IP"]
+investigative_searches = ["ESCU - AWS S3 Bucket details via bucketName", "ESCU - Get Notable History", "ESCU - Investigate AWS activities via region name", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN"]
+support_searches = ["ESCU - Previously seen S3 bucket access by remote IP", "ESCU - Baseline of S3 Bucket deletion activity by ARN"]
data_models = []
providing_technologies = none
description = Use the searches in this Analytic Story to monitor your AWS S3 buckets for evidence of anomalous activity and suspicious behaviors, such as detecting open S3 buckets and buckets being accessed from a new IP. The contextual and investigative searches will give you more information, when required.
@@ -1072,7 +1072,7 @@ version = 1
reference = ["https://rhinosecuritylabs.com/aws/hiding-cloudcobalt-strike-beacon-c2-using-amazon-apis/"]
detection_searches = ["ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule"]
mappings = {"cis20": ["CIS 11"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "nist": ["DE.AE", "DE.CM", "PR.AC"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get DNS Server History for a host", "ESCU - AWS Investigate User Activities By ARN", "ESCU - AWS Network ACL Details from ID", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio"]
+investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Network ACL Details from ID", "ESCU - AWS Investigate User Activities By ARN"]
support_searches = ["ESCU - Baseline of blocked outbound traffic from AWS"]
data_models = []
providing_technologies = none
@@ -1092,7 +1092,7 @@ reference = ["https://aws.amazon.com/blogs/security/aws-cloudtrail-now-tracks-cr
detection_searches = ["ESCU - AWS Cross Account Activity From Previously Unseen Account - Rule", "ESCU - Detect AWS Console Login by New User - Rule", "ESCU - Detect AWS Console Login by User from New City - Rule", "ESCU - Detect AWS Console Login by User from New Country - Rule", "ESCU - Detect AWS Console Login by User from New Region - Rule"]
mappings = {"cis20": ["CIS 16"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1535"], "nist": ["DE.AE", "DE.DP", "PR.AC", "PR.DS"]}
investigative_searches = ["ESCU - Investigate AWS User Activities by user field", "ESCU - Get Notable History"]
-support_searches = ["ESCU - Previously Seen AWS Cross Account Activity - Initial", "ESCU - Previously Seen Users in CloudTrail - Initial", "ESCU - Previously Seen AWS Cross Account Activity - Update", "ESCU - Previously Seen Users In CloudTrail - Update"]
+support_searches = ["ESCU - Previously Seen Users In CloudTrail - Update", "ESCU - Previously Seen AWS Cross Account Activity - Update", "ESCU - Previously Seen Users in CloudTrail - Initial", "ESCU - Previously Seen AWS Cross Account Activity - Initial"]
data_models = ["Authentication"]
providing_technologies = none
description = Monitor your cloud authentication events. Searches within this Analytic Story leverage the recent cloud updates to the Authentication data model to help you stay aware of and investigate suspicious login activity.
@@ -1109,7 +1109,7 @@ reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.p
detection_searches = ["ESCU - Abnormally High Number Of Cloud Instances Destroyed - Rule", "ESCU - Abnormally High Number Of Cloud Instances Launched - Rule", "ESCU - Cloud Instance Modified By Previously Unseen User - Rule"]
mappings = {"cis20": ["CIS 1", "CIS 13"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1078.004"], "nist": ["DE.AE", "DE.DP", "ID.AM"]}
investigative_searches = ["ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN"]
-support_searches = ["ESCU - Baseline Of Cloud Instances Destroyed", "ESCU - Previously Seen Cloud Instance Modifications By User - Update", "ESCU - Previously Seen Cloud Instance Modifications By User - Initial", "ESCU - Baseline Of Cloud Instances Launched"]
+support_searches = ["ESCU - Previously Seen Cloud Instance Modifications By User - Initial", "ESCU - Baseline Of Cloud Instances Launched", "ESCU - Previously Seen Cloud Instance Modifications By User - Update", "ESCU - Baseline Of Cloud Instances Destroyed"]
data_models = ["Change"]
providing_technologies = none
description = Monitor your cloud infrastructure provisioning activities for behaviors originating from unfamiliar or unusual locations. These behaviors may indicate that malicious activities are occurring somewhere within your cloud environment.
@@ -1142,7 +1142,7 @@ reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.p
detection_searches = ["ESCU - Abnormally High Number Of Cloud Infrastructure API Calls - Rule", "ESCU - Abnormally High Number Of Cloud Security Group API Calls - Rule", "ESCU - Cloud API Calls From Previously Unseen User Roles - Rule"]
mappings = {"cis20": ["CIS 1", "CIS 16"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1078", "T1078.004"], "nist": ["DE.CM", "DE.DP", "ID.AM", "PR.AC"]}
investigative_searches = ["ESCU - AWS Investigate User Activities By ARN"]
-support_searches = ["ESCU - Previously Seen Cloud API Calls Per User Role - Update", "ESCU - Baseline Of Cloud Infrastructure API Calls Per User", "ESCU - Baseline Of Cloud Security Group API Calls Per User", "ESCU - Previously Seen Cloud API Calls Per User Role - Initial"]
+support_searches = ["ESCU - Baseline Of Cloud Security Group API Calls Per User", "ESCU - Previously Seen Cloud API Calls Per User Role - Update", "ESCU - Previously Seen Cloud API Calls Per User Role - Initial", "ESCU - Baseline Of Cloud Infrastructure API Calls Per User"]
data_models = ["Change"]
providing_technologies = none
description = Detect and investigate suspicious activities by users and roles in your cloud environments.
@@ -1158,7 +1158,7 @@ version = 2
reference = ["https://attack.mitre.org/wiki/Technique/T1059", "https://www.microsoft.com/en-us/wdsi/threats/macro-malware", "https://www.fireeye.com/content/dam/fireeye-www/services/pdfs/mandiant-apt1-report.pdf"]
detection_searches = ["ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Detect Use of cmd exe to Launch Script Interpreters - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule"]
mappings = {"cis20": ["CIS 3", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Exploitation"], "mitre_attack": ["T1036.003", "T1059.001", "T1059.003"], "nist": ["DE.CM", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
support_searches = ["ESCU - Baseline of Command Line Length - MLTK", "ESCU - Previously seen command line arguments"]
data_models = ["Endpoint"]
providing_technologies = none
@@ -1173,8 +1173,8 @@ id = 3c3835c0-255d-4f9e-ab84-e29ec9ec9b56
version = 1
reference = ["http://blogs.splunk.com/2015/10/01/random-words-on-entropy-and-dns/", "http://www.darkreading.com/analytics/security-monitoring/got-malware-three-signs-revealed-in-dns-traffic/d/d-id/1139680", "https://live.paloaltonetworks.com/t5/Threat-Vulnerability-Articles/What-are-suspicious-DNS-queries/ta-p/71454"]
detection_searches = ["ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Detect Long DNS TXT Record Response - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Excessive DNS Failures - Rule"]
-mappings = {"cis20": ["CIS 1", "CIS 12", "CIS 13", "CIS 3", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1048.003", "T1071.004"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.DS", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - Get Parent Process Info"]
+mappings = {"cis20": ["CIS 1", "CIS 12", "CIS 13", "CIS 3", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1048.003", "T1071.004", "T1189"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.DS", "PR.IP", "PR.PT"]}
+investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host"]
support_searches = ["ESCU - Baseline of DNS Query Length - MLTK"]
data_models = ["Network_Resolution"]
providing_technologies = none
@@ -1226,7 +1226,7 @@ version = 1
reference = ["https://redcanary.com/blog/windows-registry-attacks-threat-detection/", "https://medium.com/@mbromileyDFIR/malware-monday-aebb456356c5", "https://attack.mitre.org/wiki/Technique/T1170"]
detection_searches = ["ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Detect mshta exe running scripts in command-line arguments - Rule", "ESCU - Registry Keys Used For Persistence - Rule"]
mappings = {"cis20": ["CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Exploitation"], "mitre_attack": ["T1059.003", "T1218.005", "T1547.001"], "nist": ["DE.AE", "DE.CM", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
support_searches = ["ESCU - Baseline of Command Line Length - MLTK", "ESCU - Previously seen command line arguments"]
data_models = ["Endpoint"]
providing_technologies = none
@@ -1262,7 +1262,7 @@ version = 2
reference = ["https://www.blackhat.com/docs/us-15/materials/us-15-Graeber-Abusing-Windows-Management-Instrumentation-WMI-To-Build-A-Persistent%20Asynchronous-And-Fileless-Backdoor-wp.pdf", "https://www.fireeye.com/blog/threat-research/2017/03/wmimplant_a_wmi_ba.html"]
detection_searches = ["ESCU - Process Execution via WMI - Rule", "ESCU - Remote Process Instantiation via WMI - Rule", "ESCU - Remote WMI Command Attempt - Rule", "ESCU - Script Execution via WMI - Rule", "ESCU - WMI Permanent Event Subscription - Rule", "ESCU - WMI Permanent Event Subscription - Sysmon - Rule", "ESCU - WMI Temporary Event Subscription - Rule"]
mappings = {"cis20": ["CIS 3", "CIS 5"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1047", "T1546.003"], "nist": ["PR.AC", "PR.AT", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get Notable History", "ESCU - Get Process Info"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -1280,7 +1280,7 @@ version = 1
reference = ["https://redcanary.com/blog/windows-registry-attacks-threat-detection/", "https://attack.mitre.org/wiki/Technique/T1112"]
detection_searches = ["ESCU - Disabling Remote User Account Control - Rule", "ESCU - Monitor Registry Keys for Print Monitors - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Registry Keys Used For Privilege Escalation - Rule", "ESCU - Registry Keys for Creating SHIM Databases - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Suspicious Changes to File Associations - Rule"]
mappings = {"cis20": ["CIS 3", "CIS 5", "CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1546.001", "T1546.011", "T1546.012", "T1547.001", "T1547.010", "T1548.002", "T1564.001"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -1332,7 +1332,7 @@ version = 2
reference = ["https://www.fireeye.com/blog/threat-research/2017/08/monitoring-windows-console-activity-part-two.html", "https://www.splunk.com/pdfs/technical-briefs/advanced-threat-detection-and-response-tech-brief.pdf", "https://www.sans.org/reading-room/whitepapers/logging/detecting-security-incidents-windows-workstation-event-logs-34262"]
detection_searches = ["ESCU - Detect Rare Executables - Rule", "ESCU - Detect processes used for System Network Configuration Discovery - Rule", "ESCU - RunDLL Loading DLL By Ordinal - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Uncommon Processes On Endpoint - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule"]
mappings = {"cis20": ["CIS 2", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Installation"], "mitre_attack": ["T1016", "T1036.003", "T1204.002", "T1218.011"], "nist": ["DE.CM", "ID.AM", "PR.DS", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
support_searches = ["ESCU - Baseline of Command Line Length - MLTK"]
data_models = ["Endpoint"]
providing_technologies = none
@@ -1366,7 +1366,7 @@ version = 1
reference = ["https://www.fbi.gov/scams-and-safety/common-fraud-schemes/internet-fraud", "https://www.fbi.gov/news/stories/2017-internet-crime-report-released-050718"]
detection_searches = ["ESCU - Web Fraud - Account Harvesting - Rule", "ESCU - Web Fraud - Anomalous User Clickspeed - Rule", "ESCU - Web Fraud - Password Sharing Across Accounts - Rule"]
mappings = {"cis20": ["CIS 16", "CIS 6"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1078", "T1136"], "nist": ["DE.AE", "DE.CM", "DE.DP"]}
-investigative_searches = ["ESCU - Get Web Session Information via session id", "ESCU - Get Notable History", "ESCU - Get Emails From Specific Sender"]
+investigative_searches = ["ESCU - Get Notable History", "ESCU - Get Web Session Information via session id", "ESCU - Get Emails From Specific Sender"]
support_searches = []
data_models = []
providing_technologies = none
@@ -1403,7 +1403,7 @@ version = 1
reference = ["https://attack.mitre.org/wiki/Defense_Evasion"]
detection_searches = ["ESCU - Disabling Remote User Account Control - Rule", "ESCU - Hiding Files And Directories With Attrib exe - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Suspicious Reg exe Process - Rule"]
mappings = {"cis20": ["CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1112", "T1222.001", "T1548.002", "T1564.001"], "nist": ["DE.CM", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -1419,7 +1419,7 @@ version = 1
reference = ["https://blog.malwarebytes.com/cybercrime/2013/12/file-extensions-2/", "https://attack.mitre.org/wiki/Technique/T1042"]
detection_searches = ["ESCU - Execution of File With Spaces Before Extension - Rule", "ESCU - Execution of File with Multiple Extensions - Rule", "ESCU - Suspicious Changes to File Associations - Rule"]
mappings = {"cis20": ["CIS 3", "CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1036.003", "T1546.001"], "nist": ["DE.CM", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -1439,7 +1439,7 @@ version = 2
reference = ["https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/", "https://zeltser.com/security-incident-log-review-checklist/", "http://journeyintoir.blogspot.com/2013/01/re-introducing-usnjrnl.html"]
detection_searches = ["ESCU - Deleting Shadow Copies - Rule", "ESCU - Suspicious wevtutil Usage - Rule", "ESCU - USN Journal Deletion - Rule", "ESCU - Windows Event Log Cleared - Rule"]
mappings = {"cis20": ["CIS 10", "CIS 3", "CIS 5", "CIS 6", "CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1070", "T1070.001", "T1490"], "nist": ["DE.AE", "DE.CM", "DE.DP", "PR.AC", "PR.AT", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -1456,7 +1456,7 @@ version = 2
reference = ["http://www.fuzzysecurity.com/tutorials/19.html", "https://www.fireeye.com/blog/threat-research/2010/07/malware-persistence-windows-registry.html", "http://resources.infosecinstitute.com/common-malware-persistence-mechanisms/", "https://www.fireeye.com/blog/threat-research/2017/05/fin7-shim-databases-persistence.html", "https://www.youtube.com/watch?v=dq2Hv7J9fvk"]
detection_searches = ["ESCU - Detect Path Interception By Creation Of program exe - Rule", "ESCU - Hiding Files And Directories With Attrib exe - Rule", "ESCU - Monitor Registry Keys for Print Monitors - Rule", "ESCU - Reg exe Manipulating Windows Services Registry Keys - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Registry Keys for Creating SHIM Databases - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Schtasks used for forcing a reboot - Rule", "ESCU - Shim Database File Creation - Rule", "ESCU - Shim Database Installation With Suspicious Parameters - Rule"]
mappings = {"cis20": ["CIS 3", "CIS 5", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Installation"], "mitre_attack": ["T1053.005", "T1222.001", "T1543.003", "T1546.011", "T1547.001", "T1547.010", "T1564.001", "T1574.009", "T1574.011"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.AT", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -1472,7 +1472,7 @@ version = 2
reference = ["https://attack.mitre.org/tactics/TA0004/"]
detection_searches = ["ESCU - Child Processes of Spoolsv exe - Rule", "ESCU - Overwriting Accessibility Binaries - Rule", "ESCU - Registry Keys Used For Privilege Escalation - Rule", "ESCU - Uncommon Processes On Endpoint - Rule"]
mappings = {"cis20": ["CIS 2", "CIS 5", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Exploitation"], "mitre_attack": ["T1068", "T1204.002", "T1546.008", "T1546.012"], "nist": ["DE.CM", "ID.AM", "PR.AC", "PR.DS", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -1488,7 +1488,7 @@ version = 3
reference = ["https://attack.mitre.org/wiki/Technique/T1050", "https://attack.mitre.org/wiki/Technique/T1031"]
detection_searches = ["ESCU - First Time Seen Running Windows Service - Rule", "ESCU - Reg exe Manipulating Windows Services Registry Keys - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule"]
mappings = {"cis20": ["CIS 2", "CIS 3", "CIS 5", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Installation"], "mitre_attack": ["T1543.003", "T1569.002", "T1574.011"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.AC", "PR.AT", "PR.DS", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
support_searches = ["ESCU - Previously Seen Running Windows Services - Update", "ESCU - Previously Seen Running Windows Services - Initial"]
data_models = ["Endpoint"]
providing_technologies = none
diff --git a/package/default/collections.conf b/package/default/collections.conf
index 81acd9ec18..404f3ae037 100644
--- a/package/default/collections.conf
+++ b/package/default/collections.conf
@@ -1,6 +1,6 @@
#############
# Automatically generated by generator.py in splunk/security-content
-# On Date: 2021-01-14T11:30:38 UTC
+# On Date: 2021-01-19T13:08:32 UTC
# Author: Splunk Security Research
# Contact: research@splunk.com
#############
diff --git a/package/default/es_investigations.conf b/package/default/es_investigations.conf
index f574dba0e2..ac07faeaeb 100644
--- a/package/default/es_investigations.conf
+++ b/package/default/es_investigations.conf
@@ -4,35 +4,35 @@ label = AWS Cross Account Activity
description = Track when a user assumes an IAM role in another AWS account to obtain cross-account access to services and resources in that account. Accessing new roles could be an indication of malicious activity.
disabled = 0
-panels = ["panel://workbench_panel_get_notable_history", "panel://workbench_panel_aws_investigate_user_activities_by_accesskeyid"]
+panels = ["panel://workbench_panel_aws_investigate_user_activities_by_accesskeyid", "panel://workbench_panel_get_notable_history"]
[panel_group://workbench_panel_group_aws_cryptomining]
label = AWS Cryptomining
description = Monitor your AWS EC2 instances for activities related to cryptojacking/cryptomining. New instances that originate from previously unseen regions, users who launch abnormally high numbers of instances, or EC2 instances started by previously unseen users are just a few examples of potentially malicious behavior.
disabled = 0
-panels = ["panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_investigate_aws_activities_via_region_name", "panel://workbench_panel_get_ec2_instance_details_by_instanceid", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_ec2_launch_details"]
+panels = ["panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_ec2_launch_details", "panel://workbench_panel_investigate_aws_activities_via_region_name", "panel://workbench_panel_get_ec2_instance_details_by_instanceid", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
[panel_group://workbench_panel_group_aws_network_acl_activity]
label = AWS Network ACL Activity
description = Monitor your AWS network infrastructure for bad configurations and malicious activity. Investigative searches help you probe deeper, when the facts warrant it.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_aws_network_acl_details_from_id", "panel://workbench_panel_aws_network_interface_details_via_resourceid", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio"]
+panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_aws_network_interface_details_via_resourceid", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_aws_network_acl_details_from_id", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
[panel_group://workbench_panel_group_aws_security_hub_alerts]
label = AWS Security Hub Alerts
description = This story is focused around detecting Security Hub alerts generated from AWS
disabled = 0
-panels = ["panel://workbench_panel_get_ec2_instance_details_by_instanceid", "panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_get_ec2_launch_details"]
+panels = ["panel://workbench_panel_get_ec2_instance_details_by_instanceid", "panel://workbench_panel_get_ec2_launch_details", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
[panel_group://workbench_panel_group_aws_suspicious_provisioning_activities]
label = AWS Suspicious Provisioning Activities
description = Monitor your AWS provisioning activities for behaviors originating from unfamiliar or unusual locations. These behaviors may indicate that malicious activities are occurring somewhere within your network.
disabled = 0
-panels = ["panel://workbench_panel_get_all_aws_activity_from_city", "panel://workbench_panel_get_all_aws_activity_from_region", "panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_aws_investigate_security_hub_alerts_by_dest", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_get_all_aws_activity_from_country"]
+panels = ["panel://workbench_panel_get_all_aws_activity_from_region", "panel://workbench_panel_aws_investigate_security_hub_alerts_by_dest", "panel://workbench_panel_get_all_aws_activity_from_city", "panel://workbench_panel_get_all_aws_activity_from_country", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
[panel_group://workbench_panel_group_aws_user_monitoring]
label = AWS User Monitoring
@@ -46,7 +46,7 @@ label = Apache Struts Vulnerability
description = Detect and investigate activities--such as unusually long `Content-Type` length, suspicious java classes and web servers executing suspicious processes--consistent with attempts to exploit Apache Struts vulnerabilities.
disabled = 0
-panels = ["panel://workbench_panel_investigate_suspicious_strings_in_http_header", "panel://workbench_panel_investigate_web_posts_from_src", "panel://workbench_panel_get_notable_history"]
+panels = ["panel://workbench_panel_investigate_suspicious_strings_in_http_header", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_investigate_web_posts_from_src"]
[panel_group://workbench_panel_group_asset_tracking]
label = Asset Tracking
@@ -60,14 +60,14 @@ label = Brand Monitoring
description = Detect and investigate activity that may indicate that an adversary is using faux domains to mislead users into interacting with malicious infrastructure. Monitor DNS, email, and web traffic for permutations of your brand name.
disabled = 0
-panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_emails_from_specific_sender", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_email_info"]
+panels = ["panel://workbench_panel_get_emails_from_specific_sender", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_email_info"]
[panel_group://workbench_panel_group_cloud_cryptomining]
label = Cloud Cryptomining
description = Monitor your cloud compute instances for activities related to cryptojacking/cryptomining. New instances that originate from previously unseen regions, users who launch abnormally high numbers of instances, or compute instances started by previously unseen users are just a few examples of potentially malicious behavior.
disabled = 0
-panels = ["panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_aws_investigate_security_hub_alerts_by_dest", "panel://workbench_panel_get_ec2_instance_details_by_instanceid", "panel://workbench_panel_investigate_aws_activities_via_region_name", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_ec2_launch_details"]
+panels = ["panel://workbench_panel_aws_investigate_security_hub_alerts_by_dest", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_ec2_launch_details", "panel://workbench_panel_investigate_aws_activities_via_region_name", "panel://workbench_panel_get_ec2_instance_details_by_instanceid", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
[panel_group://workbench_panel_group_coldroot_macos_rat]
label = ColdRoot MacOS RAT
@@ -81,14 +81,14 @@ label = Collection and Staging
description = Monitor for and investigate activities--such as suspicious writes to the Windows Recycling Bin or email servers sending high amounts of traffic to specific hosts, for example--that may indicate that an adversary is harvesting and exfiltrating sensitive data.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
[panel_group://workbench_panel_group_command_and_control]
label = Command and Control
description = Detect and investigate tactics, techniques, and procedures leveraged by attackers to establish and operate command and control channels. Implants installed by attackers on compromised endpoints use these channels to receive instructions and send data back to the malicious operators.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_aws_network_acl_details_from_id", "panel://workbench_panel_aws_network_interface_details_via_resourceid", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_aws_network_interface_details_via_resourceid", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_aws_network_acl_details_from_id", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
[panel_group://workbench_panel_group_common_phishing_frameworks]
label = Common Phishing Frameworks
@@ -109,14 +109,14 @@ label = Credential Dumping
description = Uncover activity consistent with credential dumping, a technique wherein attackers compromise systems and attempt to obtain and exfiltrate passwords. The threat actors use these pilfered credentials to further escalate privileges and spread throughout a target environment. The included searches in this Analytic Story are designed to identify attempts to credential dumping.
disabled = 0
-panels = ["panel://workbench_panel_investigate_pass_the_hash_attempts", "panel://workbench_panel_investigate_pass_the_ticket_attempts", "panel://workbench_panel_investigate_failed_logins_for_multiple_destinations", "panel://workbench_panel_investigate_previous_unseen_user"]
+panels = ["panel://workbench_panel_investigate_failed_logins_for_multiple_destinations", "panel://workbench_panel_investigate_pass_the_ticket_attempts", "panel://workbench_panel_investigate_previous_unseen_user", "panel://workbench_panel_investigate_pass_the_hash_attempts"]
[panel_group://workbench_panel_group_dhs_report_ta18_074a]
label = DHS Report TA18-074A
description = Monitor for suspicious activities associated with DHS Technical Alert US-CERT TA18-074A. Some of the activities that adversaries used in these compromises included spearfishing attacks, malware, watering-hole domains, many and more.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_file_activity", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_file_activity", "panel://workbench_panel_get_process_information_for_port_activity"]
[panel_group://workbench_panel_group_dns_amplification_attacks]
label = DNS Amplification Attacks
@@ -144,7 +144,7 @@ label = Data Protection
description = Fortify your data-protection arsenal--while continuing to ensure data confidentiality and integrity--with searches that monitor for and help you investigate possible signs of data exfiltration.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio"]
+panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_get_dns_server_history_for_a_host"]
[panel_group://workbench_panel_group_detect_zerologon_attack]
label = Detect Zerologon Attack
@@ -158,21 +158,21 @@ label = Disabling Security Tools
description = Looks for activities and techniques associated with the disabling of security tools on a Windows system, such as suspicious `reg.exe` processes, processes launching netsh, and many others.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
[panel_group://workbench_panel_group_dynamic_dns]
label = Dynamic DNS
description = Detect and investigate hosts in your environment that may be communicating with dynamic domain providers. Attackers may leverage these services to help them avoid firewall blocks and blacklists.
disabled = 0
-panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_notable_history"]
+panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio"]
[panel_group://workbench_panel_group_emotet_malware__dhs_report_ta18_201a_]
label = Emotet Malware DHS Report TA18-201A
description = Detect rarely used executables, specific registry paths that may confer malware survivability and persistence, instances where cmd.exe is used to launch script interpreters, and other indicators that the Emotet financial malware has compromised your environment.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_process_information_for_port_activity"]
[panel_group://workbench_panel_group_f5_tmui_rce_cve_2020_5902]
label = F5 TMUI RCE CVE-2020-5902
@@ -193,7 +193,7 @@ label = Hidden Cobra Malware
description = Monitor for and investigate activities, including the creation or deletion of hidden shares and file writes, that may be evidence of infiltration by North Korean government-sponsored cybercriminals. Details of this activity were reported in DHS Report TA-18-149A.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_outbound_emails_to_hidden_cobra_threat_actors", "panel://workbench_panel_investigate_successful_remote_desktop_authentications", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_investigate_successful_remote_desktop_authentications", "panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_outbound_emails_to_hidden_cobra_threat_actors", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_information_for_port_activity"]
[panel_group://workbench_panel_group_host_redirection]
label = Host Redirection
@@ -214,7 +214,7 @@ label = Kubernetes Scanning Activity
description = This story addresses detection against Kubernetes cluster fingerprint scan and attack by providing information on items such as source ip, user agent, cluster names.
disabled = 0
-panels = ["panel://workbench_panel_amazon_eks_kubernetes_activity_by_src_ip", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_gcp_kubernetes_activity_by_src_ip"]
+panels = ["panel://workbench_panel_gcp_kubernetes_activity_by_src_ip", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_amazon_eks_kubernetes_activity_by_src_ip"]
[panel_group://workbench_panel_group_kubernetes_sensitive_object_access_activity]
label = Kubernetes Sensitive Object Access Activity
@@ -235,14 +235,14 @@ label = Lateral Movement
description = Detect and investigate tactics, techniques, and procedures around how attackers move laterally within the enterprise. Because lateral movement can expose the adversary to detection, it should be an important focus for security analysts.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_investigate_successful_remote_desktop_authentications", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_investigate_successful_remote_desktop_authentications", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_process_information_for_port_activity"]
[panel_group://workbench_panel_group_malicious_powershell]
label = Malicious PowerShell
description = Attackers are finding stealthy ways "live off the land," leveraging utilities and tools that come standard on the endpoint--such as PowerShell--to achieve their goals without downloading binary files. These searches can help you detect and investigate PowerShell command-line options that may be indicative of malicious intent.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_history_of_email_sources"]
[panel_group://workbench_panel_group_monitor_backup_solution]
label = Monitor Backup Solution
@@ -256,7 +256,7 @@ label = Monitor for Unauthorized Software
description = Identify and investigate prohibited/unauthorized software or processes that may be concealing malicious behavior within your environment.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
[panel_group://workbench_panel_group_monitor_for_updates]
label = Monitor for Updates
@@ -270,7 +270,7 @@ label = Netsh Abuse
description = Detect activities and various techniques associated with the abuse of `netsh.exe`, which can disable local firewall settings or set up a remote connection to a host from an infected system.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
[panel_group://workbench_panel_group_office_365_detections]
label = Office 365 Detections
@@ -284,7 +284,7 @@ label = Orangeworm Attack Group
description = Detect activities and various techniques associated with the Orangeworm Attack Group, a group that frequently targets the healthcare industry.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_history_of_email_sources"]
[panel_group://workbench_panel_group_phishing_payloads]
label = Phishing Payloads
@@ -298,21 +298,21 @@ label = Possible Backdoor Activity Associated With MUDCARP Espionage Campaigns
description = Monitor your environment for suspicious behaviors that resemble the techniques employed by the MUDCARP threat group.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_history_of_email_sources"]
[panel_group://workbench_panel_group_prohibited_traffic_allowed_or_protocol_mismatch]
label = Prohibited Traffic Allowed or Protocol Mismatch
description = Detect instances of prohibited network traffic allowed in the environment, as well as protocols running on non-standard ports. Both of these types of behaviors typically violate policy and can be leveraged by attackers.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_information_for_port_activity"]
[panel_group://workbench_panel_group_ransomware]
label = Ransomware
description = Leverage searches that allow you to detect and investigate unusual activities that might relate to ransomware--spikes in SMB traffic, suspicious wevtutil usage, the presence of common ransomware extensions, and system processes run from unexpected locations, and many others.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_sysmon_wmi_activity_for_host", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_backup_logs_for_endpoint", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_backup_logs_for_endpoint", "panel://workbench_panel_get_sysmon_wmi_activity_for_host", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_process_information_for_port_activity"]
[panel_group://workbench_panel_group_ransomware_cloud]
label = Ransomware Cloud
@@ -347,7 +347,7 @@ label = SamSam Ransomware
description = Leverage searches that allow you to detect and investigate unusual activities that might relate to the SamSam ransomware, including looking for file writes associated with SamSam, RDP brute force attacks, the presence of files with SamSam ransomware extensions, suspicious psexec use, and more.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_investigate_successful_remote_desktop_authentications", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_backup_logs_for_endpoint", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_investigate_successful_remote_desktop_authentications", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_backup_logs_for_endpoint", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_process_information_for_port_activity"]
[panel_group://workbench_panel_group_spectre_and_meltdown_vulnerabilities]
label = Spectre And Meltdown Vulnerabilities
@@ -382,7 +382,7 @@ label = Suspicious AWS EC2 Activities
description = Use the searches in this Analytic Story to monitor your AWS EC2 instances for evidence of anomalous activity and suspicious behaviors, such as EC2 instances that originate from unusual locations or those launched by previously unseen users (among others). Included investigative searches will help you probe more deeply, when the information warrants it.
disabled = 0
-panels = ["panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_aws_investigate_security_hub_alerts_by_dest", "panel://workbench_panel_get_ec2_instance_details_by_instanceid", "panel://workbench_panel_investigate_aws_activities_via_region_name", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_ec2_launch_details"]
+panels = ["panel://workbench_panel_aws_investigate_security_hub_alerts_by_dest", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_ec2_launch_details", "panel://workbench_panel_investigate_aws_activities_via_region_name", "panel://workbench_panel_get_ec2_instance_details_by_instanceid", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
[panel_group://workbench_panel_group_suspicious_aws_login_activities]
label = Suspicious AWS Login Activities
@@ -396,14 +396,14 @@ label = Suspicious AWS S3 Activities
description = Use the searches in this Analytic Story to monitor your AWS S3 buckets for evidence of anomalous activity and suspicious behaviors, such as detecting open S3 buckets and buckets being accessed from a new IP. The contextual and investigative searches will give you more information, when required.
disabled = 0
-panels = ["panel://workbench_panel_aws_s3_bucket_details_via_bucketname", "panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_investigate_aws_activities_via_region_name", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_get_notable_history"]
+panels = ["panel://workbench_panel_aws_s3_bucket_details_via_bucketname", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_investigate_aws_activities_via_region_name", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
[panel_group://workbench_panel_group_suspicious_aws_traffic]
label = Suspicious AWS Traffic
description = Leverage these searches to monitor your AWS network traffic for evidence of anomalous activity and suspicious behaviors, such as a spike in blocked outbound traffic in your virtual private cloud (VPC).
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_aws_network_acl_details_from_id", "panel://workbench_panel_aws_network_interface_details_via_resourceid", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio"]
+panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_aws_network_interface_details_via_resourceid", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_aws_network_acl_details_from_id", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
[panel_group://workbench_panel_group_suspicious_cloud_authentication_activities]
label = Suspicious Cloud Authentication Activities
@@ -438,14 +438,14 @@ label = Suspicious Command-Line Executions
description = Leveraging the Windows command-line interface (CLI) is one of the most common attack techniques--one that is also detailed in the MITRE ATT&CK framework. Use this Analytic Story to help you identify unusual or suspicious use of the CLI on Windows systems.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
[panel_group://workbench_panel_group_suspicious_dns_traffic]
label = Suspicious DNS Traffic
description = Attackers often attempt to hide within or otherwise abuse the domain name system (DNS). You can thwart attempts to manipulate this omnipresent protocol by monitoring for these types of abuses.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_get_dns_server_history_for_a_host"]
[panel_group://workbench_panel_group_suspicious_emails]
label = Suspicious Emails
@@ -466,7 +466,7 @@ label = Suspicious MSHTA Activity
description = Monitor and detect techniques used by attackers who leverage the mshta.exe process to execute malicious code.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
[panel_group://workbench_panel_group_suspicious_okta_activity]
label = Suspicious Okta Activity
@@ -480,14 +480,14 @@ label = Suspicious WMI Use
description = Attackers are increasingly abusing Windows Management Instrumentation (WMI), a framework and associated utilities available on all modern Windows operating systems. Because WMI can be leveraged to manage both local and remote systems, it is important to identify the processes executed and the user context within which the activity occurred.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_sysmon_wmi_activity_for_host", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_sysmon_wmi_activity_for_host", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
[panel_group://workbench_panel_group_suspicious_windows_registry_activities]
label = Suspicious Windows Registry Activities
description = Monitor and detect registry changes initiated from remote locations, which can be a sign that an attacker has infiltrated your system.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
[panel_group://workbench_panel_group_suspicious_zoom_child_processes]
label = Suspicious Zoom Child Processes
@@ -508,7 +508,7 @@ label = Unusual Processes
description = Quickly identify systems running new or unusual processes in your environment that could be indicators of suspicious activity. Processes run from unusual locations, those with conspicuously long command lines, and rare executables are all examples of activities that may warrant deeper investigation.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
[panel_group://workbench_panel_group_use_of_cleartext_protocols]
label = Use of Cleartext Protocols
@@ -522,7 +522,7 @@ label = Web Fraud Detection
description = Monitor your environment for activity consistent with common attack techniques bad actors use when attempting to compromise web servers or other web-related assets.
disabled = 0
-panels = ["panel://workbench_panel_get_web_session_information_via_session_id", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_emails_from_specific_sender"]
+panels = ["panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_web_session_information_via_session_id", "panel://workbench_panel_get_emails_from_specific_sender"]
[panel_group://workbench_panel_group_windows_dns_sigred_cve_2020_1350]
label = Windows DNS SIGRed CVE-2020-1350
@@ -536,42 +536,42 @@ label = Windows Defense Evasion Tactics
description = Detect tactics used by malware to evade defenses on Windows endpoints. A few of these include suspicious `reg.exe` processes, files hidden with `attrib.exe` and disabling user-account control, among many others
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
[panel_group://workbench_panel_group_windows_file_extension_and_association_abuse]
label = Windows File Extension and Association Abuse
description = Detect and investigate suspected abuse of file extensions and Windows file associations. Some of the malicious behaviors involved may include inserting spaces before file extensions or prepending the file extension with a different one, among other techniques.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
[panel_group://workbench_panel_group_windows_log_manipulation]
label = Windows Log Manipulation
description = Adversaries often try to cover their tracks by manipulating Windows logs. Use these searches to help you monitor for suspicious activity surrounding log files--an essential component of an effective defense.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
[panel_group://workbench_panel_group_windows_persistence_techniques]
label = Windows Persistence Techniques
description = Monitor for activities and techniques associated with maintaining persistence on a Windows system--a sign that an adversary may have compromised your environment.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
[panel_group://workbench_panel_group_windows_privilege_escalation]
label = Windows Privilege Escalation
description = Monitor for and investigate activities that may be associated with a Windows privilege-escalation attack, including unusual processes running on endpoints, modified registry keys, and more.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
[panel_group://workbench_panel_group_windows_service_abuse]
label = Windows Service Abuse
description = Windows services are often used by attackers for persistence and the ability to load drivers or otherwise interact with the Windows kernel. This Analytic Story helps you monitor your environment for indications that Windows services are being modified or created in a suspicious manner.
disabled = 0
-panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
+panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
diff --git a/package/default/macros.conf b/package/default/macros.conf
index a1d7cb79b6..794c28822e 100644
--- a/package/default/macros.conf
+++ b/package/default/macros.conf
@@ -1,6 +1,6 @@
#############
# Automatically generated by generator.py in splunk/security-content
-# On Date: 2021-01-14T11:30:38 UTC
+# On Date: 2021-01-19T13:08:32 UTC
# Author: Splunk Security Research
# Contact: research@splunk.com
#############
@@ -987,6 +987,10 @@ description = Update this macro to limit the output results to filter out false
definition = search *
description = Update this macro to limit the output results to filter out false positives.
+[o365_bypass_mfa_via_trusted_ip_filter]
+definition = search *
+description = Update this macro to limit the output results to filter out false positives.
+
[o365_disable_mfa_filter]
definition = search *
description = Update this macro to limit the output results to filter out false positives.
diff --git a/package/default/savedsearches.conf b/package/default/savedsearches.conf
index ca92324c8b..d53855b92a 100644
--- a/package/default/savedsearches.conf
+++ b/package/default/savedsearches.conf
@@ -1,6 +1,6 @@
#############
# Automatically generated by generator.py in splunk/security-content
-# On Date: 2021-01-14T11:30:38 UTC
+# On Date: 2021-01-19T13:08:32 UTC
# Author: Splunk Security Research
# Contact: research@splunk.com
#############
@@ -10,10 +10,10 @@
[ESCU - AWS Cloud Provisioning From Previously Unseen City - Rule]
action.escu = 0
action.escu.enabled = 1
-description = This search looks for AWS provisioning activities from previously unseen cities. Provisioning activities are defined broadly as any event that begins with "Run" or "Create." This search is deprecated and have been translated to use the latest Change Datamodel.
+description = This search looks for AWS provisioning activities from previously unseen cities. Provisioning activities are defined broadly as any event that begins with "Run" or "Create." This search is deprecated and have been translated to use the latest Change Datamodel.
action.escu.mappings = {"cis20": ["CIS 1"], "mitre_attack": ["T1535"], "nist": ["ID.AM"]}
action.escu.data_models = []
-action.escu.eli5 = This search looks for AWS provisioning activities from previously unseen cities. Provisioning activities are defined broadly as any event that begins with "Run" or "Create." This search is deprecated and have been translated to use the latest Change Datamodel.
+action.escu.eli5 = This search looks for AWS provisioning activities from previously unseen cities. Provisioning activities are defined broadly as any event that begins with "Run" or "Create." This search is deprecated and have been translated to use the latest Change Datamodel.
action.escu.how_to_implement = You must install the AWS App for Splunk (version 5.1.0 or later) and Splunk Add-on for AWS (version 4.4.0 or later), then configure your CloudTrail inputs. This search works best when you run the "Previously Seen AWS Provisioning Activity Sources" support search once to create a history of previously seen locations that have provisioned AWS resources.
action.escu.known_false_positives = This is a strictly behavioral search, so we define "false positive" slightly differently. Every time this fires, it will accurately reflect the first occurrence in the time period you're searching within, plus what is stored in the cache feature. But while there are really no "false positives" in a traditional sense, there is definitely lots of noise.\
This search will fire any time a new city is seen in the **GeoIP** database for any kind of provisioning activity. If you typically do all provisioning from tools inside of your city, there should be few false positives. If you are located in countries where the free version of **MaxMind GeoIP** that ships by default with Splunk has weak resolution (particularly small countries in less economically powerful regions), this may be much less valuable to you.
@@ -49,10 +49,10 @@ search = `cloudtrail` (eventName=Run* OR eventName=Create*) | iplocation sourceI
[ESCU - AWS Cloud Provisioning From Previously Unseen Country - Rule]
action.escu = 0
action.escu.enabled = 1
-description = This search looks for AWS provisioning activities from previously unseen countries. Provisioning activities are defined broadly as any event that begins with "Run" or "Create." This search is deprecated and have been translated to use the latest Change Datamodel.
+description = This search looks for AWS provisioning activities from previously unseen countries. Provisioning activities are defined broadly as any event that begins with "Run" or "Create." This search is deprecated and have been translated to use the latest Change Datamodel.
action.escu.mappings = {"cis20": ["CIS 1"], "mitre_attack": ["T1535"], "nist": ["ID.AM"]}
action.escu.data_models = []
-action.escu.eli5 = This search looks for AWS provisioning activities from previously unseen countries. Provisioning activities are defined broadly as any event that begins with "Run" or "Create." This search is deprecated and have been translated to use the latest Change Datamodel.
+action.escu.eli5 = This search looks for AWS provisioning activities from previously unseen countries. Provisioning activities are defined broadly as any event that begins with "Run" or "Create." This search is deprecated and have been translated to use the latest Change Datamodel.
action.escu.how_to_implement = You must install the AWS App for Splunk (version 5.1.0 or later) and Splunk Add-on for AWS (version 4.4.0 or later), then configure your CloudTrail inputs. This search works best when you run the "Previously Seen AWS Provisioning Activity Sources" support search once to create a history of previously seen locations that have provisioned AWS resources.
action.escu.known_false_positives = This is a strictly behavioral search, so we define "false positive" slightly differently. Every time this fires, it will accurately reflect the first occurrence in the time period you're searching over plus what is stored in the cache feature. But while there are really no "false positives" in a traditional sense, there is definitely lots of noise.\
This search will fire any time a new country is seen in the **GeoIP** database for any kind of provisioning activity. If you typically do all provisioning from tools inside of your country, there should be few false positives. If you are located in countries where the free version of **MaxMind GeoIP** that ships by default with Splunk has weak resolution (particularly small countries in less economically powerful regions), this may be much less valuable to you.
@@ -83,10 +83,10 @@ search = `cloudtrail` (eventName=Run* OR eventName=Create*) | iplocation sourceI
[ESCU - AWS Cloud Provisioning From Previously Unseen IP Address - Rule]
action.escu = 0
action.escu.enabled = 1
-description = This search looks for AWS provisioning activities from previously unseen IP addresses. Provisioning activities are defined broadly as any event that begins with "Run" or "Create." This search is deprecated and have been translated to use the latest Change Datamodel.
+description = This search looks for AWS provisioning activities from previously unseen IP addresses. Provisioning activities are defined broadly as any event that begins with "Run" or "Create." This search is deprecated and have been translated to use the latest Change Datamodel.
action.escu.mappings = {"cis20": ["CIS 1"], "nist": ["ID.AM"]}
action.escu.data_models = []
-action.escu.eli5 = This search looks for AWS provisioning activities from previously unseen IP addresses. Provisioning activities are defined broadly as any event that begins with "Run" or "Create." This search is deprecated and have been translated to use the latest Change Datamodel.
+action.escu.eli5 = This search looks for AWS provisioning activities from previously unseen IP addresses. Provisioning activities are defined broadly as any event that begins with "Run" or "Create." This search is deprecated and have been translated to use the latest Change Datamodel.
action.escu.how_to_implement = You must install the AWS App for Splunk (version 5.1.0 or later) and Splunk Add-on for AWS (version 4.4.0 or later), then configure your CloudTrail inputs. This search works best when you run the "Previously Seen AWS Provisioning Activity Sources" support search once to create a history of previously seen locations that have provisioned AWS resources.
action.escu.known_false_positives = This is a strictly behavioral search, so we define "false positive" slightly differently. Every time this fires, it will accurately reflect the first occurrence in the time period you're searching within, plus what is stored in the cache feature. But while there are really no "false positives" in a traditional sense, there is definitely lots of noise.\
This search will fire any time a new IP address is seen in the **GeoIP** database for any kind of provisioning activity. If you typically do all provisioning from tools inside of your country, there should be few false positives. If you are located in countries where the free version of **MaxMind GeoIP** that ships by default with Splunk has weak resolution (particularly small countries in less economically powerful regions), this may be much less valuable to you.
@@ -511,7 +511,7 @@ action.escu.mappings = {"cis20": ["CIS 16"], "kill_chain_phases": ["Actions on O
action.escu.data_models = ["Change"]
action.escu.eli5 = This search will detect a spike in the number of API calls made to your cloud infrastructure environment by a user.
action.escu.how_to_implement = You must be ingesting your cloud infrastructure logs. You also must run the baseline search `Baseline Of Cloud Infrastructure API Calls Per User` to create the probability density function.
-action.escu.known_false_positives =
+action.escu.known_false_positives =
action.escu.creation_date = 2020-09-07
action.escu.modification_date = 2020-09-07
action.escu.confidence = high
@@ -625,7 +625,7 @@ action.escu.mappings = {"cis20": ["CIS 16"], "kill_chain_phases": ["Actions on O
action.escu.data_models = ["Change"]
action.escu.eli5 = This search will detect a spike in the number of API calls made to your cloud infrastructure environment about security groups by a user.
action.escu.how_to_implement = You must be ingesting your cloud infrastructure logs. You also must run the baseline search `Baseline Of Cloud Security Group API Calls Per User` to create the probability density function model.
-action.escu.known_false_positives =
+action.escu.known_false_positives =
action.escu.creation_date = 2020-09-07
action.escu.modification_date = 2020-09-07
action.escu.confidence = high
@@ -692,7 +692,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = `sysmon` EventCode=10 TargetImage=*lsass.exe CallTrace=*dbgcore.dll* OR CallTrace=*dbghelp.dll* | stats count min(_time) as firstTime max(_time) as lastTime by Computer, TargetImage, TargetProcessId, SourceImage, SourceProcessId | rename Computer as dest | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `access_lsass_memory_for_dump_creation_filter`
+search = `sysmon` EventCode=10 TargetImage=*lsass.exe CallTrace=*dbgcore.dll* OR CallTrace=*dbghelp.dll* | stats count min(_time) as firstTime max(_time) as lastTime by Computer, TargetImage, TargetProcessId, SourceImage, SourceProcessId | rename Computer as dest | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `access_lsass_memory_for_dump_creation_filter`
[ESCU - Amazon EKS Kubernetes Pod scan detection - Rule]
action.escu = 0
@@ -725,7 +725,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = `aws_cloudwatchlogs_eks` "user.username"="system:anonymous" verb=list objectRef.resource=pods requestURI="/api/v1/pods" | rename source as cluster_name sourceIPs{} as src_ip | stats count min(_time) as firstTime max(_time) as lastTime values(responseStatus.reason) values(responseStatus.code) values(userAgent) values(verb) values(requestURI) by src_ip cluster_name user.username user.groups{} | `security_content_ctime(lastTime)` | `security_content_ctime(firstTime)` | `amazon_eks_kubernetes_pod_scan_detection_filter`
+search = `aws_cloudwatchlogs_eks` "user.username"="system:anonymous" verb=list objectRef.resource=pods requestURI="/api/v1/pods" | rename source as cluster_name sourceIPs{} as src_ip | stats count min(_time) as firstTime max(_time) as lastTime values(responseStatus.reason) values(responseStatus.code) values(userAgent) values(verb) values(requestURI) by src_ip cluster_name user.username user.groups{} | `security_content_ctime(lastTime)` | `security_content_ctime(firstTime)` | `amazon_eks_kubernetes_pod_scan_detection_filter`
[ESCU - Amazon EKS Kubernetes cluster scan detection - Rule]
action.escu = 0
@@ -758,7 +758,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = `aws_cloudwatchlogs_eks` "user.username"="system:anonymous" userAgent!="AWS Security Scanner" | rename sourceIPs{} as src_ip | stats count min(_time) as firstTime max(_time) as lastTime values(responseStatus.reason) values(source) as cluster_name values(responseStatus.code) values(userAgent) as http_user_agent values(verb) values(requestURI) by src_ip user.username user.groups{} | `security_content_ctime(lastTime)` | `security_content_ctime(firstTime)` |`amazon_eks_kubernetes_cluster_scan_detection_filter`
+search = `aws_cloudwatchlogs_eks` "user.username"="system:anonymous" userAgent!="AWS Security Scanner" | rename sourceIPs{} as src_ip | stats count min(_time) as firstTime max(_time) as lastTime values(responseStatus.reason) values(source) as cluster_name values(responseStatus.code) values(userAgent) as http_user_agent values(verb) values(requestURI) by src_ip user.username user.groups{} | `security_content_ctime(lastTime)` | `security_content_ctime(firstTime)` |`amazon_eks_kubernetes_cluster_scan_detection_filter`
[ESCU - Attempt To Add Certificate To Untrusted Store - Rule]
action.escu = 0
@@ -989,7 +989,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count values(Processes.process_name) as process_name values(Processes.process) as process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.parent_process_name=spoolsv.exe AND Processes.process_name!=regsvr32.exe by Processes.dest Processes.parent_process Processes.user | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `child_processes_of_spoolsv_exe_filter`
+search = | tstats `security_content_summariesonly` count values(Processes.process_name) as process_name values(Processes.process) as process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.parent_process_name=spoolsv.exe AND Processes.process_name!=regsvr32.exe by Processes.dest Processes.parent_process Processes.user | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `child_processes_of_spoolsv_exe_filter`
[ESCU - Clients Connecting to Multiple DNS Servers - Rule]
action.escu = 0
@@ -1024,7 +1024,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count, values(DNS.dest) AS dest dc(DNS.dest) as dest_count from datamodel=Network_Resolution where DNS.message_type=QUERY by DNS.src | `drop_dm_object_name("Network_Resolution")` |where dest_count > 5 | `clients_connecting_to_multiple_dns_servers_filter`
+search = | tstats `security_content_summariesonly` count, values(DNS.dest) AS dest dc(DNS.dest) as dest_count from datamodel=Network_Resolution where DNS.message_type=QUERY by DNS.src | `drop_dm_object_name("Network_Resolution")` |where dest_count > 5 | `clients_connecting_to_multiple_dns_servers_filter`
[ESCU - Cloud API Calls From Previously Unseen User Roles - Rule]
action.escu = 0
@@ -1577,7 +1577,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count values(Processes.user) as user values(Processes.parent_process) as parent_process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where (Processes.process_name=net.exe OR Processes.process_name=net1.exe) AND (Processes.process=*localgroup* OR Processes.process=*/add* OR Processes.process=*user*) by Processes.process Processes.process_name Processes.dest | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` |`create_local_admin_accounts_using_net_exe_filter`
+search = | tstats `security_content_summariesonly` count values(Processes.user) as user values(Processes.parent_process) as parent_process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where (Processes.process_name=net.exe OR Processes.process_name=net1.exe) AND (Processes.process=*localgroup* OR Processes.process=*/add* OR Processes.process=*user*) by Processes.process Processes.process_name Processes.dest | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` |`create_local_admin_accounts_using_net_exe_filter`
[ESCU - Create or delete windows shares using net exe - Rule]
action.escu = 0
@@ -1610,7 +1610,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count values(Processes.user) as user values(Processes.parent_process) as parent_process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where (Processs.process_name=net.exe OR Processes.process_name=net1.exe) by Processes.process Processes.process_name Processes.dest | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | search process=*share* | `create_or_delete_windows_shares_using_net_exe_filter`
+search = | tstats `security_content_summariesonly` count values(Processes.user) as user values(Processes.parent_process) as parent_process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where (Processs.process_name=net.exe OR Processes.process_name=net1.exe) by Processes.process Processes.process_name Processes.dest | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | search process=*share* | `create_or_delete_windows_shares_using_net_exe_filter`
[ESCU - Creation of Shadow Copy - Rule]
action.escu = 0
@@ -1709,7 +1709,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=cmd.exe (Processes.process=*\\system32\\config\\sam* OR Processes.process=*\\system32\\config\\security* OR Processes.process=*\\system32\\config\\system* OR Processes.process=*\\windows\\ntds\\ntds.dit*) by Processes.dest Processes.user Processes.process_name Processes.process Processes.parent_process Processes.process_id Processes.parent_process_id | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `credential_dumping_via_copy_command_from_shadow_copy_filter`
+search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=cmd.exe (Processes.process=*\\system32\\config\\sam* OR Processes.process=*\\system32\\config\\security* OR Processes.process=*\\system32\\config\\system* OR Processes.process=*\\windows\\ntds\\ntds.dit*) by Processes.dest Processes.user Processes.process_name Processes.process Processes.parent_process Processes.process_id Processes.parent_process_id | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `credential_dumping_via_copy_command_from_shadow_copy_filter`
[ESCU - Credential Dumping via Symlink to Shadow Copy - Rule]
action.escu = 0
@@ -1742,7 +1742,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=cmd.exe Processes.process=*mklink* Processes.process=*HarddiskVolumeShadowCopy* by Processes.dest Processes.user Processes.process_name Processes.process Processes.parent_process Processes.process_id Processes.parent_process_id | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `credential_dumping_via_symlink_to_shadow_copy_filter`
+search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=cmd.exe Processes.process=*mklink* Processes.process=*HarddiskVolumeShadowCopy* by Processes.dest Processes.user Processes.process_name Processes.process Processes.parent_process Processes.process_id Processes.parent_process_id | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `credential_dumping_via_symlink_to_shadow_copy_filter`
[ESCU - DNS Query Length Outliers - MLTK - Rule]
action.escu = 0
@@ -1781,19 +1781,19 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count min(_time) as start_time max(_time) as end_time values(DNS.src) as src values(DNS.dest) as dest from datamodel=Network_Resolution by DNS.query DNS.record_type | search DNS.record_type=* | `drop_dm_object_name(DNS)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | eval query_length = len(query) | apply dns_query_pdfmodel threshold=0.01 | rename "IsOutlier(query_length)" as isOutlier | search isOutlier > 0 | sort -query_length | table start_time end_time query record_type count src dest query_length | `dns_query_length_outliers___mltk_filter`
+search = | tstats `security_content_summariesonly` count min(_time) as start_time max(_time) as end_time values(DNS.src) as src values(DNS.dest) as dest from datamodel=Network_Resolution by DNS.query DNS.record_type | search DNS.record_type=* | `drop_dm_object_name(DNS)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | eval query_length = len(query) | apply dns_query_pdfmodel threshold=0.01 | rename "IsOutlier(query_length)" as isOutlier | search isOutlier > 0 | sort -query_length | table start_time end_time query record_type count src dest query_length | `dns_query_length_outliers___mltk_filter`
[ESCU - DNS Query Length With High Standard Deviation - Rule]
action.escu = 0
action.escu.enabled = 1
description = This search allows you to identify DNS requests and compute the standard deviation on the length of the names being resolved, then filter on two times the standard deviation to show you those queries that are unusually large for your environment.
-action.escu.mappings = {"cis20": ["CIS 8", "CIS 12"], "kill_chain_phases": ["Command and Control"], "mitre_attack": ["T1071.004"], "nist": ["PR.PT", "DE.AE", "DE.CM"]}
+action.escu.mappings = {"cis20": ["CIS 8", "CIS 12"], "kill_chain_phases": ["Command and Control"], "mitre_attack": ["T1048.003"], "nist": ["PR.PT", "DE.AE", "DE.CM"]}
action.escu.data_models = ["Network_Resolution"]
action.escu.eli5 = This search allows you to identify DNS requests and compute the standard deviation on the length of the names being resolved, then filter on two times the standard deviation to show you those queries that are unusually large for your environment.
action.escu.how_to_implement = To successfully implement this search, you will need to ensure that DNS data is populating the Network_Resolution data model.
action.escu.known_false_positives = It's possible there can be long domain names that are legitimate.
-action.escu.creation_date = 2020-07-21
-action.escu.modification_date = 2020-07-21
+action.escu.creation_date = 2021-01-18
+action.escu.modification_date = 2021-01-18
action.escu.confidence = high
action.escu.full_search_name = ESCU - DNS Query Length With High Standard Deviation - Rule
action.escu.search_type = detection
@@ -1804,7 +1804,7 @@ dispatch.earliest_time = -70m@m
dispatch.latest_time = -10m@m
action.correlationsearch.enabled = 1
action.correlationsearch.label = ESCU - DNS Query Length With High Standard Deviation - Rule
-action.correlationsearch.annotations = {"analytics_story": ["Hidden Cobra Malware", "Suspicious DNS Traffic", "Command and Control"], "cis20": ["CIS 8", "CIS 12"], "kill_chain_phases": ["Command and Control"], "mitre_attack": ["T1071.004"], "nist": ["PR.PT", "DE.AE", "DE.CM"]}
+action.correlationsearch.annotations = {"analytics_story": ["Hidden Cobra Malware", "Suspicious DNS Traffic", "Command and Control"], "cis20": ["CIS 8", "CIS 12"], "kill_chain_phases": ["Command and Control"], "mitre_attack": ["T1048.003"], "nist": ["PR.PT", "DE.AE", "DE.CM"]}
schedule_window = auto
alert.digest_mode = 1
disabled = true
@@ -1814,7 +1814,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count from datamodel=Network_Resolution by DNS.query DNS.record_type | `drop_dm_object_name("DNS")` | eval query_length = len(query) | table query query_length record_type count | eventstats stdev(query_length) AS stdev avg(query_length) AS avg p50(query_length) AS p50| where query_length>(avg+stdev*2) | eval z_score=(query_length-avg)/stdev | `dns_query_length_with_high_standard_deviation_filter`
+search = | tstats `security_content_summariesonly` count from datamodel=Network_Resolution by DNS.query | `drop_dm_object_name("DNS")` | eval query_length = len(query) | table query query_length record_type count | eventstats stdev(query_length) AS stdev avg(query_length) AS avg p50(query_length) AS p50| where query_length>(avg+stdev*2) | eval z_score=(query_length-avg)/stdev | `dns_query_length_with_high_standard_deviation_filter`
[ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule]
action.escu = 0
@@ -1847,7 +1847,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count from datamodel=Network_Resolution where DNS.dest_category != dns_server AND DNS.src_category != dns_server by DNS.src DNS.dest | `drop_dm_object_name("DNS")` | `dns_query_requests_resolved_by_unauthorized_dns_servers_filter`
+search = | tstats `security_content_summariesonly` count from datamodel=Network_Resolution where DNS.dest_category != dns_server AND DNS.src_category != dns_server by DNS.src DNS.dest | `drop_dm_object_name("DNS")` | `dns_query_requests_resolved_by_unauthorized_dns_servers_filter`
[ESCU - DNS record changed - Rule]
action.escu = 0
@@ -2229,7 +2229,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = `wineventlog_security` EventCode=4624 (Logon_Type=3 Logon_Process=NtLmSsp WorkstationName=WORKSTATION NOT AccountName="ANONYMOUS LOGON") OR (Logon_Type=9 Logon_Process=seclogo) | fillnull | stats count min(_time) as firstTime max(_time) as lastTime by EventCode, Logon_Type, WorkstationName, user, dest | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `detect_activity_related_to_pass_the_hash_attacks_filter`
+search = `wineventlog_security` EventCode=4624 (Logon_Type=3 Logon_Process=NtLmSsp WorkstationName=WORKSTATION NOT AccountName="ANONYMOUS LOGON") OR (Logon_Type=9 Logon_Process=seclogo) | fillnull | stats count min(_time) as firstTime max(_time) as lastTime by EventCode, Logon_Type, WorkstationName, user, dest | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `detect_activity_related_to_pass_the_hash_attacks_filter`
[ESCU - Detect Computer Changed with Anonymous Account - Rule]
action.escu = 0
@@ -2295,7 +2295,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = `sysmon` EventCode=10 TargetImage=*lsass.exe (GrantedAccess=0x1010 OR GrantedAccess=0x1410) | stats count min(_time) as firstTime max(_time) as lastTime by Computer, SourceImage, SourceProcessId, TargetImage, TargetProcessId, EventCode, GrantedAccess | rename Computer as dest | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `detect_credential_dumping_through_lsass_access_filter`
+search = `sysmon` EventCode=10 TargetImage=*lsass.exe (GrantedAccess=0x1010 OR GrantedAccess=0x1410) | stats count min(_time) as firstTime max(_time) as lastTime by Computer, SourceImage, SourceProcessId, TargetImage, TargetProcessId, EventCode, GrantedAccess | rename Computer as dest | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `detect_credential_dumping_through_lsass_access_filter`
[ESCU - Detect DNS requests to Phishing Sites leveraging EvilGinx2 - Rule]
action.escu = 0
@@ -2539,10 +2539,10 @@ search = | tstats `security_content_summariesonly` count earliest(_time) as firs
[ESCU - Detect Long DNS TXT Record Response - Rule]
action.escu = 0
action.escu.enabled = 1
-description = This search is used to detect attempts to use DNS tunneling, by calculating the length of responses to DNS TXT queries. Endpoints using DNS as a method of transmission for data exfiltration, command and control, or evasion of security controls can often be detected by noting unusually large volumes of DNS traffic.
-action.escu.mappings = {"cis20": ["CIS 8", "CIS 12", "CIS 13"], "kill_chain_phases": ["Command and Control"], "mitre_attack": ["T1071.004"], "nist": ["PR.DS", "PR.PT", "DE.AE", "DE.CM"]}
+description = This search is used to detect attempts to use DNS tunneling, by calculating the length of responses to DNS TXT queries. Endpoints using DNS as a method of transmission for data exfiltration, command and control, or evasion of security controls can often be detected by noting unusually large volumes of DNS traffic. Deprecated because this detection should focus on DNS queries instead of DNS responses.
+action.escu.mappings = {"cis20": ["CIS 8", "CIS 12", "CIS 13"], "kill_chain_phases": ["Command and Control"], "mitre_attack": ["T1048.003"], "nist": ["PR.DS", "PR.PT", "DE.AE", "DE.CM"]}
action.escu.data_models = ["Network_Resolution"]
-action.escu.eli5 = This search is used to detect attempts to use DNS tunneling, by calculating the length of responses to DNS TXT queries. Endpoints using DNS as a method of transmission for data exfiltration, command and control, or evasion of security controls can often be detected by noting unusually large volumes of DNS traffic.
+action.escu.eli5 = This search is used to detect attempts to use DNS tunneling, by calculating the length of responses to DNS TXT queries. Endpoints using DNS as a method of transmission for data exfiltration, command and control, or evasion of security controls can often be detected by noting unusually large volumes of DNS traffic. Deprecated because this detection should focus on DNS queries instead of DNS responses.
action.escu.how_to_implement = To successfully implement this search you need to ingest data from your DNS logs, or monitor DNS traffic using Stream, Bro or something similar. Specifically, this query requires that the DNS data model is populated with information regarding the DNS record type that is being returned as well as the data in the answer section of the protocol.
action.escu.known_false_positives = It's possible that legitimate TXT record responses can be long enough to trigger this search. You can modify the packet threshold for this search to help mitigate false positives.
action.escu.creation_date = 2020-07-21
@@ -2557,7 +2557,7 @@ dispatch.earliest_time = -70m@m
dispatch.latest_time = -10m@m
action.correlationsearch.enabled = 1
action.correlationsearch.label = ESCU - Detect Long DNS TXT Record Response - Rule
-action.correlationsearch.annotations = {"analytics_story": ["Suspicious DNS Traffic", "Command and Control"], "cis20": ["CIS 8", "CIS 12", "CIS 13"], "kill_chain_phases": ["Command and Control"], "mitre_attack": ["T1071.004"], "nist": ["PR.DS", "PR.PT", "DE.AE", "DE.CM"]}
+action.correlationsearch.annotations = {"analytics_story": ["Suspicious DNS Traffic", "Command and Control"], "cis20": ["CIS 8", "CIS 12", "CIS 13"], "kill_chain_phases": ["Command and Control"], "mitre_attack": ["T1048.003"], "nist": ["PR.DS", "PR.PT", "DE.AE", "DE.CM"]}
schedule_window = auto
alert.digest_mode = 1
disabled = true
@@ -2770,7 +2770,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = `cloudtrail` eventSource="s3.amazonaws.com" eventName=PutBucketAcl OR requestParameters.accessControlList.x-amz-grant-read-acp IN ("*AuthenticatedUsers","*AllUsers") OR requestParameters.accessControlList.x-amz-grant-write IN ("*AuthenticatedUsers","*AllUsers") OR requestParameters.accessControlList.x-amz-grant-write-acp IN ("*AuthenticatedUsers","*AllUsers") OR requestParameters.accessControlList.x-amz-grant-full-control IN ("*AuthenticatedUsers","*AllUsers") | rename requestParameters.bucketName AS bucketName | fillnull | stats count min(_time) as firstTime max(_time) as lastTime by userName userIdentity.principalId userAgent bucketName requestParameters.accessControlList.x-amz-grant-read requestParameters.accessControlList.x-amz-grant-read-acp requestParameters.accessControlList.x-amz-grant-write requestParameters.accessControlList.x-amz-grant-write-acp requestParameters.accessControlList.x-amz-grant-full-control | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `detect_new_open_s3_buckets_over_aws_cli_filter`
+search = `cloudtrail` eventSource="s3.amazonaws.com" eventName=PutBucketAcl OR requestParameters.accessControlList.x-amz-grant-read-acp IN ("*AuthenticatedUsers","*AllUsers") OR requestParameters.accessControlList.x-amz-grant-write IN ("*AuthenticatedUsers","*AllUsers") OR requestParameters.accessControlList.x-amz-grant-write-acp IN ("*AuthenticatedUsers","*AllUsers") OR requestParameters.accessControlList.x-amz-grant-full-control IN ("*AuthenticatedUsers","*AllUsers") | rename requestParameters.bucketName AS bucketName | fillnull | stats count min(_time) as firstTime max(_time) as lastTime by userName userIdentity.principalId userAgent bucketName requestParameters.accessControlList.x-amz-grant-read requestParameters.accessControlList.x-amz-grant-read-acp requestParameters.accessControlList.x-amz-grant-write requestParameters.accessControlList.x-amz-grant-write-acp requestParameters.accessControlList.x-amz-grant-full-control | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `detect_new_open_s3_buckets_over_aws_cli_filter`
[ESCU - Detect New Open S3 buckets - Rule]
action.escu = 0
@@ -2808,7 +2808,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = `cloudtrail` eventSource=s3.amazonaws.com eventName=PutBucketAcl | rex field=_raw "(?{.+})" | spath input=json_field output=grantees path=requestParameters.AccessControlPolicy.AccessControlList.Grant{} | search grantees=* | mvexpand grantees | spath input=grantees output=uri path=Grantee.URI | spath input=grantees output=permission path=Permission | search uri IN ("http://acs.amazonaws.com/groups/global/AllUsers","http://acs.amazonaws.com/groups/global/AuthenticatedUsers") | search permission IN ("READ","READ_ACP","WRITE","WRITE_ACP","FULL_CONTROL") | rename requestParameters.bucketName AS bucketName | stats count min(_time) as firstTime max(_time) as lastTime by userName userIdentity.principalId userAgent uri permission bucketName | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `detect_new_open_s3_buckets_filter`
+search = `cloudtrail` eventSource=s3.amazonaws.com eventName=PutBucketAcl | rex field=_raw "(?{.+})" | spath input=json_field output=grantees path=requestParameters.AccessControlPolicy.AccessControlList.Grant{} | search grantees=* | mvexpand grantees | spath input=grantees output=uri path=Grantee.URI | spath input=grantees output=permission path=Permission | search uri IN ("http://acs.amazonaws.com/groups/global/AllUsers","http://acs.amazonaws.com/groups/global/AuthenticatedUsers") | search permission IN ("READ","READ_ACP","WRITE","WRITE_ACP","FULL_CONTROL") | rename requestParameters.bucketName AS bucketName | stats count min(_time) as firstTime max(_time) as lastTime by userName userIdentity.principalId userAgent uri permission bucketName | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `detect_new_open_s3_buckets_filter`
[ESCU - Detect Oulook exe writing a zip file - Rule]
action.escu = 0
@@ -2841,7 +2841,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Processes where Processes.process_name=outlook.exe OR Processes.process_name=explorer.exe by _time span=5m Processes.parent_process_id Processes.process_id Processes.dest Processes.process_name Processes.parent_process_name Processes.user | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | rename process_id as malicious_id| rename parent_process_id as outlook_id| join malicious_id type=inner[| tstats `security_content_summariesonly` count values(Filesystem.file_path) as file_path values(Filesystem.file_name) as file_name FROM datamodel=Endpoint.Filesystem where (Filesystem.file_path=*zip* OR Filesystem.file_name=*.lnk ) AND (Filesystem.file_path=C:\\Users* OR Filesystem.file_path=*Local\\Temp*) by _time span=5m Filesystem.process_id Filesystem.file_hash Filesystem.dest | `drop_dm_object_name(Filesystem)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | rename process_id as malicious_id| fields malicious_id outlook_id dest file_path file_name file_hash count file_id] | table firstTime lastTime user malicious_id outlook_id process_name parent_process_name file_name file_path | where file_name != "" | `detect_oulook_exe_writing_a__zip_file_filter`
+search = | tstats `security_content_summariesonly` min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Processes where Processes.process_name=outlook.exe OR Processes.process_name=explorer.exe by _time span=5m Processes.parent_process_id Processes.process_id Processes.dest Processes.process_name Processes.parent_process_name Processes.user | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | rename process_id as malicious_id| rename parent_process_id as outlook_id| join malicious_id type=inner[| tstats `security_content_summariesonly` count values(Filesystem.file_path) as file_path values(Filesystem.file_name) as file_name FROM datamodel=Endpoint.Filesystem where (Filesystem.file_path=*zip* OR Filesystem.file_name=*.lnk ) AND (Filesystem.file_path=C:\\Users* OR Filesystem.file_path=*Local\\Temp*) by _time span=5m Filesystem.process_id Filesystem.file_hash Filesystem.dest | `drop_dm_object_name(Filesystem)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | rename process_id as malicious_id| fields malicious_id outlook_id dest file_path file_name file_hash count file_id] | table firstTime lastTime user malicious_id outlook_id process_name parent_process_name file_name file_path | where file_name != "" | `detect_oulook_exe_writing_a__zip_file_filter`
[ESCU - Detect Outbound SMB Traffic - Rule]
action.escu = 0
@@ -2879,10 +2879,10 @@ search = | tstats `security_content_summariesonly` earliest(_time) as start_time
[ESCU - Detect Path Interception By Creation Of program exe - Rule]
action.escu = 0
action.escu.enabled = 1
-description = The detection Detect Path Interception By Creation Of program exe is detecting the abuse of unquoted service paths, which is a popular technique for privilege escalation.
+description = The detection Detect Path Interception By Creation Of program exe is detecting the abuse of unquoted service paths, which is a popular technique for privilege escalation.
action.escu.mappings = {"cis20": ["CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1574.009"], "nist": ["PR.PT", "DE.CM"]}
action.escu.data_models = ["Endpoint"]
-action.escu.eli5 = The detection Detect Path Interception By Creation Of program exe is detecting the abuse of unquoted service paths, which is a popular technique for privilege escalation.
+action.escu.eli5 = The detection Detect Path Interception By Creation Of program exe is detecting the abuse of unquoted service paths, which is a popular technique for privilege escalation.
action.escu.how_to_implement = none
action.escu.known_false_positives = unknown
action.escu.creation_date = 2020-07-03
@@ -3039,7 +3039,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count values(Processes.dest) as dest values(Processes.user) as user min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes by Processes.process_name | rename Processes.process_name as process | rex field=user "(?.*)\\\\(?.*)" | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`| search [| tstats count from datamodel=Endpoint.Processes by Processes.process_name | rare Processes.process_name limit=30 | rename Processes.process_name as process| `filter_rare_process_whitelist`| table process ] | `detect_rare_executables_filter`
+search = | tstats `security_content_summariesonly` count values(Processes.dest) as dest values(Processes.user) as user min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes by Processes.process_name | rename Processes.process_name as process | rex field=user "(?.*)\\\\(?.*)" | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`| search [| tstats count from datamodel=Endpoint.Processes by Processes.process_name | rare Processes.process_name limit=30 | rename Processes.process_name as process| `filter_rare_process_whitelist`| table process ] | `detect_rare_executables_filter`
[ESCU - Detect Rogue DHCP Server - Rule]
action.escu = 0
@@ -3198,7 +3198,7 @@ This search produces fields (`eventName`,`numberOfApiCalls`,`uniqueApisCalled`)
1. \
1. **Label:** Unique API Calls, **Field:** uniqueApisCalled\
Detailed documentation on how to create a new field within Incident Review may be found here: `https://docs.splunk.com/Documentation/ES/5.3.0/Admin/Customizenotables#Add_a_field_to_the_notable_event_details`
-action.escu.known_false_positives =
+action.escu.known_false_positives =
action.escu.creation_date = 2020-07-21
action.escu.modification_date = 2020-07-21
action.escu.confidence = high
@@ -3642,7 +3642,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count from datamodel=Network_Resolution where DNS.query_type IN (SIG,KEY) by DNS.flow_id | rename DNS.flow_id as flow_id | append [| tstats `security_content_summariesonly` count from datamodel=Network_Traffic where All_Traffic.bytes_in>65000 by All_Traffic.flow_id | rename All_Traffic.flow_id as flow_id] | `detect_windows_dns_sigred_via_zeek_filter` | stats count by flow_id | where count>1 | fields - count
+search = | tstats `security_content_summariesonly` count from datamodel=Network_Resolution where DNS.query_type IN (SIG,KEY) by DNS.flow_id | rename DNS.flow_id as flow_id | append [| tstats `security_content_summariesonly` count from datamodel=Network_Traffic where All_Traffic.bytes_in>65000 by All_Traffic.flow_id | rename All_Traffic.flow_id as flow_id] | `detect_windows_dns_sigred_via_zeek_filter` | stats count by flow_id | where count>1 | fields - count
[ESCU - Detect Zerologon via Zeek - Rule]
action.escu = 0
@@ -3714,7 +3714,7 @@ search = | tstats `security_content_summariesonly` count min(_time) as firstTime
action.escu = 0
action.escu.enabled = 1
description = Malicious actors often abuse legitimate Dynamic DNS services to host malicious payloads or interactive command and control nodes. Attackers will automate domain resolution changes by routing dynamic domains to countless IP addresses to circumvent firewall blocks, blacklists as well as frustrate a network defenders analytic and investigative processes. This search will look for DNS queries made from within your infrastructure to suspicious dynamic domains.
-action.escu.mappings = {"cis20": ["CIS 8", "CIS 12", "CIS 13"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "nist": ["PR.DS", "PR.PT", "DE.AE", "DE.CM"]}
+action.escu.mappings = {"cis20": ["CIS 8", "CIS 12", "CIS 13"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "mitre_attack": ["T1189"], "nist": ["PR.DS", "PR.PT", "DE.AE", "DE.CM"]}
action.escu.data_models = ["Network_Resolution"]
action.escu.eli5 = Malicious actors often abuse legitimate Dynamic DNS services to host malicious payloads or interactive command and control nodes. Attackers will automate domain resolution changes by routing dynamic domains to countless IP addresses to circumvent firewall blocks, blacklists as well as frustrate a network defenders analytic and investigative processes. This search will look for DNS queries made from within your infrastructure to suspicious dynamic domains.
action.escu.how_to_implement = First, you'll need to ingest data from your DNS operations. This can be done by ingesting logs from your server or data, collected passively by Splunk Stream or a similar solution. Specifically, data that contains the domain that is being queried and the IP of the host originating the request must be populating the `Network_Resolution` data model. This search also leverages a lookup file, `dynamic_dns_providers_default.csv`, which contains a non-exhaustive list of Dynamic DNS providers. Please consider updating the local lookup periodically by adding new domains to the list of `dynamic_dns_providers_local.csv`.\
@@ -3725,8 +3725,8 @@ This search produces fields (query, answer, isDynDNS) that are not yet supported
1. **Label:** IsDynamicDNS, **Field:** isDynDNS\
Detailed documentation on how to create a new field within Incident Review may be found here: `https://docs.splunk.com/Documentation/ES/5.3.0/Admin/Customizenotables#Add_a_field_to_the_notable_event_details`
action.escu.known_false_positives = Some users and applications may leverage Dynamic DNS to reach out to some domains on the Internet since dynamic DNS by itself is not malicious, however this activity must be verified.
-action.escu.creation_date = 2020-01-16
-action.escu.modification_date = 2020-01-16
+action.escu.creation_date = 2021-01-14
+action.escu.modification_date = 2021-01-14
action.escu.confidence = high
action.escu.full_search_name = ESCU - Detect hosts connecting to dynamic domain providers - Rule
action.escu.search_type = detection
@@ -3737,7 +3737,7 @@ dispatch.earliest_time = -70m@m
dispatch.latest_time = -10m@m
action.correlationsearch.enabled = 1
action.correlationsearch.label = ESCU - Detect hosts connecting to dynamic domain providers - Rule
-action.correlationsearch.annotations = {"analytics_story": ["Data Protection", "Prohibited Traffic Allowed or Protocol Mismatch", "DNS Hijacking", "Suspicious DNS Traffic", "Dynamic DNS", "Command and Control"], "cis20": ["CIS 8", "CIS 12", "CIS 13"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "nist": ["PR.DS", "PR.PT", "DE.AE", "DE.CM"]}
+action.correlationsearch.annotations = {"analytics_story": ["Data Protection", "Prohibited Traffic Allowed or Protocol Mismatch", "DNS Hijacking", "Suspicious DNS Traffic", "Dynamic DNS", "Command and Control"], "cis20": ["CIS 8", "CIS 12", "CIS 13"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "mitre_attack": ["T1189"], "nist": ["PR.DS", "PR.PT", "DE.AE", "DE.CM"]}
schedule_window = auto
alert.digest_mode = 1
disabled = true
@@ -3747,7 +3747,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count values(DNS.answer) as answer min(_time) as firstTime from datamodel=Network_Resolution by DNS.src, DNS.query | `drop_dm_object_name("DNS")` | `security_content_ctime(firstTime)` | `dynamic_dns_providers` | `detect_hosts_connecting_to_dynamic_domain_providers_filter`
+search = | tstats `security_content_summariesonly` count values(DNS.answer) as answer min(_time) as firstTime from datamodel=Network_Resolution by DNS.query host | `drop_dm_object_name("DNS")` | `security_content_ctime(firstTime)` | `dynamic_dns_providers` | `detect_hosts_connecting_to_dynamic_domain_providers_filter`
[ESCU - Detect malicious requests to exploit JBoss servers - Rule]
action.escu = 0
@@ -3928,7 +3928,7 @@ action.escu.data_models = ["Web"]
action.escu.eli5 = This search looks for web connections to dynamic DNS providers.
action.escu.how_to_implement = This search requires you to be ingesting web-traffic logs. You can obtain these logs from indexing data from a web proxy or by using a network-traffic-analysis tool, such as Bro or Splunk Stream. The web data model must contain the URL being requested, the IP address of the host initiating the request, and the destination IP. This search also leverages a lookup file, `dynamic_dns_providers_default.csv`, which contains a non-exhaustive list of dynamic DNS providers. Consider periodically updating this local lookup file with new domains.\
This search produces fields (`isDynDNS`) that are not yet supported by ES Incident Review and therefore cannot be viewed when a notable event is raised. These fields contribute additional context to the notable. To see the additional metadata, add the following fields, if not already present, to Incident Review - Event Attributes (Configure > Incident Management > Incident Review Settings > Add New Entry):\\n1. **Label:** IsDynamicDNS, **Field:** isDynDNS\
-Detailed documentation on how to create a new field within Incident Review may be found here: `https://docs.splunk.com/Documentation/ES/5.3.0/Admin/Customizenotables#Add_a_field_to_the_notable_event_details`
+Detailed documentation on how to create a new field within Incident Review may be found here: `https://docs.splunk.com/Documentation/ES/5.3.0/Admin/Customizenotables#Add_a_field_to_the_notable_event_details` Deprecated because duplicate.
action.escu.known_false_positives = It is possible that list of dynamic DNS providers is outdated and/or that the URL being requested is legitimate.
action.escu.creation_date = 2020-07-21
action.escu.modification_date = 2020-07-21
@@ -3957,10 +3957,10 @@ search = | tstats `security_content_summariesonly` count values(Web.url) as url
[ESCU - Detection of DNS Tunnels - Rule]
action.escu = 0
action.escu.enabled = 1
-description = This search is used to detect DNS tunneling, by calculating the sum of the length of DNS queries and DNS answers. The search also filters out potential false positives by filtering out queries made to internal systems and the queries originating from internal DNS, Web, and Email servers. Endpoints using DNS as a method of transmission for data exfiltration, command and control, or evasion of security controls can often be detected by noting an unusually large volume of DNS traffic.
-action.escu.mappings = {"cis20": ["CIS 13"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "mitre_attack": ["T1071.004"], "nist": ["PR.PT", "PR.DS"]}
+description = This search is used to detect DNS tunneling, by calculating the sum of the length of DNS queries and DNS answers. The search also filters out potential false positives by filtering out queries made to internal systems and the queries originating from internal DNS, Web, and Email servers. Endpoints using DNS as a method of transmission for data exfiltration, command and control, or evasion of security controls can often be detected by noting an unusually large volume of DNS traffic. Deprecated because existing detection is doing the same.
+action.escu.mappings = {"cis20": ["CIS 13"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "mitre_attack": ["T1048.003"], "nist": ["PR.PT", "PR.DS"]}
action.escu.data_models = ["Network_Resolution"]
-action.escu.eli5 = This search is used to detect DNS tunneling, by calculating the sum of the length of DNS queries and DNS answers. The search also filters out potential false positives by filtering out queries made to internal systems and the queries originating from internal DNS, Web, and Email servers. Endpoints using DNS as a method of transmission for data exfiltration, command and control, or evasion of security controls can often be detected by noting an unusually large volume of DNS traffic.
+action.escu.eli5 = This search is used to detect DNS tunneling, by calculating the sum of the length of DNS queries and DNS answers. The search also filters out potential false positives by filtering out queries made to internal systems and the queries originating from internal DNS, Web, and Email servers. Endpoints using DNS as a method of transmission for data exfiltration, command and control, or evasion of security controls can often be detected by noting an unusually large volume of DNS traffic. Deprecated because existing detection is doing the same.
action.escu.how_to_implement = To successfully implement this search, we must ensure that DNS data is being ingested and mapped to the appropriate fields in the Network_Resolution data model. Fields like src_category are automatically provided by the Assets and Identity Framework shipped with Splunk Enterprise Security. You will need to ensure you are using the Assets and Identity Framework and populating the src_category field. You will also need to enable the `cim_corporate_web_domain_search()` macro which will essentially filter out the DNS queries made to the corporate web domains to reduce alert fatigue.
action.escu.known_false_positives = It's possible that normal DNS traffic will exhibit this behavior. If an alert is generated, please investigate and validate as appropriate. The threshold can also be modified to better suit your environment.
action.escu.creation_date = 2017-09-18
@@ -3975,7 +3975,7 @@ dispatch.earliest_time = -70m@m
dispatch.latest_time = -10m@m
action.correlationsearch.enabled = 1
action.correlationsearch.label = ESCU - Detection of DNS Tunnels - Rule
-action.correlationsearch.annotations = {"analytics_story": ["Data Protection", "Suspicious DNS Traffic", "Command and Control"], "cis20": ["CIS 13"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "mitre_attack": ["T1071.004"], "nist": ["PR.PT", "PR.DS"]}
+action.correlationsearch.annotations = {"analytics_story": ["Data Protection", "Suspicious DNS Traffic", "Command and Control"], "cis20": ["CIS 13"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "mitre_attack": ["T1048.003"], "nist": ["PR.PT", "PR.DS"]}
schedule_window = auto
alert.digest_mode = 1
disabled = true
@@ -4327,7 +4327,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count values(Filesystem.file_path) as file_path min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Filesystem where (Filesystem.file_name=*.pst OR Filesystem.file_name=*.ost) Filesystem.file_path != "C:\\Users\\*\\My Documents\\Outlook Files\\*" Filesystem.file_path!="C:\\Users\\*\\AppData\\Local\\Microsoft\\Outlook*" by Filesystem.action Filesystem.process_id Filesystem.file_name Filesystem.dest | `drop_dm_object_name("Filesystem")` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`| `email_files_written_outside_of_the_outlook_directory_filter`
+search = | tstats `security_content_summariesonly` count values(Filesystem.file_path) as file_path min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Filesystem where (Filesystem.file_name=*.pst OR Filesystem.file_name=*.ost) Filesystem.file_path != "C:\\Users\\*\\My Documents\\Outlook Files\\*" Filesystem.file_path!="C:\\Users\\*\\AppData\\Local\\Microsoft\\Outlook*" by Filesystem.action Filesystem.process_id Filesystem.file_name Filesystem.dest | `drop_dm_object_name("Filesystem")` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`| `email_files_written_outside_of_the_outlook_directory_filter`
[ESCU - Email servers sending high volume traffic to hosts - Rule]
action.escu = 0
@@ -4624,7 +4624,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name = cmd.exe Processes.process = "* /c *" by Processes.process Processes.process_name Processes.parent_process_name Processes.dest| `drop_dm_object_name(Processes)`| `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | search [| tstats `security_content_summariesonly` earliest(_time) as firstTime latest(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name = cmd.exe Processes.process = "* /c *" by Processes.process | `drop_dm_object_name(Processes)` | inputlookup append=t previously_seen_cmd_line_arguments | stats min(firstTime) as firstTime, max(lastTime) as lastTime by process | outputlookup previously_seen_cmd_line_arguments | eval newCmdLineArgument=if(firstTime >= relative_time(now(), "-70m@m"), 1, 0) | where newCmdLineArgument=1 | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | table process] | `first_time_seen_command_line_argument_filter`
+search = | tstats `security_content_summariesonly` min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name = cmd.exe Processes.process = "* /c *" by Processes.process Processes.process_name Processes.parent_process_name Processes.dest| `drop_dm_object_name(Processes)`| `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | search [| tstats `security_content_summariesonly` earliest(_time) as firstTime latest(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name = cmd.exe Processes.process = "* /c *" by Processes.process | `drop_dm_object_name(Processes)` | inputlookup append=t previously_seen_cmd_line_arguments | stats min(firstTime) as firstTime, max(lastTime) as lastTime by process | outputlookup previously_seen_cmd_line_arguments | eval newCmdLineArgument=if(firstTime >= relative_time(now(), "-70m@m"), 1, 0) | where newCmdLineArgument=1 | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | table process] | `first_time_seen_command_line_argument_filter`
[ESCU - GCP Detect accounts with high risk roles by project - Rule]
action.escu = 0
@@ -4756,7 +4756,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = |tstats count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Cloud_Infrastructure.Storage where Storage.event_name=storage.objects.create by Storage.src_user Storage.account Storage.action Storage.bucket_name Storage.event_name Storage.http_user_agent Storage.msg Storage.object_path | `drop_dm_object_name("Storage")` | `gcp_gcr_container_uploaded_filter`
+search = |tstats count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Cloud_Infrastructure.Storage where Storage.event_name=storage.objects.create by Storage.src_user Storage.account Storage.action Storage.bucket_name Storage.event_name Storage.http_user_agent Storage.msg Storage.object_path | `drop_dm_object_name("Storage")` | `gcp_gcr_container_uploaded_filter`
[ESCU - GCP Kubernetes cluster pod scan detection - Rule]
action.escu = 0
@@ -4822,7 +4822,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = `google_gcp_pubsub_message` data.protoPayload.requestMetadata.callerIp!=127.0.0.1 data.protoPayload.requestMetadata.callerIp!=::1 "data.labels.authorization.k8s.io/decision"=forbid "data.protoPayload.status.message"=PERMISSION_DENIED data.protoPayload.authenticationInfo.principalEmail="system:anonymous" | rename data.protoPayload.requestMetadata.callerIp as src_ip | stats count min(_time) as firstTime max(_time) as lastTime values(data.protoPayload.methodName) as method_name values(data.protoPayload.resourceName) as resource_name values(data.protoPayload.requestMetadata.callerSuppliedUserAgent) as http_user_agent by src_ip data.resource.labels.cluster_name | rename data.resource.labels.cluster_name as cluster_name| `security_content_ctime(lastTime)` | `security_content_ctime(firstTime)` | `gcp_kubernetes_cluster_scan_detection_filter`
+search = `google_gcp_pubsub_message` data.protoPayload.requestMetadata.callerIp!=127.0.0.1 data.protoPayload.requestMetadata.callerIp!=::1 "data.labels.authorization.k8s.io/decision"=forbid "data.protoPayload.status.message"=PERMISSION_DENIED data.protoPayload.authenticationInfo.principalEmail="system:anonymous" | rename data.protoPayload.requestMetadata.callerIp as src_ip | stats count min(_time) as firstTime max(_time) as lastTime values(data.protoPayload.methodName) as method_name values(data.protoPayload.resourceName) as resource_name values(data.protoPayload.requestMetadata.callerSuppliedUserAgent) as http_user_agent by src_ip data.resource.labels.cluster_name | rename data.resource.labels.cluster_name as cluster_name| `security_content_ctime(lastTime)` | `security_content_ctime(firstTime)` | `gcp_kubernetes_cluster_scan_detection_filter`
[ESCU - Hiding Files And Directories With Attrib exe - Rule]
action.escu = 0
@@ -4832,7 +4832,7 @@ action.escu.mappings = {"cis20": ["CIS 8"], "kill_chain_phases": ["Actions on Ob
action.escu.data_models = ["Endpoint"]
action.escu.eli5 = Attackers leverage an existing Windows binary, attrib.exe, to mark specific as hidden by using specific flags so that the victim does not see the file. The search looks for specific command-line arguments to detect the use of attrib.exe to hide files.
action.escu.how_to_implement = You must be ingesting data that records process activity from your hosts to populate the Endpoint data model in the Processes node. You must also be ingesting logs with both the process name and command line from your endpoints. The command-line arguments are mapped to the "process" field in the Endpoint data model.
-action.escu.known_false_positives = Some applications and users may legitimately use attrib.exe to interact with the files.
+action.escu.known_false_positives = Some applications and users may legitimately use attrib.exe to interact with the files.
action.escu.creation_date = 2020-07-21
action.escu.modification_date = 2020-07-21
action.escu.confidence = high
@@ -4855,15 +4855,15 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count min(_time) values(Processes.process) as process max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=attrib.exe (Processes.process=*+h*) by Processes.parent_process Processes.process_name Processes.user Processes.dest | `drop_dm_object_name("Processes")` | `security_content_ctime(firstTime)`|`security_content_ctime(lastTime)`| `hiding_files_and_directories_with_attrib_exe_filter`
+search = | tstats `security_content_summariesonly` count min(_time) values(Processes.process) as process max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=attrib.exe (Processes.process=*+h*) by Processes.parent_process Processes.process_name Processes.user Processes.dest | `drop_dm_object_name("Processes")` | `security_content_ctime(firstTime)`|`security_content_ctime(lastTime)`| `hiding_files_and_directories_with_attrib_exe_filter`
[ESCU - High Number of Login Failures from a single source - Rule]
action.escu = 0
action.escu.enabled = 1
-description = This search will detect more than 5 login failures in Office365 Azure Active Directory from a single source IP address. Please adjust the threshold value of 5 as suited for your environment.
+description = This search will detect more than 5 login failures in Office365 Azure Active Directory from a single source IP address. Please adjust the threshold value of 5 as suited for your environment. Deprecated because duplicate.
action.escu.mappings = {"cis20": ["CIS 16"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1110.001"], "nist": ["DE.DP", "DE.AE"]}
action.escu.data_models = []
-action.escu.eli5 = This search will detect more than 5 login failures in Office365 Azure Active Directory from a single source IP address. Please adjust the threshold value of 5 as suited for your environment.
+action.escu.eli5 = This search will detect more than 5 login failures in Office365 Azure Active Directory from a single source IP address. Please adjust the threshold value of 5 as suited for your environment. Deprecated because duplicate.
action.escu.how_to_implement = none
action.escu.known_false_positives = unknown
action.escu.creation_date = 2020-12-16
@@ -5063,7 +5063,7 @@ action.escu.mappings = {"kill_chain_phases": ["Lateral Movement"]}
action.escu.data_models = []
action.escu.eli5 = This search provides information on Kubernetes accounts accessing sensitve objects such as configmpas or secrets
action.escu.how_to_implement = You must install splunk AWS add on and Splunk App for AWS. This search works with cloudwatch logs.
-action.escu.known_false_positives = Sensitive role resource access is necessary for cluster operation, however source IP, namespace and user group may indicate possible malicious use.
+action.escu.known_false_positives = Sensitive role resource access is necessary for cluster operation, however source IP, namespace and user group may indicate possible malicious use.
action.escu.creation_date = 2020-06-23
action.escu.modification_date = 2020-06-23
action.escu.confidence = high
@@ -5261,7 +5261,7 @@ action.escu.mappings = {"kill_chain_phases": ["Lateral Movement"]}
action.escu.data_models = []
action.escu.eli5 = This search provides information on Kubernetes accounts accessing sensitve objects such as configmpas or secrets
action.escu.how_to_implement = You must install the Add-on for Microsoft Cloud Services and Configure Kube-Audit data diagnostics
-action.escu.known_false_positives = Sensitive role resource access is necessary for cluster operation, however source IP, namespace and user group may indicate possible malicious use.
+action.escu.known_false_positives = Sensitive role resource access is necessary for cluster operation, however source IP, namespace and user group may indicate possible malicious use.
action.escu.creation_date = 2020-05-20
action.escu.modification_date = 2020-05-20
action.escu.confidence = high
@@ -5525,7 +5525,7 @@ action.escu.mappings = {"kill_chain_phases": ["Lateral Movement"]}
action.escu.data_models = []
action.escu.eli5 = This search provides information on Kubernetes accounts accessing sensitve objects such as configmpas or secrets
action.escu.how_to_implement = You must install splunk add on for GCP. This search works with pubsub messaging servicelogs.
-action.escu.known_false_positives = Sensitive role resource access is necessary for cluster operation, however source IP, user agent, decision and reason may indicate possible malicious use.
+action.escu.known_false_positives = Sensitive role resource access is necessary for cluster operation, however source IP, user agent, decision and reason may indicate possible malicious use.
action.escu.creation_date = 2020-07-11
action.escu.modification_date = 2020-07-11
action.escu.confidence = high
@@ -5785,13 +5785,13 @@ search = | tstats `security_content_summariesonly` values(Processes.process_id)
action.escu = 0
action.escu.enabled = 1
description = This search looks for PowerShell processes started with a base64 encoded command-line passed to it, with parameters to modify the execution policy for the process, and those that prevent the display of an interactive prompt to the user. This combination of command-line options is suspicious because it overrides the default PowerShell execution policy, attempts to hide itself from the user, and passes an encoded script to be run on the command-line.
-action.escu.mappings = {"cis20": ["CIS 3", "CIS 7", "CIS 8"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "mitre_attack": ["T1027"], "nist": ["PR.PT", "DE.CM", "PR.IP"]}
+action.escu.mappings = {"cis20": ["CIS 3", "CIS 7", "CIS 8"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "mitre_attack": ["T1059.001"], "nist": ["PR.PT", "DE.CM", "PR.IP"]}
action.escu.data_models = ["Endpoint"]
action.escu.eli5 = This search looks for PowerShell processes started with a base64 encoded command-line passed to it, with parameters to modify the execution policy for the process, and those that prevent the display of an interactive prompt to the user. This combination of command-line options is suspicious because it overrides the default PowerShell execution policy, attempts to hide itself from the user, and passes an encoded script to be run on the command-line.
action.escu.how_to_implement = You must be ingesting data that records process activity from your hosts to populate the Endpoint data model in the Processes node. You must also be ingesting logs with both the process name and command line from your endpoints. The command-line arguments are mapped to the "process" field in the Endpoint data model.
action.escu.known_false_positives = Legitimate process can have this combination of command-line options, but it's not common.
-action.escu.creation_date = 2020-11-20
-action.escu.modification_date = 2020-11-20
+action.escu.creation_date = 2021-01-19
+action.escu.modification_date = 2021-01-19
action.escu.confidence = high
action.escu.full_search_name = ESCU - Malicious PowerShell Process - Multiple Suspicious Command-Line Arguments - Rule
action.escu.search_type = detection
@@ -5802,7 +5802,7 @@ dispatch.earliest_time = -70m@m
dispatch.latest_time = -10m@m
action.correlationsearch.enabled = 1
action.correlationsearch.label = ESCU - Malicious PowerShell Process - Multiple Suspicious Command-Line Arguments - Rule
-action.correlationsearch.annotations = {"analytics_story": ["Malicious PowerShell"], "cis20": ["CIS 3", "CIS 7", "CIS 8"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "mitre_attack": ["T1027"], "nist": ["PR.PT", "DE.CM", "PR.IP"]}
+action.correlationsearch.annotations = {"analytics_story": ["Malicious PowerShell"], "cis20": ["CIS 3", "CIS 7", "CIS 8"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "mitre_attack": ["T1059.001"], "nist": ["PR.PT", "DE.CM", "PR.IP"]}
schedule_window = auto
alert.digest_mode = 1
disabled = true
@@ -5812,7 +5812,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count values(Processes.process) as process values(Processes.parent_process) as parent_process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=powershell.exe by Processes.user Processes.process_name Processes.parent_process_name Processes.dest | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`| search (process=*-EncodedCommand* OR process=*-enc*) process=*-Exec* AND process=*-NonI* | `malicious_powershell_process___multiple_suspicious_command_line_arguments_filter`
+search = | tstats `security_content_summariesonly` count values(Processes.process) as process values(Processes.parent_process) as parent_process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=powershell.exe by Processes.user Processes.process_name Processes.parent_process_name Processes.dest | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`| search (process=*-EncodedCommand* OR process=*-enc*) process=*-Exec* | `malicious_powershell_process___multiple_suspicious_command_line_arguments_filter`
[ESCU - Malicious PowerShell Process With Obfuscation Techniques - Rule]
action.escu = 0
@@ -5823,8 +5823,8 @@ action.escu.data_models = ["Endpoint"]
action.escu.eli5 = This search looks for PowerShell processes launched with arguments that have characters indicative of obfuscation on the command-line.
action.escu.how_to_implement = You must be ingesting data that records process activity from your hosts to populate the Endpoint data model in the Processes node. You must also be ingesting logs with both the process name and command line from your endpoints. The command-line arguments are mapped to the "process" field in the Endpoint data model. Deprecated because the detection need rework and would need to work base on powershell logs.
action.escu.known_false_positives = These characters might be legitimately on the command-line, but it is not common.
-action.escu.creation_date = 2020-07-21
-action.escu.modification_date = 2020-07-21
+action.escu.creation_date = 2021-01-19
+action.escu.modification_date = 2021-01-19
action.escu.confidence = high
action.escu.full_search_name = ESCU - Malicious PowerShell Process With Obfuscation Techniques - Rule
action.escu.search_type = detection
@@ -5845,7 +5845,8 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count values(Processes.process) as process values(Processes.parent_process) as parent_process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=powershell.exe by Processes.user Processes.process_name Processes.parent_process_name Processes.dest Processes.process | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`| eval num_obfuscation = (mvcount(split(process, "`"))-1) + (mvcount(split(process, "^"))-1) | `malicious_powershell_process_with_obfuscation_techniques_filter` | search num_obfuscation > 0
+search = | tstats `security_content_summariesonly` count values(Processes.process) as process values(Processes.parent_process) as parent_process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=powershell.exe by Processes.user Processes.process_name Processes.parent_process_name Processes.dest Processes.process | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`| eval num_obfuscation = (mvcount(split(process, "`"))-1) + (mvcount(split(process, "^"))-1) + (mvcount(split(process, "\'"))-1) | `malicious_powershell_process_with_obfuscation_techniques_filter` | search num_obfuscation > 10
+
[ESCU - Monitor DNS For Brand Abuse - Rule]
action.escu = 0
@@ -6010,7 +6011,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = `okta` outcome.reason=INVALID_CREDENTIALS | rename client.geographicalContext.country as country, client.geographicalContext.state as state, client.geographicalContext.city as city | stats min(_time) as firstTime max(_time) as lastTime dc(user) as distinct_users values(user) as users by src_ip, displayMessage, outcome.reason, country, state, city | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | search distinct_users > 5| `multiple_okta_users_with_invalid_credentails_from_the_same_ip_filter`
+search = `okta` outcome.reason=INVALID_CREDENTIALS | rename client.geographicalContext.country as country, client.geographicalContext.state as state, client.geographicalContext.city as city | stats min(_time) as firstTime max(_time) as lastTime dc(user) as distinct_users values(user) as users by src_ip, displayMessage, outcome.reason, country, state, city | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | search distinct_users > 5| `multiple_okta_users_with_invalid_credentails_from_the_same_ip_filter`
[ESCU - New container uploaded to AWS ECR - Rule]
action.escu = 0
@@ -6043,7 +6044,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Cloud_Infrastructure.Compute where Compute.user_type!="AssumeRole" AND Compute.http_user_agent="AWS Internal" AND Compute.event_name="PutImage" by Compute.image_id Compute.src_user Compute.src Compute.region Compute.msg Compute.user_type | `drop_dm_object_name("Compute")` | `new_container_uploaded_to_aws_ecr_filter`
+search = | tstats count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Cloud_Infrastructure.Compute where Compute.user_type!="AssumeRole" AND Compute.http_user_agent="AWS Internal" AND Compute.event_name="PutImage" by Compute.image_id Compute.src_user Compute.src Compute.region Compute.msg Compute.user_type | `drop_dm_object_name("Compute")` | `new_container_uploaded_to_aws_ecr_filter`
[ESCU - No Windows Updates in a time frame - Rule]
action.escu = 0
@@ -6078,6 +6079,39 @@ realtime_schedule = 0
is_visible = false
search = | tstats `security_content_summariesonly` max(_time) as lastTime from datamodel=Updates where Updates.status=Installed Updates.vendor_product="Microsoft Windows" by Updates.dest Updates.status Updates.vendor_product | rename Updates.dest as Host | rename Updates.status as "Update Status" | rename Updates.vendor_product as Product | eval isOutlier=if(lastTime <= relative_time(now(), "-60d@d"), 1, 0) | `security_content_ctime(lastTime)` | search isOutlier=1 | rename lastTime as "Last Update Time", | table Host, "Update Status", Product, "Last Update Time" | `no_windows_updates_in_a_time_frame_filter`
+[ESCU - O365 Bypass MFA via Trusted IP - Rule]
+action.escu = 0
+action.escu.enabled = 1
+description = This search detects newly added IP addresses/CIDR blocks to the list of MFA Trusted IPs to bypass multi factor authentication. Attackers are often known to use this technique so that they can bypass the MFA system.
+action.escu.mappings = {"kill_chain_phases": ["Actions on Objective"], "mitre_attack": ["T1562.007"]}
+action.escu.data_models = []
+action.escu.eli5 = This search detects newly added IP addresses/CIDR blocks to the list of MFA Trusted IPs to bypass multi factor authentication. Attackers are often known to use this technique so that they can bypass the MFA system.
+action.escu.how_to_implement = You must install Splunk Microsoft Office 365 add-on. This search works with o365:management:activity
+action.escu.known_false_positives = Unless it is a special case, it is uncommon to continually update Trusted IPs to MFA configuration.
+action.escu.creation_date = 2021-01-12
+action.escu.modification_date = 2021-01-12
+action.escu.confidence = high
+action.escu.full_search_name = ESCU - O365 Bypass MFA via Trusted IP - Rule
+action.escu.search_type = detection
+action.escu.providing_technologies = []
+action.escu.analytic_story = ["Office 365 Detections"]
+cron_schedule = 0 * * * *
+dispatch.earliest_time = -70m@m
+dispatch.latest_time = -10m@m
+action.correlationsearch.enabled = 1
+action.correlationsearch.label = ESCU - O365 Bypass MFA via Trusted IP - Rule
+action.correlationsearch.annotations = {"analytics_story": ["Office 365 Detections"], "kill_chain_phases": ["Actions on Objective"], "mitre_attack": ["T1562.007"]}
+schedule_window = auto
+alert.digest_mode = 1
+disabled = true
+enableSched = 1
+counttype = number of events
+relation = greater than
+quantity = 0
+realtime_schedule = 0
+is_visible = false
+search = `o365_management_activity` signature="Set Company Information." ModifiedProperties{}.Name=StrongAuthenticationPolicy | rex max_match=100 field=ModifiedProperties{}.NewValue "(?\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/\d{1,2})" | rex max_match=100 field=ModifiedProperties{}.OldValue "(?\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/\d{1,2})" | eval ip_addresses_old=if(isnotnull(ip_addresses_old),ip_addresses_old,"0") | mvexpand ip_addresses_new_added | where isnull(mvfind(ip_addresses_old,ip_addresses_new_added)) |stats count min(_time) as firstTime max(_time) as lastTime values(ip_addresses_old) as ip_addresses_old by user ip_addresses_new_added signature vendor_product vendor_account status user_id action | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`| `o365_bypass_mfa_via_trusted_ip_filter`
+
[ESCU - O365 Disable MFA - Rule]
action.escu = 0
action.escu.enabled = 1
@@ -6307,7 +6341,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = `okta` displayMessage="Max sign in attempts exceeded" | rename client.geographicalContext.country as country, client.geographicalContext.state as state, client.geographicalContext.city as city | table _time, user, country, state, city, src_ip | `okta_account_lockout_events_filter`
+search = `okta` displayMessage="Max sign in attempts exceeded" | rename client.geographicalContext.country as country, client.geographicalContext.state as state, client.geographicalContext.city as city | table _time, user, country, state, city, src_ip | `okta_account_lockout_events_filter`
[ESCU - Okta Failed SSO Attempts - Rule]
action.escu = 0
@@ -6340,7 +6374,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = `okta` displayMessage="User attempted unauthorized access to app" | stats min(_time) as firstTime max(_time) as lastTime values(app) as Apps count by user, result ,displayMessage, src_ip | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `okta_failed_sso_attempts_filter`
+search = `okta` displayMessage="User attempted unauthorized access to app" | stats min(_time) as firstTime max(_time) as lastTime values(app) as Apps count by user, result ,displayMessage, src_ip | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `okta_failed_sso_attempts_filter`
[ESCU - Okta User Logins From Multiple Cities - Rule]
action.escu = 0
@@ -6505,7 +6539,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count values(Processes.process) as process min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Processes where Processes.parent_process_name = *WmiPrvSE.exe by Processes.user Processes.dest Processes.process_name | `drop_dm_object_name("Processes")` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`| `process_execution_via_wmi_filter`
+search = | tstats `security_content_summariesonly` count values(Processes.process) as process min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Processes where Processes.parent_process_name = *WmiPrvSE.exe by Processes.user Processes.dest Processes.process_name | `drop_dm_object_name("Processes")` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`| `process_execution_via_wmi_filter`
[ESCU - Processes Tapping Keyboard Events - Rule]
action.escu = 0
@@ -6967,7 +7001,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Network_Traffic where All_Traffic.dest_port=3389 AND All_Traffic.dest_category!=common_rdp_destination AND All_Traffic.src_category!=common_rdp_source by All_Traffic.src All_Traffic.dest All_Traffic.dest_port | `drop_dm_object_name("All_Traffic")` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `remote_desktop_network_traffic_filter`
+search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Network_Traffic where All_Traffic.dest_port=3389 AND All_Traffic.dest_category!=common_rdp_destination AND All_Traffic.src_category!=common_rdp_source by All_Traffic.src All_Traffic.dest All_Traffic.dest_port | `drop_dm_object_name("All_Traffic")` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `remote_desktop_network_traffic_filter`
[ESCU - Remote Desktop Process Running On System - Rule]
action.escu = 0
@@ -7000,7 +7034,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process=*mstsc.exe AND Processes.dest_category!=common_rdp_source by Processes.dest Processes.user Processes.process | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `drop_dm_object_name(Processes)` | `remote_desktop_process_running_on_system_filter`
+search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process=*mstsc.exe AND Processes.dest_category!=common_rdp_source by Processes.dest Processes.user Processes.process | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `drop_dm_object_name(Processes)` | `remote_desktop_process_running_on_system_filter`
[ESCU - Remote Process Instantiation via WMI - Rule]
action.escu = 0
@@ -7198,7 +7232,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count from datamodel=Network_Traffic where All_Traffic.dest_port=139 OR All_Traffic.dest_port=445 OR All_Traffic.app=smb by _time span=1h, All_Traffic.src | `drop_dm_object_name("All_Traffic")` | eventstats max(_time) as maxtime | stats count as num_data_samples max(eval(if(_time >= relative_time(maxtime, "-70m@m"), count, null))) as count avg(eval(if(_time upperBound AND num_data_samples >=50, 1, 0) | where isOutlier=1 | table src count | `smb_traffic_spike_filter`
+search = | tstats `security_content_summariesonly` count from datamodel=Network_Traffic where All_Traffic.dest_port=139 OR All_Traffic.dest_port=445 OR All_Traffic.app=smb by _time span=1h, All_Traffic.src | `drop_dm_object_name("All_Traffic")` | eventstats max(_time) as maxtime | stats count as num_data_samples max(eval(if(_time >= relative_time(maxtime, "-70m@m"), count, null))) as count avg(eval(if(_time upperBound AND num_data_samples >=50, 1, 0) | where isOutlier=1 | table src count | `smb_traffic_spike_filter`
[ESCU - SMB Traffic Spike - MLTK - Rule]
action.escu = 0
@@ -7234,7 +7268,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count values(All_Traffic.dest_ip) as dest values(All_Traffic.dest_port) as port from datamodel=Network_Traffic where All_Traffic.dest_port=139 OR All_Traffic.dest_port=445 OR All_Traffic.app=smb by _time span=1h, All_Traffic.src | eval HourOfDay=strftime(_time, "%H") | eval DayOfWeek=strftime(_time, "%A") | `drop_dm_object_name(All_Traffic)` | apply smb_pdfmodel threshold=0.001 | rename "IsOutlier(count)" as isOutlier | search isOutlier > 0 | sort -count | table _time src dest port count | `smb_traffic_spike___mltk_filter`
+search = | tstats `security_content_summariesonly` count values(All_Traffic.dest_ip) as dest values(All_Traffic.dest_port) as port from datamodel=Network_Traffic where All_Traffic.dest_port=139 OR All_Traffic.dest_port=445 OR All_Traffic.app=smb by _time span=1h, All_Traffic.src | eval HourOfDay=strftime(_time, "%H") | eval DayOfWeek=strftime(_time, "%A") | `drop_dm_object_name(All_Traffic)` | apply smb_pdfmodel threshold=0.001 | rename "IsOutlier(count)" as isOutlier | search isOutlier > 0 | sort -count | table _time src dest port count | `smb_traffic_spike___mltk_filter`
[ESCU - SQL Injection with Long URLs - Rule]
action.escu = 0
@@ -7366,7 +7400,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count values(Processes.process) as process values(Processes.parent_process) as parent_process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=schtasks.exe (Processes.process=*delete* OR Processes.process=*create*) by Processes.user Processes.process_name Processes.parent_process_name Processes.dest | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `scheduled_task_deleted_or_created_via_cmd_filter`
+search = | tstats `security_content_summariesonly` count values(Processes.process) as process values(Processes.parent_process) as parent_process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=schtasks.exe (Processes.process=*delete* OR Processes.process=*create*) by Processes.user Processes.process_name Processes.parent_process_name Processes.dest | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `scheduled_task_deleted_or_created_via_cmd_filter`
[ESCU - Scheduled tasks used in BadRabbit ransomware - Rule]
action.escu = 0
@@ -7498,7 +7532,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count values(Processes.process) as process min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Processes where Processes.process_name = "scrcons.exe" by Processes.user Processes.dest Processes.process_name | `drop_dm_object_name("Processes")` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`| `script_execution_via_wmi_filter`
+search = | tstats `security_content_summariesonly` count values(Processes.process) as process min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Processes where Processes.process_name = "scrcons.exe" by Processes.user Processes.dest Processes.process_name | `drop_dm_object_name("Processes")` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`| `script_execution_via_wmi_filter`
[ESCU - Shim Database File Creation - Rule]
action.escu = 0
@@ -7696,7 +7730,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count FROM datamodel=Endpoint.Filesystem where Filesystem.action=created by _time span=1h, Filesystem.dest | `drop_dm_object_name(Filesystem)` | eventstats max(_time) as maxtime | stats count as num_data_samples max(eval(if(_time >= relative_time(maxtime, "-1d@d"), count, null))) as "count" avg(eval(if(_time upperBound) AND num_data_samples >=20, 1, 0) | search isOutlier=1 | `spike_in_file_writes_filter`
+search = | tstats `security_content_summariesonly` count FROM datamodel=Endpoint.Filesystem where Filesystem.action=created by _time span=1h, Filesystem.dest | `drop_dm_object_name(Filesystem)` | eventstats max(_time) as maxtime | stats count as num_data_samples max(eval(if(_time >= relative_time(maxtime, "-1d@d"), count, null))) as "count" avg(eval(if(_time upperBound) AND num_data_samples >=20, 1, 0) | search isOutlier=1 | `spike_in_file_writes_filter`
[ESCU - Splunk Enterprise Information Disclosure - Rule]
action.escu = 0
@@ -7762,7 +7796,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = (`sysmon` EventCode=7 ImageLoaded=*SolarWinds.Orion.Core.BusinessLayer.dll) OR (`sysmon` EventCode=22 QueryName=*avsvmcloud.com) | eventstats dc(EventCode) AS dc_events | where dc_events=2 | stats min(_time) as firstTime max(_time) as lastTime values(ImageLoaded) AS ImageLoaded values(QueryName) AS QueryName by host | rename host as dest | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `sunburst_correlation_dll_and_network_event_filter`
+search = (`sysmon` EventCode=7 ImageLoaded=*SolarWinds.Orion.Core.BusinessLayer.dll) OR (`sysmon` EventCode=22 QueryName=*avsvmcloud.com) | eventstats dc(EventCode) AS dc_events | where dc_events=2 | stats min(_time) as firstTime max(_time) as lastTime values(ImageLoaded) AS ImageLoaded values(QueryName) AS QueryName by host | rename host as dest | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `sunburst_correlation_dll_and_network_event_filter`
[ESCU - Supernova Webshell - Rule]
action.escu = 0
@@ -7828,7 +7862,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime values(Processes.process_name) as process_name values(Processes.parent_process_name) as parent_process_name FROM datamodel=Endpoint.Processes where Processes.process_name!=Explorer.exe AND Processes.process_name!=OpenWith.exe by Processes.process_id Processes.dest | `drop_dm_object_name("Processes")` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | join [| tstats `security_content_summariesonly` values(Registry.registry_path) as registry_path count FROM datamodel=Endpoint.Registry where Registry.registry_path=*\\Explorer\\FileExts* by Registry.process_id Registry.dest | `drop_dm_object_name("Registry")` | table process_id dest registry_path]| `suspicious_changes_to_file_associations_filter`
+search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime values(Processes.process_name) as process_name values(Processes.parent_process_name) as parent_process_name FROM datamodel=Endpoint.Processes where Processes.process_name!=Explorer.exe AND Processes.process_name!=OpenWith.exe by Processes.process_id Processes.dest | `drop_dm_object_name("Processes")` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | join [| tstats `security_content_summariesonly` values(Registry.registry_path) as registry_path count FROM datamodel=Endpoint.Registry where Registry.registry_path=*\\Explorer\\FileExts* by Registry.process_id Registry.dest | `drop_dm_object_name("Registry")` | table process_id dest registry_path]| `suspicious_changes_to_file_associations_filter`
[ESCU - Suspicious Email - UBA Anomaly - Rule]
action.escu = 0
@@ -7896,7 +7930,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Email where All_Email.file_name="*" by All_Email.src_user, All_Email.file_name All_Email.message_id | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `drop_dm_object_name("All_Email")` | `suspicious_email_attachments` | `suspicious_email_attachment_extensions_filter`
+search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Email where All_Email.file_name="*" by All_Email.src_user, All_Email.file_name All_Email.message_id | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `drop_dm_object_name("All_Email")` | `suspicious_email_attachments` | `suspicious_email_attachment_extensions_filter`
[ESCU - Suspicious File Write - Rule]
action.escu = 0
@@ -7995,7 +8029,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Filesystem where Filesystem.file_name="*.lnk" AND Filesystem.file_path="C:\\Temp*" by _time span=1h Filesystem.process_id Filesystem.file_name Filesystem.file_path Filesystem.file_hash Filesystem.user | `drop_dm_object_name(Filesystem)` | rename process_id as lnk_pid | join lnk_pid, _time [| tstats `security_content_summariesonly` count FROM datamodel=Endpoint.Processes where Processes.process_name=* by _time span=1h Processes.parent_process_id Processes.process_id Processes.process_name Processes.dest Processes.process_path Processes.process | `drop_dm_object_name(Processes)` | rename parent_process_id as lnk_pid | fields _time lnk_pid process_id dest process_name process_path process] | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | table firstTime, lastTime, lnk_pid, process_id, user, dest, file_name, file_path, process_name, process, process_path, file_hash | `suspicious_lnk_file_launching_a_process_filter`
+search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Filesystem where Filesystem.file_name="*.lnk" AND Filesystem.file_path="C:\\Temp*" by _time span=1h Filesystem.process_id Filesystem.file_name Filesystem.file_path Filesystem.file_hash Filesystem.user | `drop_dm_object_name(Filesystem)` | rename process_id as lnk_pid | join lnk_pid, _time [| tstats `security_content_summariesonly` count FROM datamodel=Endpoint.Processes where Processes.process_name=* by _time span=1h Processes.parent_process_id Processes.process_id Processes.process_name Processes.dest Processes.process_path Processes.process | `drop_dm_object_name(Processes)` | rename parent_process_id as lnk_pid | fields _time lnk_pid process_id dest process_name process_path process] | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | table firstTime, lastTime, lnk_pid, process_id, user, dest, file_name, file_path, process_name, process, process_path, file_hash | `suspicious_lnk_file_launching_a_process_filter`
[ESCU - Suspicious Reg exe Process - Rule]
action.escu = 0
@@ -8028,7 +8062,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Processes where Processes.parent_process_name != explorer.exe Processes.process_name =cmd.exe by Processes.user Processes.process_name Processes.parent_process_name Processes.dest Processes.process_id Processes.parent_process_id | `drop_dm_object_name("Processes")` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | search [| tstats `security_content_summariesonly` count FROM datamodel=Endpoint.Processes where Processes.parent_process_name=cmd.exe Processes.process_name= reg.exe by Processes.parent_process_id Processes.dest Processes.process_name | `drop_dm_object_name("Processes")` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | rename parent_process_id as process_id |dedup process_id| table process_id dest] | `suspicious_reg_exe_process_filter`
+search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Processes where Processes.parent_process_name != explorer.exe Processes.process_name =cmd.exe by Processes.user Processes.process_name Processes.parent_process_name Processes.dest Processes.process_id Processes.parent_process_id | `drop_dm_object_name("Processes")` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | search [| tstats `security_content_summariesonly` count FROM datamodel=Endpoint.Processes where Processes.parent_process_name=cmd.exe Processes.process_name= reg.exe by Processes.parent_process_id Processes.dest Processes.process_name | `drop_dm_object_name("Processes")` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | rename parent_process_id as process_id |dedup process_id| table process_id dest] | `suspicious_reg_exe_process_filter`
[ESCU - Suspicious wevtutil Usage - Rule]
action.escu = 0
@@ -8292,7 +8326,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes by Processes.dest Processes.user Processes.process Processes.process_name | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `drop_dm_object_name(Processes)` | `uncommon_processes` |`uncommon_processes_on_endpoint_filter`
+search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes by Processes.dest Processes.user Processes.process Processes.process_name | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `drop_dm_object_name(Processes)` | `uncommon_processes` |`uncommon_processes_on_endpoint_filter`
[ESCU - Unload Sysmon Filter Driver - Rule]
action.escu = 0
@@ -8302,7 +8336,7 @@ action.escu.mappings = {"cis20": ["CIS 8"], "kill_chain_phases": ["Actions on Ob
action.escu.data_models = ["Endpoint"]
action.escu.eli5 = Attackers often disable security tools to avoid detection. This search looks for the usage of process `fltMC.exe` to unload a Sysmon Driver that will stop sysmon from collecting the data.
action.escu.how_to_implement = You must be ingesting data that records process activity from your hosts to populate the Endpoint data model in the Processes node. You must also be ingesting logs with both the process name and command line from your endpoints. The command-line arguments are mapped to the "process" field in the Endpoint data model. This search is also shipped with `unload_sysmon_filter_driver_filter` macro, update this macro to filter out false positives.
-action.escu.known_false_positives =
+action.escu.known_false_positives =
action.escu.creation_date = 2020-07-22
action.escu.modification_date = 2020-07-22
action.escu.confidence = high
@@ -8358,7 +8392,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = `sysmon` EventID=7 Image=*lsass.exe Signed=false | stats count min(_time) as firstTime max(_time) as lastTime by Computer, Image, ImageLoaded, Signed, SHA1 | rename Computer as dest | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `unsigned_image_loaded_by_lsass_filter`
+search = `sysmon` EventID=7 Image=*lsass.exe Signed=false | stats count min(_time) as firstTime max(_time) as lastTime by Computer, Image, ImageLoaded, Signed, SHA1 | rename Computer as dest | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `unsigned_image_loaded_by_lsass_filter`
[ESCU - Unsuccessful Netbackup backups - Rule]
action.escu = 0
@@ -8754,7 +8788,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where (Processes.process=*-f* OR Processes.process=*-b*) AND (Processes.process=*objectcategory* OR Processes.process=*-gcb* OR Processes.process=*-sc*) by Processes.dest Processes.user Processes.process_name Processes.process Processes.parent_process Processes.process_id Processes.parent_process_id | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_adfind_exe_filter`
+search = | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where (Processes.process=*-f* OR Processes.process=*-b*) AND (Processes.process=*objectcategory* OR Processes.process=*-gcb* OR Processes.process=*-sc*) by Processes.dest Processes.user Processes.process_name Processes.process Processes.parent_process Processes.process_id Processes.parent_process_id | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_adfind_exe_filter`
[ESCU - Windows DisableAntiSpyware Registry - Rule]
action.escu = 0
@@ -8858,10 +8892,10 @@ search = | tstats `security_content_summariesonly` count min(_time) as firstTime
[ESCU - Windows connhost exe started forcefully - Rule]
action.escu = 0
action.escu.enabled = 1
-description = The search looks for the Console Window Host process (connhost.exe) executed using the force flag -ForceV1. This is not regular behavior in the Windows OS and is often seen executed by the Ryuk Ransomware. DEPRECATED This event is actually seen in the windows 10 client of attack_range_local. After further testing we realized this is not specific to Ryuk.
+description = The search looks for the Console Window Host process (connhost.exe) executed using the force flag -ForceV1. This is not regular behavior in the Windows OS and is often seen executed by the Ryuk Ransomware. DEPRECATED This event is actually seen in the windows 10 client of attack_range_local. After further testing we realized this is not specific to Ryuk.
action.escu.mappings = {"cis20": ["CIS 8"], "kill_chain_phases": ["Delivery"], "mitre_attack": ["T1059.003"], "nist": ["PR.PT", "DE.CM"]}
action.escu.data_models = []
-action.escu.eli5 = The search looks for the Console Window Host process (connhost.exe) executed using the force flag -ForceV1. This is not regular behavior in the Windows OS and is often seen executed by the Ryuk Ransomware. DEPRECATED This event is actually seen in the windows 10 client of attack_range_local. After further testing we realized this is not specific to Ryuk.
+action.escu.eli5 = The search looks for the Console Window Host process (connhost.exe) executed using the force flag -ForceV1. This is not regular behavior in the Windows OS and is often seen executed by the Ryuk Ransomware. DEPRECATED This event is actually seen in the windows 10 client of attack_range_local. After further testing we realized this is not specific to Ryuk.
action.escu.how_to_implement = You must be ingesting data that records the process-system activity from your hosts to populate the Endpoint Processes data-model object. If you are using Sysmon, you will need a Splunk Universal Forwarder on each endpoint from which you want to collect data.
action.escu.known_false_positives = This process should not be ran forcefully, we have not see any false positives for this detection
action.escu.creation_date = 2020-11-06
@@ -10817,7 +10851,7 @@ action.escu = 0
action.escu.enabled = 1
action.escu.search_type = investigative
action.escu.full_search_name = ESCU - Get DNS traffic ratio
-description = This search calculates the ratio of DNS traffic originating and coming from a host to a list of DNS servers over the last 24 hours. A high value of this ratio could be very useful to quickly understand if a src_ip (host) is sending a high volume of data out via port 53, could be an indicator of data exfiltration via DNS.
+description = This search calculates the ratio of DNS traffic originating and coming from a host to a list of DNS servers over the last 24 hours. A high value of this ratio could be very useful to quickly understand if a src_ip (host) is sending a high volume of data out via port 53, could be an indicator of data exfiltration via DNS.
action.escu.creation_date = 2017-11-09
action.escu.modification_date = 2017-11-09
action.escu.analytic_story = ["AWS Network ACL Activity", "Command and Control", "Data Protection", "Dynamic DNS", "Hidden Cobra Malware", "Suspicious AWS Traffic", "Suspicious DNS Traffic"]
@@ -10825,7 +10859,7 @@ action.escu.earliest_time_offset = 3600
action.escu.latest_time_offset = 86400
action.escu.providing_technologies = []
action.escu.data_models = ["Network_Traffic"]
-action.escu.eli5 = This search calculates the ratio of DNS traffic originating and coming from a host to a list of DNS servers over the last 24 hours. A high value of this ratio could be very useful to quickly understand if a src_ip (host) is sending a high volume of data out via port 53, could be an indicator of data exfiltration via DNS.
+action.escu.eli5 = This search calculates the ratio of DNS traffic originating and coming from a host to a list of DNS servers over the last 24 hours. A high value of this ratio could be very useful to quickly understand if a src_ip (host) is sending a high volume of data out via port 53, could be an indicator of data exfiltration via DNS.
action.escu.how_to_implement = none
action.escu.known_false_positives = None at this time
disabled = true
@@ -11209,7 +11243,7 @@ action.escu.known_false_positives = None at this time
disabled = true
schedule_window = auto
is_visible = false
-search = | search sourcetype=aws:cloudtrail user=$user$ | table _time userIdentity.type userIdentity.userName userIdentity.arn aws_account_id src awsRegion eventName eventType
+search = | search sourcetype=aws:cloudtrail user=$user$ | table _time userIdentity.type userIdentity.userName userIdentity.arn aws_account_id src awsRegion eventName eventType
[ESCU - Investigate AWS activities via region name - Response Task]
action.escu = 0
@@ -11356,7 +11390,7 @@ action.escu.known_false_positives = None at this time
disabled = true
schedule_window = auto
is_visible = false
-search = `wineventlog_security` EventCode=4768 OR EventCode=4769 | rex field=user "(?[^\@]+)" | stats count BY new_user, dest, EventCode | stats max(count) AS max_count sum(count) AS sum_count BY new_user, dest| search dest=$dest$ | where sum_count/max_count!=2 | rename new_user AS user
+search = `wineventlog_security` EventCode=4768 OR EventCode=4769 | rex field=user "(?[^\@]+)" | stats count BY new_user, dest, EventCode | stats max(count) AS max_count sum(count) AS sum_count BY new_user, dest| search dest=$dest$ | where sum_count/max_count!=2 | rename new_user AS user
[ESCU - Investigate Previous Unseen User - Response Task]
action.escu = 0
@@ -11384,7 +11418,7 @@ action.escu = 0
action.escu.enabled = 1
action.escu.search_type = investigative
action.escu.full_search_name = ESCU - Investigate Successful Remote Desktop Authentications
-description = This search returns the source, destination, and user for all successful remote-desktop authentications. A successful authentication after a brute-force attack on a destination machine is suspicious behavior.
+description = This search returns the source, destination, and user for all successful remote-desktop authentications. A successful authentication after a brute-force attack on a destination machine is suspicious behavior.
action.escu.creation_date = 2018-12-14
action.escu.modification_date = 2018-12-14
action.escu.analytic_story = ["Hidden Cobra Malware", "Lateral Movement", "SamSam Ransomware"]
@@ -11392,7 +11426,7 @@ action.escu.earliest_time_offset = 3600
action.escu.latest_time_offset = 86400
action.escu.providing_technologies = []
action.escu.data_models = ["Authentication"]
-action.escu.eli5 = This search returns the source, destination, and user for all successful remote-desktop authentications. A successful authentication after a brute-force attack on a destination machine is suspicious behavior.
+action.escu.eli5 = This search returns the source, destination, and user for all successful remote-desktop authentications. A successful authentication after a brute-force attack on a destination machine is suspicious behavior.
action.escu.how_to_implement = none
action.escu.known_false_positives = None at this time
disabled = true
@@ -11447,7 +11481,7 @@ action.escu = 0
action.escu.enabled = 1
action.escu.search_type = investigative
action.escu.full_search_name = ESCU - Investigate Web POSTs From src
-description = This investigative search retrieves POST requests from a specified source IP or hostname. Identifying the POST requests, as well as their associated destination URLs and user agent(s), may help you scope and characterize the suspicious traffic.
+description = This investigative search retrieves POST requests from a specified source IP or hostname. Identifying the POST requests, as well as their associated destination URLs and user agent(s), may help you scope and characterize the suspicious traffic.
action.escu.creation_date = 2018-12-06
action.escu.modification_date = 2018-12-06
action.escu.analytic_story = ["Apache Struts Vulnerability"]
@@ -11455,7 +11489,7 @@ action.escu.earliest_time_offset = 3600
action.escu.latest_time_offset = 86400
action.escu.providing_technologies = []
action.escu.data_models = ["Web"]
-action.escu.eli5 = This investigative search retrieves POST requests from a specified source IP or hostname. Identifying the POST requests, as well as their associated destination URLs and user agent(s), may help you scope and characterize the suspicious traffic.
+action.escu.eli5 = This investigative search retrieves POST requests from a specified source IP or hostname. Identifying the POST requests, as well as their associated destination URLs and user agent(s), may help you scope and characterize the suspicious traffic.
action.escu.how_to_implement = none
action.escu.known_false_positives = None at this time
disabled = true
@@ -11537,4 +11571,4 @@ search = index=_audit sourcetype="audittrail" \
| rex field=search "\"(?.*)\""\
| table savedsearch_name count(search) usage user | join savedsearch_name max=0 type=left [search sourcetype="manifests" | spath searches{} | mvexpand searches{} | spath input=searches{} | table category search_name | rename search_name as savedsearch_name | dedup savedsearch_name] | search category=*
-### END OF USAGE DASHBOARD CONFIGURATIONS ###
+### END OF USAGE DASHBOARD CONFIGURATIONS ###
\ No newline at end of file
diff --git a/package/default/transforms.conf b/package/default/transforms.conf
index 667b7f4eee..45141b77e5 100644
--- a/package/default/transforms.conf
+++ b/package/default/transforms.conf
@@ -1,6 +1,6 @@
#############
# Automatically generated by generator.py in splunk/security-content
-# On Date: 2021-01-14T11:30:38 UTC
+# On Date: 2021-01-19T13:08:32 UTC
# Author: Splunk Security Research
# Contact: research@splunk.com
#############
diff --git a/package/default/use_case_library.conf b/package/default/use_case_library.conf
index 625b3dc187..5ef312289d 100644
--- a/package/default/use_case_library.conf
+++ b/package/default/use_case_library.conf
@@ -1,6 +1,6 @@
#############
# Automatically generated by generator.py in splunk/security-content
-# On Date: 2021-01-14T11:30:38 UTC
+# On Date: 2021-01-19T13:08:32 UTC
# Author: Splunk Security Research
# Contact: research@splunk.com
#############
@@ -14,7 +14,7 @@ version = 1
references = ["https://aws.amazon.com/blogs/security/aws-cloudtrail-now-tracks-cross-account-activity-to-its-origin/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - aws detect permanent key creation - Rule", "ESCU - aws detect attach to role policy - Rule", "ESCU - aws detect sts get session token abuse - Rule", "ESCU - aws detect role creation - Rule", "ESCU - aws detect sts assume role abuse - Rule", "ESCU - Get Notable History", "ESCU - AWS Investigate User Activities By AccessKeyId"]
+searches = ["ESCU - aws detect role creation - Rule", "ESCU - aws detect sts get session token abuse - Rule", "ESCU - aws detect permanent key creation - Rule", "ESCU - aws detect sts assume role abuse - Rule", "ESCU - aws detect attach to role policy - Rule", "ESCU - AWS Investigate User Activities By AccessKeyId", "ESCU - Get Notable History"]
description = Track when a user assumes an IAM role in another AWS account to obtain cross-account access to services and resources in that account. Accessing new roles could be an indication of malicious activity.
narrative = Amazon Web Services (AWS) admins manage access to AWS resources and services across the enterprise using AWS's Identity and Access Management (IAM) functionality. IAM provides the ability to create and manage AWS users, groups, and roles-each with their own unique set of privileges and defined access to specific resources (such as EC2 instances, the AWS Management Console, API, or the command-line interface). Unlike conventional (human) users, IAM roles are assumable by anyone in the organization. They provide users with dynamically created temporary security credentials that expire within a set time period.\
Herein lies the rub. In between the time between when the temporary credentials are issued and when they expire is a period of opportunity, where a user could leverage the temporary credentials to wreak havoc-spin up or remove instances, create new users, elevate privileges, and other malicious activities-throughout the environment.\
@@ -27,7 +27,7 @@ version = 1
references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - EC2 Instance Started With Previously Unseen Instance Type - Rule", "ESCU - EC2 Instance Started With Previously Unseen User - Rule", "ESCU - EC2 Instance Started In Previously Unseen Region - Rule", "ESCU - Abnormally High AWS Instances Launched by User - MLTK - Rule", "ESCU - Abnormally High AWS Instances Launched by User - Rule", "ESCU - EC2 Instance Started With Previously Unseen AMI - Rule", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - Get Notable History", "ESCU - Get EC2 Launch Details"]
+searches = ["ESCU - EC2 Instance Started With Previously Unseen Instance Type - Rule", "ESCU - EC2 Instance Started With Previously Unseen AMI - Rule", "ESCU - EC2 Instance Started In Previously Unseen Region - Rule", "ESCU - Abnormally High AWS Instances Launched by User - MLTK - Rule", "ESCU - EC2 Instance Started With Previously Unseen User - Rule", "ESCU - Abnormally High AWS Instances Launched by User - Rule", "ESCU - Get Notable History", "ESCU - Get EC2 Launch Details", "ESCU - Investigate AWS activities via region name", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN"]
description = Monitor your AWS EC2 instances for activities related to cryptojacking/cryptomining. New instances that originate from previously unseen regions, users who launch abnormally high numbers of instances, or EC2 instances started by previously unseen users are just a few examples of potentially malicious behavior.
narrative = Cryptomining is an intentionally difficult, resource-intensive business. Its complexity was designed into the process to ensure that the number of blocks mined each day would remain steady. So, it's par for the course that ambitious, but unscrupulous, miners make amassing the computing power of large enterprises--a practice known as cryptojacking--a top priority. \
Cryptojacking has attracted an increasing amount of media attention since its explosion in popularity in the fall of 2017. The attacks have moved from in-browser exploits and mobile phones to enterprise cloud services, such as Amazon Web Services (AWS). It's difficult to determine exactly how widespread the practice has become, since bad actors continually evolve their ability to escape detection, including employing unlisted endpoints, moderating their CPU usage, and hiding the mining pool's IP address behind a free CDN. \
@@ -41,7 +41,7 @@ version = 2
references = ["https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_NACLs.html", "https://aws.amazon.com/blogs/security/how-to-help-prepare-for-ddos-attacks-by-reducing-your-attack-surface/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - AWS Network Access Control List Deleted - Rule", "ESCU - AWS Network Access Control List Created with All Open Ports - Rule", "ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - Detect Spike in Network ACL Activity - Rule", "ESCU - Get Process Info", "ESCU - Get DNS Server History for a host", "ESCU - AWS Investigate User Activities By ARN", "ESCU - AWS Network ACL Details from ID", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio"]
+searches = ["ESCU - AWS Network Access Control List Created with All Open Ports - Rule", "ESCU - AWS Network Access Control List Deleted - Rule", "ESCU - Detect Spike in Network ACL Activity - Rule", "ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Network ACL Details from ID", "ESCU - AWS Investigate User Activities By ARN"]
description = Monitor your AWS network infrastructure for bad configurations and malicious activity. Investigative searches help you probe deeper, when the facts warrant it.
narrative = AWS CloudTrail is an AWS service that helps you enable governance, compliance, and operational/risk auditing of your AWS account. Actions taken by a user, role, or an AWS service are recorded as events in CloudTrail. It is crucial for a company to monitor events and actions taken in the AWS Management Console, AWS Command Line Interface, and AWS SDKs and APIs to ensure that your servers are not vulnerable to attacks. This analytic story contains detection searches that leverage CloudTrail logs from AWS to check for bad configurations and malicious activity in your AWS network access controls.
@@ -52,7 +52,7 @@ version = 1
references = ["https://aws.amazon.com/security-hub/features/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect Spike in AWS Security Hub Alerts for User - Rule", "ESCU - Detect Spike in AWS Security Hub Alerts for EC2 Instance - Rule", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get EC2 Launch Details"]
+searches = ["ESCU - Detect Spike in AWS Security Hub Alerts for EC2 Instance - Rule", "ESCU - Detect Spike in AWS Security Hub Alerts for User - Rule", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - Get EC2 Launch Details", "ESCU - AWS Investigate User Activities By ARN"]
description = This story is focused around detecting Security Hub alerts generated from AWS
narrative = AWS Security Hub collects and consolidates findings from AWS security services enabled in your environment, such as intrusion detection findings from Amazon GuardDuty, vulnerability scans from Amazon Inspector, S3 bucket policy findings from Amazon Macie, publicly accessible and cross-account resources from IAM Access Analyzer, and resources lacking WAF coverage from AWS Firewall Manager.
@@ -63,7 +63,7 @@ version = 1
references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - AWS Cloud Provisioning From Previously Unseen Country - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen Region - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen City - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen IP Address - Rule", "ESCU - Get All AWS Activity From City", "ESCU - Get All AWS Activity From Region", "ESCU - AWS Investigate User Activities By ARN", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get All AWS Activity From Country"]
+searches = ["ESCU - AWS Cloud Provisioning From Previously Unseen City - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen IP Address - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen Country - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen Region - Rule", "ESCU - Get All AWS Activity From Region", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get All AWS Activity From City", "ESCU - Get All AWS Activity From Country", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN"]
description = Monitor your AWS provisioning activities for behaviors originating from unfamiliar or unusual locations. These behaviors may indicate that malicious activities are occurring somewhere within your network.
narrative = Because most enterprise AWS activities originate from familiar geographic locations, monitoring for activity from unknown or unusual regions is an important security measure. This indicator can be especially useful in environments where it is impossible to whitelist specific IPs (because they vary).\
This Analytic Story was designed to provide you with flexibility in the precision you employ in specifying legitimate geographic regions. It can be as specific as an IP address or a city, or as broad as a region (think state) or an entire country. By determining how precise you want your geographical locations to be and monitoring for new locations that haven't previously accessed your environment, you can detect adversaries as they begin to probe your environment. Since there are legitimate reasons for activities from unfamiliar locations, this is not a standalone indicator. Nevertheless, location can be a relevant piece of information that you may wish to investigate further.
@@ -75,7 +75,7 @@ version = 1
references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf", "https://redlock.io/blog/cryptojacking-tesla"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect new API calls from user roles - Rule", "ESCU - Detect API activity from users without MFA - Rule", "ESCU - Detect AWS API Activities From Unapproved Accounts - Rule", "ESCU - Detect Spike in Security Group Activity - Rule", "ESCU - Detect Spike in AWS API Activity - Rule", "ESCU - Investigate AWS User Activities by user field", "ESCU - Get Notable History"]
+searches = ["ESCU - Detect AWS API Activities From Unapproved Accounts - Rule", "ESCU - Detect new API calls from user roles - Rule", "ESCU - Detect Spike in AWS API Activity - Rule", "ESCU - Detect API activity from users without MFA - Rule", "ESCU - Detect Spike in Security Group Activity - Rule", "ESCU - Investigate AWS User Activities by user field", "ESCU - Get Notable History"]
description = Detect and investigate dormant user accounts for your AWS environment that have become active again. Because inactive and ad-hoc accounts are common attack targets, it's critical to enable governance within your environment.
narrative = It seems obvious that it is critical to monitor and control the users who have access to your cloud infrastructure. Nevertheless, it's all too common for enterprises to lose track of ad-hoc accounts, leaving their servers vulnerable to attack. In fact, this was the very oversight that led to Tesla's cryptojacking attack in February, 2018.\
In addition to compromising the security of your data, when bad actors leverage your compute resources, it can incur monumental costs, since you will be billed for any new EC2 instances and increased bandwidth usage. \
@@ -89,7 +89,7 @@ version = 1
references = ["https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/v3.2/dev/rules/REQUEST-944-APPLICATION-ATTACK-JAVA.conf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Web Servers Executing Suspicious Processes - Rule", "ESCU - Unusually Long Content-Type Length - Rule", "ESCU - Suspicious Java Classes - Rule", "ESCU - Investigate Suspicious Strings in HTTP Header", "ESCU - Investigate Web POSTs From src", "ESCU - Get Notable History"]
+searches = ["ESCU - Web Servers Executing Suspicious Processes - Rule", "ESCU - Unusually Long Content-Type Length - Rule", "ESCU - Suspicious Java Classes - Rule", "ESCU - Investigate Suspicious Strings in HTTP Header", "ESCU - Get Notable History", "ESCU - Investigate Web POSTs From src"]
description = Detect and investigate activities--such as unusually long `Content-Type` length, suspicious java classes and web servers executing suspicious processes--consistent with attempts to exploit Apache Struts vulnerabilities.
narrative = In March of 2017, a remote code-execution vulnerability in the Jakarta Multipart parser in Apache Struts, a widely used open-source framework for creating Java web applications, was disclosed and assigned to CVE-2017-5638. About two months later, hackers exploited the flaw to carry out the world's 5th largest data breach. The target, credit giant Equifax, told investigators that it had become aware of the vulnerability two months before the attack. \
The exploit involved manipulating the `Content-Type HTTP` header to execute commands embedded in the header.\
@@ -124,7 +124,7 @@ version = 1
references = ["https://www.zerofox.com/blog/what-is-digital-risk-monitoring/", "https://securingtomorrow.mcafee.com/consumer/family-safety/what-is-typosquatting/", "https://blog.malwarebytes.com/cybercrime/2016/06/explained-typosquatting/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Monitor Email For Brand Abuse - Rule", "ESCU - Monitor Web Traffic For Brand Abuse - Rule", "ESCU - Monitor DNS For Brand Abuse - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Emails From Specific Sender", "ESCU - Get Notable History", "ESCU - Get Email Info"]
+searches = ["ESCU - Monitor Email For Brand Abuse - Rule", "ESCU - Monitor DNS For Brand Abuse - Rule", "ESCU - Monitor Web Traffic For Brand Abuse - Rule", "ESCU - Get Emails From Specific Sender", "ESCU - Get Notable History", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Email Info"]
description = Detect and investigate activity that may indicate that an adversary is using faux domains to mislead users into interacting with malicious infrastructure. Monitor DNS, email, and web traffic for permutations of your brand name.
narrative = While you can educate your users and customers about the risks and threats posed by typosquatting, phishing, and corporate espionage, human error is a persistent fact of life. Of course, your adversaries are all too aware of this reality and will happily leverage it for nefarious purposes whenever possible3phishing with lookalike addresses, embedding faux command-and-control domains in malware, and hosting malicious content on domains that closely mimic your corporate servers. This is where brand monitoring comes in.\
You can use our adaptation of `DNSTwist`, together with the support searches in this Analytic Story, to generate permutations of specified brands and external domains. Splunk can monitor email, DNS requests, and web traffic for these permutations and provide you with early warnings and situational awareness--powerful elements of an effective defense.\
@@ -137,7 +137,7 @@ version = 1
references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Cloud Compute Instance Created By Previously Unseen User - Rule", "ESCU - Cloud Compute Instance Created In Previously Unused Region - Rule", "ESCU - Cloud Compute Instance Created With Previously Unseen Instance Type - Rule", "ESCU - Abnormally High Number Of Cloud Instances Destroyed - Rule", "ESCU - Abnormally High Number Of Cloud Instances Launched - Rule", "ESCU - Cloud Compute Instance Created With Previously Unseen Image - Rule", "ESCU - AWS Investigate User Activities By ARN", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History", "ESCU - Get EC2 Launch Details"]
+searches = ["ESCU - Abnormally High Number Of Cloud Instances Destroyed - Rule", "ESCU - Cloud Compute Instance Created By Previously Unseen User - Rule", "ESCU - Cloud Compute Instance Created In Previously Unused Region - Rule", "ESCU - Cloud Compute Instance Created With Previously Unseen Instance Type - Rule", "ESCU - Cloud Compute Instance Created With Previously Unseen Image - Rule", "ESCU - Abnormally High Number Of Cloud Instances Launched - Rule", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get Notable History", "ESCU - Get EC2 Launch Details", "ESCU - Investigate AWS activities via region name", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN"]
description = Monitor your cloud compute instances for activities related to cryptojacking/cryptomining. New instances that originate from previously unseen regions, users who launch abnormally high numbers of instances, or compute instances started by previously unseen users are just a few examples of potentially malicious behavior.
narrative = Cryptomining is an intentionally difficult, resource-intensive business. Its complexity was designed into the process to ensure that the number of blocks mined each day would remain steady. So, it's par for the course that ambitious, but unscrupulous, miners make amassing the computing power of large enterprises--a practice known as cryptojacking--a top priority. \
Cryptojacking has attracted an increasing amount of media attention since its explosion in popularity in the fall of 2017. The attacks have moved from in-browser exploits and mobile phones to enterprise cloud services, such as Amazon Web Services (AWS), Google Cloud Platform (GCP), and Azure. It's difficult to determine exactly how widespread the practice has become, since bad actors continually evolve their ability to escape detection, including employing unlisted endpoints, moderating their CPU usage, and hiding the mining pool's IP address behind a free CDN. \
@@ -164,7 +164,7 @@ version = 1
references = ["https://attack.mitre.org/wiki/Collection", "https://attack.mitre.org/wiki/Technique/T1074"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Email servers sending high volume traffic to hosts - Rule", "ESCU - Suspicious writes to windows Recycle Bin - Rule", "ESCU - Email files written outside of the Outlook directory - Rule", "ESCU - Hosts receiving high volume of network traffic from email server - Rule", "ESCU - Suspicious writes to System Volume Information - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Hosts receiving high volume of network traffic from email server - Rule", "ESCU - Suspicious writes to System Volume Information - Rule", "ESCU - Email files written outside of the Outlook directory - Rule", "ESCU - Suspicious writes to windows Recycle Bin - Rule", "ESCU - Email servers sending high volume traffic to hosts - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
description = Monitor for and investigate activities--such as suspicious writes to the Windows Recycling Bin or email servers sending high amounts of traffic to specific hosts, for example--that may indicate that an adversary is harvesting and exfiltrating sensitive data.
narrative = A common adversary goal is to identify and exfiltrate data of value from a target organization. This data may include email conversations and addresses, confidential company information, links to network design/infrastructure, important dates, and so on.\
Attacks are composed of three activities: identification, collection, and staging data for exfiltration. Identification typically involves scanning systems and observing user activity. Collection can involve the transfer of large amounts of data from various repositories. Staging/preparation includes moving data to a central location and compressing (and optionally encoding and/or encrypting) it. All of these activities provide opportunities for defenders to identify their presence. \
@@ -177,7 +177,7 @@ version = 1
references = ["https://attack.mitre.org/wiki/Command_and_Control", "https://searchsecurity.techtarget.com/feature/Command-and-control-servers-The-puppet-masters-that-govern-malware"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - Protocol or Port Mismatch - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Excessive DNS Failures - Rule", "ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - Detect Large Outbound ICMP Packets - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - Detect Long DNS TXT Record Response - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Get Process Info", "ESCU - Get DNS Server History for a host", "ESCU - AWS Investigate User Activities By ARN", "ESCU - AWS Network ACL Details from ID", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Detect Large Outbound ICMP Packets - Rule", "ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - Detect Long DNS TXT Record Response - Rule", "ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - Protocol or Port Mismatch - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Excessive DNS Failures - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Network ACL Details from ID", "ESCU - AWS Investigate User Activities By ARN"]
description = Detect and investigate tactics, techniques, and procedures leveraged by attackers to establish and operate command and control channels. Implants installed by attackers on compromised endpoints use these channels to receive instructions and send data back to the malicious operators.
narrative = Threat actors typically architect and implement an infrastructure to use in various ways during the course of their attack campaigns. In some cases, they leverage this infrastructure for scanning and performing reconnaissance activities. In others, they may use this infrastructure to launch actual attacks. One of the most important functions of this infrastructure is to establish servers that will communicate with implants on compromised endpoints. These servers establish a command and control channel that is used to proxy data between the compromised endpoint and the attacker. These channels relay commands from the attacker to the compromised endpoint and the output of those commands back to the attacker.\
Because this communication is so critical for an adversary, they often use techniques designed to hide the true nature of the communications. There are many different techniques used to establish and communicate over these channels. This Analytic Story provides searches that look for a variety of the techniques used for these channels, as well as indications that these channels are active, by examining logs associated with border control devices and network-access control lists.
@@ -212,7 +212,7 @@ version = 3
references = ["https://attack.mitre.org/wiki/Technique/T1003", "https://cyberwardog.blogspot.com/2017/03/chronicles-of-threat-hunter-hunting-for.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Creation of Shadow Copy - Rule", "ESCU - Access LSASS Memory for Dump Creation - Rule", "ESCU - Credential Dumping via Symlink to Shadow Copy - Rule", "ESCU - Detect Credential Dumping through LSASS access - Rule", "ESCU - Unsigned Image Loaded by LSASS - Rule", "ESCU - Dump LSASS via comsvcs DLL - Rule", "ESCU - Credential Dumping via Copy Command from Shadow Copy - Rule", "ESCU - Attempted Credential Dump From Registry via Reg exe - Rule", "ESCU - Attempt To Set Default PowerShell Execution Policy To Unrestricted or Bypass - Rule", "ESCU - Detect Mimikatz Using Loaded Images - Rule", "ESCU - Creation of Shadow Copy with wmic and powershell - Rule", "ESCU - Create Remote Thread into LSASS - Rule", "ESCU - Investigate Pass the Hash Attempts", "ESCU - Investigate Pass the Ticket Attempts", "ESCU - Investigate Failed Logins for Multiple Destinations", "ESCU - Investigate Previous Unseen User"]
+searches = ["ESCU - Create Remote Thread into LSASS - Rule", "ESCU - Credential Dumping via Copy Command from Shadow Copy - Rule", "ESCU - Dump LSASS via comsvcs DLL - Rule", "ESCU - Detect Mimikatz Using Loaded Images - Rule", "ESCU - Creation of Shadow Copy - Rule", "ESCU - Unsigned Image Loaded by LSASS - Rule", "ESCU - Detect Credential Dumping through LSASS access - Rule", "ESCU - Attempted Credential Dump From Registry via Reg exe - Rule", "ESCU - Attempt To Set Default PowerShell Execution Policy To Unrestricted or Bypass - Rule", "ESCU - Creation of Shadow Copy with wmic and powershell - Rule", "ESCU - Credential Dumping via Symlink to Shadow Copy - Rule", "ESCU - Access LSASS Memory for Dump Creation - Rule", "ESCU - Investigate Failed Logins for Multiple Destinations", "ESCU - Investigate Pass the Ticket Attempts", "ESCU - Investigate Previous Unseen User", "ESCU - Investigate Pass the Hash Attempts"]
description = Uncover activity consistent with credential dumping, a technique wherein attackers compromise systems and attempt to obtain and exfiltrate passwords. The threat actors use these pilfered credentials to further escalate privileges and spread throughout a target environment. The included searches in this Analytic Story are designed to identify attempts to credential dumping.
narrative = Credential dumpinggathering credentials from a target system, often hashed or encryptedis a common attack technique. Even though the credentials may not be in plain text, an attacker can still exfiltrate the data and set to cracking it offline, on their own systems. The threat actors target a variety of sources to extract them, including the Security Accounts Manager (SAM), Local Security Authority (LSA), NTDS from Domain Controllers, or the Group Policy Preference (GPP) files.\
Once attackers obtain valid credentials, they use them to move throughout a target network with ease, discovering new systems and identifying assets of interest. Credentials obtained in this manner typically include those of privileged users, which may provide access to more sensitive information and system operations.\
@@ -225,7 +225,7 @@ version = 2
references = ["https://www.us-cert.gov/ncas/alerts/TA18-074A"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Single Letter Process On Endpoint - Rule", "ESCU - Detect New Local Admin account - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Malicious PowerShell Process - Execution Policy Bypass - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Detect PsExec With accepteula Flag - Rule", "ESCU - Scheduled Task Deleted Or Created via CMD - Rule", "ESCU - Create local admin accounts using net exe - Rule", "ESCU - Get Process Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get Notable History", "ESCU - Get Process File Activity", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Registry Keys Used For Persistence - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Detect New Local Admin account - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Create local admin accounts using net exe - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - Malicious PowerShell Process - Execution Policy Bypass - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - Detect PsExec With accepteula Flag - Rule", "ESCU - Single Letter Process On Endpoint - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Scheduled Task Deleted Or Created via CMD - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Process File Activity", "ESCU - Get Process Information For Port Activity"]
description = Monitor for suspicious activities associated with DHS Technical Alert US-CERT TA18-074A. Some of the activities that adversaries used in these compromises included spearfishing attacks, malware, watering-hole domains, many and more.
narrative = The frequency of nation-state cyber attacks has increased significantly over the last decade. Employing numerous tactics and techniques, these attacks continue to escalate in complexity. \
There is a wide range of motivations for these state-sponsored hacks, including stealing valuable corporate, military, or diplomatic dataѿall of which could confer advantages in various arenas. They may also target critical infrastructure. \
@@ -251,7 +251,7 @@ version = 1
references = ["https://www.fireeye.com/blog/threat-research/2017/09/apt33-insights-into-iranian-cyber-espionage.html", "https://umbrella.cisco.com/blog/2013/04/15/on-the-trail-of-malicious-dynamic-dns-domains/", "http://www.noip.com/blog/2014/07/11/dynamic-dns-can-use-2/", "https://www.splunk.com/blog/2015/08/04/detecting-dynamic-dns-domains-in-splunk.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - DNS record changed - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Get DNS Server History for a host", "ESCU - DNS Hijack Enrichment"]
+searches = ["ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - DNS record changed - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Get DNS Server History for a host", "ESCU - DNS Hijack Enrichment"]
description = Secure your environment against DNS hijacks with searches that help you detect and investigate unauthorized changes to DNS records.
narrative = Dubbed the Achilles heel of the Internet (see https://www.f5.com/labs/articles/threat-intelligence/dns-is-still-the-achilles-heel-of-the-internet-25613), DNS plays a critical role in routing web traffic but is notoriously vulnerable to attack. One reason is its distributed nature. It relies on unstructured connections between millions of clients and servers over inherently insecure protocols.\
The gravity and extent of the importance of securing DNS from attacks is undeniable. The fallout of compromised DNS can be disastrous. Not only can hackers bring down an entire business, they can intercept confidential information, emails, and login credentials, as well. \
@@ -281,7 +281,7 @@ version = 1
references = ["https://www.cisecurity.org/controls/data-protection/", "https://www.sans.org/reading-room/whitepapers/dns/splunk-detect-dns-tunneling-37022", "https://umbrella.cisco.com/blog/2013/04/15/on-the-trail-of-malicious-dynamic-dns-domains/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect USB device insertion - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Get Process Info", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio"]
+searches = ["ESCU - Detection of DNS Tunnels - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detect USB device insertion - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host"]
description = Fortify your data-protection arsenal--while continuing to ensure data confidentiality and integrity--with searches that monitor for and help you investigate possible signs of data exfiltration.
narrative = Attackers can leverage a variety of resources to compromise or exfiltrate enterprise data. Common exfiltration techniques include remote-access channels via low-risk, high-payoff active-collections operations and close-access operations using insiders and removable media. While this Analytic Story is not a comprehensive listing of all the methods by which attackers can exfiltrate data, it provides a useful starting point.
@@ -303,7 +303,7 @@ version = 2
references = ["https://attack.mitre.org/wiki/Technique/T1089", "https://blog.malwarebytes.com/cybercrime/2015/11/vonteera-adware-uses-certificates-to-disable-anti-malware/", "https://www.operationblockbuster.com/wp-content/uploads/2016/02/Operation-Blockbuster-Tools-Report.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Attempt To Add Certificate To Untrusted Store - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - Attempt To Stop Security Service - Rule", "ESCU - Unload Sysmon Filter Driver - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Unload Sysmon Filter Driver - Rule", "ESCU - Attempt To Stop Security Service - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Attempt To Add Certificate To Untrusted Store - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
description = Looks for activities and techniques associated with the disabling of security tools on a Windows system, such as suspicious `reg.exe` processes, processes launching netsh, and many others.
narrative = Attackers employ a variety of tactics in order to avoid detection and operate without barriers. This often involves modifying the configuration of security tools to get around them or explicitly disabling them to prevent them from running. This Analytic Story includes searches that look for activity consistent with attackers attempting to disable various security mechanisms. Such activity may involve monitoring for suspicious registry activity, as this is where much of the configuration for Windows and various other programs reside, or explicitly attempting to shut down security-related services. Other times, attackers attempt various tricks to prevent specific programs from running, such as adding the certificates with which the security tools are signed to a blacklist (which would prevent them from running).
@@ -314,7 +314,7 @@ version = 2
references = ["https://www.fireeye.com/blog/threat-research/2017/09/apt33-insights-into-iranian-cyber-espionage.html", "https://umbrella.cisco.com/blog/2013/04/15/on-the-trail-of-malicious-dynamic-dns-domains/", "http://www.noip.com/blog/2014/07/11/dynamic-dns-can-use-2/", "https://www.splunk.com/blog/2015/08/04/detecting-dynamic-dns-domains-in-splunk.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect web traffic to dynamic domain providers - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable History"]
+searches = ["ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detect web traffic to dynamic domain providers - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio"]
description = Detect and investigate hosts in your environment that may be communicating with dynamic domain providers. Attackers may leverage these services to help them avoid firewall blocks and blacklists.
narrative = Dynamic DNS services (DDNS) are legitimate low-cost or free services that allow users to rapidly update domain resolutions to IP infrastructure. While their usage can be benign, malicious actors can abuse DDNS to host harmful payloads or interactive-command-and-control infrastructure. These attackers will manually update or automate domain resolution changes by routing dynamic domains to IP addresses that circumvent firewall blocks and blacklists and frustrate a network defender's analytic and investigative processes. These searches will look for DNS queries made from within your infrastructure to suspicious dynamic domains and then investigate more deeply, when appropriate. While this list of top-level dynamic domains is not exhaustive, it can be dynamically updated as new suspicious dynamic domains are identified.
@@ -325,7 +325,7 @@ version = 1
references = ["https://www.us-cert.gov/ncas/alerts/TA18-201A", "https://www.first.org/resources/papers/conf2017/Advanced-Incident-Detection-and-Threat-Hunting-using-Sysmon-and-Splunk.pdf", "https://www.vkremez.com/2017/05/emotet-banking-trojan-malware-analysis.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Detection of tools built by NirSoft - Rule", "ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Detect Rare Executables - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Detect Use of cmd exe to Launch Script Interpreters - Rule", "ESCU - Email Attachments With Lots Of Spaces - Rule", "ESCU - Suspicious Email Attachment Extensions - Rule", "ESCU - Get Process Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get History Of Email Sources", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Email Attachments With Lots Of Spaces - Rule", "ESCU - Detect Use of cmd exe to Launch Script Interpreters - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Prohibited Software On Endpoint - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Detection of tools built by NirSoft - Rule", "ESCU - Detect Rare Executables - Rule", "ESCU - Suspicious Email Attachment Extensions - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get History Of Email Sources", "ESCU - Get Process Information For Port Activity"]
description = Detect rarely used executables, specific registry paths that may confer malware survivability and persistence, instances where cmd.exe is used to launch script interpreters, and other indicators that the Emotet financial malware has compromised your environment.
narrative = The trojan downloader known as Emotet first surfaced in 2014, when it was discovered targeting the banking industry to steal credentials. However, according to a joint technical alert (TA) issued by three government agencies (https://www.us-cert.gov/ncas/alerts/TA18-201A), Emotet has evolved far beyond those beginnings to become what a ThreatPost article called a threat-delivery service(see https://threatpost.com/emotet-malware-evolves-beyond-banking-to-threat-delivery-service/134342/). For example, in early 2018, Emotet was found to be using its loader function to spread the Quakbot and Ransomware variants. \
According to the TA, the the malware continues to be among the most costly and destructive malware affecting the private and public sectors. Researchers have linked it to the threat group Mealybug, which has also been on the security communitys radar since 2014.\
@@ -349,7 +349,7 @@ version = 1
references = ["https://cloud.google.com/iam/docs/understanding-service-accounts"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rod Soto"}]
spec_version = 3
-searches = ["ESCU - GCP Detect gcploit framework - Rule", "ESCU - GCP Detect accounts with high risk roles by project - Rule", "ESCU - gcp detect oauth token abuse - Rule", "ESCU - GCP Detect high risk permissions by resource and account - Rule", "ESCU - Get Notable History"]
+searches = ["ESCU - gcp detect oauth token abuse - Rule", "ESCU - GCP Detect high risk permissions by resource and account - Rule", "ESCU - GCP Detect accounts with high risk roles by project - Rule", "ESCU - GCP Detect gcploit framework - Rule", "ESCU - Get Notable History"]
description = Track when a user assumes an IAM role in another GCP account to obtain cross-account access to services and resources in that account. Accessing new roles could be an indication of malicious activity.
narrative = Google Cloud Platform (GCP) admins manage access to GCP resources and services across the enterprise using GCP Identity and Access Management (IAM) functionality. IAM provides the ability to create and manage GCP users, groups, and roles-each with their own unique set of privileges and defined access to specific resources (such as Compute instances, the GCP Management Console, API, or the command-line interface). Unlike conventional (human) users, IAM roles are potentially assumable by anyone in the organization. They provide users with dynamically created temporary security credentials that expire within a set time period.\
In between the time between when the temporary credentials are issued and when they expire is a period of opportunity, where a user could leverage the temporary credentials to wreak havoc-spin up or remove instances, create new users, elevate privileges, and other malicious activities-throughout the environment.\
@@ -362,7 +362,7 @@ version = 2
references = ["https://www.us-cert.gov/HIDDEN-COBRA-North-Korean-Malicious-Cyber-Activity", "https://www.operationblockbuster.com/wp-content/uploads/2016/02/Operation-Blockbuster-Destructive-Malware-Report.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - Remote Desktop Process Running On System - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Create or delete windows shares using net exe - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - Suspicious File Write - Rule", "ESCU - Get Process Info", "ESCU - Get DNS Server History for a host", "ESCU - Get Outbound Emails to Hidden Cobra Threat Actors", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get History Of Email Sources", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Remote Desktop Process Running On System - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Create or delete windows shares using net exe - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - Suspicious File Write - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Parent Process Info", "ESCU - Get Outbound Emails to Hidden Cobra Threat Actors", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - Get History Of Email Sources", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity"]
description = Monitor for and investigate activities, including the creation or deletion of hidden shares and file writes, that may be evidence of infiltration by North Korean government-sponsored cybercriminals. Details of this activity were reported in DHS Report TA-18-149A.
narrative = North Korea's government-sponsored "cyber army" has been slowly building momentum and gaining sophistication over the last 15 years or so. As a result, the group's activity, which the US government refers to as "Hidden Cobra," has surreptitiously crept onto the collective radar as a preeminent global threat.\
These state-sponsored actors are thought to be responsible for everything from a hack on a South Korean nuclear plant to an attack on Sony in anticipation of its release of the movie "The Interview" at the end of 2014. They're also notorious for cyberespionage. In recent years, the group seems to be focused on financial crimes, such as cryptojacking.\
@@ -412,7 +412,7 @@ version = 1
references = ["https://github.com/splunk/cloud-datamodel-security-research"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rod Soto"}]
spec_version = 3
-searches = ["ESCU - Amazon EKS Kubernetes cluster scan detection - Rule", "ESCU - Amazon EKS Kubernetes Pod scan detection - Rule", "ESCU - Kubernetes Azure scan fingerprint - Rule", "ESCU - GCP Kubernetes cluster pod scan detection - Rule", "ESCU - GCP Kubernetes cluster scan detection - Rule", "ESCU - Kubernetes Azure pod scan fingerprint - Rule", "ESCU - Amazon EKS Kubernetes activity by src ip", "ESCU - Get Notable History", "ESCU - GCP Kubernetes activity by src ip"]
+searches = ["ESCU - GCP Kubernetes cluster scan detection - Rule", "ESCU - Amazon EKS Kubernetes Pod scan detection - Rule", "ESCU - Kubernetes Azure pod scan fingerprint - Rule", "ESCU - GCP Kubernetes cluster pod scan detection - Rule", "ESCU - Amazon EKS Kubernetes cluster scan detection - Rule", "ESCU - Kubernetes Azure scan fingerprint - Rule", "ESCU - GCP Kubernetes activity by src ip", "ESCU - Get Notable History", "ESCU - Amazon EKS Kubernetes activity by src ip"]
description = This story addresses detection against Kubernetes cluster fingerprint scan and attack by providing information on items such as source ip, user agent, cluster names.
narrative = Kubernetes is the most used container orchestration platform, this orchestration platform contains sensitve information and management priviledges of production workloads, microservices and applications. These searches allow operator to detect suspicious unauthenticated requests from the internet to kubernetes cluster.
@@ -423,7 +423,7 @@ version = 1
references = ["https://www.splunk.com/en_us/blog/security/approaching-kubernetes-security-detecting-kubernetes-scan-with-splunk.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rod Soto"}]
spec_version = 3
-searches = ["ESCU - Kubernetes Azure detect service accounts forbidden failure access - Rule", "ESCU - Kubernetes GCP detect suspicious kubectl calls - Rule", "ESCU - AWS EKS Kubernetes cluster sensitive object access - Rule", "ESCU - Kubernetes GCP detect sensitive object access - Rule", "ESCU - Kubernetes AWS detect service accounts forbidden failure access - Rule", "ESCU - Kubernetes Azure detect sensitive object access - Rule", "ESCU - Kubernetes Azure detect suspicious kubectl calls - Rule", "ESCU - Kubernetes AWS detect suspicious kubectl calls - Rule", "ESCU - Kubernetes GCP detect service accounts forbidden failure access - Rule", "ESCU - Get Notable History"]
+searches = ["ESCU - Kubernetes GCP detect service accounts forbidden failure access - Rule", "ESCU - Kubernetes AWS detect service accounts forbidden failure access - Rule", "ESCU - Kubernetes Azure detect service accounts forbidden failure access - Rule", "ESCU - Kubernetes AWS detect suspicious kubectl calls - Rule", "ESCU - Kubernetes Azure detect suspicious kubectl calls - Rule", "ESCU - Kubernetes Azure detect sensitive object access - Rule", "ESCU - Kubernetes GCP detect suspicious kubectl calls - Rule", "ESCU - AWS EKS Kubernetes cluster sensitive object access - Rule", "ESCU - Kubernetes GCP detect sensitive object access - Rule", "ESCU - Get Notable History"]
description = This story addresses detection and response of accounts acccesing Kubernetes cluster sensitive objects such as configmaps or secrets providing information on items such as user user, group. object, namespace and authorization reason.
narrative = Kubernetes is the most used container orchestration platform, this orchestration platform contains sensitive objects within its architecture, specifically configmaps and secrets, if accessed by an attacker can lead to further compromise. These searches allow operator to detect suspicious requests against Kubernetes sensitive objects.
@@ -434,7 +434,7 @@ version = 1
references = ["https://www.splunk.com/en_us/blog/security/approaching-kubernetes-security-detecting-kubernetes-scan-with-splunk.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rod Soto"}]
spec_version = 3
-searches = ["ESCU - Kubernetes AWS detect most active service accounts by pod - Rule", "ESCU - Kubernetes Azure detect sensitive role access - Rule", "ESCU - Kubernetes GCP detect most active service accounts by pod - Rule", "ESCU - Kubernetes AWS detect RBAC authorization by account - Rule", "ESCU - Kubernetes AWS detect sensitive role access - Rule", "ESCU - Kubernetes GCP detect sensitive role access - Rule", "ESCU - Kubernetes Azure detect most active service accounts by pod namespace - Rule", "ESCU - Kubernetes Azure detect RBAC authorization by account - Rule", "ESCU - Kubernetes GCP detect RBAC authorizations by account - Rule", "ESCU - Get Notable History"]
+searches = ["ESCU - Kubernetes Azure detect RBAC authorization by account - Rule", "ESCU - Kubernetes AWS detect sensitive role access - Rule", "ESCU - Kubernetes GCP detect RBAC authorizations by account - Rule", "ESCU - Kubernetes AWS detect RBAC authorization by account - Rule", "ESCU - Kubernetes AWS detect most active service accounts by pod - Rule", "ESCU - Kubernetes GCP detect most active service accounts by pod - Rule", "ESCU - Kubernetes Azure detect sensitive role access - Rule", "ESCU - Kubernetes Azure detect most active service accounts by pod namespace - Rule", "ESCU - Kubernetes GCP detect sensitive role access - Rule", "ESCU - Get Notable History"]
description = This story addresses detection and response around Sensitive Role usage within a Kubernetes clusters against cluster resources and namespaces.
narrative = Kubernetes is the most used container orchestration platform, this orchestration platform contains sensitive roles within its architecture, specifically configmaps and secrets, if accessed by an attacker can lead to further compromise. These searches allow operator to detect suspicious requests against Kubernetes role activities
@@ -445,7 +445,7 @@ version = 2
references = ["https://www.fireeye.com/blog/executive-perspective/2015/08/malware_lateral_move.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Schtasks scheduling job on remote system - Rule", "ESCU - Remote Desktop Process Running On System - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Kerberoasting spn request with RC4 encryption - Rule", "ESCU - Detect Activity Related to Pass the Hash Attacks - Rule", "ESCU - Get Process Info", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Process Information For Port Activity", "ESCU - Get History Of Email Sources", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Remote Desktop Process Running On System - Rule", "ESCU - Kerberoasting spn request with RC4 encryption - Rule", "ESCU - Schtasks scheduling job on remote system - Rule", "ESCU - Detect Activity Related to Pass the Hash Attacks - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get History Of Email Sources", "ESCU - Get Process Information For Port Activity"]
description = Detect and investigate tactics, techniques, and procedures around how attackers move laterally within the enterprise. Because lateral movement can expose the adversary to detection, it should be an important focus for security analysts.
narrative = Once attackers gain a foothold within an enterprise, they will seek to expand their accesses and leverage techniques that facilitate lateral movement. Attackers will often spend quite a bit of time and effort moving laterally. Because lateral movement renders an attacker the most vulnerable to detection, it's an excellent focus for detection and investigation.\
Indications of lateral movement can include the abuse of system utilities (such as `psexec.exe`), unauthorized use of remote desktop services, `file/admin$` shares, WMI, PowerShell, pass-the-hash, or the abuse of scheduled tasks. Organizations must be extra vigilant in detecting lateral movement techniques and look for suspicious activity in and around high-value strategic network assets, such as Active Directory, which are often considered the primary target or "crown jewels" to a persistent threat actor.\
@@ -460,7 +460,7 @@ version = 4
references = ["https://blogs.mcafee.com/mcafee-labs/malware-employs-powershell-to-infect-systems/", "https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Attempt To Set Default PowerShell Execution Policy To Unrestricted or Bypass - Rule", "ESCU - Malicious PowerShell Process With Obfuscation Techniques - Rule", "ESCU - Malicious PowerShell Process - Encoded Command - Rule", "ESCU - Malicious PowerShell Process - Connect To Internet With Hidden Window - Rule", "ESCU - Malicious PowerShell Process - Multiple Suspicious Command-Line Arguments - Rule", "ESCU - Get Process Info", "ESCU - Get History Of Email Sources", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Malicious PowerShell Process - Connect To Internet With Hidden Window - Rule", "ESCU - Malicious PowerShell Process With Obfuscation Techniques - Rule", "ESCU - Malicious PowerShell Process - Encoded Command - Rule", "ESCU - Attempt To Set Default PowerShell Execution Policy To Unrestricted or Bypass - Rule", "ESCU - Malicious PowerShell Process - Multiple Suspicious Command-Line Arguments - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info", "ESCU - Get History Of Email Sources"]
description = Attackers are finding stealthy ways "live off the land," leveraging utilities and tools that come standard on the endpoint--such as PowerShell--to achieve their goals without downloading binary files. These searches can help you detect and investigate PowerShell command-line options that may be indicative of malicious intent.
narrative = The searches in this Analytic Story monitor for parameters often used for malicious purposes. It is helpful to understand how often the notable events generated by this story occur, as well as the commonalities between some of these events. These factors may provide clues about whether this is a common occurrence of minimal concern or a rare event that may require more extensive investigation. Likewise, it is important to determine whether the issue is restricted to a single user/system or is broader in scope.\
The following factors may assist you in determining whether the event is malicious: \
@@ -480,7 +480,7 @@ version = 1
references = ["https://www.carbonblack.com/2016/03/04/tracking-locky-ransomware-using-carbon-black/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Unsuccessful Netbackup backups - Rule", "ESCU - Extended Period Without Successful Netbackup Backups - Rule", "ESCU - All backup logs for host", "ESCU - Get Notable History"]
+searches = ["ESCU - Extended Period Without Successful Netbackup Backups - Rule", "ESCU - Unsuccessful Netbackup backups - Rule", "ESCU - All backup logs for host", "ESCU - Get Notable History"]
description = Address common concerns when monitoring your backup processes. These searches can help you reduce risks from ransomware, device theft, or denial of physical access to a host by backing up data on endpoints.
narrative = Having backups is a standard best practice that helps ensure continuity of business operations. Having mature backup processes can also help you reduce the risks of many security-related incidents and streamline your response processes. The detection searches in this Analytic Story will help you identify systems that have backup failures, as well as systems that have not been backed up for an extended period of time. The story will also return the notable event history and all of the backup logs for an endpoint.
@@ -491,7 +491,7 @@ version = 1
references = ["https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
description = Identify and investigate prohibited/unauthorized software or processes that may be concealing malicious behavior within your environment.
narrative = It is critical to identify unauthorized software and processes running on enterprise endpoints and determine whether they are likely to be malicious. This Analytic Story requires the user to populate the Interesting Processes table within Enterprise Security with prohibited processes. An included support search will augment this data, adding information on processes thought to be malicious. This search requires data from endpoint detection-and-response solutions, endpoint data sources (such as Sysmon), or Windows Event Logs--assuming that the Active Directory administrator has enabled process tracking within the System Event Audit Logs.\
It is important to investigate any software identified as suspicious, in order to understand how it was installed or executed. Analyzing authentication logs or any historic notable events might elicit additional investigative leads of interest. For best results, schedule the search to run every two weeks.
@@ -516,7 +516,7 @@ version = 1
references = ["https://docs.microsoft.com/en-us/previous-versions/tn-archive/bb490939(v=technet.10)", "https://htmlpreview.github.io/?https://github.com/MatthewDemaske/blogbackup/blob/master/netshell.html", "http://blog.jpcert.or.jp/2016/01/windows-commands-abused-by-attackers.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Processes launching netsh - Rule", "ESCU - Processes created by netsh - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Processes created by netsh - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
description = Detect activities and various techniques associated with the abuse of `netsh.exe`, which can disable local firewall settings or set up a remote connection to a host from an infected system.
narrative = It is a common practice for attackers of all types to leverage native Windows tools and functionality to execute commands for malicious reasons. One such tool on Windows OS is `netsh.exe`,a command-line scripting utility that allows you to--either locally or remotely--display or modify the network configuration of a computer that is currently running. `Netsh.exe` can be used to discover and disable local firewall settings. It can also be used to set up a remote connection to a host from an infected system.\
To get started, run the detection search to identify parent processes of `netsh.exe`.
@@ -528,7 +528,7 @@ version = 1
references = ["https://i.blackhat.com/USA-20/Thursday/us-20-Bienstock-My-Cloud-Is-APTs-Cloud-Investigating-And-Defending-Office-365.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Patrick Bareiss"}]
spec_version = 3
-searches = ["ESCU - O365 PST export alert - Rule", "ESCU - O365 Suspicious Rights Delegation - Rule", "ESCU - O365 Excessive Authentication Failures Alert - Rule", "ESCU - O365 Disable MFA - Rule", "ESCU - O365 Suspicious Admin Email Forwarding - Rule", "ESCU - O365 Suspicious User Email Forwarding - Rule", "ESCU - High Number of Login Failures from a single source - Rule"]
+searches = ["ESCU - O365 Excessive Authentication Failures Alert - Rule", "ESCU - High Number of Login Failures from a single source - Rule", "ESCU - O365 Bypass MFA via Trusted IP - Rule", "ESCU - O365 Disable MFA - Rule", "ESCU - O365 Suspicious Rights Delegation - Rule", "ESCU - O365 Suspicious Admin Email Forwarding - Rule", "ESCU - O365 Suspicious User Email Forwarding - Rule", "ESCU - O365 PST export alert - Rule"]
description = This story is focused around detecting Office 365 Attacks.
narrative = More and more companies are using Microsofts Office 365 cloud offering. Therefore, we see more and more attacks against Office 365. This story provides various detections for Office 365 attacks.
@@ -539,7 +539,7 @@ version = 2
references = ["https://www.symantec.com/blogs/threat-intelligence/orangeworm-targets-healthcare-us-europe-asia", "https://www.infosecurity-magazine.com/news/healthcare-targeted-by-hacker/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - First Time Seen Running Windows Service - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Get Process Info", "ESCU - Get History Of Email Sources", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - First time seen command line argument - Rule", "ESCU - First Time Seen Running Windows Service - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info", "ESCU - Get History Of Email Sources"]
description = Detect activities and various techniques associated with the Orangeworm Attack Group, a group that frequently targets the healthcare industry.
narrative = In May of 2018, the attack group Orangeworm was implicated for installing a custom backdoor called Trojan.Kwampirs within large international healthcare corporations in the United States, Europe, and Asia. This malware provides the attackers with remote access to the target system, decrypting and extracting a copy of its main DLL payload from its resource section. Before writing the payload to disk, it inserts a randomly generated string into the middle of the decrypted payload in an attempt to evade hash-based detections.\
Awareness of the Orangeworm group first surfaced in January, 2015. It has conducted targeted attacks against related industries, as well, such as pharmaceuticals and healthcare IT solution providers.\
@@ -554,7 +554,7 @@ version = 1
references = ["https://www.fireeye.com/blog/threat-research/2019/04/spear-phishing-campaign-targets-ukraine-government.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Splunk Research Team"}]
spec_version = 3
-searches = ["ESCU - Detect Oulook exe writing a zip file - Rule", "ESCU - Suspicious LNK file launching a process - Rule", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Suspicious LNK file launching a process - Rule", "ESCU - Detect Oulook exe writing a zip file - Rule", "ESCU - Get Parent Process Info"]
description = Detect signs of malicious payloads that may indicate that your environment has been breached via a phishing attack.
narrative = Despite its simplicity, phishing remains the most pervasive and dangerous cyberthreat. In fact, research shows that as many as [91% of all successful attacks](https://digitalguardian.com/blog/91-percent-cyber-attacks-start-phishing-email-heres-how-protect-against-phishing) are initiated via a phishing email. \
As most people know, these emails use fraudulent domains, [email scraping](https://www.cyberscoop.com/emotet-trojan-phishing-scraping-templates-cofense-geodo/), familiar contact names inserted as senders, and other tactics to lure targets into clicking a malicious link, opening an attachment with a [nefarious payload](https://www.cyberscoop.com/emotet-trojan-phishing-scraping-templates-cofense-geodo/), or entering sensitive personal information that perpetrators may intercept. This attack technique requires a relatively low level of skill and allows adversaries to easily cast a wide net. Worse, because its success relies on the gullibility of humans, it's impossible to completely "automate" it out of your environment. However, you can use ES and ESCU to detect and investigate potentially malicious payloads injected into your environment subsequent to a phishing attack. \
@@ -572,7 +572,7 @@ version = 1
references = ["https://www.infosecurity-magazine.com/news/scope-of-mudcarp-attacks-highlight-1/", "http://blog.amossys.fr/badflick-is-not-so-bad.html"]
maintainers = [{"company": "iDefense", "email": "-", "name": "iDefense Cyber Espionage Team"}]
spec_version = 3
-searches = ["ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Malicious PowerShell Process - Connect To Internet With Hidden Window - Rule", "ESCU - Get Process Info", "ESCU - Get History Of Email Sources", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Registry Keys Used For Persistence - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Malicious PowerShell Process - Connect To Internet With Hidden Window - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info", "ESCU - Get History Of Email Sources"]
description = Monitor your environment for suspicious behaviors that resemble the techniques employed by the MUDCARP threat group.
narrative = This story was created as a joint effort between iDefense and Splunk.\
iDefense analysts have recently discovered a Windows executable file that, upon execution, spoofs a decryption tool and then drops a file that appears to be the custom-built javascript backdoor, "Orz," which is associated with the threat actors known as MUDCARP (as well as "temp.Periscope" and "Leviathan"). The file is executed using Wscript.\
@@ -610,7 +610,7 @@ version = 1
references = ["http://www.novetta.com/2015/02/advanced-methods-to-detect-advanced-cyber-attacks-protocol-abuse/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Protocol or Port Mismatch - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Get Process Info", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Protocol or Port Mismatch - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity"]
description = Detect instances of prohibited network traffic allowed in the environment, as well as protocols running on non-standard ports. Both of these types of behaviors typically violate policy and can be leveraged by attackers.
narrative = A traditional security best practice is to control the ports, protocols, and services allowed within your environment. By limiting the services and protocols to those explicitly approved by policy, administrators can minimize the attack surface. The combined effect allows both network defenders and security controls to focus and not be mired in superfluous traffic or data types. Looking for deviations to policy can identify attacker activity that abuses services and protocols to run on alternate or non-standard ports in the attempt to avoid detection or frustrate forensic analysts.
@@ -621,7 +621,7 @@ version = 1
references = ["https://www.carbonblack.com/2017/06/28/carbon-black-threat-research-technical-analysis-petya-notpetya-ransomware/", "https://www.splunk.com/blog/2017/06/27/closing-the-detection-to-mitigation-gap-or-to-petya-or-notpetya-whocares-.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - BCDEdit Failure Recovery Modification - Rule", "ESCU - Remote Process Instantiation via WMI - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Windows Event Log Cleared - Rule", "ESCU - Schtasks used for forcing a reboot - Rule", "ESCU - Suspicious wevtutil Usage - Rule", "ESCU - Scheduled tasks used in BadRabbit ransomware - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Common Ransomware Extensions - Rule", "ESCU - USN Journal Deletion - Rule", "ESCU - Get Process Info", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get Process Information For Port Activity", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get History Of Email Sources", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Remote Process Instantiation via WMI - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - BCDEdit Failure Recovery Modification - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - USN Journal Deletion - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - Common Ransomware Extensions - Rule", "ESCU - Scheduled tasks used in BadRabbit ransomware - Rule", "ESCU - Windows Event Log Cleared - Rule", "ESCU - TOR Traffic - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Schtasks used for forcing a reboot - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Suspicious wevtutil Usage - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get History Of Email Sources", "ESCU - Get Process Information For Port Activity"]
description = Leverage searches that allow you to detect and investigate unusual activities that might relate to ransomware--spikes in SMB traffic, suspicious wevtutil usage, the presence of common ransomware extensions, and system processes run from unexpected locations, and many others.
narrative = Ransomware is an ever-present risk to the enterprise, wherein an infected host encrypts business-critical data, holding it hostage until the victim pays the attacker a ransom. There are many types and varieties of ransomware that can affect an enterprise. Attackers can deploy ransomware to enterprises through spearphishing campaigns and driveby downloads, as well as through traditional remote service-based exploitation. In the case of the WannaCry campaign, there was self-propagating wormable functionality that was used to maximize infection. Fortunately, organizations can apply several techniques--such as those in this Analytic Story--to detect and or mitigate the effects of ransomware.
@@ -643,7 +643,7 @@ version = 1
references = ["https://www.fireeye.com/blog/executive-perspective/2015/09/the_new_route_toper.html", "https://www.cisco.com/c/en/us/about/security-center/event-response/synful-knock.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect Port Security Violation - Rule", "ESCU - Detect New Login Attempts to Routers - Rule", "ESCU - Detect ARP Poisoning - Rule", "ESCU - Detect Software Download To Network Device - Rule", "ESCU - Detect IPv6 Network Infrastructure Threats - Rule", "ESCU - Detect Traffic Mirroring - Rule", "ESCU - Detect Rogue DHCP Server - Rule", "ESCU - Get Notable History"]
+searches = ["ESCU - Detect Port Security Violation - Rule", "ESCU - Detect IPv6 Network Infrastructure Threats - Rule", "ESCU - Detect New Login Attempts to Routers - Rule", "ESCU - Detect Traffic Mirroring - Rule", "ESCU - Detect ARP Poisoning - Rule", "ESCU - Detect Software Download To Network Device - Rule", "ESCU - Detect Rogue DHCP Server - Rule", "ESCU - Get Notable History"]
description = Validate the security configuration of network infrastructure and verify that only authorized users and systems are accessing critical assets. Core routing and switching infrastructure are common strategic targets for attackers.
narrative = Networking devices, such as routers and switches, are often overlooked as resources that attackers will leverage to subvert an enterprise. Advanced threats actors have shown a proclivity to target these critical assets as a means to siphon and redirect network traffic, flash backdoored operating systems, and implement cryptographic weakened algorithms to more easily decrypt network traffic.\
This Analytic Story helps you gain a better understanding of how your network devices are interacting with your hosts. By compromising your network devices, attackers can obtain direct access to the company's internal infrastructure effectively increasing the attack surface and accessing private services/data.
@@ -655,7 +655,7 @@ version = 1
references = ["https://www.splunk.com/en_us/blog/security/detecting-ryuk-using-splunk-attack-range.html", "https://www.crowdstrike.com/blog/big-game-hunting-with-ryuk-another-lucrative-targeted-ransomware/", "https://us-cert.cisa.gov/ncas/alerts/aa20-302a"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Jose Hernandez"}]
spec_version = 3
-searches = ["ESCU - Windows DisableAntiSpyware Registry - Rule", "ESCU - BCDEdit Failure Recovery Modification - Rule", "ESCU - Ryuk Test Files Detected - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Remote Desktop Network Bruteforce - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - Windows Security Account Manager Stopped - Rule", "ESCU - Windows connhost exe started forcefully - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - Get Notable History"]
+searches = ["ESCU - Windows connhost exe started forcefully - Rule", "ESCU - Windows Security Account Manager Stopped - Rule", "ESCU - Windows DisableAntiSpyware Registry - Rule", "ESCU - BCDEdit Failure Recovery Modification - Rule", "ESCU - Ryuk Test Files Detected - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Remote Desktop Network Bruteforce - Rule", "ESCU - Get Notable History"]
description = Leverage searches that allow you to detect and investigate unusual activities that might relate to the Ryuk ransomware, including looking for file writes associated with Ryuk, Stopping Security Access Manager, DisableAntiSpyware registry key modification, suspicious psexec use, and more.
narrative = Cybersecurity Infrastructure Security Agency (CISA) released Alert (AA20-302A) on October 28th called “Ransomware Activity Targeting the Healthcare and Public Health Sector.” This alert details TTPs associated with ongoing and possible imminent attacks against the Healthcare sector, and is a joint advisory in coordination with other U.S. Government agencies. The objective of these malicious campaigns is to infiltrate targets in named sectors and to drop ransomware payloads, which will likely cause disruption of service and increase risk of actual harm to the health and safety of patients at hospitals, even with the aggravant of an ongoing COVID-19 pandemic. This document specifically refers to several crimeware exploitation frameworks, emphasizing the use of Ryuk ransomware as payload. The Ryuk ransomware payload is not new. It has been well documented and identified in multiple variants. Payloads need a carrier, and for Ryuk it has often been exploitation frameworks such as Cobalt Strike, or popular crimeware frameworks such as Emotet or Trickbot.
@@ -678,7 +678,7 @@ version = 1
references = ["https://www.crowdstrike.com/blog/an-in-depth-analysis-of-samsam-ransomware-and-boss-spider/", "https://nakedsecurity.sophos.com/2018/07/31/samsam-the-almost-6-million-ransomware/", "https://thehackernews.com/2018/07/samsam-ransomware-attacks.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Batch File Write to System32 - Rule", "ESCU - Detect attackers scanning for vulnerable JBoss servers - Rule", "ESCU - File with Samsam Extension - Rule", "ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Common Ransomware Extensions - Rule", "ESCU - Detect malicious requests to exploit JBoss servers - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Samsam Test File Write - Rule", "ESCU - Remote Desktop Network Bruteforce - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - Detect PsExec With accepteula Flag - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - Get Process Info", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Process Information For Port Activity", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get History Of Email Sources", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Detect attackers scanning for vulnerable JBoss servers - Rule", "ESCU - Batch File Write to System32 - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Detect malicious requests to exploit JBoss servers - Rule", "ESCU - Common Ransomware Extensions - Rule", "ESCU - Prohibited Software On Endpoint - Rule", "ESCU - File with Samsam Extension - Rule", "ESCU - Samsam Test File Write - Rule", "ESCU - Detect PsExec With accepteula Flag - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Remote Desktop Network Bruteforce - Rule", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get History Of Email Sources", "ESCU - Get Process Information For Port Activity"]
description = Leverage searches that allow you to detect and investigate unusual activities that might relate to the SamSam ransomware, including looking for file writes associated with SamSam, RDP brute force attacks, the presence of files with SamSam ransomware extensions, suspicious psexec use, and more.
narrative = The first version of the SamSam ransomware (a.k.a. Samas or SamsamCrypt) was launched in 2015 by a group of Iranian threat actors. The malicious software has affected and continues to affect thousands of victims and has raised almost $6M in ransom.\
Although categorized under the heading of ransomware, SamSam campaigns have some importance distinguishing characteristics. Most notable is the fact that conventional ransomware is a numbers game. Perpetrators use a "spray-and-pray" approach with phishing campaigns or other mechanisms, charging a small ransom (typically under $1,000). The goal is to find a large number of victims willing to pay these mini-ransoms, adding up to a lucrative payday. They use relatively simple methods for infecting systems.\
@@ -739,7 +739,7 @@ version = 1
references = ["https://www.fireeye.com/blog/threat-research/2020/12/evasive-attacker-leverages-solarwinds-supply-chain-compromises-with-sunburst-backdoor.html", "https://msrc-blog.microsoft.com/2020/12/13/customer-guidance-on-recent-nation-state-cyber-attacks/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Patrick Bareiss"}]
spec_version = 3
-searches = ["ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Schtasks scheduling job on remote system - Rule", "ESCU - First Time Seen Running Windows Service - Rule", "ESCU - Sunburst Correlation DLL and Network Event - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - Windows AdFind Exe - Rule", "ESCU - Malicious PowerShell Process - Encoded Command - Rule", "ESCU - Scheduled Task Deleted Or Created via CMD - Rule", "ESCU - Supernova Webshell - Rule", "ESCU - Detect Prohibited Applications Spawning cmd exe - Rule"]
+searches = ["ESCU - Sunburst Correlation DLL and Network Event - Rule", "ESCU - Windows AdFind Exe - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Supernova Webshell - Rule", "ESCU - First Time Seen Running Windows Service - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - Malicious PowerShell Process - Encoded Command - Rule", "ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Schtasks scheduling job on remote system - Rule", "ESCU - Scheduled Task Deleted Or Created via CMD - Rule"]
description = Sunburst is a trojanized updates to SolarWinds Orion IT monitoring and management software. It was discovered by FireEye in December 2020. The actors behind this campaign gained access to numerous public and private organizations around the world.
narrative = This Analytic Story supports you to detect Tactics, Techniques and Procedures (TTPs) from the Sunburst malware. The threat actor behind sunburst compromised the SolarWinds.Orion.Core.BusinessLayer.dll, is a SolarWinds digitally-signed component of the Orion software framework that contains a backdoor that communicates via HTTP to third party servers. The detections in this Analytic Story are focusing on the dll loading events, file create events and network events to detect This malware.
@@ -750,7 +750,7 @@ version = 1
references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Abnormally High AWS Instances Terminated by User - MLTK - Rule", "ESCU - EC2 Instance Started With Previously Unseen User - Rule", "ESCU - EC2 Instance Started In Previously Unseen Region - Rule", "ESCU - Abnormally High AWS Instances Launched by User - MLTK - Rule", "ESCU - Abnormally High AWS Instances Terminated by User - Rule", "ESCU - Abnormally High AWS Instances Launched by User - Rule", "ESCU - AWS Investigate User Activities By ARN", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History", "ESCU - Get EC2 Launch Details"]
+searches = ["ESCU - EC2 Instance Started In Previously Unseen Region - Rule", "ESCU - Abnormally High AWS Instances Terminated by User - Rule", "ESCU - Abnormally High AWS Instances Launched by User - MLTK - Rule", "ESCU - Abnormally High AWS Instances Terminated by User - MLTK - Rule", "ESCU - EC2 Instance Started With Previously Unseen User - Rule", "ESCU - Abnormally High AWS Instances Launched by User - Rule", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get Notable History", "ESCU - Get EC2 Launch Details", "ESCU - Investigate AWS activities via region name", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN"]
description = Use the searches in this Analytic Story to monitor your AWS EC2 instances for evidence of anomalous activity and suspicious behaviors, such as EC2 instances that originate from unusual locations or those launched by previously unseen users (among others). Included investigative searches will help you probe more deeply, when the information warrants it.
narrative = AWS CloudTrail is an AWS service that helps you enable governance, compliance, and risk auditing within your AWS account. Actions taken by a user, role, or an AWS service are recorded as events in CloudTrail. It is crucial for a company to monitor events and actions taken in the AWS Console, AWS command-line interface, and AWS SDKs and APIs to ensure that your EC2 instances are not vulnerable to attacks. This Analytic Story identifies suspicious activities in your AWS EC2 instances and helps you respond and investigate those activities.
@@ -761,7 +761,7 @@ version = 1
references = ["https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect new user AWS Console Login - Rule", "ESCU - Detect AWS Console Login by User from New Region - Rule", "ESCU - Detect AWS Console Login by User from New Country - Rule", "ESCU - Detect AWS Console Login by User from New City - Rule", "ESCU - AWS Investigate User Activities By ARN"]
+searches = ["ESCU - Detect AWS Console Login by User from New City - Rule", "ESCU - Detect AWS Console Login by User from New Country - Rule", "ESCU - Detect AWS Console Login by User from New Region - Rule", "ESCU - Detect new user AWS Console Login - Rule", "ESCU - AWS Investigate User Activities By ARN"]
description = Monitor your AWS authentication events using your CloudTrail logs. Searches within this Analytic Story will help you stay aware of and investigate suspicious logins.
narrative = It is important to monitor and control who has access to your AWS infrastructure. Detecting suspicious logins to your AWS infrastructure will provide good starting points for investigations. Abusive behaviors caused by compromised credentials can lead to direct monetary costs, as you will be billed for any EC2 instances created by the attacker.
@@ -772,7 +772,7 @@ version = 2
references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf", "https://www.tripwire.com/state-of-security/security-data-protection/cloud/public-aws-s3-buckets-writable/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect Spike in S3 Bucket deletion - Rule", "ESCU - Detect New Open S3 Buckets over AWS CLI - Rule", "ESCU - Detect S3 access from a new IP - Rule", "ESCU - Detect New Open S3 buckets - Rule", "ESCU - AWS S3 Bucket details via bucketName", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Notable History"]
+searches = ["ESCU - Detect New Open S3 Buckets over AWS CLI - Rule", "ESCU - Detect S3 access from a new IP - Rule", "ESCU - Detect Spike in S3 Bucket deletion - Rule", "ESCU - Detect New Open S3 buckets - Rule", "ESCU - AWS S3 Bucket details via bucketName", "ESCU - Get Notable History", "ESCU - Investigate AWS activities via region name", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN"]
description = Use the searches in this Analytic Story to monitor your AWS S3 buckets for evidence of anomalous activity and suspicious behaviors, such as detecting open S3 buckets and buckets being accessed from a new IP. The contextual and investigative searches will give you more information, when required.
narrative = As cloud computing has exploded, so has the number of creative attacks on virtual environments. And as the number-two cloud-service provider, Amazon Web Services (AWS) has certainly had its share.\
Amazon's "shared responsibility" model dictates that the company has responsibility for the environment outside of the VM and the customer is responsible for the security inside of the S3 container. As such, it's important to stay vigilant for activities that may belie suspicious behavior inside of your environment.\
@@ -785,7 +785,7 @@ version = 1
references = ["https://rhinosecuritylabs.com/aws/hiding-cloudcobalt-strike-beacon-c2-using-amazon-apis/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - Get Process Info", "ESCU - Get DNS Server History for a host", "ESCU - AWS Investigate User Activities By ARN", "ESCU - AWS Network ACL Details from ID", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get Process Information For Port Activity", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio"]
+searches = ["ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Network ACL Details from ID", "ESCU - AWS Investigate User Activities By ARN"]
description = Leverage these searches to monitor your AWS network traffic for evidence of anomalous activity and suspicious behaviors, such as a spike in blocked outbound traffic in your virtual private cloud (VPC).
narrative = A virtual private cloud (VPC) is an on-demand managed cloud-computing service that isolates computing resources for each client. Inside the VPC container, the environment resembles a physical network. \
Amazon's VPC service enables you to launch EC2 instances and leverage other Amazon resources. The traffic that flows in and out of this VPC can be controlled via network access-control rules and security groups. Amazon also has a feature called VPC Flow Logs that enables you to log IP traffic going to and from the network interfaces in your VPC. This data is stored using Amazon CloudWatch Logs.\
@@ -799,7 +799,7 @@ version = 1
references = ["https://aws.amazon.com/blogs/security/aws-cloudtrail-now-tracks-cross-account-activity-to-its-origin/", "https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Detect AWS Console Login by User from New Region - Rule", "ESCU - Detect AWS Console Login by User from New Country - Rule", "ESCU - Detect AWS Console Login by User from New City - Rule", "ESCU - Detect AWS Console Login by New User - Rule", "ESCU - AWS Cross Account Activity From Previously Unseen Account - Rule", "ESCU - Investigate AWS User Activities by user field", "ESCU - Get Notable History"]
+searches = ["ESCU - AWS Cross Account Activity From Previously Unseen Account - Rule", "ESCU - Detect AWS Console Login by User from New Country - Rule", "ESCU - Detect AWS Console Login by User from New City - Rule", "ESCU - Detect AWS Console Login by User from New Region - Rule", "ESCU - Detect AWS Console Login by New User - Rule", "ESCU - Investigate AWS User Activities by user field", "ESCU - Get Notable History"]
description = Monitor your cloud authentication events. Searches within this Analytic Story leverage the recent cloud updates to the Authentication data model to help you stay aware of and investigate suspicious login activity.
narrative = It is important to monitor and control who has access to your cloud infrastructure. Detecting suspicious logins will provide good starting points for investigations. Abusive behaviors caused by compromised credentials can lead to direct monetary costs, as you will be billed for any compute activity whether legitimate or otherwise.\
This Analytic Story has data model versions of cloud searches leveraging Authentication data, including those looking for suspicious login activity, and cross-account activity for AWS.
@@ -811,7 +811,7 @@ version = 1
references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Abnormally High Number Of Cloud Instances Destroyed - Rule", "ESCU - Abnormally High Number Of Cloud Instances Launched - Rule", "ESCU - Cloud Instance Modified By Previously Unseen User - Rule", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN"]
+searches = ["ESCU - Cloud Instance Modified By Previously Unseen User - Rule", "ESCU - Abnormally High Number Of Cloud Instances Launched - Rule", "ESCU - Abnormally High Number Of Cloud Instances Destroyed - Rule", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN"]
description = Monitor your cloud infrastructure provisioning activities for behaviors originating from unfamiliar or unusual locations. These behaviors may indicate that malicious activities are occurring somewhere within your cloud environment.
narrative = Monitoring your cloud infrastructure logs allows you enable governance, compliance, and risk auditing. It is crucial for a company to monitor events and actions taken in the their cloud environments to ensure that your instances are not vulnerable to attacks. This Analytic Story identifies suspicious activities in your cloud compute instances and helps you respond and investigate those activities.
@@ -822,7 +822,7 @@ version = 1
references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Cloud Provisioning Activity From Previously Unseen Country - Rule", "ESCU - Cloud Provisioning Activity From Previously Unseen IP Address - Rule", "ESCU - Cloud Provisioning Activity From Previously Unseen City - Rule", "ESCU - Cloud Provisioning Activity From Previously Unseen Region - Rule", "ESCU - Get Notable History"]
+searches = ["ESCU - Cloud Provisioning Activity From Previously Unseen IP Address - Rule", "ESCU - Cloud Provisioning Activity From Previously Unseen Country - Rule", "ESCU - Cloud Provisioning Activity From Previously Unseen City - Rule", "ESCU - Cloud Provisioning Activity From Previously Unseen Region - Rule", "ESCU - Get Notable History"]
description = Monitor your cloud infrastructure provisioning activities for behaviors originating from unfamiliar or unusual locations. These behaviors may indicate that malicious activities are occurring somewhere within your cloud environment.
narrative = Because most enterprise cloud infrastructure activities originate from familiar geographic locations, monitoring for activity from unknown or unusual regions is an important security measure. This indicator can be especially useful in environments where it is impossible to whitelist specific IPs (because they vary).\
This Analytic Story was designed to provide you with flexibility in the precision you employ in specifying legitimate geographic regions. It can be as specific as an IP address or a city, or as broad as a region (think state) or an entire country. By determining how precise you want your geographical locations to be and monitoring for new locations that haven't previously accessed your environment, you can detect adversaries as they begin to probe your environment. Since there are legitimate reasons for activities from unfamiliar locations, this is not a standalone indicator. Nevertheless, location can be a relevant piece of information that you may wish to investigate further.
@@ -846,7 +846,7 @@ version = 2
references = ["https://attack.mitre.org/wiki/Technique/T1059", "https://www.microsoft.com/en-us/wdsi/threats/macro-malware", "https://www.fireeye.com/content/dam/fireeye-www/services/pdfs/mandiant-apt1-report.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Detect Use of cmd exe to Launch Script Interpreters - Rule", "ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Detect Use of cmd exe to Launch Script Interpreters - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
description = Leveraging the Windows command-line interface (CLI) is one of the most common attack techniques--one that is also detailed in the MITRE ATT&CK framework. Use this Analytic Story to help you identify unusual or suspicious use of the CLI on Windows systems.
narrative = The ability to execute arbitrary commands via the Windows CLI is a primary goal for the adversary. With access to the shell, an attacker can easily run scripts and interact with the target system. Often, attackers may only have limited access to the shell or may obtain access in unusual ways. In addition, malware may execute and interact with the CLI in ways that would be considered unusual and inconsistent with typical user activity. This provides defenders with opportunities to identify suspicious use and investigate, as appropriate. This Analytic Story contains various searches to help identify this suspicious activity, as well as others to aid you in deeper investigation.
@@ -857,7 +857,7 @@ version = 1
references = ["http://blogs.splunk.com/2015/10/01/random-words-on-entropy-and-dns/", "http://www.darkreading.com/analytics/security-monitoring/got-malware-three-signs-revealed-in-dns-traffic/d/d-id/1139680", "https://live.paloaltonetworks.com/t5/Threat-Vulnerability-Articles/What-are-suspicious-DNS-queries/ta-p/71454"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Excessive DNS Failures - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Detect Long DNS TXT Record Response - Rule", "ESCU - Get Process Info", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - Detect Long DNS TXT Record Response - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Excessive DNS Failures - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host"]
description = Attackers often attempt to hide within or otherwise abuse the domain name system (DNS). You can thwart attempts to manipulate this omnipresent protocol by monitoring for these types of abuses.
narrative = Although DNS is one of the fundamental underlying protocols that make the Internet work, it is often ignored (perhaps because of its complexity and effectiveness). However, attackers have discovered ways to abuse the protocol to meet their objectives. One potential abuse involves manipulating DNS to hijack traffic and redirect it to an IP address under the attacker's control. This could inadvertently send users intending to visit google.com, for example, to an unrelated malicious website. Another technique involves using the DNS protocol for command-and-control activities with the attacker's malicious code or to covertly exfiltrate data. The searches within this Analytic Story look for these types of abuses.
@@ -868,7 +868,7 @@ version = 1
references = ["https://www.splunk.com/blog/2015/06/26/phishing-hits-a-new-level-of-quality/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Suspicious Email - UBA Anomaly - Rule", "ESCU - Suspicious Email Attachment Extensions - Rule", "ESCU - Monitor Email For Brand Abuse - Rule", "ESCU - Email Attachments With Lots Of Spaces - Rule", "ESCU - Get Emails From Specific Sender", "ESCU - Get Notable History", "ESCU - Get Email Info"]
+searches = ["ESCU - Email Attachments With Lots Of Spaces - Rule", "ESCU - Monitor Email For Brand Abuse - Rule", "ESCU - Suspicious Email Attachment Extensions - Rule", "ESCU - Suspicious Email - UBA Anomaly - Rule", "ESCU - Get Emails From Specific Sender", "ESCU - Get Notable History", "ESCU - Get Email Info"]
description = Email remains one of the primary means for attackers to gain an initial foothold within the modern enterprise. Detect and investigate suspicious emails in your environment with the help of the searches in this Analytic Story.
narrative = It is a common practice for attackers of all types to leverage targeted spearphishing campaigns and mass mailers to deliver weaponized email messages and attachments. Fortunately, there are a number of ways to monitor email data in Splunk to detect suspicious content.\
Once a phishing message has been detected, the next steps are to answer the following questions: \
@@ -894,7 +894,7 @@ version = 1
references = ["https://redcanary.com/blog/windows-registry-attacks-threat-detection/", "https://medium.com/@mbromileyDFIR/malware-monday-aebb456356c5", "https://attack.mitre.org/wiki/Technique/T1170"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect mshta exe running scripts in command-line arguments - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Detect mshta exe running scripts in command-line arguments - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
description = Monitor and detect techniques used by attackers who leverage the mshta.exe process to execute malicious code.
narrative = One common adversary tactic is to bypass application white-listing solutions via the mshta.exe process, which executes Microsoft HTML applications with the .hta suffix. In these cases, attackers use the trusted Windows utility to eproxy execution of malicious files, whether an .hta application, javascript, or VBScript.\
One example of a notable mshta.exe attack was the Kovter malware (https://medium.com/@mbromileyDFIR/malware-monday-aebb456356c5) that was implicated in ransomware and click-fraud attacks. Kovter utilized .hta to execute a series of javascript commands, each progressively more dangerous. According to the Mitre Parternship Network (https://attack.mitre.org/wiki/Technique/T1170), FIN7 has leveraged mshta.exe, as has the MuddyWater group, who used it to execute its POWERSTATS payload (which then used the utility to execute additional payloads).\
@@ -907,7 +907,7 @@ version = 1
references = ["https://attack.mitre.org/wiki/Technique/T1078", "https://owasp.org/www-community/attacks/Credential_stuffing", "https://searchsecurity.techtarget.com/answer/What-is-a-password-spraying-attack-and-how-does-it-work"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Multiple Okta Users With Invalid Credentails From The Same IP - Rule", "ESCU - Okta Failed SSO Attempts - Rule", "ESCU - Okta User Logins From Multiple Cities - Rule", "ESCU - Okta Account Lockout Events - Rule", "ESCU - Investigate User Activities In Okta", "ESCU - Investigate Okta Activity by app", "ESCU - Investigate Okta Activity by IP Address"]
+searches = ["ESCU - Okta Failed SSO Attempts - Rule", "ESCU - Okta Account Lockout Events - Rule", "ESCU - Multiple Okta Users With Invalid Credentails From The Same IP - Rule", "ESCU - Okta User Logins From Multiple Cities - Rule", "ESCU - Investigate User Activities In Okta", "ESCU - Investigate Okta Activity by app", "ESCU - Investigate Okta Activity by IP Address"]
description = Monitor your Okta environment for suspicious activities. Due to the Covid outbreak, many users are migrating over to leverage cloud services more and more. Okta is a popular tool to manage multiple users and the web-based applications they need to stay productive. The searches in this story will help monitor your Okta environment for suspicious activities and associated user behaviors.
narrative = Okta is the leading single sign on (SSO) provider, allowing users to authenticate once to Okta, and from there access a variety of web-based applications. These applications are assigned to users and allow administrators to centrally manage which users are allowed to access which applications. It also provides centralized logging to help understand how the applications are used and by whom. \
While SSO is a major convenience for users, it also provides attackers with an opportunity. If the attacker can gain access to Okta, they can access a variety of applications. As such monitoring the environment is important. \
@@ -920,7 +920,7 @@ version = 2
references = ["https://www.blackhat.com/docs/us-15/materials/us-15-Graeber-Abusing-Windows-Management-Instrumentation-WMI-To-Build-A-Persistent%20Asynchronous-And-Fileless-Backdoor-wp.pdf", "https://www.fireeye.com/blog/threat-research/2017/03/wmimplant_a_wmi_ba.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Script Execution via WMI - Rule", "ESCU - WMI Temporary Event Subscription - Rule", "ESCU - WMI Permanent Event Subscription - Sysmon - Rule", "ESCU - WMI Permanent Event Subscription - Rule", "ESCU - Remote Process Instantiation via WMI - Rule", "ESCU - Remote WMI Command Attempt - Rule", "ESCU - Process Execution via WMI - Rule", "ESCU - Get Process Info", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - WMI Temporary Event Subscription - Rule", "ESCU - Remote Process Instantiation via WMI - Rule", "ESCU - Process Execution via WMI - Rule", "ESCU - Remote WMI Command Attempt - Rule", "ESCU - WMI Permanent Event Subscription - Rule", "ESCU - WMI Permanent Event Subscription - Sysmon - Rule", "ESCU - Script Execution via WMI - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get Notable History", "ESCU - Get Process Info"]
description = Attackers are increasingly abusing Windows Management Instrumentation (WMI), a framework and associated utilities available on all modern Windows operating systems. Because WMI can be leveraged to manage both local and remote systems, it is important to identify the processes executed and the user context within which the activity occurred.
narrative = WMI is a Microsoft infrastructure for management data and operations on Windows operating systems. It includes of a set of utilities that can be leveraged to manage both local and remote Windows systems. Attackers are increasingly turning to WMI abuse in their efforts to conduct nefarious tasks, such as reconnaissance, detection of antivirus and virtual machines, code execution, lateral movement, persistence, and data exfiltration. \
The detection searches included in this Analytic Story are used to look for suspicious use of WMI commands that attackers may leverage to interact with remote systems. The searches specifically look for the use of WMI to run processes on remote systems.\
@@ -933,7 +933,7 @@ version = 1
references = ["https://redcanary.com/blog/windows-registry-attacks-threat-detection/", "https://attack.mitre.org/wiki/Technique/T1112"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Disabling Remote User Account Control - Rule", "ESCU - Suspicious Changes to File Associations - Rule", "ESCU - Monitor Registry Keys for Print Monitors - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Registry Keys Used For Privilege Escalation - Rule", "ESCU - Registry Keys for Creating SHIM Databases - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Monitor Registry Keys for Print Monitors - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Registry Keys Used For Privilege Escalation - Rule", "ESCU - Suspicious Changes to File Associations - Rule", "ESCU - Registry Keys for Creating SHIM Databases - Rule", "ESCU - Disabling Remote User Account Control - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
description = Monitor and detect registry changes initiated from remote locations, which can be a sign that an attacker has infiltrated your system.
narrative = Attackers are developing increasingly sophisticated techniques for hijacking target servers, while evading detection. One such technique that has become progressively more common is registry modification.\
The registry is a key component of the Windows operating system. It has a hierarchical database called "registry" that contains settings, options, and values for executables. Once the threat actor gains access to a machine, they can use reg.exe to modify their account to obtain administrator-level privileges, maintain persistence, and move laterally within the environment.\
@@ -946,7 +946,7 @@ version = 1
references = ["https://blog.rapid7.com/2020/04/02/dispelling-zoom-bugbears-what-you-need-to-know-about-the-latest-zoom-vulnerabilities/", "https://threatpost.com/two-zoom-zero-day-flaws-uncovered/154337/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - First Time Seen Child Process of Zoom - Rule", "ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Get Process File Activity"]
+searches = ["ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - First Time Seen Child Process of Zoom - Rule", "ESCU - Get Process File Activity"]
description = Attackers are using Zoom as an vector to increase privileges on a sytems. This story detects new child processes of zoom and provides investigative actions for this detection.
narrative = Zoom is a leader in modern enterprise video communications and its usage has increased dramatically with a large amount of the population under stay-at-home orders due to the COVID-19 pandemic. With increased usage has come increased scrutiny and several security flaws have been found with this application on both Windows and macOS systems.\
Current detections focus on finding new child processes of this application on a per host basis. Investigative searches are included to gather information needed during an investigation.
@@ -970,7 +970,7 @@ version = 2
references = ["https://www.fireeye.com/blog/threat-research/2017/08/monitoring-windows-console-activity-part-two.html", "https://www.splunk.com/pdfs/technical-briefs/advanced-threat-detection-and-response-tech-brief.pdf", "https://www.sans.org/reading-room/whitepapers/logging/detecting-security-incidents-windows-workstation-event-logs-34262"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect processes used for System Network Configuration Discovery - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Detect Rare Executables - Rule", "ESCU - Uncommon Processes On Endpoint - Rule", "ESCU - RunDLL Loading DLL By Ordinal - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - RunDLL Loading DLL By Ordinal - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Detect processes used for System Network Configuration Discovery - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Detect Rare Executables - Rule", "ESCU - Uncommon Processes On Endpoint - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
description = Quickly identify systems running new or unusual processes in your environment that could be indicators of suspicious activity. Processes run from unusual locations, those with conspicuously long command lines, and rare executables are all examples of activities that may warrant deeper investigation.
narrative = Being able to profile a host's processes within your environment can help you more quickly identify processes that seem out of place when compared to the rest of the population of hosts or asset types.\
This Analytic Story lets you identify processes that are either a) not typically seen running or b) have some sort of suspicious command-line arguments associated with them. This Analytic Story will also help you identify the user running these processes and the associated process activity on the host.\
@@ -994,7 +994,7 @@ version = 1
references = ["https://www.fbi.gov/scams-and-safety/common-fraud-schemes/internet-fraud", "https://www.fbi.gov/news/stories/2017-internet-crime-report-released-050718"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Jim Apger"}]
spec_version = 3
-searches = ["ESCU - Web Fraud - Account Harvesting - Rule", "ESCU - Web Fraud - Anomalous User Clickspeed - Rule", "ESCU - Web Fraud - Password Sharing Across Accounts - Rule", "ESCU - Get Web Session Information via session id", "ESCU - Get Notable History", "ESCU - Get Emails From Specific Sender"]
+searches = ["ESCU - Web Fraud - Anomalous User Clickspeed - Rule", "ESCU - Web Fraud - Account Harvesting - Rule", "ESCU - Web Fraud - Password Sharing Across Accounts - Rule", "ESCU - Get Notable History", "ESCU - Get Web Session Information via session id", "ESCU - Get Emails From Specific Sender"]
description = Monitor your environment for activity consistent with common attack techniques bad actors use when attempting to compromise web servers or other web-related assets.
narrative = The Federal Bureau of Investigations (FBI) defines Internet fraud as the use of Internet services or software with Internet access to defraud victims or to otherwise take advantage of them. According to the Bureau, Internet crime schemes are used to steal millions of dollars each year from victims and continue to plague the Internet through various methods. The agency includes phishing scams, data breaches, Denial of Service (DOS) attacks, email account compromise, malware, spoofing, and ransomware in this category.\
These crimes are not the fraud itself, but rather the attack techniques commonly employed by fraudsters in their pursuit of data that enables them to commit malicious actssuch as obtaining and using stolen credit cards. They represent a serious problem that is steadily increasing and not likely to go away anytime soon.\
@@ -1021,7 +1021,7 @@ version = 1
references = ["https://attack.mitre.org/wiki/Defense_Evasion"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Disabling Remote User Account Control - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Hiding Files And Directories With Attrib exe - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Disabling Remote User Account Control - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Hiding Files And Directories With Attrib exe - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
description = Detect tactics used by malware to evade defenses on Windows endpoints. A few of these include suspicious `reg.exe` processes, files hidden with `attrib.exe` and disabling user-account control, among many others
narrative = Defense evasion is a tactic--identified in the MITRE ATT&CK framework--that adversaries employ in a variety of ways to bypass or defeat defensive security measures. There are many techniques enumerated by the MITRE ATT&CK framework that are applicable in this context. This Analytic Story includes searches designed to identify the use of such techniques on Windows platforms.
@@ -1032,7 +1032,7 @@ version = 1
references = ["https://blog.malwarebytes.com/cybercrime/2013/12/file-extensions-2/", "https://attack.mitre.org/wiki/Technique/T1042"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Suspicious Changes to File Associations - Rule", "ESCU - Execution of File With Spaces Before Extension - Rule", "ESCU - Execution of File with Multiple Extensions - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Execution of File with Multiple Extensions - Rule", "ESCU - Execution of File With Spaces Before Extension - Rule", "ESCU - Suspicious Changes to File Associations - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
description = Detect and investigate suspected abuse of file extensions and Windows file associations. Some of the malicious behaviors involved may include inserting spaces before file extensions or prepending the file extension with a different one, among other techniques.
narrative = Attackers use a variety of techniques to entice users to run malicious code or to persist on an endpoint. One way to accomplish these goals is to leverage file extensions and the mechanism Windows uses to associate files with specific applications. \
Since its earliest days, Windows has used extensions to identify file types. Users have become familiar with these extensions and their application associations. For example, if users see that a file ends in `.doc` or `.docx`, they will assume that it is a Microsoft Word document and expect that double-clicking will open it using `winword.exe`. The user will typically also presume that the `.docx` file is safe. \
@@ -1047,7 +1047,7 @@ version = 2
references = ["https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/", "https://zeltser.com/security-incident-log-review-checklist/", "http://journeyintoir.blogspot.com/2013/01/re-introducing-usnjrnl.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - USN Journal Deletion - Rule", "ESCU - Windows Event Log Cleared - Rule", "ESCU - Suspicious wevtutil Usage - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Suspicious wevtutil Usage - Rule", "ESCU - Windows Event Log Cleared - Rule", "ESCU - USN Journal Deletion - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
description = Adversaries often try to cover their tracks by manipulating Windows logs. Use these searches to help you monitor for suspicious activity surrounding log files--an essential component of an effective defense.
narrative = Because attackers often modify system logs to cover their tracks and/or to thwart the investigative process, log monitoring is an industry-recognized best practice. While there are legitimate reasons to manipulate system logs, it is still worthwhile to keep track of who manipulated the logs, when they manipulated them, and in what way they manipulated them (determining which accesses, tools, or utilities were employed). Even if no malicious activity is detected, the knowledge of an attempt to manipulate system logs may be indicative of a broader security risk that should be thoroughly investigated.\
The Analytic Story gives users two different ways to detect manipulation of Windows Event Logs and one way to detect deletion of the Update Sequence Number (USN) Change Journal. The story helps determine the history of the host and the users who have accessed it. Finally, the story aides in investigation by retrieving all the information on the process that caused these events (if the process has been identified).
@@ -1059,7 +1059,7 @@ version = 2
references = ["http://www.fuzzysecurity.com/tutorials/19.html", "https://www.fireeye.com/blog/threat-research/2010/07/malware-persistence-windows-registry.html", "http://resources.infosecinstitute.com/common-malware-persistence-mechanisms/", "https://www.fireeye.com/blog/threat-research/2017/05/fin7-shim-databases-persistence.html", "https://www.youtube.com/watch?v=dq2Hv7J9fvk"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Shim Database File Creation - Rule", "ESCU - Monitor Registry Keys for Print Monitors - Rule", "ESCU - Shim Database Installation With Suspicious Parameters - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Schtasks used for forcing a reboot - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Reg exe Manipulating Windows Services Registry Keys - Rule", "ESCU - Detect Path Interception By Creation Of program exe - Rule", "ESCU - Registry Keys for Creating SHIM Databases - Rule", "ESCU - Hiding Files And Directories With Attrib exe - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Monitor Registry Keys for Print Monitors - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Detect Path Interception By Creation Of program exe - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Shim Database Installation With Suspicious Parameters - Rule", "ESCU - Registry Keys for Creating SHIM Databases - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Shim Database File Creation - Rule", "ESCU - Schtasks used for forcing a reboot - Rule", "ESCU - Reg exe Manipulating Windows Services Registry Keys - Rule", "ESCU - Hiding Files And Directories With Attrib exe - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
description = Monitor for activities and techniques associated with maintaining persistence on a Windows system--a sign that an adversary may have compromised your environment.
narrative = Maintaining persistence is one of the first steps taken by attackers after the initial compromise. Attackers leverage various custom and built-in tools to ensure survivability and persistent access within a compromised enterprise. This Analytic Story provides searches to help you identify various behaviors used by attackers to maintain persistent access to a Windows environment.
@@ -1070,7 +1070,7 @@ version = 2
references = ["https://attack.mitre.org/tactics/TA0004/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Child Processes of Spoolsv exe - Rule", "ESCU - Registry Keys Used For Privilege Escalation - Rule", "ESCU - Overwriting Accessibility Binaries - Rule", "ESCU - Uncommon Processes On Endpoint - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Overwriting Accessibility Binaries - Rule", "ESCU - Registry Keys Used For Privilege Escalation - Rule", "ESCU - Uncommon Processes On Endpoint - Rule", "ESCU - Child Processes of Spoolsv exe - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
description = Monitor for and investigate activities that may be associated with a Windows privilege-escalation attack, including unusual processes running on endpoints, modified registry keys, and more.
narrative = Privilege escalation is a "land-and-expand" technique, wherein an adversary gains an initial foothold on a host and then exploits its weaknesses to increase his privileges. The motivation is simple: certain actions on a Windows machine--such as installing software--may require higher-level privileges than those the attacker initially acquired. By increasing his privilege level, the attacker can gain the control required to carry out his malicious ends. This Analytic Story provides searches to detect and investigate behaviors that attackers may use to elevate their privileges in your environment.
@@ -1081,7 +1081,7 @@ version = 3
references = ["https://attack.mitre.org/wiki/Technique/T1050", "https://attack.mitre.org/wiki/Technique/T1031"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Reg exe Manipulating Windows Services Registry Keys - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - First Time Seen Running Windows Service - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+searches = ["ESCU - Reg exe Manipulating Windows Services Registry Keys - Rule", "ESCU - First Time Seen Running Windows Service - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
description = Windows services are often used by attackers for persistence and the ability to load drivers or otherwise interact with the Windows kernel. This Analytic Story helps you monitor your environment for indications that Windows services are being modified or created in a suspicious manner.
narrative = The Windows operating system uses a services architecture to allow for running code in the background, similar to a UNIX daemon. Attackers will often leverage Windows services for persistence, hiding in plain sight, seeking the ability to run privileged code that can interact with the kernel. In many cases, attackers will create a new service to host their malicious code. Attackers have also been observed modifying unnecessary or unused services to point to their own code, as opposed to what was intended. In these cases, attackers often use tools to create or modify services in ways that are not typical for most environments, providing opportunities for detection.
@@ -1615,7 +1615,7 @@ asset_type = Endpoint
confidence = medium
explanation = This search allows you to identify DNS requests and compute the standard deviation on the length of the names being resolved, then filter on two times the standard deviation to show you those queries that are unusually large for your environment.
how_to_implement = To successfully implement this search, you will need to ensure that DNS data is populating the Network_Resolution data model.
-annotations = {"cis20": ["CIS 8", "CIS 12"], "kill_chain_phases": ["Command and Control"], "mitre_attack": ["T1071.004"], "nist": ["PR.PT", "DE.AE", "DE.CM"]}
+annotations = {"cis20": ["CIS 8", "CIS 12"], "kill_chain_phases": ["Command and Control"], "mitre_attack": ["T1048.003"], "nist": ["PR.PT", "DE.AE", "DE.CM"]}
known_false_positives = It's possible there can be long domain names that are legitimate.
providing_technologies = []
@@ -1847,9 +1847,9 @@ providing_technologies = []
type = detection
asset_type = Endpoint
confidence = medium
-explanation = This search is used to detect attempts to use DNS tunneling, by calculating the length of responses to DNS TXT queries. Endpoints using DNS as a method of transmission for data exfiltration, command and control, or evasion of security controls can often be detected by noting unusually large volumes of DNS traffic.
+explanation = This search is used to detect attempts to use DNS tunneling, by calculating the length of responses to DNS TXT queries. Endpoints using DNS as a method of transmission for data exfiltration, command and control, or evasion of security controls can often be detected by noting unusually large volumes of DNS traffic. Deprecated because this detection should focus on DNS queries instead of DNS responses.
how_to_implement = To successfully implement this search you need to ingest data from your DNS logs, or monitor DNS traffic using Stream, Bro or something similar. Specifically, this query requires that the DNS data model is populated with information regarding the DNS record type that is being returned as well as the data in the answer section of the protocol.
-annotations = {"cis20": ["CIS 8", "CIS 12", "CIS 13"], "kill_chain_phases": ["Command and Control"], "mitre_attack": ["T1071.004"], "nist": ["PR.DS", "PR.PT", "DE.AE", "DE.CM"]}
+annotations = {"cis20": ["CIS 8", "CIS 12", "CIS 13"], "kill_chain_phases": ["Command and Control"], "mitre_attack": ["T1048.003"], "nist": ["PR.DS", "PR.PT", "DE.AE", "DE.CM"]}
known_false_positives = It's possible that legitimate TXT record responses can be long enough to trigger this search. You can modify the packet threshold for this search to help mitigate false positives.
providing_technologies = []
@@ -2201,7 +2201,7 @@ This search produces fields (query, answer, isDynDNS) that are not yet supported
1. \
1. **Label:** IsDynamicDNS, **Field:** isDynDNS\
Detailed documentation on how to create a new field within Incident Review may be found here: `https://docs.splunk.com/Documentation/ES/5.3.0/Admin/Customizenotables#Add_a_field_to_the_notable_event_details`
-annotations = {"cis20": ["CIS 8", "CIS 12", "CIS 13"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "nist": ["PR.DS", "PR.PT", "DE.AE", "DE.CM"]}
+annotations = {"cis20": ["CIS 8", "CIS 12", "CIS 13"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "mitre_attack": ["T1189"], "nist": ["PR.DS", "PR.PT", "DE.AE", "DE.CM"]}
known_false_positives = Some users and applications may leverage Dynamic DNS to reach out to some domains on the Internet since dynamic DNS by itself is not malicious, however this activity must be verified.
providing_technologies = []
@@ -2262,7 +2262,7 @@ confidence = medium
explanation = This search looks for web connections to dynamic DNS providers.
how_to_implement = This search requires you to be ingesting web-traffic logs. You can obtain these logs from indexing data from a web proxy or by using a network-traffic-analysis tool, such as Bro or Splunk Stream. The web data model must contain the URL being requested, the IP address of the host initiating the request, and the destination IP. This search also leverages a lookup file, `dynamic_dns_providers_default.csv`, which contains a non-exhaustive list of dynamic DNS providers. Consider periodically updating this local lookup file with new domains.\
This search produces fields (`isDynDNS`) that are not yet supported by ES Incident Review and therefore cannot be viewed when a notable event is raised. These fields contribute additional context to the notable. To see the additional metadata, add the following fields, if not already present, to Incident Review - Event Attributes (Configure > Incident Management > Incident Review Settings > Add New Entry):\\n1. **Label:** IsDynamicDNS, **Field:** isDynDNS\
-Detailed documentation on how to create a new field within Incident Review may be found here: `https://docs.splunk.com/Documentation/ES/5.3.0/Admin/Customizenotables#Add_a_field_to_the_notable_event_details`
+Detailed documentation on how to create a new field within Incident Review may be found here: `https://docs.splunk.com/Documentation/ES/5.3.0/Admin/Customizenotables#Add_a_field_to_the_notable_event_details` Deprecated because duplicate.
annotations = {"cis20": ["CIS 7", "CIS 8"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "mitre_attack": ["T1071.001"], "nist": ["PR.IP", "DE.DP"]}
known_false_positives = It is possible that list of dynamic DNS providers is outdated and/or that the URL being requested is legitimate.
providing_technologies = []
@@ -2271,9 +2271,9 @@ providing_technologies = []
type = detection
asset_type = Endpoint
confidence = medium
-explanation = This search is used to detect DNS tunneling, by calculating the sum of the length of DNS queries and DNS answers. The search also filters out potential false positives by filtering out queries made to internal systems and the queries originating from internal DNS, Web, and Email servers. Endpoints using DNS as a method of transmission for data exfiltration, command and control, or evasion of security controls can often be detected by noting an unusually large volume of DNS traffic.
+explanation = This search is used to detect DNS tunneling, by calculating the sum of the length of DNS queries and DNS answers. The search also filters out potential false positives by filtering out queries made to internal systems and the queries originating from internal DNS, Web, and Email servers. Endpoints using DNS as a method of transmission for data exfiltration, command and control, or evasion of security controls can often be detected by noting an unusually large volume of DNS traffic. Deprecated because existing detection is doing the same.
how_to_implement = To successfully implement this search, we must ensure that DNS data is being ingested and mapped to the appropriate fields in the Network_Resolution data model. Fields like src_category are automatically provided by the Assets and Identity Framework shipped with Splunk Enterprise Security. You will need to ensure you are using the Assets and Identity Framework and populating the src_category field. You will also need to enable the `cim_corporate_web_domain_search()` macro which will essentially filter out the DNS queries made to the corporate web domains to reduce alert fatigue.
-annotations = {"cis20": ["CIS 13"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "mitre_attack": ["T1071.004"], "nist": ["PR.PT", "PR.DS"]}
+annotations = {"cis20": ["CIS 13"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "mitre_attack": ["T1048.003"], "nist": ["PR.PT", "PR.DS"]}
known_false_positives = It's possible that normal DNS traffic will exhibit this behavior. If an alert is generated, please investigate and validate as appropriate. The threshold can also be modified to better suit your environment.
providing_technologies = []
@@ -2543,7 +2543,7 @@ providing_technologies = []
type = detection
asset_type = Office 365
confidence = medium
-explanation = This search will detect more than 5 login failures in Office365 Azure Active Directory from a single source IP address. Please adjust the threshold value of 5 as suited for your environment.
+explanation = This search will detect more than 5 login failures in Office365 Azure Active Directory from a single source IP address. Please adjust the threshold value of 5 as suited for your environment. Deprecated because duplicate.
how_to_implement = none
annotations = {"cis20": ["CIS 16"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1110.001"], "nist": ["DE.DP", "DE.AE"]}
known_false_positives = unknown
@@ -2825,7 +2825,7 @@ asset_type = Endpoint
confidence = medium
explanation = This search looks for PowerShell processes started with a base64 encoded command-line passed to it, with parameters to modify the execution policy for the process, and those that prevent the display of an interactive prompt to the user. This combination of command-line options is suspicious because it overrides the default PowerShell execution policy, attempts to hide itself from the user, and passes an encoded script to be run on the command-line.
how_to_implement = You must be ingesting data that records process activity from your hosts to populate the Endpoint data model in the Processes node. You must also be ingesting logs with both the process name and command line from your endpoints. The command-line arguments are mapped to the "process" field in the Endpoint data model.
-annotations = {"cis20": ["CIS 3", "CIS 7", "CIS 8"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "mitre_attack": ["T1027"], "nist": ["PR.PT", "DE.CM", "PR.IP"]}
+annotations = {"cis20": ["CIS 3", "CIS 7", "CIS 8"], "kill_chain_phases": ["Command and Control", "Actions on Objectives"], "mitre_attack": ["T1059.001"], "nist": ["PR.PT", "DE.CM", "PR.IP"]}
known_false_positives = Legitimate process can have this combination of command-line options, but it's not common.
providing_technologies = []
@@ -2909,6 +2909,16 @@ annotations = {"cis20": ["CIS 18"], "nist": ["PR.PT", "PR.MA"]}
known_false_positives = None identified
providing_technologies = []
+[savedsearch://ESCU - O365 Bypass MFA via Trusted IP - Rule]
+type = detection
+asset_type = Office 365
+confidence = medium
+explanation = This search detects newly added IP addresses/CIDR blocks to the list of MFA Trusted IPs to bypass multi factor authentication. Attackers are often known to use this technique so that they can bypass the MFA system.
+how_to_implement = You must install Splunk Microsoft Office 365 add-on. This search works with o365:management:activity
+annotations = {"kill_chain_phases": ["Actions on Objective"], "mitre_attack": ["T1562.007"]}
+known_false_positives = Unless it is a special case, it is uncommon to continually update Trusted IPs to MFA configuration.
+providing_technologies = []
+
[savedsearch://ESCU - O365 Disable MFA - Rule]
type = detection
asset_type = Office 365
From 094c88a6ce03115bb0a950ae0f9bc956034f0b11 Mon Sep 17 00:00:00 2001
From: P4T12ICK
Date: Tue, 19 Jan 2021 14:17:24 +0100
Subject: [PATCH 07/24] new test file
---
...ll_process_with_obfuscation_techniques.yml | 10 +-
package/default/analytic_stories.conf | 140 +++++++++---------
package/default/collections.conf | 2 +-
package/default/es_investigations.conf | 94 ++++++------
package/default/macros.conf | 2 +-
package/default/savedsearches.conf | 4 +-
package/default/transforms.conf | 2 +-
package/default/use_case_library.conf | 134 ++++++++---------
8 files changed, 190 insertions(+), 198 deletions(-)
diff --git a/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml b/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
index d58614a500..cfb41310e7 100644
--- a/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
+++ b/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
@@ -13,15 +13,7 @@ type: ESCU
references: []
author: David Dorsey, Splunk
search: >
- | tstats `security_content_summariesonly` count values(Processes.process)
- as process values(Processes.parent_process) as parent_process min(_time) as firstTime
- max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=powershell.exe
- by Processes.user Processes.process_name Processes.parent_process_name Processes.dest
- Processes.process | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`|
- `security_content_ctime(lastTime)`| eval num_obfuscation = (mvcount(split(process,
- "`"))-1) + (mvcount(split(process, "^"))-1) + (mvcount(split(process, "\'"))-1)
- | `malicious_powershell_process_with_obfuscation_techniques_filter`
- | search num_obfuscation > 10
+ | tstats `security_content_summariesonly` count values(Processes.process) as process values(Processes.parent_process) as parent_process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=powershell.exe by Processes.user Processes.process_name Processes.parent_process_name Processes.dest Processes.process | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`| eval num_obfuscation = (mvcount(split(process,"`"))-1) + (mvcount(split(process, "^"))-1) + (mvcount(split(process, "'"))-1) | `malicious_powershell_process_with_obfuscation_techniques_filter` | search num_obfuscation > 10
known_false_positives: These characters might be legitimately on the command-line,
but it is not common.
tags:
diff --git a/package/default/analytic_stories.conf b/package/default/analytic_stories.conf
index 4c14f9d759..4f41009368 100644
--- a/package/default/analytic_stories.conf
+++ b/package/default/analytic_stories.conf
@@ -1,6 +1,6 @@
#############
# Automatically generated by generator.py in splunk/security-content
-# On Date: 2021-01-19T13:08:32 UTC
+# On Date: 2021-01-19T13:16:49 UTC
# Author: Splunk Security Research
# Contact: research@splunk.com
#############
@@ -16,7 +16,7 @@ version = 1
reference = ["https://aws.amazon.com/blogs/security/aws-cloudtrail-now-tracks-cross-account-activity-to-its-origin/"]
detection_searches = ["ESCU - aws detect attach to role policy - Rule", "ESCU - aws detect permanent key creation - Rule", "ESCU - aws detect role creation - Rule", "ESCU - aws detect sts assume role abuse - Rule", "ESCU - aws detect sts get session token abuse - Rule"]
mappings = {"kill_chain_phases": ["Lateral Movement"], "mitre_attack": ["T1078", "T1550"]}
-investigative_searches = ["ESCU - AWS Investigate User Activities By AccessKeyId", "ESCU - Get Notable History"]
+investigative_searches = ["ESCU - Get Notable History", "ESCU - AWS Investigate User Activities By AccessKeyId"]
support_searches = ["ESCU - Previously Seen AWS Cross Account Activity"]
data_models = []
providing_technologies = none
@@ -34,8 +34,8 @@ version = 1
reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
detection_searches = ["ESCU - Abnormally High AWS Instances Launched by User - MLTK - Rule", "ESCU - Abnormally High AWS Instances Launched by User - Rule", "ESCU - EC2 Instance Started In Previously Unseen Region - Rule", "ESCU - EC2 Instance Started With Previously Unseen AMI - Rule", "ESCU - EC2 Instance Started With Previously Unseen Instance Type - Rule", "ESCU - EC2 Instance Started With Previously Unseen User - Rule"]
mappings = {"cis20": ["CIS 1", "CIS 12", "CIS 13"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1078.004", "T1535"], "nist": ["DE.AE", "DE.DP", "ID.AM"]}
-investigative_searches = ["ESCU - Get Notable History", "ESCU - Get EC2 Launch Details", "ESCU - Investigate AWS activities via region name", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN"]
-support_searches = ["ESCU - Previously Seen EC2 Instance Types", "ESCU - Baseline of Excessive AWS Instances Launched by User - MLTK", "ESCU - Previously Seen AWS Regions", "ESCU - Previously Seen EC2 Launches By User", "ESCU - Previously Seen EC2 AMIs"]
+investigative_searches = ["ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - Get EC2 Launch Details"]
+support_searches = ["ESCU - Baseline of Excessive AWS Instances Launched by User - MLTK", "ESCU - Previously Seen AWS Regions", "ESCU - Previously Seen EC2 AMIs", "ESCU - Previously Seen EC2 Launches By User", "ESCU - Previously Seen EC2 Instance Types"]
data_models = []
providing_technologies = none
description = Monitor your AWS EC2 instances for activities related to cryptojacking/cryptomining. New instances that originate from previously unseen regions, users who launch abnormally high numbers of instances, or EC2 instances started by previously unseen users are just a few examples of potentially malicious behavior.
@@ -53,8 +53,8 @@ version = 2
reference = ["https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_NACLs.html", "https://aws.amazon.com/blogs/security/how-to-help-prepare-for-ddos-attacks-by-reducing-your-attack-surface/"]
detection_searches = ["ESCU - AWS Network Access Control List Created with All Open Ports - Rule", "ESCU - AWS Network Access Control List Deleted - Rule", "ESCU - Detect Spike in Network ACL Activity - Rule", "ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule"]
mappings = {"cis20": ["CIS 11", "CIS 12"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1562.007"], "nist": ["DE.AE", "DE.CM", "DE.DP", "PR.AC"]}
-investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Network ACL Details from ID", "ESCU - AWS Investigate User Activities By ARN"]
-support_searches = ["ESCU - Baseline of Network ACL Activity by ARN", "ESCU - Baseline of blocked outbound traffic from AWS"]
+investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Process Information For Port Activity", "ESCU - AWS Network Interface details via resourceId", "ESCU - AWS Network ACL Details from ID"]
+support_searches = ["ESCU - Baseline of blocked outbound traffic from AWS", "ESCU - Baseline of Network ACL Activity by ARN"]
data_models = []
providing_technologies = none
description = Monitor your AWS network infrastructure for bad configurations and malicious activity. Investigative searches help you probe deeper, when the facts warrant it.
@@ -69,7 +69,7 @@ version = 1
reference = ["https://aws.amazon.com/security-hub/features/"]
detection_searches = ["ESCU - Detect Spike in AWS Security Hub Alerts for EC2 Instance - Rule", "ESCU - Detect Spike in AWS Security Hub Alerts for User - Rule"]
mappings = {"cis20": ["CIS 13"], "nist": ["DE.AE", "DE.DP"]}
-investigative_searches = ["ESCU - Get EC2 Instance Details by instanceId", "ESCU - Get EC2 Launch Details", "ESCU - AWS Investigate User Activities By ARN"]
+investigative_searches = ["ESCU - AWS Investigate User Activities By ARN", "ESCU - Get EC2 Launch Details", "ESCU - Get EC2 Instance Details by instanceId"]
support_searches = []
data_models = []
providing_technologies = none
@@ -85,7 +85,7 @@ version = 1
reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
detection_searches = ["ESCU - AWS Cloud Provisioning From Previously Unseen City - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen Country - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen IP Address - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen Region - Rule"]
mappings = {"cis20": ["CIS 1"], "mitre_attack": ["T1535"], "nist": ["ID.AM"]}
-investigative_searches = ["ESCU - Get All AWS Activity From Region", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get All AWS Activity From City", "ESCU - Get All AWS Activity From Country", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN"]
+investigative_searches = ["ESCU - AWS Investigate User Activities By ARN", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get All AWS Activity From Region", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get All AWS Activity From City", "ESCU - Get All AWS Activity From Country"]
support_searches = ["ESCU - Previously Seen AWS Provisioning Activity Sources"]
data_models = []
providing_technologies = none
@@ -103,7 +103,7 @@ reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.p
detection_searches = ["ESCU - Detect API activity from users without MFA - Rule", "ESCU - Detect AWS API Activities From Unapproved Accounts - Rule", "ESCU - Detect Spike in AWS API Activity - Rule", "ESCU - Detect Spike in Security Group Activity - Rule", "ESCU - Detect new API calls from user roles - Rule"]
mappings = {"cis20": ["CIS 1", "CIS 16"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1078.004"], "nist": ["DE.CM", "DE.DP", "ID.AM", "PR.AC"]}
investigative_searches = ["ESCU - Investigate AWS User Activities by user field", "ESCU - Get Notable History"]
-support_searches = ["ESCU - Baseline of Security Group Activity by ARN", "ESCU - Create a list of approved AWS service accounts", "ESCU - Previously seen API call per user roles in CloudTrail", "ESCU - Baseline of API Calls per User ARN"]
+support_searches = ["ESCU - Create a list of approved AWS service accounts", "ESCU - Baseline of API Calls per User ARN", "ESCU - Baseline of Security Group Activity by ARN", "ESCU - Previously seen API call per user roles in CloudTrail"]
data_models = []
providing_technologies = none
description = Detect and investigate dormant user accounts for your AWS environment that have become active again. Because inactive and ad-hoc accounts are common attack targets, it's critical to enable governance within your environment.
@@ -121,7 +121,7 @@ version = 1
reference = ["https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/v3.2/dev/rules/REQUEST-944-APPLICATION-ATTACK-JAVA.conf"]
detection_searches = ["ESCU - Suspicious Java Classes - Rule", "ESCU - Unusually Long Content-Type Length - Rule", "ESCU - Web Servers Executing Suspicious Processes - Rule"]
mappings = {"cis20": ["CIS 12", "CIS 18", "CIS 3", "CIS 4", "CIS 7"], "kill_chain_phases": ["Actions on Objectives", "Delivery", "Exploitation"], "mitre_attack": ["T1082"], "nist": ["DE.AE", "DE.CM", "ID.RA", "PR.IP", "PR.MA", "PR.PT", "RS.MI"]}
-investigative_searches = ["ESCU - Investigate Suspicious Strings in HTTP Header", "ESCU - Get Notable History", "ESCU - Investigate Web POSTs From src"]
+investigative_searches = ["ESCU - Get Notable History", "ESCU - Investigate Web POSTs From src", "ESCU - Investigate Suspicious Strings in HTTP Header"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -150,7 +150,7 @@ version = 1
reference = ["https://www.cisecurity.org/controls/inventory-of-authorized-and-unauthorized-devices/"]
detection_searches = ["ESCU - Detect Unauthorized Assets by MAC address - Rule"]
mappings = {"cis20": ["CIS 1"], "kill_chain_phases": ["Actions on Objectives", "Delivery", "Reconnaissance"], "nist": ["ID.AM", "PR.DS"]}
-investigative_searches = ["ESCU - Get Notable History", "ESCU - Get First Occurrence and Last Occurrence of a MAC Address"]
+investigative_searches = ["ESCU - Get First Occurrence and Last Occurrence of a MAC Address", "ESCU - Get Notable History"]
support_searches = ["ESCU - Count of assets by category"]
data_models = ["Network_Sessions"]
providing_technologies = none
@@ -166,7 +166,7 @@ version = 1
reference = ["https://www.zerofox.com/blog/what-is-digital-risk-monitoring/", "https://securingtomorrow.mcafee.com/consumer/family-safety/what-is-typosquatting/", "https://blog.malwarebytes.com/cybercrime/2016/06/explained-typosquatting/"]
detection_searches = ["ESCU - Monitor DNS For Brand Abuse - Rule", "ESCU - Monitor Email For Brand Abuse - Rule", "ESCU - Monitor Web Traffic For Brand Abuse - Rule"]
mappings = {"cis20": ["CIS 7"], "kill_chain_phases": ["Actions on Objectives", "Delivery"], "nist": ["PR.IP"]}
-investigative_searches = ["ESCU - Get Emails From Specific Sender", "ESCU - Get Notable History", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Email Info"]
+investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Email Info", "ESCU - Get Emails From Specific Sender", "ESCU - Get Notable History"]
support_searches = ["ESCU - DNSTwist Domain Names"]
data_models = ["Email", "Network_Resolution", "Web"]
providing_technologies = none
@@ -184,8 +184,8 @@ version = 1
reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
detection_searches = ["ESCU - Abnormally High Number Of Cloud Instances Destroyed - Rule", "ESCU - Abnormally High Number Of Cloud Instances Launched - Rule", "ESCU - Cloud Compute Instance Created By Previously Unseen User - Rule", "ESCU - Cloud Compute Instance Created In Previously Unused Region - Rule", "ESCU - Cloud Compute Instance Created With Previously Unseen Image - Rule", "ESCU - Cloud Compute Instance Created With Previously Unseen Instance Type - Rule"]
mappings = {"cis20": ["CIS 1", "CIS 12", "CIS 13"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1078.004", "T1535"], "nist": ["DE.AE", "DE.DP", "ID.AM"]}
-investigative_searches = ["ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get Notable History", "ESCU - Get EC2 Launch Details", "ESCU - Investigate AWS activities via region name", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN"]
-support_searches = ["ESCU - Previously Seen Cloud Compute Images - Update", "ESCU - Previously Seen Cloud Compute Instance Types - Update", "ESCU - Baseline Of Cloud Instances Destroyed", "ESCU - Baseline Of Cloud Instances Launched", "ESCU - Previously Seen Cloud Compute Images - Initial", "ESCU - Previously Seen Cloud Regions - Update", "ESCU - Previously Seen Cloud Compute Creations By User - Initial", "ESCU - Previously Seen Cloud Compute Creations By User - Update", "ESCU - Previously Seen Cloud Compute Instance Types - Initial", "ESCU - Previously Seen Cloud Regions - Initial"]
+investigative_searches = ["ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get EC2 Launch Details"]
+support_searches = ["ESCU - Previously Seen Cloud Compute Creations By User - Update", "ESCU - Previously Seen Cloud Compute Instance Types - Initial", "ESCU - Previously Seen Cloud Compute Images - Initial", "ESCU - Previously Seen Cloud Compute Creations By User - Initial", "ESCU - Previously Seen Cloud Compute Instance Types - Update", "ESCU - Baseline Of Cloud Instances Launched", "ESCU - Previously Seen Cloud Regions - Initial", "ESCU - Previously Seen Cloud Compute Images - Update", "ESCU - Previously Seen Cloud Regions - Update", "ESCU - Baseline Of Cloud Instances Destroyed"]
data_models = ["Change"]
providing_technologies = none
description = Monitor your cloud compute instances for activities related to cryptojacking/cryptomining. New instances that originate from previously unseen regions, users who launch abnormally high numbers of instances, or compute instances started by previously unseen users are just a few examples of potentially malicious behavior.
@@ -221,7 +221,7 @@ version = 1
reference = ["https://attack.mitre.org/wiki/Collection", "https://attack.mitre.org/wiki/Technique/T1074"]
detection_searches = ["ESCU - Email files written outside of the Outlook directory - Rule", "ESCU - Email servers sending high volume traffic to hosts - Rule", "ESCU - Hosts receiving high volume of network traffic from email server - Rule", "ESCU - Suspicious writes to System Volume Information - Rule", "ESCU - Suspicious writes to windows Recycle Bin - Rule"]
mappings = {"cis20": ["CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1036", "T1114.001", "T1114.002"], "nist": ["DE.AE", "DE.CM", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
support_searches = []
data_models = ["Endpoint", "Network_Traffic"]
providing_technologies = none
@@ -239,8 +239,8 @@ version = 1
reference = ["https://attack.mitre.org/wiki/Command_and_Control", "https://searchsecurity.techtarget.com/feature/Command-and-control-servers-The-puppet-masters-that-govern-malware"]
detection_searches = ["ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Detect Large Outbound ICMP Packets - Rule", "ESCU - Detect Long DNS TXT Record Response - Rule", "ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Excessive DNS Failures - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Protocol or Port Mismatch - Rule", "ESCU - TOR Traffic - Rule"]
mappings = {"cis20": ["CIS 1", "CIS 11", "CIS 12", "CIS 13", "CIS 3", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Delivery"], "mitre_attack": ["T1048", "T1048.003", "T1071.001", "T1071.004", "T1095", "T1189"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.AC", "PR.DS", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Network ACL Details from ID", "ESCU - AWS Investigate User Activities By ARN"]
-support_searches = ["ESCU - Baseline of blocked outbound traffic from AWS", "ESCU - Baseline of DNS Query Length - MLTK"]
+investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info", "ESCU - Get Process Information For Port Activity", "ESCU - AWS Network Interface details via resourceId", "ESCU - AWS Network ACL Details from ID"]
+support_searches = ["ESCU - Baseline of DNS Query Length - MLTK", "ESCU - Baseline of blocked outbound traffic from AWS"]
data_models = ["Network_Resolution", "Network_Traffic"]
providing_technologies = none
description = Detect and investigate tactics, techniques, and procedures leveraged by attackers to establish and operate command and control channels. Implants installed by attackers on compromised endpoints use these channels to receive instructions and send data back to the malicious operators.
@@ -289,7 +289,7 @@ version = 3
reference = ["https://attack.mitre.org/wiki/Technique/T1003", "https://cyberwardog.blogspot.com/2017/03/chronicles-of-threat-hunter-hunting-for.html"]
detection_searches = ["ESCU - Access LSASS Memory for Dump Creation - Rule", "ESCU - Attempt To Set Default PowerShell Execution Policy To Unrestricted or Bypass - Rule", "ESCU - Attempted Credential Dump From Registry via Reg exe - Rule", "ESCU - Create Remote Thread into LSASS - Rule", "ESCU - Creation of Shadow Copy - Rule", "ESCU - Creation of Shadow Copy with wmic and powershell - Rule", "ESCU - Credential Dumping via Copy Command from Shadow Copy - Rule", "ESCU - Credential Dumping via Symlink to Shadow Copy - Rule", "ESCU - Detect Credential Dumping through LSASS access - Rule", "ESCU - Detect Mimikatz Using Loaded Images - Rule", "ESCU - Dump LSASS via comsvcs DLL - Rule", "ESCU - Unsigned Image Loaded by LSASS - Rule"]
mappings = {"cis20": ["CIS 16", "CIS 3", "CIS 5", "CIS 6", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Installation"], "mitre_attack": ["T1003.001", "T1003.002", "T1003.003", "T1059.001"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.IP"]}
-investigative_searches = ["ESCU - Investigate Failed Logins for Multiple Destinations", "ESCU - Investigate Pass the Ticket Attempts", "ESCU - Investigate Previous Unseen User", "ESCU - Investigate Pass the Hash Attempts"]
+investigative_searches = ["ESCU - Investigate Previous Unseen User", "ESCU - Investigate Pass the Ticket Attempts", "ESCU - Investigate Pass the Hash Attempts", "ESCU - Investigate Failed Logins for Multiple Destinations"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -307,8 +307,8 @@ version = 2
reference = ["https://www.us-cert.gov/ncas/alerts/TA18-074A"]
detection_searches = ["ESCU - Create local admin accounts using net exe - Rule", "ESCU - Detect New Local Admin account - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - Detect PsExec With accepteula Flag - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Malicious PowerShell Process - Execution Policy Bypass - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Scheduled Task Deleted Or Created via CMD - Rule", "ESCU - Single Letter Process On Endpoint - Rule", "ESCU - Suspicious Reg exe Process - Rule"]
mappings = {"cis20": ["CIS 12", "CIS 16", "CIS 2", "CIS 3", "CIS 5", "CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Installation"], "mitre_attack": ["T1021.002", "T1053.005", "T1059.001", "T1059.003", "T1071.002", "T1112", "T1136.001", "T1204.002", "T1543.003", "T1547.001", "T1562.004"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.AC", "PR.AT", "PR.DS", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Process File Activity", "ESCU - Get Process Information For Port Activity"]
-support_searches = ["ESCU - Baseline of SMB Traffic - MLTK", "ESCU - Previously seen command line arguments"]
+investigative_searches = ["ESCU - Get Process File Activity", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Process Information For Port Activity", "ESCU - Get Parent Process Info"]
+support_searches = ["ESCU - Previously seen command line arguments", "ESCU - Baseline of SMB Traffic - MLTK"]
data_models = ["Endpoint", "Network_Traffic"]
providing_technologies = none
description = Monitor for suspicious activities associated with DHS Technical Alert US-CERT TA18-074A. Some of the activities that adversaries used in these compromises included spearfishing attacks, malware, watering-hole domains, many and more.
@@ -383,7 +383,7 @@ version = 1
reference = ["https://www.cisecurity.org/controls/data-protection/", "https://www.sans.org/reading-room/whitepapers/dns/splunk-detect-dns-tunneling-37022", "https://umbrella.cisco.com/blog/2013/04/15/on-the-trail-of-malicious-dynamic-dns-domains/"]
detection_searches = ["ESCU - Detect USB device insertion - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detection of DNS Tunnels - Rule"]
mappings = {"cis20": ["CIS 12", "CIS 13", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Installation"], "mitre_attack": ["T1048.003", "T1189"], "nist": ["DE.AE", "DE.CM", "PR.DS", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host"]
+investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Info", "ESCU - Get Notable History"]
support_searches = []
data_models = ["Change_Analysis", "Network_Resolution"]
providing_technologies = none
@@ -415,8 +415,8 @@ version = 2
reference = ["https://attack.mitre.org/wiki/Technique/T1089", "https://blog.malwarebytes.com/cybercrime/2015/11/vonteera-adware-uses-certificates-to-disable-anti-malware/", "https://www.operationblockbuster.com/wp-content/uploads/2016/02/Operation-Blockbuster-Tools-Report.pdf"]
detection_searches = ["ESCU - Attempt To Add Certificate To Untrusted Store - Rule", "ESCU - Attempt To Stop Security Service - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Unload Sysmon Filter Driver - Rule"]
mappings = {"cis20": ["CIS 3", "CIS 5", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Installation"], "mitre_attack": ["T1112", "T1543.003", "T1553.004", "T1562.001", "T1562.004"], "nist": ["DE.CM", "PR.AC", "PR.AT", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
-support_searches = ["ESCU - Baseline of SMB Traffic - MLTK", "ESCU - Previously seen command line arguments"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+support_searches = ["ESCU - Previously seen command line arguments", "ESCU - Baseline of SMB Traffic - MLTK"]
data_models = ["Endpoint"]
providing_technologies = none
description = Looks for activities and techniques associated with the disabling of security tools on a Windows system, such as suspicious `reg.exe` processes, processes launching netsh, and many others.
@@ -431,7 +431,7 @@ version = 2
reference = ["https://www.fireeye.com/blog/threat-research/2017/09/apt33-insights-into-iranian-cyber-espionage.html", "https://umbrella.cisco.com/blog/2013/04/15/on-the-trail-of-malicious-dynamic-dns-domains/", "http://www.noip.com/blog/2014/07/11/dynamic-dns-can-use-2/", "https://www.splunk.com/blog/2015/08/04/detecting-dynamic-dns-domains-in-splunk.html"]
detection_searches = ["ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detect web traffic to dynamic domain providers - Rule"]
mappings = {"cis20": ["CIS 12", "CIS 13", "CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1071.001", "T1189"], "nist": ["DE.AE", "DE.CM", "DE.DP", "PR.DS", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio"]
+investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get DNS Server History for a host", "ESCU - Get DNS traffic ratio", "ESCU - Get Notable History"]
support_searches = []
data_models = ["Network_Resolution", "Web"]
providing_technologies = none
@@ -447,7 +447,7 @@ version = 1
reference = ["https://www.us-cert.gov/ncas/alerts/TA18-201A", "https://www.first.org/resources/papers/conf2017/Advanced-Incident-Detection-and-Threat-Hunting-using-Sysmon-and-Splunk.pdf", "https://www.vkremez.com/2017/05/emotet-banking-trojan-malware-analysis.html"]
detection_searches = ["ESCU - Detect Rare Executables - Rule", "ESCU - Detect Use of cmd exe to Launch Script Interpreters - Rule", "ESCU - Detection of tools built by NirSoft - Rule", "ESCU - Email Attachments With Lots Of Spaces - Rule", "ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Suspicious Email Attachment Extensions - Rule"]
mappings = {"cis20": ["CIS 12", "CIS 2", "CIS 3", "CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Delivery", "Exploitation", "Installation"], "mitre_attack": ["T1021.002", "T1059.003", "T1072", "T1547.001", "T1566.001"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.DS", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get History Of Email Sources", "ESCU - Get Process Information For Port Activity"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Process Information For Port Activity", "ESCU - Get Parent Process Info", "ESCU - Get History Of Email Sources"]
support_searches = ["ESCU - Baseline of SMB Traffic - MLTK"]
data_models = ["Email", "Endpoint", "Network_Traffic"]
providing_technologies = none
@@ -499,8 +499,8 @@ version = 2
reference = ["https://www.us-cert.gov/HIDDEN-COBRA-North-Korean-Malicious-Cyber-Activity", "https://www.operationblockbuster.com/wp-content/uploads/2016/02/Operation-Blockbuster-Destructive-Malware-Report.pdf"]
detection_searches = ["ESCU - Create or delete windows shares using net exe - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Remote Desktop Process Running On System - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Suspicious File Write - Rule"]
mappings = {"cis20": ["CIS 12", "CIS 16", "CIS 3", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1021.001", "T1021.002", "T1048.003", "T1059.001", "T1059.003", "T1070.005", "T1071.002", "T1071.004"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Parent Process Info", "ESCU - Get Outbound Emails to Hidden Cobra Threat Actors", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - Get History Of Email Sources", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity"]
-support_searches = ["ESCU - Baseline of SMB Traffic - MLTK", "ESCU - Baseline of DNS Query Length - MLTK", "ESCU - Previously seen command line arguments"]
+investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get History Of Email Sources", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Outbound Emails to Hidden Cobra Threat Actors"]
+support_searches = ["ESCU - Baseline of DNS Query Length - MLTK", "ESCU - Previously seen command line arguments", "ESCU - Baseline of SMB Traffic - MLTK"]
data_models = ["Endpoint", "Network_Resolution", "Network_Traffic"]
providing_technologies = none
description = Monitor for and investigate activities, including the creation or deletion of hidden shares and file writes, that may be evidence of infiltration by North Korean government-sponsored cybercriminals. Details of this activity were reported in DHS Report TA-18-149A.
@@ -564,7 +564,7 @@ version = 1
reference = ["https://github.com/splunk/cloud-datamodel-security-research"]
detection_searches = ["ESCU - Amazon EKS Kubernetes Pod scan detection - Rule", "ESCU - Amazon EKS Kubernetes cluster scan detection - Rule", "ESCU - GCP Kubernetes cluster pod scan detection - Rule", "ESCU - GCP Kubernetes cluster scan detection - Rule", "ESCU - Kubernetes Azure pod scan fingerprint - Rule", "ESCU - Kubernetes Azure scan fingerprint - Rule"]
mappings = {"kill_chain_phases": ["Reconnaissance"], "mitre_attack": ["T1526"]}
-investigative_searches = ["ESCU - GCP Kubernetes activity by src ip", "ESCU - Get Notable History", "ESCU - Amazon EKS Kubernetes activity by src ip"]
+investigative_searches = ["ESCU - Amazon EKS Kubernetes activity by src ip", "ESCU - GCP Kubernetes activity by src ip", "ESCU - Get Notable History"]
support_searches = []
data_models = []
providing_technologies = none
@@ -612,7 +612,7 @@ version = 2
reference = ["https://www.fireeye.com/blog/executive-perspective/2015/08/malware_lateral_move.html"]
detection_searches = ["ESCU - Detect Activity Related to Pass the Hash Attacks - Rule", "ESCU - Kerberoasting spn request with RC4 encryption - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Remote Desktop Process Running On System - Rule", "ESCU - Schtasks scheduling job on remote system - Rule"]
mappings = {"cis20": ["CIS 16", "CIS 3", "CIS 5", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1021.001", "T1053.005", "T1550.002", "T1558.003"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.AT", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get History Of Email Sources", "ESCU - Get Process Information For Port Activity"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Process Information For Port Activity", "ESCU - Get Parent Process Info", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get History Of Email Sources"]
support_searches = []
data_models = ["Endpoint", "Network_Traffic"]
providing_technologies = none
@@ -632,7 +632,7 @@ version = 4
reference = ["https://blogs.mcafee.com/mcafee-labs/malware-employs-powershell-to-infect-systems/", "https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/"]
detection_searches = ["ESCU - Attempt To Set Default PowerShell Execution Policy To Unrestricted or Bypass - Rule", "ESCU - Malicious PowerShell Process - Connect To Internet With Hidden Window - Rule", "ESCU - Malicious PowerShell Process - Encoded Command - Rule", "ESCU - Malicious PowerShell Process - Multiple Suspicious Command-Line Arguments - Rule", "ESCU - Malicious PowerShell Process With Obfuscation Techniques - Rule"]
mappings = {"cis20": ["CIS 3", "CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Installation"], "mitre_attack": ["T1027", "T1059.001"], "nist": ["DE.CM", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info", "ESCU - Get History Of Email Sources"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get History Of Email Sources"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -673,7 +673,7 @@ version = 1
reference = ["https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/"]
detection_searches = ["ESCU - Prohibited Software On Endpoint - Rule"]
mappings = {"cis20": ["CIS 2"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Installation"], "nist": ["ID.AM", "PR.DS"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -708,8 +708,8 @@ version = 1
reference = ["https://docs.microsoft.com/en-us/previous-versions/tn-archive/bb490939(v=technet.10)", "https://htmlpreview.github.io/?https://github.com/MatthewDemaske/blogbackup/blob/master/netshell.html", "http://blog.jpcert.or.jp/2016/01/windows-commands-abused-by-attackers.html"]
detection_searches = ["ESCU - Processes created by netsh - Rule", "ESCU - Processes launching netsh - Rule"]
mappings = {"cis20": ["CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1562.004"], "nist": ["DE.CM", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
-support_searches = ["ESCU - Baseline of SMB Traffic - MLTK", "ESCU - Previously seen command line arguments"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+support_searches = ["ESCU - Previously seen command line arguments", "ESCU - Baseline of SMB Traffic - MLTK"]
data_models = ["Endpoint"]
providing_technologies = none
description = Detect activities and various techniques associated with the abuse of `netsh.exe`, which can disable local firewall settings or set up a remote connection to a host from an infected system.
@@ -741,8 +741,8 @@ version = 2
reference = ["https://www.symantec.com/blogs/threat-intelligence/orangeworm-targets-healthcare-us-europe-asia", "https://www.infosecurity-magazine.com/news/healthcare-targeted-by-hacker/"]
detection_searches = ["ESCU - First Time Seen Running Windows Service - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule"]
mappings = {"cis20": ["CIS 2", "CIS 3", "CIS 5", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Installation"], "mitre_attack": ["T1059.001", "T1059.003", "T1543.003", "T1569.002"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.AC", "PR.AT", "PR.DS", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info", "ESCU - Get History Of Email Sources"]
-support_searches = ["ESCU - Previously Seen Running Windows Services - Update", "ESCU - Previously Seen Running Windows Services - Initial", "ESCU - Previously seen command line arguments"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get History Of Email Sources"]
+support_searches = ["ESCU - Previously Seen Running Windows Services - Initial", "ESCU - Previously seen command line arguments", "ESCU - Previously Seen Running Windows Services - Update"]
data_models = ["Endpoint"]
providing_technologies = none
description = Detect activities and various techniques associated with the Orangeworm Attack Group, a group that frequently targets the healthcare industry.
@@ -784,8 +784,8 @@ version = 1
reference = ["https://www.infosecurity-magazine.com/news/scope-of-mudcarp-attacks-highlight-1/", "http://blog.amossys.fr/badflick-is-not-so-bad.html"]
detection_searches = ["ESCU - First time seen command line argument - Rule", "ESCU - Malicious PowerShell Process - Connect To Internet With Hidden Window - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule"]
mappings = {"cis20": ["CIS 3", "CIS 7", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1059.001", "T1059.003", "T1547.001"], "nist": ["DE.AE", "DE.CM", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info", "ESCU - Get History Of Email Sources"]
-support_searches = ["ESCU - Baseline of Command Line Length - MLTK", "ESCU - Previously seen command line arguments"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get History Of Email Sources"]
+support_searches = ["ESCU - Previously seen command line arguments", "ESCU - Baseline of Command Line Length - MLTK"]
data_models = ["Endpoint"]
providing_technologies = none
description = Monitor your environment for suspicious behaviors that resemble the techniques employed by the MUDCARP threat group.
@@ -827,7 +827,7 @@ version = 1
reference = ["http://www.novetta.com/2015/02/advanced-methods-to-detect-advanced-cyber-attacks-protocol-abuse/"]
detection_searches = ["ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Protocol or Port Mismatch - Rule", "ESCU - TOR Traffic - Rule"]
mappings = {"cis20": ["CIS 12", "CIS 13", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Delivery"], "mitre_attack": ["T1048", "T1048.003", "T1071.001", "T1189"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.DS", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity"]
+investigative_searches = ["ESCU - Get DNS Server History for a host", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Process Information For Port Activity", "ESCU - Get Parent Process Info"]
support_searches = []
data_models = ["Network_Resolution", "Network_Traffic"]
providing_technologies = none
@@ -843,8 +843,8 @@ version = 1
reference = ["https://www.carbonblack.com/2017/06/28/carbon-black-threat-research-technical-analysis-petya-notpetya-ransomware/", "https://www.splunk.com/blog/2017/06/27/closing-the-detection-to-mitigation-gap-or-to-petya-or-notpetya-whocares-.html"]
detection_searches = ["ESCU - BCDEdit Failure Recovery Modification - Rule", "ESCU - Common Ransomware Extensions - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Remote Process Instantiation via WMI - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Scheduled tasks used in BadRabbit ransomware - Rule", "ESCU - Schtasks used for forcing a reboot - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - Suspicious wevtutil Usage - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - TOR Traffic - Rule", "ESCU - USN Journal Deletion - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Windows Event Log Cleared - Rule"]
mappings = {"cis20": ["CIS 10", "CIS 12", "CIS 3", "CIS 5", "CIS 6", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Delivery"], "mitre_attack": ["T1021.002", "T1036.003", "T1047", "T1048", "T1053.005", "T1070", "T1070.001", "T1071.001", "T1485", "T1490", "T1547.001"], "nist": ["DE.AE", "DE.CM", "DE.DP", "PR.AC", "PR.AT", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get History Of Email Sources", "ESCU - Get Process Information For Port Activity"]
-support_searches = ["ESCU - Baseline of Command Line Length - MLTK", "ESCU - Baseline of SMB Traffic - MLTK"]
+investigative_searches = ["ESCU - Get Backup Logs For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get History Of Email Sources", "ESCU - Get Sysmon WMI Activity for Host"]
+support_searches = ["ESCU - Baseline of SMB Traffic - MLTK", "ESCU - Baseline of Command Line Length - MLTK"]
data_models = ["Endpoint", "Network_Traffic"]
providing_technologies = none
description = Leverage searches that allow you to detect and investigate unusual activities that might relate to ransomware--spikes in SMB traffic, suspicious wevtutil usage, the presence of common ransomware extensions, and system processes run from unexpected locations, and many others.
@@ -925,7 +925,7 @@ version = 1
reference = ["https://www.crowdstrike.com/blog/an-in-depth-analysis-of-samsam-ransomware-and-boss-spider/", "https://nakedsecurity.sophos.com/2018/07/31/samsam-the-almost-6-million-ransomware/", "https://thehackernews.com/2018/07/samsam-ransomware-attacks.html"]
detection_searches = ["ESCU - Batch File Write to System32 - Rule", "ESCU - Common Ransomware Extensions - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Detect PsExec With accepteula Flag - Rule", "ESCU - Detect attackers scanning for vulnerable JBoss servers - Rule", "ESCU - Detect malicious requests to exploit JBoss servers - Rule", "ESCU - File with Samsam Extension - Rule", "ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Remote Desktop Network Bruteforce - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Samsam Test File Write - Rule", "ESCU - Spike in File Writes - Rule"]
mappings = {"cis20": ["CIS 10", "CIS 12", "CIS 16", "CIS 18", "CIS 2", "CIS 3", "CIS 4", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Delivery", "Installation", "Reconnaissance"], "mitre_attack": ["T1021.001", "T1021.002", "T1082", "T1204.002", "T1485", "T1486", "T1490"], "nist": ["DE.AE", "DE.CM", "ID.AM", "ID.RA", "PR.AC", "PR.DS", "PR.IP", "PR.MA", "PR.PT"]}
-investigative_searches = ["ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get History Of Email Sources", "ESCU - Get Process Information For Port Activity"]
+investigative_searches = ["ESCU - Get Backup Logs For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get History Of Email Sources", "ESCU - Investigate Successful Remote Desktop Authentications"]
support_searches = []
data_models = ["Endpoint", "Network_Traffic", "Web"]
providing_technologies = none
@@ -1007,7 +1007,7 @@ reference = ["https://www.fireeye.com/blog/threat-research/2020/12/evasive-attac
detection_searches = ["ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - First Time Seen Running Windows Service - Rule", "ESCU - Malicious PowerShell Process - Encoded Command - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Scheduled Task Deleted Or Created via CMD - Rule", "ESCU - Schtasks scheduling job on remote system - Rule", "ESCU - Sunburst Correlation DLL and Network Event - Rule", "ESCU - Supernova Webshell - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Windows AdFind Exe - Rule"]
mappings = {"cis20": ["CIS 12", "CIS 13", "CIS 18", "CIS 2", "CIS 3", "CIS 4", "CIS 5", "CIS 6", "CIS 7", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Exfiltration", "Exploitation", "Installation"], "mitre_attack": ["T1018", "T1027", "T1053.005", "T1059.003", "T1071.001", "T1071.002", "T1203", "T1505.003", "T1543.003", "T1569.002"], "nist": ["DE.AE", "DE.CM", "ID.AM", "ID.RA", "PR.AC", "PR.AT", "PR.DS", "PR.IP", "PR.PT"]}
investigative_searches = []
-support_searches = ["ESCU - Previously Seen Running Windows Services - Update", "ESCU - Previously Seen Running Windows Services - Initial"]
+support_searches = ["ESCU - Previously Seen Running Windows Services - Initial", "ESCU - Previously Seen Running Windows Services - Update"]
data_models = ["Endpoint", "Network_Traffic", "Web"]
providing_technologies = none
description = Sunburst is a trojanized updates to SolarWinds Orion IT monitoring and management software. It was discovered by FireEye in December 2020. The actors behind this campaign gained access to numerous public and private organizations around the world.
@@ -1022,8 +1022,8 @@ version = 1
reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
detection_searches = ["ESCU - Abnormally High AWS Instances Launched by User - MLTK - Rule", "ESCU - Abnormally High AWS Instances Launched by User - Rule", "ESCU - Abnormally High AWS Instances Terminated by User - MLTK - Rule", "ESCU - Abnormally High AWS Instances Terminated by User - Rule", "ESCU - EC2 Instance Started In Previously Unseen Region - Rule", "ESCU - EC2 Instance Started With Previously Unseen User - Rule"]
mappings = {"cis20": ["CIS 1", "CIS 12", "CIS 13"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1078.004", "T1535"], "nist": ["DE.AE", "DE.DP", "ID.AM"]}
-investigative_searches = ["ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get Notable History", "ESCU - Get EC2 Launch Details", "ESCU - Investigate AWS activities via region name", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN"]
-support_searches = ["ESCU - Baseline of Excessive AWS Instances Launched by User - MLTK", "ESCU - Baseline of Excessive AWS Instances Terminated by User - MLTK", "ESCU - Previously Seen AWS Regions", "ESCU - Previously Seen EC2 Launches By User"]
+investigative_searches = ["ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get EC2 Launch Details"]
+support_searches = ["ESCU - Previously Seen EC2 Launches By User", "ESCU - Baseline of Excessive AWS Instances Launched by User - MLTK", "ESCU - Previously Seen AWS Regions", "ESCU - Baseline of Excessive AWS Instances Terminated by User - MLTK"]
data_models = []
providing_technologies = none
description = Use the searches in this Analytic Story to monitor your AWS EC2 instances for evidence of anomalous activity and suspicious behaviors, such as EC2 instances that originate from unusual locations or those launched by previously unseen users (among others). Included investigative searches will help you probe more deeply, when the information warrants it.
@@ -1039,7 +1039,7 @@ reference = ["https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integr
detection_searches = ["ESCU - Detect AWS Console Login by User from New City - Rule", "ESCU - Detect AWS Console Login by User from New Country - Rule", "ESCU - Detect AWS Console Login by User from New Region - Rule", "ESCU - Detect new user AWS Console Login - Rule"]
mappings = {"cis20": ["CIS 16"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1078.004", "T1535"], "nist": ["DE.AE", "DE.DP"]}
investigative_searches = ["ESCU - AWS Investigate User Activities By ARN"]
-support_searches = ["ESCU - Previously seen users in CloudTrail", "ESCU - Update previously seen users in CloudTrail"]
+support_searches = ["ESCU - Update previously seen users in CloudTrail", "ESCU - Previously seen users in CloudTrail"]
data_models = ["Authentication"]
providing_technologies = none
description = Monitor your AWS authentication events using your CloudTrail logs. Searches within this Analytic Story will help you stay aware of and investigate suspicious logins.
@@ -1054,7 +1054,7 @@ version = 2
reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf", "https://www.tripwire.com/state-of-security/security-data-protection/cloud/public-aws-s3-buckets-writable/"]
detection_searches = ["ESCU - Detect New Open S3 Buckets over AWS CLI - Rule", "ESCU - Detect New Open S3 buckets - Rule", "ESCU - Detect S3 access from a new IP - Rule", "ESCU - Detect Spike in S3 Bucket deletion - Rule"]
mappings = {"cis20": ["CIS 13", "CIS 14"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1530"], "nist": ["DE.CM", "DE.DP", "PR.AC", "PR.DS"]}
-investigative_searches = ["ESCU - AWS S3 Bucket details via bucketName", "ESCU - Get Notable History", "ESCU - Investigate AWS activities via region name", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN"]
+investigative_searches = ["ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History", "ESCU - AWS S3 Bucket details via bucketName"]
support_searches = ["ESCU - Previously seen S3 bucket access by remote IP", "ESCU - Baseline of S3 Bucket deletion activity by ARN"]
data_models = []
providing_technologies = none
@@ -1072,7 +1072,7 @@ version = 1
reference = ["https://rhinosecuritylabs.com/aws/hiding-cloudcobalt-strike-beacon-c2-using-amazon-apis/"]
detection_searches = ["ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule"]
mappings = {"cis20": ["CIS 11"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "nist": ["DE.AE", "DE.CM", "PR.AC"]}
-investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Network ACL Details from ID", "ESCU - AWS Investigate User Activities By ARN"]
+investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Process Information For Port Activity", "ESCU - AWS Network Interface details via resourceId", "ESCU - AWS Network ACL Details from ID"]
support_searches = ["ESCU - Baseline of blocked outbound traffic from AWS"]
data_models = []
providing_technologies = none
@@ -1092,7 +1092,7 @@ reference = ["https://aws.amazon.com/blogs/security/aws-cloudtrail-now-tracks-cr
detection_searches = ["ESCU - AWS Cross Account Activity From Previously Unseen Account - Rule", "ESCU - Detect AWS Console Login by New User - Rule", "ESCU - Detect AWS Console Login by User from New City - Rule", "ESCU - Detect AWS Console Login by User from New Country - Rule", "ESCU - Detect AWS Console Login by User from New Region - Rule"]
mappings = {"cis20": ["CIS 16"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1535"], "nist": ["DE.AE", "DE.DP", "PR.AC", "PR.DS"]}
investigative_searches = ["ESCU - Investigate AWS User Activities by user field", "ESCU - Get Notable History"]
-support_searches = ["ESCU - Previously Seen Users In CloudTrail - Update", "ESCU - Previously Seen AWS Cross Account Activity - Update", "ESCU - Previously Seen Users in CloudTrail - Initial", "ESCU - Previously Seen AWS Cross Account Activity - Initial"]
+support_searches = ["ESCU - Previously Seen Users in CloudTrail - Initial", "ESCU - Previously Seen AWS Cross Account Activity - Update", "ESCU - Previously Seen AWS Cross Account Activity - Initial", "ESCU - Previously Seen Users In CloudTrail - Update"]
data_models = ["Authentication"]
providing_technologies = none
description = Monitor your cloud authentication events. Searches within this Analytic Story leverage the recent cloud updates to the Authentication data model to help you stay aware of and investigate suspicious login activity.
@@ -1109,7 +1109,7 @@ reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.p
detection_searches = ["ESCU - Abnormally High Number Of Cloud Instances Destroyed - Rule", "ESCU - Abnormally High Number Of Cloud Instances Launched - Rule", "ESCU - Cloud Instance Modified By Previously Unseen User - Rule"]
mappings = {"cis20": ["CIS 1", "CIS 13"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1078.004"], "nist": ["DE.AE", "DE.DP", "ID.AM"]}
investigative_searches = ["ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN"]
-support_searches = ["ESCU - Previously Seen Cloud Instance Modifications By User - Initial", "ESCU - Baseline Of Cloud Instances Launched", "ESCU - Previously Seen Cloud Instance Modifications By User - Update", "ESCU - Baseline Of Cloud Instances Destroyed"]
+support_searches = ["ESCU - Previously Seen Cloud Instance Modifications By User - Initial", "ESCU - Previously Seen Cloud Instance Modifications By User - Update", "ESCU - Baseline Of Cloud Instances Destroyed", "ESCU - Baseline Of Cloud Instances Launched"]
data_models = ["Change"]
providing_technologies = none
description = Monitor your cloud infrastructure provisioning activities for behaviors originating from unfamiliar or unusual locations. These behaviors may indicate that malicious activities are occurring somewhere within your cloud environment.
@@ -1142,7 +1142,7 @@ reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.p
detection_searches = ["ESCU - Abnormally High Number Of Cloud Infrastructure API Calls - Rule", "ESCU - Abnormally High Number Of Cloud Security Group API Calls - Rule", "ESCU - Cloud API Calls From Previously Unseen User Roles - Rule"]
mappings = {"cis20": ["CIS 1", "CIS 16"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1078", "T1078.004"], "nist": ["DE.CM", "DE.DP", "ID.AM", "PR.AC"]}
investigative_searches = ["ESCU - AWS Investigate User Activities By ARN"]
-support_searches = ["ESCU - Baseline Of Cloud Security Group API Calls Per User", "ESCU - Previously Seen Cloud API Calls Per User Role - Update", "ESCU - Previously Seen Cloud API Calls Per User Role - Initial", "ESCU - Baseline Of Cloud Infrastructure API Calls Per User"]
+support_searches = ["ESCU - Baseline Of Cloud Infrastructure API Calls Per User", "ESCU - Baseline Of Cloud Security Group API Calls Per User", "ESCU - Previously Seen Cloud API Calls Per User Role - Update", "ESCU - Previously Seen Cloud API Calls Per User Role - Initial"]
data_models = ["Change"]
providing_technologies = none
description = Detect and investigate suspicious activities by users and roles in your cloud environments.
@@ -1158,8 +1158,8 @@ version = 2
reference = ["https://attack.mitre.org/wiki/Technique/T1059", "https://www.microsoft.com/en-us/wdsi/threats/macro-malware", "https://www.fireeye.com/content/dam/fireeye-www/services/pdfs/mandiant-apt1-report.pdf"]
detection_searches = ["ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Detect Use of cmd exe to Launch Script Interpreters - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule"]
mappings = {"cis20": ["CIS 3", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Exploitation"], "mitre_attack": ["T1036.003", "T1059.001", "T1059.003"], "nist": ["DE.CM", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
-support_searches = ["ESCU - Baseline of Command Line Length - MLTK", "ESCU - Previously seen command line arguments"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+support_searches = ["ESCU - Previously seen command line arguments", "ESCU - Baseline of Command Line Length - MLTK"]
data_models = ["Endpoint"]
providing_technologies = none
description = Leveraging the Windows command-line interface (CLI) is one of the most common attack techniques--one that is also detailed in the MITRE ATT&CK framework. Use this Analytic Story to help you identify unusual or suspicious use of the CLI on Windows systems.
@@ -1174,7 +1174,7 @@ version = 1
reference = ["http://blogs.splunk.com/2015/10/01/random-words-on-entropy-and-dns/", "http://www.darkreading.com/analytics/security-monitoring/got-malware-three-signs-revealed-in-dns-traffic/d/d-id/1139680", "https://live.paloaltonetworks.com/t5/Threat-Vulnerability-Articles/What-are-suspicious-DNS-queries/ta-p/71454"]
detection_searches = ["ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Detect Long DNS TXT Record Response - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Excessive DNS Failures - Rule"]
mappings = {"cis20": ["CIS 1", "CIS 12", "CIS 13", "CIS 3", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Command and Control"], "mitre_attack": ["T1048.003", "T1071.004", "T1189"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.DS", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host"]
+investigative_searches = ["ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
support_searches = ["ESCU - Baseline of DNS Query Length - MLTK"]
data_models = ["Network_Resolution"]
providing_technologies = none
@@ -1190,7 +1190,7 @@ version = 1
reference = ["https://www.splunk.com/blog/2015/06/26/phishing-hits-a-new-level-of-quality/"]
detection_searches = ["ESCU - Email Attachments With Lots Of Spaces - Rule", "ESCU - Monitor Email For Brand Abuse - Rule", "ESCU - Suspicious Email - UBA Anomaly - Rule", "ESCU - Suspicious Email Attachment Extensions - Rule"]
mappings = {"cis20": ["CIS 12", "CIS 3", "CIS 7"], "kill_chain_phases": ["Delivery"], "mitre_attack": ["T1566", "T1566.001"], "nist": ["DE.AE", "PR.IP"]}
-investigative_searches = ["ESCU - Get Emails From Specific Sender", "ESCU - Get Notable History", "ESCU - Get Email Info"]
+investigative_searches = ["ESCU - Get Email Info", "ESCU - Get Emails From Specific Sender", "ESCU - Get Notable History"]
support_searches = ["ESCU - DNSTwist Domain Names"]
data_models = ["Email", "UEBA"]
providing_technologies = none
@@ -1226,8 +1226,8 @@ version = 1
reference = ["https://redcanary.com/blog/windows-registry-attacks-threat-detection/", "https://medium.com/@mbromileyDFIR/malware-monday-aebb456356c5", "https://attack.mitre.org/wiki/Technique/T1170"]
detection_searches = ["ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Detect mshta exe running scripts in command-line arguments - Rule", "ESCU - Registry Keys Used For Persistence - Rule"]
mappings = {"cis20": ["CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Exploitation"], "mitre_attack": ["T1059.003", "T1218.005", "T1547.001"], "nist": ["DE.AE", "DE.CM", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
-support_searches = ["ESCU - Baseline of Command Line Length - MLTK", "ESCU - Previously seen command line arguments"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+support_searches = ["ESCU - Previously seen command line arguments", "ESCU - Baseline of Command Line Length - MLTK"]
data_models = ["Endpoint"]
providing_technologies = none
description = Monitor and detect techniques used by attackers who leverage the mshta.exe process to execute malicious code.
@@ -1244,7 +1244,7 @@ version = 1
reference = ["https://attack.mitre.org/wiki/Technique/T1078", "https://owasp.org/www-community/attacks/Credential_stuffing", "https://searchsecurity.techtarget.com/answer/What-is-a-password-spraying-attack-and-how-does-it-work"]
detection_searches = ["ESCU - Multiple Okta Users With Invalid Credentails From The Same IP - Rule", "ESCU - Okta Account Lockout Events - Rule", "ESCU - Okta Failed SSO Attempts - Rule", "ESCU - Okta User Logins From Multiple Cities - Rule"]
mappings = {"cis20": ["CIS 16"], "mitre_attack": ["T1078.001"], "nist": ["DE.CM"]}
-investigative_searches = ["ESCU - Investigate User Activities In Okta", "ESCU - Investigate Okta Activity by app", "ESCU - Investigate Okta Activity by IP Address"]
+investigative_searches = ["ESCU - Investigate Okta Activity by app", "ESCU - Investigate User Activities In Okta", "ESCU - Investigate Okta Activity by IP Address"]
support_searches = []
data_models = []
providing_technologies = none
@@ -1262,7 +1262,7 @@ version = 2
reference = ["https://www.blackhat.com/docs/us-15/materials/us-15-Graeber-Abusing-Windows-Management-Instrumentation-WMI-To-Build-A-Persistent%20Asynchronous-And-Fileless-Backdoor-wp.pdf", "https://www.fireeye.com/blog/threat-research/2017/03/wmimplant_a_wmi_ba.html"]
detection_searches = ["ESCU - Process Execution via WMI - Rule", "ESCU - Remote Process Instantiation via WMI - Rule", "ESCU - Remote WMI Command Attempt - Rule", "ESCU - Script Execution via WMI - Rule", "ESCU - WMI Permanent Event Subscription - Rule", "ESCU - WMI Permanent Event Subscription - Sysmon - Rule", "ESCU - WMI Temporary Event Subscription - Rule"]
mappings = {"cis20": ["CIS 3", "CIS 5"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1047", "T1546.003"], "nist": ["PR.AC", "PR.AT", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -1280,7 +1280,7 @@ version = 1
reference = ["https://redcanary.com/blog/windows-registry-attacks-threat-detection/", "https://attack.mitre.org/wiki/Technique/T1112"]
detection_searches = ["ESCU - Disabling Remote User Account Control - Rule", "ESCU - Monitor Registry Keys for Print Monitors - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Registry Keys Used For Privilege Escalation - Rule", "ESCU - Registry Keys for Creating SHIM Databases - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Suspicious Changes to File Associations - Rule"]
mappings = {"cis20": ["CIS 3", "CIS 5", "CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1546.001", "T1546.011", "T1546.012", "T1547.001", "T1547.010", "T1548.002", "T1564.001"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -1299,7 +1299,7 @@ reference = ["https://blog.rapid7.com/2020/04/02/dispelling-zoom-bugbears-what-y
detection_searches = ["ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - First Time Seen Child Process of Zoom - Rule"]
mappings = {"cis20": ["CIS 3", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Exploitation"], "mitre_attack": ["T1059.003", "T1068"], "nist": ["DE.CM", "PR.IP", "PR.PT"]}
investigative_searches = ["ESCU - Get Process File Activity"]
-support_searches = ["ESCU - Previously Seen Zoom Child Processes - Update", "ESCU - Previously Seen Zoom Child Processes - Initial"]
+support_searches = ["ESCU - Previously Seen Zoom Child Processes - Initial", "ESCU - Previously Seen Zoom Child Processes - Update"]
data_models = ["Endpoint"]
providing_technologies = none
description = Attackers are using Zoom as an vector to increase privileges on a sytems. This story detects new child processes of zoom and provides investigative actions for this detection.
@@ -1315,7 +1315,7 @@ version = 1
reference = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
detection_searches = ["ESCU - EC2 Instance Modified With Previously Unseen User - Rule"]
mappings = {"cis20": ["CIS 1"], "mitre_attack": ["T1078.004"], "nist": ["ID.AM"]}
-investigative_searches = ["ESCU - Get Notable History", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN"]
+investigative_searches = ["ESCU - AWS Investigate User Activities By ARN", "ESCU - Get Notable History", "ESCU - Get EC2 Instance Details by instanceId"]
support_searches = ["ESCU - Previously Seen EC2 Modifications By User"]
data_models = []
providing_technologies = none
@@ -1332,7 +1332,7 @@ version = 2
reference = ["https://www.fireeye.com/blog/threat-research/2017/08/monitoring-windows-console-activity-part-two.html", "https://www.splunk.com/pdfs/technical-briefs/advanced-threat-detection-and-response-tech-brief.pdf", "https://www.sans.org/reading-room/whitepapers/logging/detecting-security-incidents-windows-workstation-event-logs-34262"]
detection_searches = ["ESCU - Detect Rare Executables - Rule", "ESCU - Detect processes used for System Network Configuration Discovery - Rule", "ESCU - RunDLL Loading DLL By Ordinal - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Uncommon Processes On Endpoint - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule"]
mappings = {"cis20": ["CIS 2", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Command and Control", "Installation"], "mitre_attack": ["T1016", "T1036.003", "T1204.002", "T1218.011"], "nist": ["DE.CM", "ID.AM", "PR.DS", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
support_searches = ["ESCU - Baseline of Command Line Length - MLTK"]
data_models = ["Endpoint"]
providing_technologies = none
@@ -1366,7 +1366,7 @@ version = 1
reference = ["https://www.fbi.gov/scams-and-safety/common-fraud-schemes/internet-fraud", "https://www.fbi.gov/news/stories/2017-internet-crime-report-released-050718"]
detection_searches = ["ESCU - Web Fraud - Account Harvesting - Rule", "ESCU - Web Fraud - Anomalous User Clickspeed - Rule", "ESCU - Web Fraud - Password Sharing Across Accounts - Rule"]
mappings = {"cis20": ["CIS 16", "CIS 6"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1078", "T1136"], "nist": ["DE.AE", "DE.CM", "DE.DP"]}
-investigative_searches = ["ESCU - Get Notable History", "ESCU - Get Web Session Information via session id", "ESCU - Get Emails From Specific Sender"]
+investigative_searches = ["ESCU - Get Web Session Information via session id", "ESCU - Get Emails From Specific Sender", "ESCU - Get Notable History"]
support_searches = []
data_models = []
providing_technologies = none
@@ -1403,7 +1403,7 @@ version = 1
reference = ["https://attack.mitre.org/wiki/Defense_Evasion"]
detection_searches = ["ESCU - Disabling Remote User Account Control - Rule", "ESCU - Hiding Files And Directories With Attrib exe - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Suspicious Reg exe Process - Rule"]
mappings = {"cis20": ["CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1112", "T1222.001", "T1548.002", "T1564.001"], "nist": ["DE.CM", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -1419,7 +1419,7 @@ version = 1
reference = ["https://blog.malwarebytes.com/cybercrime/2013/12/file-extensions-2/", "https://attack.mitre.org/wiki/Technique/T1042"]
detection_searches = ["ESCU - Execution of File With Spaces Before Extension - Rule", "ESCU - Execution of File with Multiple Extensions - Rule", "ESCU - Suspicious Changes to File Associations - Rule"]
mappings = {"cis20": ["CIS 3", "CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1036.003", "T1546.001"], "nist": ["DE.CM", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -1439,7 +1439,7 @@ version = 2
reference = ["https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/", "https://zeltser.com/security-incident-log-review-checklist/", "http://journeyintoir.blogspot.com/2013/01/re-introducing-usnjrnl.html"]
detection_searches = ["ESCU - Deleting Shadow Copies - Rule", "ESCU - Suspicious wevtutil Usage - Rule", "ESCU - USN Journal Deletion - Rule", "ESCU - Windows Event Log Cleared - Rule"]
mappings = {"cis20": ["CIS 10", "CIS 3", "CIS 5", "CIS 6", "CIS 8"], "kill_chain_phases": ["Actions on Objectives"], "mitre_attack": ["T1070", "T1070.001", "T1490"], "nist": ["DE.AE", "DE.CM", "DE.DP", "PR.AC", "PR.AT", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -1456,7 +1456,7 @@ version = 2
reference = ["http://www.fuzzysecurity.com/tutorials/19.html", "https://www.fireeye.com/blog/threat-research/2010/07/malware-persistence-windows-registry.html", "http://resources.infosecinstitute.com/common-malware-persistence-mechanisms/", "https://www.fireeye.com/blog/threat-research/2017/05/fin7-shim-databases-persistence.html", "https://www.youtube.com/watch?v=dq2Hv7J9fvk"]
detection_searches = ["ESCU - Detect Path Interception By Creation Of program exe - Rule", "ESCU - Hiding Files And Directories With Attrib exe - Rule", "ESCU - Monitor Registry Keys for Print Monitors - Rule", "ESCU - Reg exe Manipulating Windows Services Registry Keys - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Registry Keys for Creating SHIM Databases - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Schtasks used for forcing a reboot - Rule", "ESCU - Shim Database File Creation - Rule", "ESCU - Shim Database Installation With Suspicious Parameters - Rule"]
mappings = {"cis20": ["CIS 3", "CIS 5", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Installation"], "mitre_attack": ["T1053.005", "T1222.001", "T1543.003", "T1546.011", "T1547.001", "T1547.010", "T1564.001", "T1574.009", "T1574.011"], "nist": ["DE.AE", "DE.CM", "PR.AC", "PR.AT", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -1472,7 +1472,7 @@ version = 2
reference = ["https://attack.mitre.org/tactics/TA0004/"]
detection_searches = ["ESCU - Child Processes of Spoolsv exe - Rule", "ESCU - Overwriting Accessibility Binaries - Rule", "ESCU - Registry Keys Used For Privilege Escalation - Rule", "ESCU - Uncommon Processes On Endpoint - Rule"]
mappings = {"cis20": ["CIS 2", "CIS 5", "CIS 8"], "kill_chain_phases": ["Actions on Objectives", "Exploitation"], "mitre_attack": ["T1068", "T1204.002", "T1546.008", "T1546.012"], "nist": ["DE.CM", "ID.AM", "PR.AC", "PR.DS", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
support_searches = []
data_models = ["Endpoint"]
providing_technologies = none
@@ -1488,8 +1488,8 @@ version = 3
reference = ["https://attack.mitre.org/wiki/Technique/T1050", "https://attack.mitre.org/wiki/Technique/T1031"]
detection_searches = ["ESCU - First Time Seen Running Windows Service - Rule", "ESCU - Reg exe Manipulating Windows Services Registry Keys - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule"]
mappings = {"cis20": ["CIS 2", "CIS 3", "CIS 5", "CIS 8", "CIS 9"], "kill_chain_phases": ["Actions on Objectives", "Installation"], "mitre_attack": ["T1543.003", "T1569.002", "T1574.011"], "nist": ["DE.AE", "DE.CM", "ID.AM", "PR.AC", "PR.AT", "PR.DS", "PR.IP", "PR.PT"]}
-investigative_searches = ["ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
-support_searches = ["ESCU - Previously Seen Running Windows Services - Update", "ESCU - Previously Seen Running Windows Services - Initial"]
+investigative_searches = ["ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
+support_searches = ["ESCU - Previously Seen Running Windows Services - Initial", "ESCU - Previously Seen Running Windows Services - Update"]
data_models = ["Endpoint"]
providing_technologies = none
description = Windows services are often used by attackers for persistence and the ability to load drivers or otherwise interact with the Windows kernel. This Analytic Story helps you monitor your environment for indications that Windows services are being modified or created in a suspicious manner.
diff --git a/package/default/collections.conf b/package/default/collections.conf
index 404f3ae037..2344af3538 100644
--- a/package/default/collections.conf
+++ b/package/default/collections.conf
@@ -1,6 +1,6 @@
#############
# Automatically generated by generator.py in splunk/security-content
-# On Date: 2021-01-19T13:08:32 UTC
+# On Date: 2021-01-19T13:16:49 UTC
# Author: Splunk Security Research
# Contact: research@splunk.com
#############
diff --git a/package/default/es_investigations.conf b/package/default/es_investigations.conf
index ac07faeaeb..7ce6df328d 100644
--- a/package/default/es_investigations.conf
+++ b/package/default/es_investigations.conf
@@ -4,35 +4,35 @@ label = AWS Cross Account Activity
description = Track when a user assumes an IAM role in another AWS account to obtain cross-account access to services and resources in that account. Accessing new roles could be an indication of malicious activity.
disabled = 0
-panels = ["panel://workbench_panel_aws_investigate_user_activities_by_accesskeyid", "panel://workbench_panel_get_notable_history"]
+panels = ["panel://workbench_panel_get_notable_history", "panel://workbench_panel_aws_investigate_user_activities_by_accesskeyid"]
[panel_group://workbench_panel_group_aws_cryptomining]
label = AWS Cryptomining
description = Monitor your AWS EC2 instances for activities related to cryptojacking/cryptomining. New instances that originate from previously unseen regions, users who launch abnormally high numbers of instances, or EC2 instances started by previously unseen users are just a few examples of potentially malicious behavior.
disabled = 0
-panels = ["panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_ec2_launch_details", "panel://workbench_panel_investigate_aws_activities_via_region_name", "panel://workbench_panel_get_ec2_instance_details_by_instanceid", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
+panels = ["panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_investigate_aws_activities_via_region_name", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_ec2_instance_details_by_instanceid", "panel://workbench_panel_get_ec2_launch_details"]
[panel_group://workbench_panel_group_aws_network_acl_activity]
label = AWS Network ACL Activity
description = Monitor your AWS network infrastructure for bad configurations and malicious activity. Investigative searches help you probe deeper, when the facts warrant it.
disabled = 0
-panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_aws_network_interface_details_via_resourceid", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_aws_network_acl_details_from_id", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
+panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_aws_network_interface_details_via_resourceid", "panel://workbench_panel_aws_network_acl_details_from_id"]
[panel_group://workbench_panel_group_aws_security_hub_alerts]
label = AWS Security Hub Alerts
description = This story is focused around detecting Security Hub alerts generated from AWS
disabled = 0
-panels = ["panel://workbench_panel_get_ec2_instance_details_by_instanceid", "panel://workbench_panel_get_ec2_launch_details", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
+panels = ["panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_get_ec2_launch_details", "panel://workbench_panel_get_ec2_instance_details_by_instanceid"]
[panel_group://workbench_panel_group_aws_suspicious_provisioning_activities]
label = AWS Suspicious Provisioning Activities
description = Monitor your AWS provisioning activities for behaviors originating from unfamiliar or unusual locations. These behaviors may indicate that malicious activities are occurring somewhere within your network.
disabled = 0
-panels = ["panel://workbench_panel_get_all_aws_activity_from_region", "panel://workbench_panel_aws_investigate_security_hub_alerts_by_dest", "panel://workbench_panel_get_all_aws_activity_from_city", "panel://workbench_panel_get_all_aws_activity_from_country", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
+panels = ["panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_get_all_aws_activity_from_region", "panel://workbench_panel_aws_investigate_security_hub_alerts_by_dest", "panel://workbench_panel_get_all_aws_activity_from_city", "panel://workbench_panel_get_all_aws_activity_from_country"]
[panel_group://workbench_panel_group_aws_user_monitoring]
label = AWS User Monitoring
@@ -46,28 +46,28 @@ label = Apache Struts Vulnerability
description = Detect and investigate activities--such as unusually long `Content-Type` length, suspicious java classes and web servers executing suspicious processes--consistent with attempts to exploit Apache Struts vulnerabilities.
disabled = 0
-panels = ["panel://workbench_panel_investigate_suspicious_strings_in_http_header", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_investigate_web_posts_from_src"]
+panels = ["panel://workbench_panel_get_notable_history", "panel://workbench_panel_investigate_web_posts_from_src", "panel://workbench_panel_investigate_suspicious_strings_in_http_header"]
[panel_group://workbench_panel_group_asset_tracking]
label = Asset Tracking
description = Keep a careful inventory of every asset on your network to make it easier to detect rogue devices. Unauthorized/unmanaged devices could be an indication of malicious behavior that should be investigated further.
disabled = 0
-panels = ["panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_first_occurrence_and_last_occurrence_of_a_mac_address"]
+panels = ["panel://workbench_panel_get_first_occurrence_and_last_occurrence_of_a_mac_address", "panel://workbench_panel_get_notable_history"]
[panel_group://workbench_panel_group_brand_monitoring]
label = Brand Monitoring
description = Detect and investigate activity that may indicate that an adversary is using faux domains to mislead users into interacting with malicious infrastructure. Monitor DNS, email, and web traffic for permutations of your brand name.
disabled = 0
-panels = ["panel://workbench_panel_get_emails_from_specific_sender", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_email_info"]
+panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_email_info", "panel://workbench_panel_get_emails_from_specific_sender", "panel://workbench_panel_get_notable_history"]
[panel_group://workbench_panel_group_cloud_cryptomining]
label = Cloud Cryptomining
description = Monitor your cloud compute instances for activities related to cryptojacking/cryptomining. New instances that originate from previously unseen regions, users who launch abnormally high numbers of instances, or compute instances started by previously unseen users are just a few examples of potentially malicious behavior.
disabled = 0
-panels = ["panel://workbench_panel_aws_investigate_security_hub_alerts_by_dest", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_ec2_launch_details", "panel://workbench_panel_investigate_aws_activities_via_region_name", "panel://workbench_panel_get_ec2_instance_details_by_instanceid", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
+panels = ["panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_investigate_aws_activities_via_region_name", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_ec2_instance_details_by_instanceid", "panel://workbench_panel_aws_investigate_security_hub_alerts_by_dest", "panel://workbench_panel_get_ec2_launch_details"]
[panel_group://workbench_panel_group_coldroot_macos_rat]
label = ColdRoot MacOS RAT
@@ -81,14 +81,14 @@ label = Collection and Staging
description = Monitor for and investigate activities--such as suspicious writes to the Windows Recycling Bin or email servers sending high amounts of traffic to specific hosts, for example--that may indicate that an adversary is harvesting and exfiltrating sensitive data.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
[panel_group://workbench_panel_group_command_and_control]
label = Command and Control
description = Detect and investigate tactics, techniques, and procedures leveraged by attackers to establish and operate command and control channels. Implants installed by attackers on compromised endpoints use these channels to receive instructions and send data back to the malicious operators.
disabled = 0
-panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_aws_network_interface_details_via_resourceid", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_aws_network_acl_details_from_id", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
+panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_aws_network_interface_details_via_resourceid", "panel://workbench_panel_aws_network_acl_details_from_id"]
[panel_group://workbench_panel_group_common_phishing_frameworks]
label = Common Phishing Frameworks
@@ -109,14 +109,14 @@ label = Credential Dumping
description = Uncover activity consistent with credential dumping, a technique wherein attackers compromise systems and attempt to obtain and exfiltrate passwords. The threat actors use these pilfered credentials to further escalate privileges and spread throughout a target environment. The included searches in this Analytic Story are designed to identify attempts to credential dumping.
disabled = 0
-panels = ["panel://workbench_panel_investigate_failed_logins_for_multiple_destinations", "panel://workbench_panel_investigate_pass_the_ticket_attempts", "panel://workbench_panel_investigate_previous_unseen_user", "panel://workbench_panel_investigate_pass_the_hash_attempts"]
+panels = ["panel://workbench_panel_investigate_previous_unseen_user", "panel://workbench_panel_investigate_pass_the_ticket_attempts", "panel://workbench_panel_investigate_pass_the_hash_attempts", "panel://workbench_panel_investigate_failed_logins_for_multiple_destinations"]
[panel_group://workbench_panel_group_dhs_report_ta18_074a]
label = DHS Report TA18-074A
description = Monitor for suspicious activities associated with DHS Technical Alert US-CERT TA18-074A. Some of the activities that adversaries used in these compromises included spearfishing attacks, malware, watering-hole domains, many and more.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_file_activity", "panel://workbench_panel_get_process_information_for_port_activity"]
+panels = ["panel://workbench_panel_get_process_file_activity", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_parent_process_info"]
[panel_group://workbench_panel_group_dns_amplification_attacks]
label = DNS Amplification Attacks
@@ -144,7 +144,7 @@ label = Data Protection
description = Fortify your data-protection arsenal--while continuing to ensure data confidentiality and integrity--with searches that monitor for and help you investigate possible signs of data exfiltration.
disabled = 0
-panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_get_dns_server_history_for_a_host"]
+panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history"]
[panel_group://workbench_panel_group_detect_zerologon_attack]
label = Detect Zerologon Attack
@@ -158,21 +158,21 @@ label = Disabling Security Tools
description = Looks for activities and techniques associated with the disabling of security tools on a Windows system, such as suspicious `reg.exe` processes, processes launching netsh, and many others.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
[panel_group://workbench_panel_group_dynamic_dns]
label = Dynamic DNS
description = Detect and investigate hosts in your environment that may be communicating with dynamic domain providers. Attackers may leverage these services to help them avoid firewall blocks and blacklists.
disabled = 0
-panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio"]
+panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_get_notable_history"]
[panel_group://workbench_panel_group_emotet_malware__dhs_report_ta18_201a_]
label = Emotet Malware DHS Report TA18-201A
description = Detect rarely used executables, specific registry paths that may confer malware survivability and persistence, instances where cmd.exe is used to launch script interpreters, and other indicators that the Emotet financial malware has compromised your environment.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_process_information_for_port_activity"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_history_of_email_sources"]
[panel_group://workbench_panel_group_f5_tmui_rce_cve_2020_5902]
label = F5 TMUI RCE CVE-2020-5902
@@ -193,7 +193,7 @@ label = Hidden Cobra Malware
description = Monitor for and investigate activities, including the creation or deletion of hidden shares and file writes, that may be evidence of infiltration by North Korean government-sponsored cybercriminals. Details of this activity were reported in DHS Report TA-18-149A.
disabled = 0
-panels = ["panel://workbench_panel_investigate_successful_remote_desktop_authentications", "panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_outbound_emails_to_hidden_cobra_threat_actors", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_information_for_port_activity"]
+panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_investigate_successful_remote_desktop_authentications", "panel://workbench_panel_get_outbound_emails_to_hidden_cobra_threat_actors"]
[panel_group://workbench_panel_group_host_redirection]
label = Host Redirection
@@ -214,7 +214,7 @@ label = Kubernetes Scanning Activity
description = This story addresses detection against Kubernetes cluster fingerprint scan and attack by providing information on items such as source ip, user agent, cluster names.
disabled = 0
-panels = ["panel://workbench_panel_gcp_kubernetes_activity_by_src_ip", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_amazon_eks_kubernetes_activity_by_src_ip"]
+panels = ["panel://workbench_panel_amazon_eks_kubernetes_activity_by_src_ip", "panel://workbench_panel_gcp_kubernetes_activity_by_src_ip", "panel://workbench_panel_get_notable_history"]
[panel_group://workbench_panel_group_kubernetes_sensitive_object_access_activity]
label = Kubernetes Sensitive Object Access Activity
@@ -235,14 +235,14 @@ label = Lateral Movement
description = Detect and investigate tactics, techniques, and procedures around how attackers move laterally within the enterprise. Because lateral movement can expose the adversary to detection, it should be an important focus for security analysts.
disabled = 0
-panels = ["panel://workbench_panel_investigate_successful_remote_desktop_authentications", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_process_information_for_port_activity"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_investigate_successful_remote_desktop_authentications", "panel://workbench_panel_get_history_of_email_sources"]
[panel_group://workbench_panel_group_malicious_powershell]
label = Malicious PowerShell
description = Attackers are finding stealthy ways "live off the land," leveraging utilities and tools that come standard on the endpoint--such as PowerShell--to achieve their goals without downloading binary files. These searches can help you detect and investigate PowerShell command-line options that may be indicative of malicious intent.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_history_of_email_sources"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_history_of_email_sources"]
[panel_group://workbench_panel_group_monitor_backup_solution]
label = Monitor Backup Solution
@@ -256,7 +256,7 @@ label = Monitor for Unauthorized Software
description = Identify and investigate prohibited/unauthorized software or processes that may be concealing malicious behavior within your environment.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
[panel_group://workbench_panel_group_monitor_for_updates]
label = Monitor for Updates
@@ -270,7 +270,7 @@ label = Netsh Abuse
description = Detect activities and various techniques associated with the abuse of `netsh.exe`, which can disable local firewall settings or set up a remote connection to a host from an infected system.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
[panel_group://workbench_panel_group_office_365_detections]
label = Office 365 Detections
@@ -284,7 +284,7 @@ label = Orangeworm Attack Group
description = Detect activities and various techniques associated with the Orangeworm Attack Group, a group that frequently targets the healthcare industry.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_history_of_email_sources"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_history_of_email_sources"]
[panel_group://workbench_panel_group_phishing_payloads]
label = Phishing Payloads
@@ -298,21 +298,21 @@ label = Possible Backdoor Activity Associated With MUDCARP Espionage Campaigns
description = Monitor your environment for suspicious behaviors that resemble the techniques employed by the MUDCARP threat group.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_history_of_email_sources"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_history_of_email_sources"]
[panel_group://workbench_panel_group_prohibited_traffic_allowed_or_protocol_mismatch]
label = Prohibited Traffic Allowed or Protocol Mismatch
description = Detect instances of prohibited network traffic allowed in the environment, as well as protocols running on non-standard ports. Both of these types of behaviors typically violate policy and can be leveraged by attackers.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_information_for_port_activity"]
+panels = ["panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_parent_process_info"]
[panel_group://workbench_panel_group_ransomware]
label = Ransomware
description = Leverage searches that allow you to detect and investigate unusual activities that might relate to ransomware--spikes in SMB traffic, suspicious wevtutil usage, the presence of common ransomware extensions, and system processes run from unexpected locations, and many others.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_backup_logs_for_endpoint", "panel://workbench_panel_get_sysmon_wmi_activity_for_host", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_process_information_for_port_activity"]
+panels = ["panel://workbench_panel_get_backup_logs_for_endpoint", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_sysmon_wmi_activity_for_host"]
[panel_group://workbench_panel_group_ransomware_cloud]
label = Ransomware Cloud
@@ -347,7 +347,7 @@ label = SamSam Ransomware
description = Leverage searches that allow you to detect and investigate unusual activities that might relate to the SamSam ransomware, including looking for file writes associated with SamSam, RDP brute force attacks, the presence of files with SamSam ransomware extensions, suspicious psexec use, and more.
disabled = 0
-panels = ["panel://workbench_panel_investigate_successful_remote_desktop_authentications", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_backup_logs_for_endpoint", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_get_process_information_for_port_activity"]
+panels = ["panel://workbench_panel_get_backup_logs_for_endpoint", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_history_of_email_sources", "panel://workbench_panel_investigate_successful_remote_desktop_authentications"]
[panel_group://workbench_panel_group_spectre_and_meltdown_vulnerabilities]
label = Spectre And Meltdown Vulnerabilities
@@ -382,7 +382,7 @@ label = Suspicious AWS EC2 Activities
description = Use the searches in this Analytic Story to monitor your AWS EC2 instances for evidence of anomalous activity and suspicious behaviors, such as EC2 instances that originate from unusual locations or those launched by previously unseen users (among others). Included investigative searches will help you probe more deeply, when the information warrants it.
disabled = 0
-panels = ["panel://workbench_panel_aws_investigate_security_hub_alerts_by_dest", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_ec2_launch_details", "panel://workbench_panel_investigate_aws_activities_via_region_name", "panel://workbench_panel_get_ec2_instance_details_by_instanceid", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
+panels = ["panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_investigate_aws_activities_via_region_name", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_ec2_instance_details_by_instanceid", "panel://workbench_panel_aws_investigate_security_hub_alerts_by_dest", "panel://workbench_panel_get_ec2_launch_details"]
[panel_group://workbench_panel_group_suspicious_aws_login_activities]
label = Suspicious AWS Login Activities
@@ -396,14 +396,14 @@ label = Suspicious AWS S3 Activities
description = Use the searches in this Analytic Story to monitor your AWS S3 buckets for evidence of anomalous activity and suspicious behaviors, such as detecting open S3 buckets and buckets being accessed from a new IP. The contextual and investigative searches will give you more information, when required.
disabled = 0
-panels = ["panel://workbench_panel_aws_s3_bucket_details_via_bucketname", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_investigate_aws_activities_via_region_name", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
+panels = ["panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_investigate_aws_activities_via_region_name", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_aws_s3_bucket_details_via_bucketname"]
[panel_group://workbench_panel_group_suspicious_aws_traffic]
label = Suspicious AWS Traffic
description = Leverage these searches to monitor your AWS network traffic for evidence of anomalous activity and suspicious behaviors, such as a spike in blocked outbound traffic in your virtual private cloud (VPC).
disabled = 0
-panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_aws_network_interface_details_via_resourceid", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_aws_network_acl_details_from_id", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
+panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_all_aws_activity_from_ip_address", "panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_information_for_port_activity", "panel://workbench_panel_aws_network_interface_details_via_resourceid", "panel://workbench_panel_aws_network_acl_details_from_id"]
[panel_group://workbench_panel_group_suspicious_cloud_authentication_activities]
label = Suspicious Cloud Authentication Activities
@@ -438,21 +438,21 @@ label = Suspicious Command-Line Executions
description = Leveraging the Windows command-line interface (CLI) is one of the most common attack techniques--one that is also detailed in the MITRE ATT&CK framework. Use this Analytic Story to help you identify unusual or suspicious use of the CLI on Windows systems.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
[panel_group://workbench_panel_group_suspicious_dns_traffic]
label = Suspicious DNS Traffic
description = Attackers often attempt to hide within or otherwise abuse the domain name system (DNS). You can thwart attempts to manipulate this omnipresent protocol by monitoring for these types of abuses.
disabled = 0
-panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_get_dns_server_history_for_a_host"]
+panels = ["panel://workbench_panel_get_process_responsible_for_the_dns_traffic", "panel://workbench_panel_get_dns_traffic_ratio", "panel://workbench_panel_get_dns_server_history_for_a_host", "panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
[panel_group://workbench_panel_group_suspicious_emails]
label = Suspicious Emails
description = Email remains one of the primary means for attackers to gain an initial foothold within the modern enterprise. Detect and investigate suspicious emails in your environment with the help of the searches in this Analytic Story.
disabled = 0
-panels = ["panel://workbench_panel_get_emails_from_specific_sender", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_email_info"]
+panels = ["panel://workbench_panel_get_email_info", "panel://workbench_panel_get_emails_from_specific_sender", "panel://workbench_panel_get_notable_history"]
[panel_group://workbench_panel_group_suspicious_gcp_storage_activities]
label = Suspicious GCP Storage Activities
@@ -466,28 +466,28 @@ label = Suspicious MSHTA Activity
description = Monitor and detect techniques used by attackers who leverage the mshta.exe process to execute malicious code.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
[panel_group://workbench_panel_group_suspicious_okta_activity]
label = Suspicious Okta Activity
description = Monitor your Okta environment for suspicious activities. Due to the Covid outbreak, many users are migrating over to leverage cloud services more and more. Okta is a popular tool to manage multiple users and the web-based applications they need to stay productive. The searches in this story will help monitor your Okta environment for suspicious activities and associated user behaviors.
disabled = 0
-panels = ["panel://workbench_panel_investigate_user_activities_in_okta", "panel://workbench_panel_investigate_okta_activity_by_app", "panel://workbench_panel_investigate_okta_activity_by_ip_address"]
+panels = ["panel://workbench_panel_investigate_okta_activity_by_app", "panel://workbench_panel_investigate_user_activities_in_okta", "panel://workbench_panel_investigate_okta_activity_by_ip_address"]
[panel_group://workbench_panel_group_suspicious_wmi_use]
label = Suspicious WMI Use
description = Attackers are increasingly abusing Windows Management Instrumentation (WMI), a framework and associated utilities available on all modern Windows operating systems. Because WMI can be leveraged to manage both local and remote systems, it is important to identify the processes executed and the user context within which the activity occurred.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_sysmon_wmi_activity_for_host", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_sysmon_wmi_activity_for_host", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
[panel_group://workbench_panel_group_suspicious_windows_registry_activities]
label = Suspicious Windows Registry Activities
description = Monitor and detect registry changes initiated from remote locations, which can be a sign that an attacker has infiltrated your system.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
[panel_group://workbench_panel_group_suspicious_zoom_child_processes]
label = Suspicious Zoom Child Processes
@@ -501,14 +501,14 @@ label = Unusual AWS EC2 Modifications
description = Identify unusual changes to your AWS EC2 instances that may indicate malicious activity. Modifications to your EC2 instances by previously unseen users is an example of an activity that may warrant further investigation.
disabled = 0
-panels = ["panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_ec2_instance_details_by_instanceid", "panel://workbench_panel_aws_investigate_user_activities_by_arn"]
+panels = ["panel://workbench_panel_aws_investigate_user_activities_by_arn", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_ec2_instance_details_by_instanceid"]
[panel_group://workbench_panel_group_unusual_processes]
label = Unusual Processes
description = Quickly identify systems running new or unusual processes in your environment that could be indicators of suspicious activity. Processes run from unusual locations, those with conspicuously long command lines, and rare executables are all examples of activities that may warrant deeper investigation.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
[panel_group://workbench_panel_group_use_of_cleartext_protocols]
label = Use of Cleartext Protocols
@@ -522,7 +522,7 @@ label = Web Fraud Detection
description = Monitor your environment for activity consistent with common attack techniques bad actors use when attempting to compromise web servers or other web-related assets.
disabled = 0
-panels = ["panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_web_session_information_via_session_id", "panel://workbench_panel_get_emails_from_specific_sender"]
+panels = ["panel://workbench_panel_get_web_session_information_via_session_id", "panel://workbench_panel_get_emails_from_specific_sender", "panel://workbench_panel_get_notable_history"]
[panel_group://workbench_panel_group_windows_dns_sigred_cve_2020_1350]
label = Windows DNS SIGRed CVE-2020-1350
@@ -536,42 +536,42 @@ label = Windows Defense Evasion Tactics
description = Detect tactics used by malware to evade defenses on Windows endpoints. A few of these include suspicious `reg.exe` processes, files hidden with `attrib.exe` and disabling user-account control, among many others
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
[panel_group://workbench_panel_group_windows_file_extension_and_association_abuse]
label = Windows File Extension and Association Abuse
description = Detect and investigate suspected abuse of file extensions and Windows file associations. Some of the malicious behaviors involved may include inserting spaces before file extensions or prepending the file extension with a different one, among other techniques.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
[panel_group://workbench_panel_group_windows_log_manipulation]
label = Windows Log Manipulation
description = Adversaries often try to cover their tracks by manipulating Windows logs. Use these searches to help you monitor for suspicious activity surrounding log files--an essential component of an effective defense.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
[panel_group://workbench_panel_group_windows_persistence_techniques]
label = Windows Persistence Techniques
description = Monitor for activities and techniques associated with maintaining persistence on a Windows system--a sign that an adversary may have compromised your environment.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
[panel_group://workbench_panel_group_windows_privilege_escalation]
label = Windows Privilege Escalation
description = Monitor for and investigate activities that may be associated with a Windows privilege-escalation attack, including unusual processes running on endpoints, modified registry keys, and more.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
[panel_group://workbench_panel_group_windows_service_abuse]
label = Windows Service Abuse
description = Windows services are often used by attackers for persistence and the ability to load drivers or otherwise interact with the Windows kernel. This Analytic Story helps you monitor your environment for indications that Windows services are being modified or created in a suspicious manner.
disabled = 0
-panels = ["panel://workbench_panel_get_parent_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_process_info"]
+panels = ["panel://workbench_panel_get_process_info", "panel://workbench_panel_get_notable_history", "panel://workbench_panel_get_parent_process_info"]
diff --git a/package/default/macros.conf b/package/default/macros.conf
index 794c28822e..777cda7ede 100644
--- a/package/default/macros.conf
+++ b/package/default/macros.conf
@@ -1,6 +1,6 @@
#############
# Automatically generated by generator.py in splunk/security-content
-# On Date: 2021-01-19T13:08:32 UTC
+# On Date: 2021-01-19T13:16:49 UTC
# Author: Splunk Security Research
# Contact: research@splunk.com
#############
diff --git a/package/default/savedsearches.conf b/package/default/savedsearches.conf
index d53855b92a..fc304c80c7 100644
--- a/package/default/savedsearches.conf
+++ b/package/default/savedsearches.conf
@@ -1,6 +1,6 @@
#############
# Automatically generated by generator.py in splunk/security-content
-# On Date: 2021-01-19T13:08:32 UTC
+# On Date: 2021-01-19T13:16:49 UTC
# Author: Splunk Security Research
# Contact: research@splunk.com
#############
@@ -5845,7 +5845,7 @@ relation = greater than
quantity = 0
realtime_schedule = 0
is_visible = false
-search = | tstats `security_content_summariesonly` count values(Processes.process) as process values(Processes.parent_process) as parent_process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=powershell.exe by Processes.user Processes.process_name Processes.parent_process_name Processes.dest Processes.process | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`| eval num_obfuscation = (mvcount(split(process, "`"))-1) + (mvcount(split(process, "^"))-1) + (mvcount(split(process, "\'"))-1) | `malicious_powershell_process_with_obfuscation_techniques_filter` | search num_obfuscation > 10
+search = | tstats `security_content_summariesonly` count values(Processes.process) as process values(Processes.parent_process) as parent_process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=powershell.exe by Processes.user Processes.process_name Processes.parent_process_name Processes.dest Processes.process | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`| eval num_obfuscation = (mvcount(split(process,"`"))-1) + (mvcount(split(process, "^"))-1) + (mvcount(split(process, "'"))-1) | `malicious_powershell_process_with_obfuscation_techniques_filter` | search num_obfuscation > 10
[ESCU - Monitor DNS For Brand Abuse - Rule]
diff --git a/package/default/transforms.conf b/package/default/transforms.conf
index 45141b77e5..437358c0cd 100644
--- a/package/default/transforms.conf
+++ b/package/default/transforms.conf
@@ -1,6 +1,6 @@
#############
# Automatically generated by generator.py in splunk/security-content
-# On Date: 2021-01-19T13:08:32 UTC
+# On Date: 2021-01-19T13:16:49 UTC
# Author: Splunk Security Research
# Contact: research@splunk.com
#############
diff --git a/package/default/use_case_library.conf b/package/default/use_case_library.conf
index 5ef312289d..ebd305652e 100644
--- a/package/default/use_case_library.conf
+++ b/package/default/use_case_library.conf
@@ -1,6 +1,6 @@
#############
# Automatically generated by generator.py in splunk/security-content
-# On Date: 2021-01-19T13:08:32 UTC
+# On Date: 2021-01-19T13:16:49 UTC
# Author: Splunk Security Research
# Contact: research@splunk.com
#############
@@ -14,7 +14,7 @@ version = 1
references = ["https://aws.amazon.com/blogs/security/aws-cloudtrail-now-tracks-cross-account-activity-to-its-origin/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - aws detect role creation - Rule", "ESCU - aws detect sts get session token abuse - Rule", "ESCU - aws detect permanent key creation - Rule", "ESCU - aws detect sts assume role abuse - Rule", "ESCU - aws detect attach to role policy - Rule", "ESCU - AWS Investigate User Activities By AccessKeyId", "ESCU - Get Notable History"]
+searches = ["ESCU - aws detect role creation - Rule", "ESCU - aws detect permanent key creation - Rule", "ESCU - aws detect sts get session token abuse - Rule", "ESCU - aws detect attach to role policy - Rule", "ESCU - aws detect sts assume role abuse - Rule", "ESCU - Get Notable History", "ESCU - AWS Investigate User Activities By AccessKeyId"]
description = Track when a user assumes an IAM role in another AWS account to obtain cross-account access to services and resources in that account. Accessing new roles could be an indication of malicious activity.
narrative = Amazon Web Services (AWS) admins manage access to AWS resources and services across the enterprise using AWS's Identity and Access Management (IAM) functionality. IAM provides the ability to create and manage AWS users, groups, and roles-each with their own unique set of privileges and defined access to specific resources (such as EC2 instances, the AWS Management Console, API, or the command-line interface). Unlike conventional (human) users, IAM roles are assumable by anyone in the organization. They provide users with dynamically created temporary security credentials that expire within a set time period.\
Herein lies the rub. In between the time between when the temporary credentials are issued and when they expire is a period of opportunity, where a user could leverage the temporary credentials to wreak havoc-spin up or remove instances, create new users, elevate privileges, and other malicious activities-throughout the environment.\
@@ -27,7 +27,7 @@ version = 1
references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - EC2 Instance Started With Previously Unseen Instance Type - Rule", "ESCU - EC2 Instance Started With Previously Unseen AMI - Rule", "ESCU - EC2 Instance Started In Previously Unseen Region - Rule", "ESCU - Abnormally High AWS Instances Launched by User - MLTK - Rule", "ESCU - EC2 Instance Started With Previously Unseen User - Rule", "ESCU - Abnormally High AWS Instances Launched by User - Rule", "ESCU - Get Notable History", "ESCU - Get EC2 Launch Details", "ESCU - Investigate AWS activities via region name", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN"]
+searches = ["ESCU - Abnormally High AWS Instances Launched by User - MLTK - Rule", "ESCU - Abnormally High AWS Instances Launched by User - Rule", "ESCU - EC2 Instance Started In Previously Unseen Region - Rule", "ESCU - EC2 Instance Started With Previously Unseen User - Rule", "ESCU - EC2 Instance Started With Previously Unseen Instance Type - Rule", "ESCU - EC2 Instance Started With Previously Unseen AMI - Rule", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - Get EC2 Launch Details"]
description = Monitor your AWS EC2 instances for activities related to cryptojacking/cryptomining. New instances that originate from previously unseen regions, users who launch abnormally high numbers of instances, or EC2 instances started by previously unseen users are just a few examples of potentially malicious behavior.
narrative = Cryptomining is an intentionally difficult, resource-intensive business. Its complexity was designed into the process to ensure that the number of blocks mined each day would remain steady. So, it's par for the course that ambitious, but unscrupulous, miners make amassing the computing power of large enterprises--a practice known as cryptojacking--a top priority. \
Cryptojacking has attracted an increasing amount of media attention since its explosion in popularity in the fall of 2017. The attacks have moved from in-browser exploits and mobile phones to enterprise cloud services, such as Amazon Web Services (AWS). It's difficult to determine exactly how widespread the practice has become, since bad actors continually evolve their ability to escape detection, including employing unlisted endpoints, moderating their CPU usage, and hiding the mining pool's IP address behind a free CDN. \
@@ -41,7 +41,7 @@ version = 2
references = ["https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_NACLs.html", "https://aws.amazon.com/blogs/security/how-to-help-prepare-for-ddos-attacks-by-reducing-your-attack-surface/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - AWS Network Access Control List Created with All Open Ports - Rule", "ESCU - AWS Network Access Control List Deleted - Rule", "ESCU - Detect Spike in Network ACL Activity - Rule", "ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Network ACL Details from ID", "ESCU - AWS Investigate User Activities By ARN"]
+searches = ["ESCU - AWS Network Access Control List Created with All Open Ports - Rule", "ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - AWS Network Access Control List Deleted - Rule", "ESCU - Detect Spike in Network ACL Activity - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Process Information For Port Activity", "ESCU - AWS Network Interface details via resourceId", "ESCU - AWS Network ACL Details from ID"]
description = Monitor your AWS network infrastructure for bad configurations and malicious activity. Investigative searches help you probe deeper, when the facts warrant it.
narrative = AWS CloudTrail is an AWS service that helps you enable governance, compliance, and operational/risk auditing of your AWS account. Actions taken by a user, role, or an AWS service are recorded as events in CloudTrail. It is crucial for a company to monitor events and actions taken in the AWS Management Console, AWS Command Line Interface, and AWS SDKs and APIs to ensure that your servers are not vulnerable to attacks. This analytic story contains detection searches that leverage CloudTrail logs from AWS to check for bad configurations and malicious activity in your AWS network access controls.
@@ -52,7 +52,7 @@ version = 1
references = ["https://aws.amazon.com/security-hub/features/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect Spike in AWS Security Hub Alerts for EC2 Instance - Rule", "ESCU - Detect Spike in AWS Security Hub Alerts for User - Rule", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - Get EC2 Launch Details", "ESCU - AWS Investigate User Activities By ARN"]
+searches = ["ESCU - Detect Spike in AWS Security Hub Alerts for EC2 Instance - Rule", "ESCU - Detect Spike in AWS Security Hub Alerts for User - Rule", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get EC2 Launch Details", "ESCU - Get EC2 Instance Details by instanceId"]
description = This story is focused around detecting Security Hub alerts generated from AWS
narrative = AWS Security Hub collects and consolidates findings from AWS security services enabled in your environment, such as intrusion detection findings from Amazon GuardDuty, vulnerability scans from Amazon Inspector, S3 bucket policy findings from Amazon Macie, publicly accessible and cross-account resources from IAM Access Analyzer, and resources lacking WAF coverage from AWS Firewall Manager.
@@ -63,7 +63,7 @@ version = 1
references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - AWS Cloud Provisioning From Previously Unseen City - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen IP Address - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen Country - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen Region - Rule", "ESCU - Get All AWS Activity From Region", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get All AWS Activity From City", "ESCU - Get All AWS Activity From Country", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN"]
+searches = ["ESCU - AWS Cloud Provisioning From Previously Unseen City - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen Region - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen Country - Rule", "ESCU - AWS Cloud Provisioning From Previously Unseen IP Address - Rule", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get All AWS Activity From IP Address", "ESCU - Get All AWS Activity From Region", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get All AWS Activity From City", "ESCU - Get All AWS Activity From Country"]
description = Monitor your AWS provisioning activities for behaviors originating from unfamiliar or unusual locations. These behaviors may indicate that malicious activities are occurring somewhere within your network.
narrative = Because most enterprise AWS activities originate from familiar geographic locations, monitoring for activity from unknown or unusual regions is an important security measure. This indicator can be especially useful in environments where it is impossible to whitelist specific IPs (because they vary).\
This Analytic Story was designed to provide you with flexibility in the precision you employ in specifying legitimate geographic regions. It can be as specific as an IP address or a city, or as broad as a region (think state) or an entire country. By determining how precise you want your geographical locations to be and monitoring for new locations that haven't previously accessed your environment, you can detect adversaries as they begin to probe your environment. Since there are legitimate reasons for activities from unfamiliar locations, this is not a standalone indicator. Nevertheless, location can be a relevant piece of information that you may wish to investigate further.
@@ -75,7 +75,7 @@ version = 1
references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf", "https://redlock.io/blog/cryptojacking-tesla"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect AWS API Activities From Unapproved Accounts - Rule", "ESCU - Detect new API calls from user roles - Rule", "ESCU - Detect Spike in AWS API Activity - Rule", "ESCU - Detect API activity from users without MFA - Rule", "ESCU - Detect Spike in Security Group Activity - Rule", "ESCU - Investigate AWS User Activities by user field", "ESCU - Get Notable History"]
+searches = ["ESCU - Detect Spike in Security Group Activity - Rule", "ESCU - Detect Spike in AWS API Activity - Rule", "ESCU - Detect new API calls from user roles - Rule", "ESCU - Detect API activity from users without MFA - Rule", "ESCU - Detect AWS API Activities From Unapproved Accounts - Rule", "ESCU - Investigate AWS User Activities by user field", "ESCU - Get Notable History"]
description = Detect and investigate dormant user accounts for your AWS environment that have become active again. Because inactive and ad-hoc accounts are common attack targets, it's critical to enable governance within your environment.
narrative = It seems obvious that it is critical to monitor and control the users who have access to your cloud infrastructure. Nevertheless, it's all too common for enterprises to lose track of ad-hoc accounts, leaving their servers vulnerable to attack. In fact, this was the very oversight that led to Tesla's cryptojacking attack in February, 2018.\
In addition to compromising the security of your data, when bad actors leverage your compute resources, it can incur monumental costs, since you will be billed for any new EC2 instances and increased bandwidth usage. \
@@ -89,7 +89,7 @@ version = 1
references = ["https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/v3.2/dev/rules/REQUEST-944-APPLICATION-ATTACK-JAVA.conf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Web Servers Executing Suspicious Processes - Rule", "ESCU - Unusually Long Content-Type Length - Rule", "ESCU - Suspicious Java Classes - Rule", "ESCU - Investigate Suspicious Strings in HTTP Header", "ESCU - Get Notable History", "ESCU - Investigate Web POSTs From src"]
+searches = ["ESCU - Suspicious Java Classes - Rule", "ESCU - Unusually Long Content-Type Length - Rule", "ESCU - Web Servers Executing Suspicious Processes - Rule", "ESCU - Get Notable History", "ESCU - Investigate Web POSTs From src", "ESCU - Investigate Suspicious Strings in HTTP Header"]
description = Detect and investigate activities--such as unusually long `Content-Type` length, suspicious java classes and web servers executing suspicious processes--consistent with attempts to exploit Apache Struts vulnerabilities.
narrative = In March of 2017, a remote code-execution vulnerability in the Jakarta Multipart parser in Apache Struts, a widely used open-source framework for creating Java web applications, was disclosed and assigned to CVE-2017-5638. About two months later, hackers exploited the flaw to carry out the world's 5th largest data breach. The target, credit giant Equifax, told investigators that it had become aware of the vulnerability two months before the attack. \
The exploit involved manipulating the `Content-Type HTTP` header to execute commands embedded in the header.\
@@ -113,7 +113,7 @@ version = 1
references = ["https://www.cisecurity.org/controls/inventory-of-authorized-and-unauthorized-devices/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect Unauthorized Assets by MAC address - Rule", "ESCU - Get Notable History", "ESCU - Get First Occurrence and Last Occurrence of a MAC Address"]
+searches = ["ESCU - Detect Unauthorized Assets by MAC address - Rule", "ESCU - Get First Occurrence and Last Occurrence of a MAC Address", "ESCU - Get Notable History"]
description = Keep a careful inventory of every asset on your network to make it easier to detect rogue devices. Unauthorized/unmanaged devices could be an indication of malicious behavior that should be investigated further.
narrative = This Analytic Story is designed to help you develop a better understanding of what authorized and unauthorized devices are part of your enterprise. This story can help you better categorize and classify assets, providing critical business context and awareness of their assets during an incident. Information derived from this Analytic Story can be used to better inform and support other analytic stories. For successful detection, you will need to leverage the Assets and Identity Framework from Enterprise Security to populate your known assets.
@@ -124,7 +124,7 @@ version = 1
references = ["https://www.zerofox.com/blog/what-is-digital-risk-monitoring/", "https://securingtomorrow.mcafee.com/consumer/family-safety/what-is-typosquatting/", "https://blog.malwarebytes.com/cybercrime/2016/06/explained-typosquatting/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Monitor Email For Brand Abuse - Rule", "ESCU - Monitor DNS For Brand Abuse - Rule", "ESCU - Monitor Web Traffic For Brand Abuse - Rule", "ESCU - Get Emails From Specific Sender", "ESCU - Get Notable History", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Email Info"]
+searches = ["ESCU - Monitor DNS For Brand Abuse - Rule", "ESCU - Monitor Email For Brand Abuse - Rule", "ESCU - Monitor Web Traffic For Brand Abuse - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Email Info", "ESCU - Get Emails From Specific Sender", "ESCU - Get Notable History"]
description = Detect and investigate activity that may indicate that an adversary is using faux domains to mislead users into interacting with malicious infrastructure. Monitor DNS, email, and web traffic for permutations of your brand name.
narrative = While you can educate your users and customers about the risks and threats posed by typosquatting, phishing, and corporate espionage, human error is a persistent fact of life. Of course, your adversaries are all too aware of this reality and will happily leverage it for nefarious purposes whenever possible3phishing with lookalike addresses, embedding faux command-and-control domains in malware, and hosting malicious content on domains that closely mimic your corporate servers. This is where brand monitoring comes in.\
You can use our adaptation of `DNSTwist`, together with the support searches in this Analytic Story, to generate permutations of specified brands and external domains. Splunk can monitor email, DNS requests, and web traffic for these permutations and provide you with early warnings and situational awareness--powerful elements of an effective defense.\
@@ -137,7 +137,7 @@ version = 1
references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Abnormally High Number Of Cloud Instances Destroyed - Rule", "ESCU - Cloud Compute Instance Created By Previously Unseen User - Rule", "ESCU - Cloud Compute Instance Created In Previously Unused Region - Rule", "ESCU - Cloud Compute Instance Created With Previously Unseen Instance Type - Rule", "ESCU - Cloud Compute Instance Created With Previously Unseen Image - Rule", "ESCU - Abnormally High Number Of Cloud Instances Launched - Rule", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get Notable History", "ESCU - Get EC2 Launch Details", "ESCU - Investigate AWS activities via region name", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN"]
+searches = ["ESCU - Cloud Compute Instance Created With Previously Unseen Image - Rule", "ESCU - Cloud Compute Instance Created With Previously Unseen Instance Type - Rule", "ESCU - Cloud Compute Instance Created In Previously Unused Region - Rule", "ESCU - Abnormally High Number Of Cloud Instances Destroyed - Rule", "ESCU - Cloud Compute Instance Created By Previously Unseen User - Rule", "ESCU - Abnormally High Number Of Cloud Instances Launched - Rule", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get EC2 Launch Details"]
description = Monitor your cloud compute instances for activities related to cryptojacking/cryptomining. New instances that originate from previously unseen regions, users who launch abnormally high numbers of instances, or compute instances started by previously unseen users are just a few examples of potentially malicious behavior.
narrative = Cryptomining is an intentionally difficult, resource-intensive business. Its complexity was designed into the process to ensure that the number of blocks mined each day would remain steady. So, it's par for the course that ambitious, but unscrupulous, miners make amassing the computing power of large enterprises--a practice known as cryptojacking--a top priority. \
Cryptojacking has attracted an increasing amount of media attention since its explosion in popularity in the fall of 2017. The attacks have moved from in-browser exploits and mobile phones to enterprise cloud services, such as Amazon Web Services (AWS), Google Cloud Platform (GCP), and Azure. It's difficult to determine exactly how widespread the practice has become, since bad actors continually evolve their ability to escape detection, including employing unlisted endpoints, moderating their CPU usage, and hiding the mining pool's IP address behind a free CDN. \
@@ -164,7 +164,7 @@ version = 1
references = ["https://attack.mitre.org/wiki/Collection", "https://attack.mitre.org/wiki/Technique/T1074"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Hosts receiving high volume of network traffic from email server - Rule", "ESCU - Suspicious writes to System Volume Information - Rule", "ESCU - Email files written outside of the Outlook directory - Rule", "ESCU - Suspicious writes to windows Recycle Bin - Rule", "ESCU - Email servers sending high volume traffic to hosts - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+searches = ["ESCU - Suspicious writes to windows Recycle Bin - Rule", "ESCU - Suspicious writes to System Volume Information - Rule", "ESCU - Hosts receiving high volume of network traffic from email server - Rule", "ESCU - Email files written outside of the Outlook directory - Rule", "ESCU - Email servers sending high volume traffic to hosts - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
description = Monitor for and investigate activities--such as suspicious writes to the Windows Recycling Bin or email servers sending high amounts of traffic to specific hosts, for example--that may indicate that an adversary is harvesting and exfiltrating sensitive data.
narrative = A common adversary goal is to identify and exfiltrate data of value from a target organization. This data may include email conversations and addresses, confidential company information, links to network design/infrastructure, important dates, and so on.\
Attacks are composed of three activities: identification, collection, and staging data for exfiltration. Identification typically involves scanning systems and observing user activity. Collection can involve the transfer of large amounts of data from various repositories. Staging/preparation includes moving data to a central location and compressing (and optionally encoding and/or encrypting) it. All of these activities provide opportunities for defenders to identify their presence. \
@@ -177,7 +177,7 @@ version = 1
references = ["https://attack.mitre.org/wiki/Command_and_Control", "https://searchsecurity.techtarget.com/feature/Command-and-control-servers-The-puppet-masters-that-govern-malware"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Detect Large Outbound ICMP Packets - Rule", "ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - Detect Long DNS TXT Record Response - Rule", "ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - Protocol or Port Mismatch - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Excessive DNS Failures - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Network ACL Details from ID", "ESCU - AWS Investigate User Activities By ARN"]
+searches = ["ESCU - Detect Long DNS TXT Record Response - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - Excessive DNS Failures - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Detect Large Outbound ICMP Packets - Rule", "ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Protocol or Port Mismatch - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info", "ESCU - Get Process Information For Port Activity", "ESCU - AWS Network Interface details via resourceId", "ESCU - AWS Network ACL Details from ID"]
description = Detect and investigate tactics, techniques, and procedures leveraged by attackers to establish and operate command and control channels. Implants installed by attackers on compromised endpoints use these channels to receive instructions and send data back to the malicious operators.
narrative = Threat actors typically architect and implement an infrastructure to use in various ways during the course of their attack campaigns. In some cases, they leverage this infrastructure for scanning and performing reconnaissance activities. In others, they may use this infrastructure to launch actual attacks. One of the most important functions of this infrastructure is to establish servers that will communicate with implants on compromised endpoints. These servers establish a command and control channel that is used to proxy data between the compromised endpoint and the attacker. These channels relay commands from the attacker to the compromised endpoint and the output of those commands back to the attacker.\
Because this communication is so critical for an adversary, they often use techniques designed to hide the true nature of the communications. There are many different techniques used to establish and communicate over these channels. This Analytic Story provides searches that look for a variety of the techniques used for these channels, as well as indications that these channels are active, by examining logs associated with border control devices and network-access control lists.
@@ -212,7 +212,7 @@ version = 3
references = ["https://attack.mitre.org/wiki/Technique/T1003", "https://cyberwardog.blogspot.com/2017/03/chronicles-of-threat-hunter-hunting-for.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Create Remote Thread into LSASS - Rule", "ESCU - Credential Dumping via Copy Command from Shadow Copy - Rule", "ESCU - Dump LSASS via comsvcs DLL - Rule", "ESCU - Detect Mimikatz Using Loaded Images - Rule", "ESCU - Creation of Shadow Copy - Rule", "ESCU - Unsigned Image Loaded by LSASS - Rule", "ESCU - Detect Credential Dumping through LSASS access - Rule", "ESCU - Attempted Credential Dump From Registry via Reg exe - Rule", "ESCU - Attempt To Set Default PowerShell Execution Policy To Unrestricted or Bypass - Rule", "ESCU - Creation of Shadow Copy with wmic and powershell - Rule", "ESCU - Credential Dumping via Symlink to Shadow Copy - Rule", "ESCU - Access LSASS Memory for Dump Creation - Rule", "ESCU - Investigate Failed Logins for Multiple Destinations", "ESCU - Investigate Pass the Ticket Attempts", "ESCU - Investigate Previous Unseen User", "ESCU - Investigate Pass the Hash Attempts"]
+searches = ["ESCU - Detect Mimikatz Using Loaded Images - Rule", "ESCU - Dump LSASS via comsvcs DLL - Rule", "ESCU - Access LSASS Memory for Dump Creation - Rule", "ESCU - Attempted Credential Dump From Registry via Reg exe - Rule", "ESCU - Attempt To Set Default PowerShell Execution Policy To Unrestricted or Bypass - Rule", "ESCU - Credential Dumping via Symlink to Shadow Copy - Rule", "ESCU - Creation of Shadow Copy - Rule", "ESCU - Unsigned Image Loaded by LSASS - Rule", "ESCU - Creation of Shadow Copy with wmic and powershell - Rule", "ESCU - Credential Dumping via Copy Command from Shadow Copy - Rule", "ESCU - Detect Credential Dumping through LSASS access - Rule", "ESCU - Create Remote Thread into LSASS - Rule", "ESCU - Investigate Previous Unseen User", "ESCU - Investigate Pass the Ticket Attempts", "ESCU - Investigate Pass the Hash Attempts", "ESCU - Investigate Failed Logins for Multiple Destinations"]
description = Uncover activity consistent with credential dumping, a technique wherein attackers compromise systems and attempt to obtain and exfiltrate passwords. The threat actors use these pilfered credentials to further escalate privileges and spread throughout a target environment. The included searches in this Analytic Story are designed to identify attempts to credential dumping.
narrative = Credential dumpinggathering credentials from a target system, often hashed or encryptedis a common attack technique. Even though the credentials may not be in plain text, an attacker can still exfiltrate the data and set to cracking it offline, on their own systems. The threat actors target a variety of sources to extract them, including the Security Accounts Manager (SAM), Local Security Authority (LSA), NTDS from Domain Controllers, or the Group Policy Preference (GPP) files.\
Once attackers obtain valid credentials, they use them to move throughout a target network with ease, discovering new systems and identifying assets of interest. Credentials obtained in this manner typically include those of privileged users, which may provide access to more sensitive information and system operations.\
@@ -225,7 +225,7 @@ version = 2
references = ["https://www.us-cert.gov/ncas/alerts/TA18-074A"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Registry Keys Used For Persistence - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Detect New Local Admin account - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Create local admin accounts using net exe - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - Malicious PowerShell Process - Execution Policy Bypass - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - Detect PsExec With accepteula Flag - Rule", "ESCU - Single Letter Process On Endpoint - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Scheduled Task Deleted Or Created via CMD - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Process File Activity", "ESCU - Get Process Information For Port Activity"]
+searches = ["ESCU - Single Letter Process On Endpoint - Rule", "ESCU - Detect PsExec With accepteula Flag - Rule", "ESCU - Create local admin accounts using net exe - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Detect New Local Admin account - Rule", "ESCU - Malicious PowerShell Process - Execution Policy Bypass - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Scheduled Task Deleted Or Created via CMD - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Get Process File Activity", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Process Information For Port Activity", "ESCU - Get Parent Process Info"]
description = Monitor for suspicious activities associated with DHS Technical Alert US-CERT TA18-074A. Some of the activities that adversaries used in these compromises included spearfishing attacks, malware, watering-hole domains, many and more.
narrative = The frequency of nation-state cyber attacks has increased significantly over the last decade. Employing numerous tactics and techniques, these attacks continue to escalate in complexity. \
There is a wide range of motivations for these state-sponsored hacks, including stealing valuable corporate, military, or diplomatic dataѿall of which could confer advantages in various arenas. They may also target critical infrastructure. \
@@ -251,7 +251,7 @@ version = 1
references = ["https://www.fireeye.com/blog/threat-research/2017/09/apt33-insights-into-iranian-cyber-espionage.html", "https://umbrella.cisco.com/blog/2013/04/15/on-the-trail-of-malicious-dynamic-dns-domains/", "http://www.noip.com/blog/2014/07/11/dynamic-dns-can-use-2/", "https://www.splunk.com/blog/2015/08/04/detecting-dynamic-dns-domains-in-splunk.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - DNS record changed - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Get DNS Server History for a host", "ESCU - DNS Hijack Enrichment"]
+searches = ["ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - DNS record changed - Rule", "ESCU - Get DNS Server History for a host", "ESCU - DNS Hijack Enrichment"]
description = Secure your environment against DNS hijacks with searches that help you detect and investigate unauthorized changes to DNS records.
narrative = Dubbed the Achilles heel of the Internet (see https://www.f5.com/labs/articles/threat-intelligence/dns-is-still-the-achilles-heel-of-the-internet-25613), DNS plays a critical role in routing web traffic but is notoriously vulnerable to attack. One reason is its distributed nature. It relies on unstructured connections between millions of clients and servers over inherently insecure protocols.\
The gravity and extent of the importance of securing DNS from attacks is undeniable. The fallout of compromised DNS can be disastrous. Not only can hackers bring down an entire business, they can intercept confidential information, emails, and login credentials, as well. \
@@ -281,7 +281,7 @@ version = 1
references = ["https://www.cisecurity.org/controls/data-protection/", "https://www.sans.org/reading-room/whitepapers/dns/splunk-detect-dns-tunneling-37022", "https://umbrella.cisco.com/blog/2013/04/15/on-the-trail-of-malicious-dynamic-dns-domains/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detection of DNS Tunnels - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detect USB device insertion - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host"]
+searches = ["ESCU - Detection of DNS Tunnels - Rule", "ESCU - Detect USB device insertion - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Info", "ESCU - Get Notable History"]
description = Fortify your data-protection arsenal--while continuing to ensure data confidentiality and integrity--with searches that monitor for and help you investigate possible signs of data exfiltration.
narrative = Attackers can leverage a variety of resources to compromise or exfiltrate enterprise data. Common exfiltration techniques include remote-access channels via low-risk, high-payoff active-collections operations and close-access operations using insiders and removable media. While this Analytic Story is not a comprehensive listing of all the methods by which attackers can exfiltrate data, it provides a useful starting point.
@@ -292,7 +292,7 @@ version = 1
references = ["https://attack.mitre.org/wiki/Technique/T1003", "https://github.com/SecuraBV/CVE-2020-1472", "https://www.secura.com/blog/zero-logon", "https://nvd.nist.gov/vuln/detail/CVE-2020-1472"]
maintainers = [{"company": "Jose Hernandez, Stan Miskowicz, David Dorsey, Shannon Davis Splunk", "email": "-", "name": "Rod Soto"}]
spec_version = 3
-searches = ["ESCU - Detect Credential Dumping through LSASS access - Rule", "ESCU - Detect Zerologon via Zeek - Rule", "ESCU - Detect Mimikatz Using Loaded Images - Rule", "ESCU - Detect Computer Changed with Anonymous Account - Rule", "ESCU - Get Notable History"]
+searches = ["ESCU - Detect Zerologon via Zeek - Rule", "ESCU - Detect Mimikatz Using Loaded Images - Rule", "ESCU - Detect Credential Dumping through LSASS access - Rule", "ESCU - Detect Computer Changed with Anonymous Account - Rule", "ESCU - Get Notable History"]
description = Uncover activity related to the execution of Zerologon CVE-2020-11472, a technique wherein attackers target a Microsoft Windows Domain Controller to reset its computer account password. The result from this attack is attackers can now provide themselves high privileges and take over Domain Controller. The included searches in this Analytic Story are designed to identify attempts to reset Domain Controller Computer Account via exploit code remotely or via the use of tool Mimikatz as payload carrier.
narrative = This attack is a privilege escalation technique, where attacker targets a Netlogon secure channel connection to a domain controller, using Netlogon Remote Protocol (MS-NRPC). This vulnerability exposes vulnerable Windows Domain Controllers to be targeted via unaunthenticated RPC calls which eventually reset Domain Contoller computer account ($) providing the attacker the opportunity to exfil domain controller credential secrets and assign themselve high privileges that can lead to domain controller and potentially complete network takeover. The detection searches in this Analytic Story use Windows Event viewer events and Sysmon events to detect attack execution, these searches monitor access to the Local Security Authority Subsystem Service (LSASS) process which is an indicator of the use of Mimikatz tool which has bee updated to carry this attack payload.
@@ -303,7 +303,7 @@ version = 2
references = ["https://attack.mitre.org/wiki/Technique/T1089", "https://blog.malwarebytes.com/cybercrime/2015/11/vonteera-adware-uses-certificates-to-disable-anti-malware/", "https://www.operationblockbuster.com/wp-content/uploads/2016/02/Operation-Blockbuster-Tools-Report.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Unload Sysmon Filter Driver - Rule", "ESCU - Attempt To Stop Security Service - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Attempt To Add Certificate To Untrusted Store - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+searches = ["ESCU - Attempt To Add Certificate To Untrusted Store - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - Unload Sysmon Filter Driver - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Attempt To Stop Security Service - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
description = Looks for activities and techniques associated with the disabling of security tools on a Windows system, such as suspicious `reg.exe` processes, processes launching netsh, and many others.
narrative = Attackers employ a variety of tactics in order to avoid detection and operate without barriers. This often involves modifying the configuration of security tools to get around them or explicitly disabling them to prevent them from running. This Analytic Story includes searches that look for activity consistent with attackers attempting to disable various security mechanisms. Such activity may involve monitoring for suspicious registry activity, as this is where much of the configuration for Windows and various other programs reside, or explicitly attempting to shut down security-related services. Other times, attackers attempt various tricks to prevent specific programs from running, such as adding the certificates with which the security tools are signed to a blacklist (which would prevent them from running).
@@ -314,7 +314,7 @@ version = 2
references = ["https://www.fireeye.com/blog/threat-research/2017/09/apt33-insights-into-iranian-cyber-espionage.html", "https://umbrella.cisco.com/blog/2013/04/15/on-the-trail-of-malicious-dynamic-dns-domains/", "http://www.noip.com/blog/2014/07/11/dynamic-dns-can-use-2/", "https://www.splunk.com/blog/2015/08/04/detecting-dynamic-dns-domains-in-splunk.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detect web traffic to dynamic domain providers - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio"]
+searches = ["ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detect web traffic to dynamic domain providers - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get DNS Server History for a host", "ESCU - Get DNS traffic ratio", "ESCU - Get Notable History"]
description = Detect and investigate hosts in your environment that may be communicating with dynamic domain providers. Attackers may leverage these services to help them avoid firewall blocks and blacklists.
narrative = Dynamic DNS services (DDNS) are legitimate low-cost or free services that allow users to rapidly update domain resolutions to IP infrastructure. While their usage can be benign, malicious actors can abuse DDNS to host harmful payloads or interactive-command-and-control infrastructure. These attackers will manually update or automate domain resolution changes by routing dynamic domains to IP addresses that circumvent firewall blocks and blacklists and frustrate a network defender's analytic and investigative processes. These searches will look for DNS queries made from within your infrastructure to suspicious dynamic domains and then investigate more deeply, when appropriate. While this list of top-level dynamic domains is not exhaustive, it can be dynamically updated as new suspicious dynamic domains are identified.
@@ -325,7 +325,7 @@ version = 1
references = ["https://www.us-cert.gov/ncas/alerts/TA18-201A", "https://www.first.org/resources/papers/conf2017/Advanced-Incident-Detection-and-Threat-Hunting-using-Sysmon-and-Splunk.pdf", "https://www.vkremez.com/2017/05/emotet-banking-trojan-malware-analysis.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Email Attachments With Lots Of Spaces - Rule", "ESCU - Detect Use of cmd exe to Launch Script Interpreters - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Prohibited Software On Endpoint - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Detection of tools built by NirSoft - Rule", "ESCU - Detect Rare Executables - Rule", "ESCU - Suspicious Email Attachment Extensions - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get History Of Email Sources", "ESCU - Get Process Information For Port Activity"]
+searches = ["ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Detection of tools built by NirSoft - Rule", "ESCU - Detect Use of cmd exe to Launch Script Interpreters - Rule", "ESCU - Detect Rare Executables - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Suspicious Email Attachment Extensions - Rule", "ESCU - Email Attachments With Lots Of Spaces - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Process Information For Port Activity", "ESCU - Get Parent Process Info", "ESCU - Get History Of Email Sources"]
description = Detect rarely used executables, specific registry paths that may confer malware survivability and persistence, instances where cmd.exe is used to launch script interpreters, and other indicators that the Emotet financial malware has compromised your environment.
narrative = The trojan downloader known as Emotet first surfaced in 2014, when it was discovered targeting the banking industry to steal credentials. However, according to a joint technical alert (TA) issued by three government agencies (https://www.us-cert.gov/ncas/alerts/TA18-201A), Emotet has evolved far beyond those beginnings to become what a ThreatPost article called a threat-delivery service(see https://threatpost.com/emotet-malware-evolves-beyond-banking-to-threat-delivery-service/134342/). For example, in early 2018, Emotet was found to be using its loader function to spread the Quakbot and Ransomware variants. \
According to the TA, the the malware continues to be among the most costly and destructive malware affecting the private and public sectors. Researchers have linked it to the threat group Mealybug, which has also been on the security communitys radar since 2014.\
@@ -349,7 +349,7 @@ version = 1
references = ["https://cloud.google.com/iam/docs/understanding-service-accounts"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rod Soto"}]
spec_version = 3
-searches = ["ESCU - gcp detect oauth token abuse - Rule", "ESCU - GCP Detect high risk permissions by resource and account - Rule", "ESCU - GCP Detect accounts with high risk roles by project - Rule", "ESCU - GCP Detect gcploit framework - Rule", "ESCU - Get Notable History"]
+searches = ["ESCU - GCP Detect gcploit framework - Rule", "ESCU - gcp detect oauth token abuse - Rule", "ESCU - GCP Detect accounts with high risk roles by project - Rule", "ESCU - GCP Detect high risk permissions by resource and account - Rule", "ESCU - Get Notable History"]
description = Track when a user assumes an IAM role in another GCP account to obtain cross-account access to services and resources in that account. Accessing new roles could be an indication of malicious activity.
narrative = Google Cloud Platform (GCP) admins manage access to GCP resources and services across the enterprise using GCP Identity and Access Management (IAM) functionality. IAM provides the ability to create and manage GCP users, groups, and roles-each with their own unique set of privileges and defined access to specific resources (such as Compute instances, the GCP Management Console, API, or the command-line interface). Unlike conventional (human) users, IAM roles are potentially assumable by anyone in the organization. They provide users with dynamically created temporary security credentials that expire within a set time period.\
In between the time between when the temporary credentials are issued and when they expire is a period of opportunity, where a user could leverage the temporary credentials to wreak havoc-spin up or remove instances, create new users, elevate privileges, and other malicious activities-throughout the environment.\
@@ -362,7 +362,7 @@ version = 2
references = ["https://www.us-cert.gov/HIDDEN-COBRA-North-Korean-Malicious-Cyber-Activity", "https://www.operationblockbuster.com/wp-content/uploads/2016/02/Operation-Blockbuster-Destructive-Malware-Report.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Remote Desktop Process Running On System - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Create or delete windows shares using net exe - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - Suspicious File Write - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Parent Process Info", "ESCU - Get Outbound Emails to Hidden Cobra Threat Actors", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - Get History Of Email Sources", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity"]
+searches = ["ESCU - Remote Desktop Process Running On System - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Suspicious File Write - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - Create or delete windows shares using net exe - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get History Of Email Sources", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Outbound Emails to Hidden Cobra Threat Actors"]
description = Monitor for and investigate activities, including the creation or deletion of hidden shares and file writes, that may be evidence of infiltration by North Korean government-sponsored cybercriminals. Details of this activity were reported in DHS Report TA-18-149A.
narrative = North Korea's government-sponsored "cyber army" has been slowly building momentum and gaining sophistication over the last 15 years or so. As a result, the group's activity, which the US government refers to as "Hidden Cobra," has surreptitiously crept onto the collective radar as a preeminent global threat.\
These state-sponsored actors are thought to be responsible for everything from a hack on a South Korean nuclear plant to an attack on Sony in anticipation of its release of the movie "The Interview" at the end of 2014. They're also notorious for cyberespionage. In recent years, the group seems to be focused on financial crimes, such as cryptojacking.\
@@ -376,7 +376,7 @@ version = 1
references = ["https://blog.malwarebytes.com/cybercrime/2016/09/hosts-file-hijacks/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - Windows hosts file modification - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable History"]
+searches = ["ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Windows hosts file modification - Rule", "ESCU - Get DNS Server History for a host", "ESCU - Get Notable History"]
description = Detect evidence of tactics used to redirect traffic from a host to a destination other than the one intended--potentially one that is part of an adversary's attack infrastructure. An example is redirecting communications regarding patches and updates or misleading users into visiting a malicious website.
narrative = Attackers will often attempt to manipulate client communications for nefarious purposes. In some cases, an attacker may endeavor to modify a local host file to redirect communications with resources (such as antivirus or system-update services) to prevent clients from receiving patches or updates. In other cases, an attacker might use this tactic to have the client connect to a site that looks like the intended site, but instead installs malware or collects information from the victim. Additionally, an attacker may redirect a victim in order to execute a MITM attack and observe communications.
@@ -387,7 +387,7 @@ version = 1
references = ["http://www.deependresearch.org/2016/04/jboss-exploits-view-from-victim.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect attackers scanning for vulnerable JBoss servers - Rule", "ESCU - Detect malicious requests to exploit JBoss servers - Rule", "ESCU - Get Notable History"]
+searches = ["ESCU - Detect malicious requests to exploit JBoss servers - Rule", "ESCU - Detect attackers scanning for vulnerable JBoss servers - Rule", "ESCU - Get Notable History"]
description = In March of 2016, adversaries were seen using JexBoss--an open-source utility used for testing and exploiting JBoss application servers. These searches help detect evidence of these attacks, such as network connections to external resources or web services spawning atypical child processes, among others.
narrative = This Analytic Story looks for probing and exploitation attempts targeting JBoss application servers. While the vulnerabilities associated with this story are rather dated, they were leveraged in a spring 2016 campaign in connection with the Samsam ransomware variant. Incidents involving this ransomware are unique, in that they begin with attacks against vulnerable services, rather than the phishing or drive-by attacks more common with ransomware. In this case, vulnerable JBoss applications appear to be the target of choice.\
It is helpful to understand how often a notable event generated by this story occurs, as well as the commonalities between some of these events, both of which may provide clues about whether this is a common occurrence of minimal concern or a rare event that may require more extensive investigation. It may also help to understand whether the issue is restricted to a single user/system or whether it is broader in scope.\
@@ -412,7 +412,7 @@ version = 1
references = ["https://github.com/splunk/cloud-datamodel-security-research"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rod Soto"}]
spec_version = 3
-searches = ["ESCU - GCP Kubernetes cluster scan detection - Rule", "ESCU - Amazon EKS Kubernetes Pod scan detection - Rule", "ESCU - Kubernetes Azure pod scan fingerprint - Rule", "ESCU - GCP Kubernetes cluster pod scan detection - Rule", "ESCU - Amazon EKS Kubernetes cluster scan detection - Rule", "ESCU - Kubernetes Azure scan fingerprint - Rule", "ESCU - GCP Kubernetes activity by src ip", "ESCU - Get Notable History", "ESCU - Amazon EKS Kubernetes activity by src ip"]
+searches = ["ESCU - Kubernetes Azure pod scan fingerprint - Rule", "ESCU - Amazon EKS Kubernetes Pod scan detection - Rule", "ESCU - Kubernetes Azure scan fingerprint - Rule", "ESCU - GCP Kubernetes cluster scan detection - Rule", "ESCU - Amazon EKS Kubernetes cluster scan detection - Rule", "ESCU - GCP Kubernetes cluster pod scan detection - Rule", "ESCU - Amazon EKS Kubernetes activity by src ip", "ESCU - GCP Kubernetes activity by src ip", "ESCU - Get Notable History"]
description = This story addresses detection against Kubernetes cluster fingerprint scan and attack by providing information on items such as source ip, user agent, cluster names.
narrative = Kubernetes is the most used container orchestration platform, this orchestration platform contains sensitve information and management priviledges of production workloads, microservices and applications. These searches allow operator to detect suspicious unauthenticated requests from the internet to kubernetes cluster.
@@ -423,7 +423,7 @@ version = 1
references = ["https://www.splunk.com/en_us/blog/security/approaching-kubernetes-security-detecting-kubernetes-scan-with-splunk.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rod Soto"}]
spec_version = 3
-searches = ["ESCU - Kubernetes GCP detect service accounts forbidden failure access - Rule", "ESCU - Kubernetes AWS detect service accounts forbidden failure access - Rule", "ESCU - Kubernetes Azure detect service accounts forbidden failure access - Rule", "ESCU - Kubernetes AWS detect suspicious kubectl calls - Rule", "ESCU - Kubernetes Azure detect suspicious kubectl calls - Rule", "ESCU - Kubernetes Azure detect sensitive object access - Rule", "ESCU - Kubernetes GCP detect suspicious kubectl calls - Rule", "ESCU - AWS EKS Kubernetes cluster sensitive object access - Rule", "ESCU - Kubernetes GCP detect sensitive object access - Rule", "ESCU - Get Notable History"]
+searches = ["ESCU - Kubernetes Azure detect sensitive object access - Rule", "ESCU - Kubernetes Azure detect service accounts forbidden failure access - Rule", "ESCU - AWS EKS Kubernetes cluster sensitive object access - Rule", "ESCU - Kubernetes AWS detect suspicious kubectl calls - Rule", "ESCU - Kubernetes GCP detect suspicious kubectl calls - Rule", "ESCU - Kubernetes AWS detect service accounts forbidden failure access - Rule", "ESCU - Kubernetes Azure detect suspicious kubectl calls - Rule", "ESCU - Kubernetes GCP detect service accounts forbidden failure access - Rule", "ESCU - Kubernetes GCP detect sensitive object access - Rule", "ESCU - Get Notable History"]
description = This story addresses detection and response of accounts acccesing Kubernetes cluster sensitive objects such as configmaps or secrets providing information on items such as user user, group. object, namespace and authorization reason.
narrative = Kubernetes is the most used container orchestration platform, this orchestration platform contains sensitive objects within its architecture, specifically configmaps and secrets, if accessed by an attacker can lead to further compromise. These searches allow operator to detect suspicious requests against Kubernetes sensitive objects.
@@ -434,7 +434,7 @@ version = 1
references = ["https://www.splunk.com/en_us/blog/security/approaching-kubernetes-security-detecting-kubernetes-scan-with-splunk.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rod Soto"}]
spec_version = 3
-searches = ["ESCU - Kubernetes Azure detect RBAC authorization by account - Rule", "ESCU - Kubernetes AWS detect sensitive role access - Rule", "ESCU - Kubernetes GCP detect RBAC authorizations by account - Rule", "ESCU - Kubernetes AWS detect RBAC authorization by account - Rule", "ESCU - Kubernetes AWS detect most active service accounts by pod - Rule", "ESCU - Kubernetes GCP detect most active service accounts by pod - Rule", "ESCU - Kubernetes Azure detect sensitive role access - Rule", "ESCU - Kubernetes Azure detect most active service accounts by pod namespace - Rule", "ESCU - Kubernetes GCP detect sensitive role access - Rule", "ESCU - Get Notable History"]
+searches = ["ESCU - Kubernetes GCP detect sensitive role access - Rule", "ESCU - Kubernetes AWS detect sensitive role access - Rule", "ESCU - Kubernetes GCP detect most active service accounts by pod - Rule", "ESCU - Kubernetes Azure detect RBAC authorization by account - Rule", "ESCU - Kubernetes AWS detect RBAC authorization by account - Rule", "ESCU - Kubernetes AWS detect most active service accounts by pod - Rule", "ESCU - Kubernetes Azure detect sensitive role access - Rule", "ESCU - Kubernetes Azure detect most active service accounts by pod namespace - Rule", "ESCU - Kubernetes GCP detect RBAC authorizations by account - Rule", "ESCU - Get Notable History"]
description = This story addresses detection and response around Sensitive Role usage within a Kubernetes clusters against cluster resources and namespaces.
narrative = Kubernetes is the most used container orchestration platform, this orchestration platform contains sensitive roles within its architecture, specifically configmaps and secrets, if accessed by an attacker can lead to further compromise. These searches allow operator to detect suspicious requests against Kubernetes role activities
@@ -445,7 +445,7 @@ version = 2
references = ["https://www.fireeye.com/blog/executive-perspective/2015/08/malware_lateral_move.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Remote Desktop Process Running On System - Rule", "ESCU - Kerberoasting spn request with RC4 encryption - Rule", "ESCU - Schtasks scheduling job on remote system - Rule", "ESCU - Detect Activity Related to Pass the Hash Attacks - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get History Of Email Sources", "ESCU - Get Process Information For Port Activity"]
+searches = ["ESCU - Kerberoasting spn request with RC4 encryption - Rule", "ESCU - Remote Desktop Process Running On System - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Schtasks scheduling job on remote system - Rule", "ESCU - Detect Activity Related to Pass the Hash Attacks - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Process Information For Port Activity", "ESCU - Get Parent Process Info", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get History Of Email Sources"]
description = Detect and investigate tactics, techniques, and procedures around how attackers move laterally within the enterprise. Because lateral movement can expose the adversary to detection, it should be an important focus for security analysts.
narrative = Once attackers gain a foothold within an enterprise, they will seek to expand their accesses and leverage techniques that facilitate lateral movement. Attackers will often spend quite a bit of time and effort moving laterally. Because lateral movement renders an attacker the most vulnerable to detection, it's an excellent focus for detection and investigation.\
Indications of lateral movement can include the abuse of system utilities (such as `psexec.exe`), unauthorized use of remote desktop services, `file/admin$` shares, WMI, PowerShell, pass-the-hash, or the abuse of scheduled tasks. Organizations must be extra vigilant in detecting lateral movement techniques and look for suspicious activity in and around high-value strategic network assets, such as Active Directory, which are often considered the primary target or "crown jewels" to a persistent threat actor.\
@@ -460,7 +460,7 @@ version = 4
references = ["https://blogs.mcafee.com/mcafee-labs/malware-employs-powershell-to-infect-systems/", "https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Malicious PowerShell Process - Connect To Internet With Hidden Window - Rule", "ESCU - Malicious PowerShell Process With Obfuscation Techniques - Rule", "ESCU - Malicious PowerShell Process - Encoded Command - Rule", "ESCU - Attempt To Set Default PowerShell Execution Policy To Unrestricted or Bypass - Rule", "ESCU - Malicious PowerShell Process - Multiple Suspicious Command-Line Arguments - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info", "ESCU - Get History Of Email Sources"]
+searches = ["ESCU - Malicious PowerShell Process - Connect To Internet With Hidden Window - Rule", "ESCU - Malicious PowerShell Process With Obfuscation Techniques - Rule", "ESCU - Attempt To Set Default PowerShell Execution Policy To Unrestricted or Bypass - Rule", "ESCU - Malicious PowerShell Process - Encoded Command - Rule", "ESCU - Malicious PowerShell Process - Multiple Suspicious Command-Line Arguments - Rule", "ESCU - Get Process Info", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get History Of Email Sources"]
description = Attackers are finding stealthy ways "live off the land," leveraging utilities and tools that come standard on the endpoint--such as PowerShell--to achieve their goals without downloading binary files. These searches can help you detect and investigate PowerShell command-line options that may be indicative of malicious intent.
narrative = The searches in this Analytic Story monitor for parameters often used for malicious purposes. It is helpful to understand how often the notable events generated by this story occur, as well as the commonalities between some of these events. These factors may provide clues about whether this is a common occurrence of minimal concern or a rare event that may require more extensive investigation. Likewise, it is important to determine whether the issue is restricted to a single user/system or is broader in scope.\
The following factors may assist you in determining whether the event is malicious: \
@@ -480,7 +480,7 @@ version = 1
references = ["https://www.carbonblack.com/2016/03/04/tracking-locky-ransomware-using-carbon-black/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Extended Period Without Successful Netbackup Backups - Rule", "ESCU - Unsuccessful Netbackup backups - Rule", "ESCU - All backup logs for host", "ESCU - Get Notable History"]
+searches = ["ESCU - Unsuccessful Netbackup backups - Rule", "ESCU - Extended Period Without Successful Netbackup Backups - Rule", "ESCU - All backup logs for host", "ESCU - Get Notable History"]
description = Address common concerns when monitoring your backup processes. These searches can help you reduce risks from ransomware, device theft, or denial of physical access to a host by backing up data on endpoints.
narrative = Having backups is a standard best practice that helps ensure continuity of business operations. Having mature backup processes can also help you reduce the risks of many security-related incidents and streamline your response processes. The detection searches in this Analytic Story will help you identify systems that have backup failures, as well as systems that have not been backed up for an extended period of time. The story will also return the notable event history and all of the backup logs for an endpoint.
@@ -491,7 +491,7 @@ version = 1
references = ["https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+searches = ["ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
description = Identify and investigate prohibited/unauthorized software or processes that may be concealing malicious behavior within your environment.
narrative = It is critical to identify unauthorized software and processes running on enterprise endpoints and determine whether they are likely to be malicious. This Analytic Story requires the user to populate the Interesting Processes table within Enterprise Security with prohibited processes. An included support search will augment this data, adding information on processes thought to be malicious. This search requires data from endpoint detection-and-response solutions, endpoint data sources (such as Sysmon), or Windows Event Logs--assuming that the Active Directory administrator has enabled process tracking within the System Event Audit Logs.\
It is important to investigate any software identified as suspicious, in order to understand how it was installed or executed. Analyzing authentication logs or any historic notable events might elicit additional investigative leads of interest. For best results, schedule the search to run every two weeks.
@@ -516,7 +516,7 @@ version = 1
references = ["https://docs.microsoft.com/en-us/previous-versions/tn-archive/bb490939(v=technet.10)", "https://htmlpreview.github.io/?https://github.com/MatthewDemaske/blogbackup/blob/master/netshell.html", "http://blog.jpcert.or.jp/2016/01/windows-commands-abused-by-attackers.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Processes created by netsh - Rule", "ESCU - Processes launching netsh - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+searches = ["ESCU - Processes launching netsh - Rule", "ESCU - Processes created by netsh - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
description = Detect activities and various techniques associated with the abuse of `netsh.exe`, which can disable local firewall settings or set up a remote connection to a host from an infected system.
narrative = It is a common practice for attackers of all types to leverage native Windows tools and functionality to execute commands for malicious reasons. One such tool on Windows OS is `netsh.exe`,a command-line scripting utility that allows you to--either locally or remotely--display or modify the network configuration of a computer that is currently running. `Netsh.exe` can be used to discover and disable local firewall settings. It can also be used to set up a remote connection to a host from an infected system.\
To get started, run the detection search to identify parent processes of `netsh.exe`.
@@ -528,7 +528,7 @@ version = 1
references = ["https://i.blackhat.com/USA-20/Thursday/us-20-Bienstock-My-Cloud-Is-APTs-Cloud-Investigating-And-Defending-Office-365.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Patrick Bareiss"}]
spec_version = 3
-searches = ["ESCU - O365 Excessive Authentication Failures Alert - Rule", "ESCU - High Number of Login Failures from a single source - Rule", "ESCU - O365 Bypass MFA via Trusted IP - Rule", "ESCU - O365 Disable MFA - Rule", "ESCU - O365 Suspicious Rights Delegation - Rule", "ESCU - O365 Suspicious Admin Email Forwarding - Rule", "ESCU - O365 Suspicious User Email Forwarding - Rule", "ESCU - O365 PST export alert - Rule"]
+searches = ["ESCU - O365 Suspicious Admin Email Forwarding - Rule", "ESCU - High Number of Login Failures from a single source - Rule", "ESCU - O365 Suspicious Rights Delegation - Rule", "ESCU - O365 Disable MFA - Rule", "ESCU - O365 Suspicious User Email Forwarding - Rule", "ESCU - O365 Excessive Authentication Failures Alert - Rule", "ESCU - O365 PST export alert - Rule", "ESCU - O365 Bypass MFA via Trusted IP - Rule"]
description = This story is focused around detecting Office 365 Attacks.
narrative = More and more companies are using Microsofts Office 365 cloud offering. Therefore, we see more and more attacks against Office 365. This story provides various detections for Office 365 attacks.
@@ -539,7 +539,7 @@ version = 2
references = ["https://www.symantec.com/blogs/threat-intelligence/orangeworm-targets-healthcare-us-europe-asia", "https://www.infosecurity-magazine.com/news/healthcare-targeted-by-hacker/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - First time seen command line argument - Rule", "ESCU - First Time Seen Running Windows Service - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info", "ESCU - Get History Of Email Sources"]
+searches = ["ESCU - First time seen command line argument - Rule", "ESCU - First Time Seen Running Windows Service - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Get Process Info", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get History Of Email Sources"]
description = Detect activities and various techniques associated with the Orangeworm Attack Group, a group that frequently targets the healthcare industry.
narrative = In May of 2018, the attack group Orangeworm was implicated for installing a custom backdoor called Trojan.Kwampirs within large international healthcare corporations in the United States, Europe, and Asia. This malware provides the attackers with remote access to the target system, decrypting and extracting a copy of its main DLL payload from its resource section. Before writing the payload to disk, it inserts a randomly generated string into the middle of the decrypted payload in an attempt to evade hash-based detections.\
Awareness of the Orangeworm group first surfaced in January, 2015. It has conducted targeted attacks against related industries, as well, such as pharmaceuticals and healthcare IT solution providers.\
@@ -572,7 +572,7 @@ version = 1
references = ["https://www.infosecurity-magazine.com/news/scope-of-mudcarp-attacks-highlight-1/", "http://blog.amossys.fr/badflick-is-not-so-bad.html"]
maintainers = [{"company": "iDefense", "email": "-", "name": "iDefense Cyber Espionage Team"}]
spec_version = 3
-searches = ["ESCU - Registry Keys Used For Persistence - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Malicious PowerShell Process - Connect To Internet With Hidden Window - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info", "ESCU - Get History Of Email Sources"]
+searches = ["ESCU - Malicious PowerShell Process - Connect To Internet With Hidden Window - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Get Process Info", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get History Of Email Sources"]
description = Monitor your environment for suspicious behaviors that resemble the techniques employed by the MUDCARP threat group.
narrative = This story was created as a joint effort between iDefense and Splunk.\
iDefense analysts have recently discovered a Windows executable file that, upon execution, spoofs a decryption tool and then drops a file that appears to be the custom-built javascript backdoor, "Orz," which is associated with the threat actors known as MUDCARP (as well as "temp.Periscope" and "Leviathan"). The file is executed using Wscript.\
@@ -610,7 +610,7 @@ version = 1
references = ["http://www.novetta.com/2015/02/advanced-methods-to-detect-advanced-cyber-attacks-protocol-abuse/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Protocol or Port Mismatch - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity"]
+searches = ["ESCU - Protocol or Port Mismatch - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Process Information For Port Activity", "ESCU - Get Parent Process Info"]
description = Detect instances of prohibited network traffic allowed in the environment, as well as protocols running on non-standard ports. Both of these types of behaviors typically violate policy and can be leveraged by attackers.
narrative = A traditional security best practice is to control the ports, protocols, and services allowed within your environment. By limiting the services and protocols to those explicitly approved by policy, administrators can minimize the attack surface. The combined effect allows both network defenders and security controls to focus and not be mired in superfluous traffic or data types. Looking for deviations to policy can identify attacker activity that abuses services and protocols to run on alternate or non-standard ports in the attempt to avoid detection or frustrate forensic analysts.
@@ -621,7 +621,7 @@ version = 1
references = ["https://www.carbonblack.com/2017/06/28/carbon-black-threat-research-technical-analysis-petya-notpetya-ransomware/", "https://www.splunk.com/blog/2017/06/27/closing-the-detection-to-mitigation-gap-or-to-petya-or-notpetya-whocares-.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Remote Process Instantiation via WMI - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - BCDEdit Failure Recovery Modification - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - USN Journal Deletion - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - Common Ransomware Extensions - Rule", "ESCU - Scheduled tasks used in BadRabbit ransomware - Rule", "ESCU - Windows Event Log Cleared - Rule", "ESCU - TOR Traffic - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Schtasks used for forcing a reboot - Rule", "ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - Suspicious wevtutil Usage - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get History Of Email Sources", "ESCU - Get Process Information For Port Activity"]
+searches = ["ESCU - Prohibited Network Traffic Allowed - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Common Ransomware Extensions - Rule", "ESCU - Schtasks used for forcing a reboot - Rule", "ESCU - USN Journal Deletion - Rule", "ESCU - Scheduled tasks used in BadRabbit ransomware - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - SMB Traffic Spike - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Suspicious wevtutil Usage - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - BCDEdit Failure Recovery Modification - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Windows Event Log Cleared - Rule", "ESCU - SMB Traffic Spike - MLTK - Rule", "ESCU - Remote Process Instantiation via WMI - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get History Of Email Sources", "ESCU - Get Sysmon WMI Activity for Host"]
description = Leverage searches that allow you to detect and investigate unusual activities that might relate to ransomware--spikes in SMB traffic, suspicious wevtutil usage, the presence of common ransomware extensions, and system processes run from unexpected locations, and many others.
narrative = Ransomware is an ever-present risk to the enterprise, wherein an infected host encrypts business-critical data, holding it hostage until the victim pays the attacker a ransom. There are many types and varieties of ransomware that can affect an enterprise. Attackers can deploy ransomware to enterprises through spearphishing campaigns and driveby downloads, as well as through traditional remote service-based exploitation. In the case of the WannaCry campaign, there was self-propagating wormable functionality that was used to maximize infection. Fortunately, organizations can apply several techniques--such as those in this Analytic Story--to detect and or mitigate the effects of ransomware.
@@ -632,7 +632,7 @@ version = 1
references = ["https://rhinosecuritylabs.com/aws/s3-ransomware-part-1-attack-vector/", "https://github.com/d1vious/git-wild-hunt", "https://www.youtube.com/watch?v=PgzNib37g0M"]
maintainers = [{"company": "David Dorsey, Splunk", "email": "-", "name": "Rod Soto"}]
spec_version = 3
-searches = ["ESCU - AWS Detect Users with KMS keys performing encryption S3 - Rule", "ESCU - AWS Detect Users creating keys with encrypt policy without MFA - Rule", "ESCU - Get Notable History"]
+searches = ["ESCU - AWS Detect Users creating keys with encrypt policy without MFA - Rule", "ESCU - AWS Detect Users with KMS keys performing encryption S3 - Rule", "ESCU - Get Notable History"]
description = Leverage searches that allow you to detect and investigate unusual activities that might relate to ransomware. These searches include cloud related objects that may be targeted by malicious actors via cloud providers own encryption features.
narrative = Ransomware is an ever-present risk to the enterprise, wherein an infected host encrypts business-critical data, holding it hostage until the victim pays the attacker a ransom. There are many types and varieties of ransomware that can affect an enterprise.Cloud ransomware can be deployed by obtaining high privilege credentials from targeted users or resources.
@@ -643,7 +643,7 @@ version = 1
references = ["https://www.fireeye.com/blog/executive-perspective/2015/09/the_new_route_toper.html", "https://www.cisco.com/c/en/us/about/security-center/event-response/synful-knock.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect Port Security Violation - Rule", "ESCU - Detect IPv6 Network Infrastructure Threats - Rule", "ESCU - Detect New Login Attempts to Routers - Rule", "ESCU - Detect Traffic Mirroring - Rule", "ESCU - Detect ARP Poisoning - Rule", "ESCU - Detect Software Download To Network Device - Rule", "ESCU - Detect Rogue DHCP Server - Rule", "ESCU - Get Notable History"]
+searches = ["ESCU - Detect New Login Attempts to Routers - Rule", "ESCU - Detect Port Security Violation - Rule", "ESCU - Detect Traffic Mirroring - Rule", "ESCU - Detect IPv6 Network Infrastructure Threats - Rule", "ESCU - Detect Rogue DHCP Server - Rule", "ESCU - Detect ARP Poisoning - Rule", "ESCU - Detect Software Download To Network Device - Rule", "ESCU - Get Notable History"]
description = Validate the security configuration of network infrastructure and verify that only authorized users and systems are accessing critical assets. Core routing and switching infrastructure are common strategic targets for attackers.
narrative = Networking devices, such as routers and switches, are often overlooked as resources that attackers will leverage to subvert an enterprise. Advanced threats actors have shown a proclivity to target these critical assets as a means to siphon and redirect network traffic, flash backdoored operating systems, and implement cryptographic weakened algorithms to more easily decrypt network traffic.\
This Analytic Story helps you gain a better understanding of how your network devices are interacting with your hosts. By compromising your network devices, attackers can obtain direct access to the company's internal infrastructure effectively increasing the attack surface and accessing private services/data.
@@ -655,7 +655,7 @@ version = 1
references = ["https://www.splunk.com/en_us/blog/security/detecting-ryuk-using-splunk-attack-range.html", "https://www.crowdstrike.com/blog/big-game-hunting-with-ryuk-another-lucrative-targeted-ransomware/", "https://us-cert.cisa.gov/ncas/alerts/aa20-302a"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Jose Hernandez"}]
spec_version = 3
-searches = ["ESCU - Windows connhost exe started forcefully - Rule", "ESCU - Windows Security Account Manager Stopped - Rule", "ESCU - Windows DisableAntiSpyware Registry - Rule", "ESCU - BCDEdit Failure Recovery Modification - Rule", "ESCU - Ryuk Test Files Detected - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Remote Desktop Network Bruteforce - Rule", "ESCU - Get Notable History"]
+searches = ["ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - Remote Desktop Network Bruteforce - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - Windows connhost exe started forcefully - Rule", "ESCU - Windows DisableAntiSpyware Registry - Rule", "ESCU - Windows Security Account Manager Stopped - Rule", "ESCU - BCDEdit Failure Recovery Modification - Rule", "ESCU - Ryuk Test Files Detected - Rule", "ESCU - Get Notable History"]
description = Leverage searches that allow you to detect and investigate unusual activities that might relate to the Ryuk ransomware, including looking for file writes associated with Ryuk, Stopping Security Access Manager, DisableAntiSpyware registry key modification, suspicious psexec use, and more.
narrative = Cybersecurity Infrastructure Security Agency (CISA) released Alert (AA20-302A) on October 28th called “Ransomware Activity Targeting the Healthcare and Public Health Sector.” This alert details TTPs associated with ongoing and possible imminent attacks against the Healthcare sector, and is a joint advisory in coordination with other U.S. Government agencies. The objective of these malicious campaigns is to infiltrate targets in named sectors and to drop ransomware payloads, which will likely cause disruption of service and increase risk of actual harm to the health and safety of patients at hospitals, even with the aggravant of an ongoing COVID-19 pandemic. This document specifically refers to several crimeware exploitation frameworks, emphasizing the use of Ryuk ransomware as payload. The Ryuk ransomware payload is not new. It has been well documented and identified in multiple variants. Payloads need a carrier, and for Ryuk it has often been exploitation frameworks such as Cobalt Strike, or popular crimeware frameworks such as Emotet or Trickbot.
@@ -678,7 +678,7 @@ version = 1
references = ["https://www.crowdstrike.com/blog/an-in-depth-analysis-of-samsam-ransomware-and-boss-spider/", "https://nakedsecurity.sophos.com/2018/07/31/samsam-the-almost-6-million-ransomware/", "https://thehackernews.com/2018/07/samsam-ransomware-attacks.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Detect attackers scanning for vulnerable JBoss servers - Rule", "ESCU - Batch File Write to System32 - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Detect malicious requests to exploit JBoss servers - Rule", "ESCU - Common Ransomware Extensions - Rule", "ESCU - Prohibited Software On Endpoint - Rule", "ESCU - File with Samsam Extension - Rule", "ESCU - Samsam Test File Write - Rule", "ESCU - Detect PsExec With accepteula Flag - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Remote Desktop Network Bruteforce - Rule", "ESCU - Investigate Successful Remote Desktop Authentications", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get History Of Email Sources", "ESCU - Get Process Information For Port Activity"]
+searches = ["ESCU - Detect PsExec With accepteula Flag - Rule", "ESCU - Prohibited Software On Endpoint - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Detect attackers scanning for vulnerable JBoss servers - Rule", "ESCU - Samsam Test File Write - Rule", "ESCU - Remote Desktop Network Traffic - Rule", "ESCU - Common Ransomware Notes - Rule", "ESCU - File with Samsam Extension - Rule", "ESCU - Remote Desktop Network Bruteforce - Rule", "ESCU - Common Ransomware Extensions - Rule", "ESCU - Spike in File Writes - Rule", "ESCU - Detect malicious requests to exploit JBoss servers - Rule", "ESCU - Batch File Write to System32 - Rule", "ESCU - Get Backup Logs For Endpoint", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info", "ESCU - Get Process Information For Port Activity", "ESCU - Get History Of Email Sources", "ESCU - Investigate Successful Remote Desktop Authentications"]
description = Leverage searches that allow you to detect and investigate unusual activities that might relate to the SamSam ransomware, including looking for file writes associated with SamSam, RDP brute force attacks, the presence of files with SamSam ransomware extensions, suspicious psexec use, and more.
narrative = The first version of the SamSam ransomware (a.k.a. Samas or SamsamCrypt) was launched in 2015 by a group of Iranian threat actors. The malicious software has affected and continues to affect thousands of victims and has raised almost $6M in ransom.\
Although categorized under the heading of ransomware, SamSam campaigns have some importance distinguishing characteristics. Most notable is the fact that conventional ransomware is a numbers game. Perpetrators use a "spray-and-pray" approach with phishing campaigns or other mechanisms, charging a small ransom (typically under $1,000). The goal is to find a large number of victims willing to pay these mini-ransoms, adding up to a lucrative payday. They use relatively simple methods for infecting systems.\
@@ -739,7 +739,7 @@ version = 1
references = ["https://www.fireeye.com/blog/threat-research/2020/12/evasive-attacker-leverages-solarwinds-supply-chain-compromises-with-sunburst-backdoor.html", "https://msrc-blog.microsoft.com/2020/12/13/customer-guidance-on-recent-nation-state-cyber-attacks/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Patrick Bareiss"}]
spec_version = 3
-searches = ["ESCU - Sunburst Correlation DLL and Network Event - Rule", "ESCU - Windows AdFind Exe - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Supernova Webshell - Rule", "ESCU - First Time Seen Running Windows Service - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - Malicious PowerShell Process - Encoded Command - Rule", "ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Schtasks scheduling job on remote system - Rule", "ESCU - Scheduled Task Deleted Or Created via CMD - Rule"]
+searches = ["ESCU - First Time Seen Running Windows Service - Rule", "ESCU - TOR Traffic - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Scheduled Task Deleted Or Created via CMD - Rule", "ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Sunburst Correlation DLL and Network Event - Rule", "ESCU - Supernova Webshell - Rule", "ESCU - Malicious PowerShell Process - Encoded Command - Rule", "ESCU - Schtasks scheduling job on remote system - Rule", "ESCU - Detect Outbound SMB Traffic - Rule", "ESCU - Windows AdFind Exe - Rule"]
description = Sunburst is a trojanized updates to SolarWinds Orion IT monitoring and management software. It was discovered by FireEye in December 2020. The actors behind this campaign gained access to numerous public and private organizations around the world.
narrative = This Analytic Story supports you to detect Tactics, Techniques and Procedures (TTPs) from the Sunburst malware. The threat actor behind sunburst compromised the SolarWinds.Orion.Core.BusinessLayer.dll, is a SolarWinds digitally-signed component of the Orion software framework that contains a backdoor that communicates via HTTP to third party servers. The detections in this Analytic Story are focusing on the dll loading events, file create events and network events to detect This malware.
@@ -750,7 +750,7 @@ version = 1
references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - EC2 Instance Started In Previously Unseen Region - Rule", "ESCU - Abnormally High AWS Instances Terminated by User - Rule", "ESCU - Abnormally High AWS Instances Launched by User - MLTK - Rule", "ESCU - Abnormally High AWS Instances Terminated by User - MLTK - Rule", "ESCU - EC2 Instance Started With Previously Unseen User - Rule", "ESCU - Abnormally High AWS Instances Launched by User - Rule", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get Notable History", "ESCU - Get EC2 Launch Details", "ESCU - Investigate AWS activities via region name", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN"]
+searches = ["ESCU - Abnormally High AWS Instances Launched by User - MLTK - Rule", "ESCU - Abnormally High AWS Instances Launched by User - Rule", "ESCU - Abnormally High AWS Instances Terminated by User - MLTK - Rule", "ESCU - EC2 Instance Started In Previously Unseen Region - Rule", "ESCU - EC2 Instance Started With Previously Unseen User - Rule", "ESCU - Abnormally High AWS Instances Terminated by User - Rule", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate Security Hub alerts by dest", "ESCU - Get EC2 Launch Details"]
description = Use the searches in this Analytic Story to monitor your AWS EC2 instances for evidence of anomalous activity and suspicious behaviors, such as EC2 instances that originate from unusual locations or those launched by previously unseen users (among others). Included investigative searches will help you probe more deeply, when the information warrants it.
narrative = AWS CloudTrail is an AWS service that helps you enable governance, compliance, and risk auditing within your AWS account. Actions taken by a user, role, or an AWS service are recorded as events in CloudTrail. It is crucial for a company to monitor events and actions taken in the AWS Console, AWS command-line interface, and AWS SDKs and APIs to ensure that your EC2 instances are not vulnerable to attacks. This Analytic Story identifies suspicious activities in your AWS EC2 instances and helps you respond and investigate those activities.
@@ -761,7 +761,7 @@ version = 1
references = ["https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect AWS Console Login by User from New City - Rule", "ESCU - Detect AWS Console Login by User from New Country - Rule", "ESCU - Detect AWS Console Login by User from New Region - Rule", "ESCU - Detect new user AWS Console Login - Rule", "ESCU - AWS Investigate User Activities By ARN"]
+searches = ["ESCU - Detect AWS Console Login by User from New Country - Rule", "ESCU - Detect AWS Console Login by User from New Region - Rule", "ESCU - Detect new user AWS Console Login - Rule", "ESCU - Detect AWS Console Login by User from New City - Rule", "ESCU - AWS Investigate User Activities By ARN"]
description = Monitor your AWS authentication events using your CloudTrail logs. Searches within this Analytic Story will help you stay aware of and investigate suspicious logins.
narrative = It is important to monitor and control who has access to your AWS infrastructure. Detecting suspicious logins to your AWS infrastructure will provide good starting points for investigations. Abusive behaviors caused by compromised credentials can lead to direct monetary costs, as you will be billed for any EC2 instances created by the attacker.
@@ -772,7 +772,7 @@ version = 2
references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf", "https://www.tripwire.com/state-of-security/security-data-protection/cloud/public-aws-s3-buckets-writable/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect New Open S3 Buckets over AWS CLI - Rule", "ESCU - Detect S3 access from a new IP - Rule", "ESCU - Detect Spike in S3 Bucket deletion - Rule", "ESCU - Detect New Open S3 buckets - Rule", "ESCU - AWS S3 Bucket details via bucketName", "ESCU - Get Notable History", "ESCU - Investigate AWS activities via region name", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN"]
+searches = ["ESCU - Detect S3 access from a new IP - Rule", "ESCU - Detect New Open S3 Buckets over AWS CLI - Rule", "ESCU - Detect New Open S3 buckets - Rule", "ESCU - Detect Spike in S3 Bucket deletion - Rule", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Investigate AWS activities via region name", "ESCU - Get Notable History", "ESCU - AWS S3 Bucket details via bucketName"]
description = Use the searches in this Analytic Story to monitor your AWS S3 buckets for evidence of anomalous activity and suspicious behaviors, such as detecting open S3 buckets and buckets being accessed from a new IP. The contextual and investigative searches will give you more information, when required.
narrative = As cloud computing has exploded, so has the number of creative attacks on virtual environments. And as the number-two cloud-service provider, Amazon Web Services (AWS) has certainly had its share.\
Amazon's "shared responsibility" model dictates that the company has responsibility for the environment outside of the VM and the customer is responsible for the security inside of the S3 container. As such, it's important to stay vigilant for activities that may belie suspicious behavior inside of your environment.\
@@ -785,7 +785,7 @@ version = 1
references = ["https://rhinosecuritylabs.com/aws/hiding-cloudcobalt-strike-beacon-c2-using-amazon-apis/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - AWS Network Interface details via resourceId", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Information For Port Activity", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Network ACL Details from ID", "ESCU - AWS Investigate User Activities By ARN"]
+searches = ["ESCU - Detect Spike in blocked Outbound Traffic from your AWS - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get All AWS Activity From IP Address", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Process Information For Port Activity", "ESCU - AWS Network Interface details via resourceId", "ESCU - AWS Network ACL Details from ID"]
description = Leverage these searches to monitor your AWS network traffic for evidence of anomalous activity and suspicious behaviors, such as a spike in blocked outbound traffic in your virtual private cloud (VPC).
narrative = A virtual private cloud (VPC) is an on-demand managed cloud-computing service that isolates computing resources for each client. Inside the VPC container, the environment resembles a physical network. \
Amazon's VPC service enables you to launch EC2 instances and leverage other Amazon resources. The traffic that flows in and out of this VPC can be controlled via network access-control rules and security groups. Amazon also has a feature called VPC Flow Logs that enables you to log IP traffic going to and from the network interfaces in your VPC. This data is stored using Amazon CloudWatch Logs.\
@@ -799,7 +799,7 @@ version = 1
references = ["https://aws.amazon.com/blogs/security/aws-cloudtrail-now-tracks-cross-account-activity-to-its-origin/", "https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - AWS Cross Account Activity From Previously Unseen Account - Rule", "ESCU - Detect AWS Console Login by User from New Country - Rule", "ESCU - Detect AWS Console Login by User from New City - Rule", "ESCU - Detect AWS Console Login by User from New Region - Rule", "ESCU - Detect AWS Console Login by New User - Rule", "ESCU - Investigate AWS User Activities by user field", "ESCU - Get Notable History"]
+searches = ["ESCU - Detect AWS Console Login by New User - Rule", "ESCU - Detect AWS Console Login by User from New Country - Rule", "ESCU - Detect AWS Console Login by User from New City - Rule", "ESCU - Detect AWS Console Login by User from New Region - Rule", "ESCU - AWS Cross Account Activity From Previously Unseen Account - Rule", "ESCU - Investigate AWS User Activities by user field", "ESCU - Get Notable History"]
description = Monitor your cloud authentication events. Searches within this Analytic Story leverage the recent cloud updates to the Authentication data model to help you stay aware of and investigate suspicious login activity.
narrative = It is important to monitor and control who has access to your cloud infrastructure. Detecting suspicious logins will provide good starting points for investigations. Abusive behaviors caused by compromised credentials can lead to direct monetary costs, as you will be billed for any compute activity whether legitimate or otherwise.\
This Analytic Story has data model versions of cloud searches leveraging Authentication data, including those looking for suspicious login activity, and cross-account activity for AWS.
@@ -822,7 +822,7 @@ version = 1
references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Cloud Provisioning Activity From Previously Unseen IP Address - Rule", "ESCU - Cloud Provisioning Activity From Previously Unseen Country - Rule", "ESCU - Cloud Provisioning Activity From Previously Unseen City - Rule", "ESCU - Cloud Provisioning Activity From Previously Unseen Region - Rule", "ESCU - Get Notable History"]
+searches = ["ESCU - Cloud Provisioning Activity From Previously Unseen City - Rule", "ESCU - Cloud Provisioning Activity From Previously Unseen IP Address - Rule", "ESCU - Cloud Provisioning Activity From Previously Unseen Region - Rule", "ESCU - Cloud Provisioning Activity From Previously Unseen Country - Rule", "ESCU - Get Notable History"]
description = Monitor your cloud infrastructure provisioning activities for behaviors originating from unfamiliar or unusual locations. These behaviors may indicate that malicious activities are occurring somewhere within your cloud environment.
narrative = Because most enterprise cloud infrastructure activities originate from familiar geographic locations, monitoring for activity from unknown or unusual regions is an important security measure. This indicator can be especially useful in environments where it is impossible to whitelist specific IPs (because they vary).\
This Analytic Story was designed to provide you with flexibility in the precision you employ in specifying legitimate geographic regions. It can be as specific as an IP address or a city, or as broad as a region (think state) or an entire country. By determining how precise you want your geographical locations to be and monitoring for new locations that haven't previously accessed your environment, you can detect adversaries as they begin to probe your environment. Since there are legitimate reasons for activities from unfamiliar locations, this is not a standalone indicator. Nevertheless, location can be a relevant piece of information that you may wish to investigate further.
@@ -834,7 +834,7 @@ version = 1
references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf", "https://redlock.io/blog/cryptojacking-tesla"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Abnormally High Number Of Cloud Infrastructure API Calls - Rule", "ESCU - Abnormally High Number Of Cloud Security Group API Calls - Rule", "ESCU - Cloud API Calls From Previously Unseen User Roles - Rule", "ESCU - AWS Investigate User Activities By ARN"]
+searches = ["ESCU - Abnormally High Number Of Cloud Infrastructure API Calls - Rule", "ESCU - Cloud API Calls From Previously Unseen User Roles - Rule", "ESCU - Abnormally High Number Of Cloud Security Group API Calls - Rule", "ESCU - AWS Investigate User Activities By ARN"]
description = Detect and investigate suspicious activities by users and roles in your cloud environments.
narrative = It seems obvious that it is critical to monitor and control the users who have access to your cloud infrastructure. Nevertheless, it's all too common for enterprises to lose track of ad-hoc accounts, leaving their servers vulnerable to attack. In fact, this was the very oversight that led to Tesla's cryptojacking attack in February, 2018.\
In addition to compromising the security of your data, when bad actors leverage your compute resources, it can incur monumental costs, since you will be billed for any new instances and increased bandwidth usage.
@@ -846,7 +846,7 @@ version = 2
references = ["https://attack.mitre.org/wiki/Technique/T1059", "https://www.microsoft.com/en-us/wdsi/threats/macro-malware", "https://www.fireeye.com/content/dam/fireeye-www/services/pdfs/mandiant-apt1-report.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Detect Use of cmd exe to Launch Script Interpreters - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+searches = ["ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - First time seen command line argument - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Detect Use of cmd exe to Launch Script Interpreters - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
description = Leveraging the Windows command-line interface (CLI) is one of the most common attack techniques--one that is also detailed in the MITRE ATT&CK framework. Use this Analytic Story to help you identify unusual or suspicious use of the CLI on Windows systems.
narrative = The ability to execute arbitrary commands via the Windows CLI is a primary goal for the adversary. With access to the shell, an attacker can easily run scripts and interact with the target system. Often, attackers may only have limited access to the shell or may obtain access in unusual ways. In addition, malware may execute and interact with the CLI in ways that would be considered unusual and inconsistent with typical user activity. This provides defenders with opportunities to identify suspicious use and investigate, as appropriate. This Analytic Story contains various searches to help identify this suspicious activity, as well as others to aid you in deeper investigation.
@@ -857,7 +857,7 @@ version = 1
references = ["http://blogs.splunk.com/2015/10/01/random-words-on-entropy-and-dns/", "http://www.darkreading.com/analytics/security-monitoring/got-malware-three-signs-revealed-in-dns-traffic/d/d-id/1139680", "https://live.paloaltonetworks.com/t5/Threat-Vulnerability-Articles/What-are-suspicious-DNS-queries/ta-p/71454"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - Detect Long DNS TXT Record Response - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Excessive DNS Failures - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get Parent Process Info", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host"]
+searches = ["ESCU - Detect Long DNS TXT Record Response - Rule", "ESCU - DNS Query Requests Resolved by Unauthorized DNS Servers - Rule", "ESCU - Detect hosts connecting to dynamic domain providers - Rule", "ESCU - DNS Query Length Outliers - MLTK - Rule", "ESCU - Excessive DNS Failures - Rule", "ESCU - DNS Query Length With High Standard Deviation - Rule", "ESCU - Clients Connecting to Multiple DNS Servers - Rule", "ESCU - Detection of DNS Tunnels - Rule", "ESCU - Get Process Responsible For The DNS Traffic", "ESCU - Get DNS traffic ratio", "ESCU - Get DNS Server History for a host", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
description = Attackers often attempt to hide within or otherwise abuse the domain name system (DNS). You can thwart attempts to manipulate this omnipresent protocol by monitoring for these types of abuses.
narrative = Although DNS is one of the fundamental underlying protocols that make the Internet work, it is often ignored (perhaps because of its complexity and effectiveness). However, attackers have discovered ways to abuse the protocol to meet their objectives. One potential abuse involves manipulating DNS to hijack traffic and redirect it to an IP address under the attacker's control. This could inadvertently send users intending to visit google.com, for example, to an unrelated malicious website. Another technique involves using the DNS protocol for command-and-control activities with the attacker's malicious code or to covertly exfiltrate data. The searches within this Analytic Story look for these types of abuses.
@@ -868,7 +868,7 @@ version = 1
references = ["https://www.splunk.com/blog/2015/06/26/phishing-hits-a-new-level-of-quality/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Email Attachments With Lots Of Spaces - Rule", "ESCU - Monitor Email For Brand Abuse - Rule", "ESCU - Suspicious Email Attachment Extensions - Rule", "ESCU - Suspicious Email - UBA Anomaly - Rule", "ESCU - Get Emails From Specific Sender", "ESCU - Get Notable History", "ESCU - Get Email Info"]
+searches = ["ESCU - Suspicious Email Attachment Extensions - Rule", "ESCU - Email Attachments With Lots Of Spaces - Rule", "ESCU - Suspicious Email - UBA Anomaly - Rule", "ESCU - Monitor Email For Brand Abuse - Rule", "ESCU - Get Email Info", "ESCU - Get Emails From Specific Sender", "ESCU - Get Notable History"]
description = Email remains one of the primary means for attackers to gain an initial foothold within the modern enterprise. Detect and investigate suspicious emails in your environment with the help of the searches in this Analytic Story.
narrative = It is a common practice for attackers of all types to leverage targeted spearphishing campaigns and mass mailers to deliver weaponized email messages and attachments. Fortunately, there are a number of ways to monitor email data in Splunk to detect suspicious content.\
Once a phishing message has been detected, the next steps are to answer the following questions: \
@@ -894,7 +894,7 @@ version = 1
references = ["https://redcanary.com/blog/windows-registry-attacks-threat-detection/", "https://medium.com/@mbromileyDFIR/malware-monday-aebb456356c5", "https://attack.mitre.org/wiki/Technique/T1170"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Detect mshta exe running scripts in command-line arguments - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+searches = ["ESCU - Detect Prohibited Applications Spawning cmd exe - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Detect mshta exe running scripts in command-line arguments - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
description = Monitor and detect techniques used by attackers who leverage the mshta.exe process to execute malicious code.
narrative = One common adversary tactic is to bypass application white-listing solutions via the mshta.exe process, which executes Microsoft HTML applications with the .hta suffix. In these cases, attackers use the trusted Windows utility to eproxy execution of malicious files, whether an .hta application, javascript, or VBScript.\
One example of a notable mshta.exe attack was the Kovter malware (https://medium.com/@mbromileyDFIR/malware-monday-aebb456356c5) that was implicated in ransomware and click-fraud attacks. Kovter utilized .hta to execute a series of javascript commands, each progressively more dangerous. According to the Mitre Parternship Network (https://attack.mitre.org/wiki/Technique/T1170), FIN7 has leveraged mshta.exe, as has the MuddyWater group, who used it to execute its POWERSTATS payload (which then used the utility to execute additional payloads).\
@@ -907,7 +907,7 @@ version = 1
references = ["https://attack.mitre.org/wiki/Technique/T1078", "https://owasp.org/www-community/attacks/Credential_stuffing", "https://searchsecurity.techtarget.com/answer/What-is-a-password-spraying-attack-and-how-does-it-work"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Okta Failed SSO Attempts - Rule", "ESCU - Okta Account Lockout Events - Rule", "ESCU - Multiple Okta Users With Invalid Credentails From The Same IP - Rule", "ESCU - Okta User Logins From Multiple Cities - Rule", "ESCU - Investigate User Activities In Okta", "ESCU - Investigate Okta Activity by app", "ESCU - Investigate Okta Activity by IP Address"]
+searches = ["ESCU - Okta Failed SSO Attempts - Rule", "ESCU - Okta Account Lockout Events - Rule", "ESCU - Multiple Okta Users With Invalid Credentails From The Same IP - Rule", "ESCU - Okta User Logins From Multiple Cities - Rule", "ESCU - Investigate Okta Activity by app", "ESCU - Investigate User Activities In Okta", "ESCU - Investigate Okta Activity by IP Address"]
description = Monitor your Okta environment for suspicious activities. Due to the Covid outbreak, many users are migrating over to leverage cloud services more and more. Okta is a popular tool to manage multiple users and the web-based applications they need to stay productive. The searches in this story will help monitor your Okta environment for suspicious activities and associated user behaviors.
narrative = Okta is the leading single sign on (SSO) provider, allowing users to authenticate once to Okta, and from there access a variety of web-based applications. These applications are assigned to users and allow administrators to centrally manage which users are allowed to access which applications. It also provides centralized logging to help understand how the applications are used and by whom. \
While SSO is a major convenience for users, it also provides attackers with an opportunity. If the attacker can gain access to Okta, they can access a variety of applications. As such monitoring the environment is important. \
@@ -920,7 +920,7 @@ version = 2
references = ["https://www.blackhat.com/docs/us-15/materials/us-15-Graeber-Abusing-Windows-Management-Instrumentation-WMI-To-Build-A-Persistent%20Asynchronous-And-Fileless-Backdoor-wp.pdf", "https://www.fireeye.com/blog/threat-research/2017/03/wmimplant_a_wmi_ba.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - WMI Temporary Event Subscription - Rule", "ESCU - Remote Process Instantiation via WMI - Rule", "ESCU - Process Execution via WMI - Rule", "ESCU - Remote WMI Command Attempt - Rule", "ESCU - WMI Permanent Event Subscription - Rule", "ESCU - WMI Permanent Event Subscription - Sysmon - Rule", "ESCU - Script Execution via WMI - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+searches = ["ESCU - Process Execution via WMI - Rule", "ESCU - WMI Temporary Event Subscription - Rule", "ESCU - WMI Permanent Event Subscription - Rule", "ESCU - Script Execution via WMI - Rule", "ESCU - Remote WMI Command Attempt - Rule", "ESCU - WMI Permanent Event Subscription - Sysmon - Rule", "ESCU - Remote Process Instantiation via WMI - Rule", "ESCU - Get Process Info", "ESCU - Get Sysmon WMI Activity for Host", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
description = Attackers are increasingly abusing Windows Management Instrumentation (WMI), a framework and associated utilities available on all modern Windows operating systems. Because WMI can be leveraged to manage both local and remote systems, it is important to identify the processes executed and the user context within which the activity occurred.
narrative = WMI is a Microsoft infrastructure for management data and operations on Windows operating systems. It includes of a set of utilities that can be leveraged to manage both local and remote Windows systems. Attackers are increasingly turning to WMI abuse in their efforts to conduct nefarious tasks, such as reconnaissance, detection of antivirus and virtual machines, code execution, lateral movement, persistence, and data exfiltration. \
The detection searches included in this Analytic Story are used to look for suspicious use of WMI commands that attackers may leverage to interact with remote systems. The searches specifically look for the use of WMI to run processes on remote systems.\
@@ -933,7 +933,7 @@ version = 1
references = ["https://redcanary.com/blog/windows-registry-attacks-threat-detection/", "https://attack.mitre.org/wiki/Technique/T1112"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Monitor Registry Keys for Print Monitors - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Registry Keys Used For Privilege Escalation - Rule", "ESCU - Suspicious Changes to File Associations - Rule", "ESCU - Registry Keys for Creating SHIM Databases - Rule", "ESCU - Disabling Remote User Account Control - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+searches = ["ESCU - Monitor Registry Keys for Print Monitors - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Registry Keys for Creating SHIM Databases - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Suspicious Changes to File Associations - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Disabling Remote User Account Control - Rule", "ESCU - Registry Keys Used For Privilege Escalation - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
description = Monitor and detect registry changes initiated from remote locations, which can be a sign that an attacker has infiltrated your system.
narrative = Attackers are developing increasingly sophisticated techniques for hijacking target servers, while evading detection. One such technique that has become progressively more common is registry modification.\
The registry is a key component of the Windows operating system. It has a hierarchical database called "registry" that contains settings, options, and values for executables. Once the threat actor gains access to a machine, they can use reg.exe to modify their account to obtain administrator-level privileges, maintain persistence, and move laterally within the environment.\
@@ -958,7 +958,7 @@ version = 1
references = ["https://d0.awsstatic.com/whitepapers/aws-security-best-practices.pdf"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - EC2 Instance Modified With Previously Unseen User - Rule", "ESCU - Get Notable History", "ESCU - Get EC2 Instance Details by instanceId", "ESCU - AWS Investigate User Activities By ARN"]
+searches = ["ESCU - EC2 Instance Modified With Previously Unseen User - Rule", "ESCU - AWS Investigate User Activities By ARN", "ESCU - Get Notable History", "ESCU - Get EC2 Instance Details by instanceId"]
description = Identify unusual changes to your AWS EC2 instances that may indicate malicious activity. Modifications to your EC2 instances by previously unseen users is an example of an activity that may warrant further investigation.
narrative = A common attack technique is to infiltrate a cloud instance and make modifications. The adversary can then secure access to your infrastructure or hide their activities. So it's important to stay alert to changes that may indicate that your environment has been compromised. \
Searches within this Analytic Story can help you detect the presence of a threat by monitoring for EC2 instances that have been created or changed--either by users that have never previously performed these activities or by known users who modify or create instances in a way that have not been done before. This story also provides investigative searches that help you go deeper once you detect suspicious behavior.
@@ -970,7 +970,7 @@ version = 2
references = ["https://www.fireeye.com/blog/threat-research/2017/08/monitoring-windows-console-activity-part-two.html", "https://www.splunk.com/pdfs/technical-briefs/advanced-threat-detection-and-response-tech-brief.pdf", "https://www.sans.org/reading-room/whitepapers/logging/detecting-security-incidents-windows-workstation-event-logs-34262"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - RunDLL Loading DLL By Ordinal - Rule", "ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Detect processes used for System Network Configuration Discovery - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Detect Rare Executables - Rule", "ESCU - Uncommon Processes On Endpoint - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+searches = ["ESCU - System Processes Run From Unexpected Locations - Rule", "ESCU - Uncommon Processes On Endpoint - Rule", "ESCU - Unusually Long Command Line - MLTK - Rule", "ESCU - Detect processes used for System Network Configuration Discovery - Rule", "ESCU - Detect Rare Executables - Rule", "ESCU - RunDLL Loading DLL By Ordinal - Rule", "ESCU - Unusually Long Command Line - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
description = Quickly identify systems running new or unusual processes in your environment that could be indicators of suspicious activity. Processes run from unusual locations, those with conspicuously long command lines, and rare executables are all examples of activities that may warrant deeper investigation.
narrative = Being able to profile a host's processes within your environment can help you more quickly identify processes that seem out of place when compared to the rest of the population of hosts or asset types.\
This Analytic Story lets you identify processes that are either a) not typically seen running or b) have some sort of suspicious command-line arguments associated with them. This Analytic Story will also help you identify the user running these processes and the associated process activity on the host.\
@@ -994,7 +994,7 @@ version = 1
references = ["https://www.fbi.gov/scams-and-safety/common-fraud-schemes/internet-fraud", "https://www.fbi.gov/news/stories/2017-internet-crime-report-released-050718"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Jim Apger"}]
spec_version = 3
-searches = ["ESCU - Web Fraud - Anomalous User Clickspeed - Rule", "ESCU - Web Fraud - Account Harvesting - Rule", "ESCU - Web Fraud - Password Sharing Across Accounts - Rule", "ESCU - Get Notable History", "ESCU - Get Web Session Information via session id", "ESCU - Get Emails From Specific Sender"]
+searches = ["ESCU - Web Fraud - Password Sharing Across Accounts - Rule", "ESCU - Web Fraud - Anomalous User Clickspeed - Rule", "ESCU - Web Fraud - Account Harvesting - Rule", "ESCU - Get Web Session Information via session id", "ESCU - Get Emails From Specific Sender", "ESCU - Get Notable History"]
description = Monitor your environment for activity consistent with common attack techniques bad actors use when attempting to compromise web servers or other web-related assets.
narrative = The Federal Bureau of Investigations (FBI) defines Internet fraud as the use of Internet services or software with Internet access to defraud victims or to otherwise take advantage of them. According to the Bureau, Internet crime schemes are used to steal millions of dollars each year from victims and continue to plague the Internet through various methods. The agency includes phishing scams, data breaches, Denial of Service (DOS) attacks, email account compromise, malware, spoofing, and ransomware in this category.\
These crimes are not the fraud itself, but rather the attack techniques commonly employed by fraudsters in their pursuit of data that enables them to commit malicious actssuch as obtaining and using stolen credit cards. They represent a serious problem that is steadily increasing and not likely to go away anytime soon.\
@@ -1010,7 +1010,7 @@ version = 1
references = ["https://research.checkpoint.com/2020/resolving-your-way-into-domain-admin-exploiting-a-17-year-old-bug-in-windows-dns-servers/", "https://support.microsoft.com/en-au/help/4569509/windows-dns-server-remote-code-execution-vulnerability"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Shannon Davis"}]
spec_version = 3
-searches = ["ESCU - Detect Windows DNS SIGRed via Zeek - Rule", "ESCU - Detect Windows DNS SIGRed via Splunk Stream - Rule", "ESCU - Get Notable History"]
+searches = ["ESCU - Detect Windows DNS SIGRed via Splunk Stream - Rule", "ESCU - Detect Windows DNS SIGRed via Zeek - Rule", "ESCU - Get Notable History"]
description = Uncover activity consistent with CVE-2020-1350, or SIGRed. Discovered by Checkpoint researchers, this vulnerability affects Windows 2003 to 2019, and is triggered by a malicious DNS response (only affects DNS over TCP). An attacker can use the malicious payload to cause a buffer overflow on the vulnerable system, leading to compromise. The included searches in this Analytic Story are designed to identify the large response payload for SIG and KEY DNS records which can be used for the exploit.
narrative = When a client requests a DNS record for a particular domain, that request gets routed first through the client's locally configured DNS server, then to any DNS server(s) configured as forwarders, and then onto the target domain's own DNS server(s). If a attacker wanted to, they could host a malicious DNS server that responds to the initial request with a specially crafted large response (~65KB). This response would flow through to the client's local DNS server, which if not patched for CVE-2020-1350, would cause the buffer overflow. The detection searches in this Analytic Story use wire data to detect the malicious behavior. Searches for Splunk Stream and Zeek are included. The Splunk Stream search correlates across stream:dns and stream:tcp, while the Zeek search correlates across bro:dns:json and bro:conn:json. These correlations are required to pick up both the DNS record types (SIG and KEY) along with the payload size (>65KB).
@@ -1021,7 +1021,7 @@ version = 1
references = ["https://attack.mitre.org/wiki/Defense_Evasion"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Disabling Remote User Account Control - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Hiding Files And Directories With Attrib exe - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+searches = ["ESCU - Remote Registry Key modifications - Rule", "ESCU - Hiding Files And Directories With Attrib exe - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Disabling Remote User Account Control - Rule", "ESCU - Suspicious Reg exe Process - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
description = Detect tactics used by malware to evade defenses on Windows endpoints. A few of these include suspicious `reg.exe` processes, files hidden with `attrib.exe` and disabling user-account control, among many others
narrative = Defense evasion is a tactic--identified in the MITRE ATT&CK framework--that adversaries employ in a variety of ways to bypass or defeat defensive security measures. There are many techniques enumerated by the MITRE ATT&CK framework that are applicable in this context. This Analytic Story includes searches designed to identify the use of such techniques on Windows platforms.
@@ -1032,7 +1032,7 @@ version = 1
references = ["https://blog.malwarebytes.com/cybercrime/2013/12/file-extensions-2/", "https://attack.mitre.org/wiki/Technique/T1042"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Execution of File with Multiple Extensions - Rule", "ESCU - Execution of File With Spaces Before Extension - Rule", "ESCU - Suspicious Changes to File Associations - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+searches = ["ESCU - Suspicious Changes to File Associations - Rule", "ESCU - Execution of File With Spaces Before Extension - Rule", "ESCU - Execution of File with Multiple Extensions - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
description = Detect and investigate suspected abuse of file extensions and Windows file associations. Some of the malicious behaviors involved may include inserting spaces before file extensions or prepending the file extension with a different one, among other techniques.
narrative = Attackers use a variety of techniques to entice users to run malicious code or to persist on an endpoint. One way to accomplish these goals is to leverage file extensions and the mechanism Windows uses to associate files with specific applications. \
Since its earliest days, Windows has used extensions to identify file types. Users have become familiar with these extensions and their application associations. For example, if users see that a file ends in `.doc` or `.docx`, they will assume that it is a Microsoft Word document and expect that double-clicking will open it using `winword.exe`. The user will typically also presume that the `.docx` file is safe. \
@@ -1047,7 +1047,7 @@ version = 2
references = ["https://www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/", "https://zeltser.com/security-incident-log-review-checklist/", "http://journeyintoir.blogspot.com/2013/01/re-introducing-usnjrnl.html"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Suspicious wevtutil Usage - Rule", "ESCU - Windows Event Log Cleared - Rule", "ESCU - USN Journal Deletion - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+searches = ["ESCU - USN Journal Deletion - Rule", "ESCU - Deleting Shadow Copies - Rule", "ESCU - Suspicious wevtutil Usage - Rule", "ESCU - Windows Event Log Cleared - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
description = Adversaries often try to cover their tracks by manipulating Windows logs. Use these searches to help you monitor for suspicious activity surrounding log files--an essential component of an effective defense.
narrative = Because attackers often modify system logs to cover their tracks and/or to thwart the investigative process, log monitoring is an industry-recognized best practice. While there are legitimate reasons to manipulate system logs, it is still worthwhile to keep track of who manipulated the logs, when they manipulated them, and in what way they manipulated them (determining which accesses, tools, or utilities were employed). Even if no malicious activity is detected, the knowledge of an attempt to manipulate system logs may be indicative of a broader security risk that should be thoroughly investigated.\
The Analytic Story gives users two different ways to detect manipulation of Windows Event Logs and one way to detect deletion of the Update Sequence Number (USN) Change Journal. The story helps determine the history of the host and the users who have accessed it. Finally, the story aides in investigation by retrieving all the information on the process that caused these events (if the process has been identified).
@@ -1059,7 +1059,7 @@ version = 2
references = ["http://www.fuzzysecurity.com/tutorials/19.html", "https://www.fireeye.com/blog/threat-research/2010/07/malware-persistence-windows-registry.html", "http://resources.infosecinstitute.com/common-malware-persistence-mechanisms/", "https://www.fireeye.com/blog/threat-research/2017/05/fin7-shim-databases-persistence.html", "https://www.youtube.com/watch?v=dq2Hv7J9fvk"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Bhavin Patel"}]
spec_version = 3
-searches = ["ESCU - Monitor Registry Keys for Print Monitors - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Detect Path Interception By Creation Of program exe - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Shim Database Installation With Suspicious Parameters - Rule", "ESCU - Registry Keys for Creating SHIM Databases - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Shim Database File Creation - Rule", "ESCU - Schtasks used for forcing a reboot - Rule", "ESCU - Reg exe Manipulating Windows Services Registry Keys - Rule", "ESCU - Hiding Files And Directories With Attrib exe - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+searches = ["ESCU - Monitor Registry Keys for Print Monitors - Rule", "ESCU - Shim Database Installation With Suspicious Parameters - Rule", "ESCU - Registry Keys Used For Persistence - Rule", "ESCU - Registry Keys for Creating SHIM Databases - Rule", "ESCU - Remote Registry Key modifications - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Shim Database File Creation - Rule", "ESCU - Hiding Files And Directories With Attrib exe - Rule", "ESCU - Reg exe used to hide files directories via registry keys - Rule", "ESCU - Schtasks used for forcing a reboot - Rule", "ESCU - Reg exe Manipulating Windows Services Registry Keys - Rule", "ESCU - Detect Path Interception By Creation Of program exe - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
description = Monitor for activities and techniques associated with maintaining persistence on a Windows system--a sign that an adversary may have compromised your environment.
narrative = Maintaining persistence is one of the first steps taken by attackers after the initial compromise. Attackers leverage various custom and built-in tools to ensure survivability and persistent access within a compromised enterprise. This Analytic Story provides searches to help you identify various behaviors used by attackers to maintain persistent access to a Windows environment.
@@ -1070,7 +1070,7 @@ version = 2
references = ["https://attack.mitre.org/tactics/TA0004/"]
maintainers = [{"company": "Splunk", "email": "-", "name": "David Dorsey"}]
spec_version = 3
-searches = ["ESCU - Overwriting Accessibility Binaries - Rule", "ESCU - Registry Keys Used For Privilege Escalation - Rule", "ESCU - Uncommon Processes On Endpoint - Rule", "ESCU - Child Processes of Spoolsv exe - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+searches = ["ESCU - Uncommon Processes On Endpoint - Rule", "ESCU - Child Processes of Spoolsv exe - Rule", "ESCU - Overwriting Accessibility Binaries - Rule", "ESCU - Registry Keys Used For Privilege Escalation - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
description = Monitor for and investigate activities that may be associated with a Windows privilege-escalation attack, including unusual processes running on endpoints, modified registry keys, and more.
narrative = Privilege escalation is a "land-and-expand" technique, wherein an adversary gains an initial foothold on a host and then exploits its weaknesses to increase his privileges. The motivation is simple: certain actions on a Windows machine--such as installing software--may require higher-level privileges than those the attacker initially acquired. By increasing his privilege level, the attacker can gain the control required to carry out his malicious ends. This Analytic Story provides searches to detect and investigate behaviors that attackers may use to elevate their privileges in your environment.
@@ -1081,7 +1081,7 @@ version = 3
references = ["https://attack.mitre.org/wiki/Technique/T1050", "https://attack.mitre.org/wiki/Technique/T1031"]
maintainers = [{"company": "Splunk", "email": "-", "name": "Rico Valdez"}]
spec_version = 3
-searches = ["ESCU - Reg exe Manipulating Windows Services Registry Keys - Rule", "ESCU - First Time Seen Running Windows Service - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Get Parent Process Info", "ESCU - Get Notable History", "ESCU - Get Process Info"]
+searches = ["ESCU - First Time Seen Running Windows Service - Rule", "ESCU - Sc exe Manipulating Windows Services - Rule", "ESCU - Reg exe Manipulating Windows Services Registry Keys - Rule", "ESCU - Get Process Info", "ESCU - Get Notable History", "ESCU - Get Parent Process Info"]
description = Windows services are often used by attackers for persistence and the ability to load drivers or otherwise interact with the Windows kernel. This Analytic Story helps you monitor your environment for indications that Windows services are being modified or created in a suspicious manner.
narrative = The Windows operating system uses a services architecture to allow for running code in the background, similar to a UNIX daemon. Attackers will often leverage Windows services for persistence, hiding in plain sight, seeking the ability to run privileged code that can interact with the kernel. In many cases, attackers will create a new service to host their malicious code. Attackers have also been observed modifying unnecessary or unused services to point to their own code, as opposed to what was intended. In these cases, attackers often use tools to create or modify services in ways that are not typical for most environments, providing opportunities for detection.
From 40be1e58a849f20c10e61d61e13b03c40d01814c Mon Sep 17 00:00:00 2001
From: root
Date: Tue, 19 Jan 2021 13:35:25 +0000
Subject: [PATCH 08/24] Added detection testing service results inMalicious
PowerShell Process With Obfuscation Techniques
---
...ell_process_with_obfuscation_techniques.yml | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml b/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
index cfb41310e7..6193a965e7 100644
--- a/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
+++ b/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
@@ -8,12 +8,21 @@ how_to_implement: You must be ingesting data that records process activity from
hosts to populate the Endpoint data model in the Processes node. You must also be
ingesting logs with both the process name and command line from your endpoints.
The command-line arguments are mapped to the "process" field in the Endpoint data
- model. Deprecated because the detection need rework and would need to work base on powershell logs.
+ model. Deprecated because the detection need rework and would need to work base
+ on powershell logs.
type: ESCU
references: []
author: David Dorsey, Splunk
-search: >
- | tstats `security_content_summariesonly` count values(Processes.process) as process values(Processes.parent_process) as parent_process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=powershell.exe by Processes.user Processes.process_name Processes.parent_process_name Processes.dest Processes.process | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`| eval num_obfuscation = (mvcount(split(process,"`"))-1) + (mvcount(split(process, "^"))-1) + (mvcount(split(process, "'"))-1) | `malicious_powershell_process_with_obfuscation_techniques_filter` | search num_obfuscation > 10
+search: '| tstats `security_content_summariesonly` count values(Processes.process)
+ as process values(Processes.parent_process) as parent_process min(_time) as firstTime
+ max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process_name=powershell.exe
+ by Processes.user Processes.process_name Processes.parent_process_name Processes.dest
+ Processes.process | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`|
+ `security_content_ctime(lastTime)`| eval num_obfuscation = (mvcount(split(process,"`"))-1)
+ + (mvcount(split(process, "^"))-1) + (mvcount(split(process, "''"))-1) | `malicious_powershell_process_with_obfuscation_techniques_filter`
+ | search num_obfuscation > 10
+
+ '
known_false_positives: These characters might be legitimately on the command-line,
but it is not common.
tags:
@@ -34,3 +43,6 @@ tags:
- PR.IP
security_domain: endpoint
asset_type: Endpoint
+ automated_detection_testing: passed
+ dataset:
+ - https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.001/obfuscated_powershell/windows-sysmon.log
From fc19205eb17a1732e2f829ea2c6a5265e661b18b Mon Sep 17 00:00:00 2001
From: P4T12ICK
Date: Tue, 19 Jan 2021 14:39:44 +0100
Subject: [PATCH 09/24] new test file
---
.../high_number_of_login_failures_from_a_single_source.yml | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename detections/{deprecated => cloud}/high_number_of_login_failures_from_a_single_source.yml (100%)
diff --git a/detections/deprecated/high_number_of_login_failures_from_a_single_source.yml b/detections/cloud/high_number_of_login_failures_from_a_single_source.yml
similarity index 100%
rename from detections/deprecated/high_number_of_login_failures_from_a_single_source.yml
rename to detections/cloud/high_number_of_login_failures_from_a_single_source.yml
From 442d9448909d7dfef788585ffbc15d036a7d78bf Mon Sep 17 00:00:00 2001
From: P4T12ICK
Date: Tue, 19 Jan 2021 14:44:01 +0100
Subject: [PATCH 10/24] new test file
---
...___multiple_suspicious_command_line_arguments.yml | 1 +
..._powershell_process___execution_policy_bypass.yml | 2 +-
...rshell_process___execution_policy_bypass.test.yml | 12 ++++++++++++
3 files changed, 14 insertions(+), 1 deletion(-)
rename detections/{endpoint => deprecated}/malicious_powershell_process___multiple_suspicious_command_line_arguments.yml (95%)
create mode 100644 tests/endpoint/malicious_powershell_process___execution_policy_bypass.test.yml
diff --git a/detections/endpoint/malicious_powershell_process___multiple_suspicious_command_line_arguments.yml b/detections/deprecated/malicious_powershell_process___multiple_suspicious_command_line_arguments.yml
similarity index 95%
rename from detections/endpoint/malicious_powershell_process___multiple_suspicious_command_line_arguments.yml
rename to detections/deprecated/malicious_powershell_process___multiple_suspicious_command_line_arguments.yml
index 13297dffcf..640a6e97e5 100644
--- a/detections/endpoint/malicious_powershell_process___multiple_suspicious_command_line_arguments.yml
+++ b/detections/deprecated/malicious_powershell_process___multiple_suspicious_command_line_arguments.yml
@@ -8,6 +8,7 @@ description: This search looks for PowerShell processes started with a base64 en
This combination of command-line options is suspicious because it overrides the
default PowerShell execution policy, attempts to hide itself from the user, and
passes an encoded script to be run on the command-line.
+ Deprecated because almost the same as Malicious PowerShell Process - Encoded Command
how_to_implement: You must be ingesting data that records process activity from your
hosts to populate the Endpoint data model in the Processes node. You must also be
ingesting logs with both the process name and command line from your endpoints.
diff --git a/detections/endpoint/malicious_powershell_process___execution_policy_bypass.yml b/detections/endpoint/malicious_powershell_process___execution_policy_bypass.yml
index 3e13290e9b..f489436ff8 100644
--- a/detections/endpoint/malicious_powershell_process___execution_policy_bypass.yml
+++ b/detections/endpoint/malicious_powershell_process___execution_policy_bypass.yml
@@ -17,7 +17,7 @@ author: Rico Valdez, Splunk
search: '| tstats `security_content_summariesonly` values(Processes.process_id) as
process_id, values(Processes.parent_process_id) as parent_process_id values(Processes.process)
as process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes
- where Processes.process_name=powershell.exe AND (Processes.process="* -ex*" OR Processes.process="*
+ where Processes.process_name=powershell.exe (Processes.process="* -ex*" OR Processes.process="*
bypass *") by Processes.process_id, Processes.user, Processes.dest | `drop_dm_object_name(Processes)`
| `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `malicious_powershell_process___execution_policy_bypass_filter`'
known_false_positives: There may be legitimate reasons to bypass the PowerShell execution
diff --git a/tests/endpoint/malicious_powershell_process___execution_policy_bypass.test.yml b/tests/endpoint/malicious_powershell_process___execution_policy_bypass.test.yml
new file mode 100644
index 0000000000..dcebf3ae8d
--- /dev/null
+++ b/tests/endpoint/malicious_powershell_process___execution_policy_bypass.test.yml
@@ -0,0 +1,12 @@
+name: Malicious PowerShell Process - Execution Policy Bypass Unit Test
+tests:
+- name: Malicious PowerShell Process - Execution Policy Bypass
+ file: endpoint/malicious_powershell_process___execution_policy_bypass.yml
+ pass_condition: '| stats count | where count > 0'
+ earliest_time: '-24h'
+ latest_time: 'now'
+ attack_data:
+ - file_name: windows-sysmon.log
+ data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.001/encoded_powershell/windows-sysmon.log
+ source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
+ sourcetype: xmlwineventlog
From f799b2abcff2ca93c1509c44c855de5436543ac6 Mon Sep 17 00:00:00 2001
From: root
Date: Tue, 19 Jan 2021 14:02:32 +0000
Subject: [PATCH 11/24] Added detection testing service results inMalicious
PowerShell Process - Execution Policy Bypass
---
.../malicious_powershell_process___execution_policy_bypass.yml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/detections/endpoint/malicious_powershell_process___execution_policy_bypass.yml b/detections/endpoint/malicious_powershell_process___execution_policy_bypass.yml
index f489436ff8..2dd7302b37 100644
--- a/detections/endpoint/malicious_powershell_process___execution_policy_bypass.yml
+++ b/detections/endpoint/malicious_powershell_process___execution_policy_bypass.yml
@@ -41,3 +41,6 @@ tags:
- PR.IP
security_domain: endpoint
asset_type: Endpoint
+ automated_detection_testing: passed
+ dataset:
+ - https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.001/encoded_powershell/windows-sysmon.log
From af17e44f9f0f3215be2ff6ec8b5eb12c5acde715 Mon Sep 17 00:00:00 2001
From: P4T12ICK
Date: Wed, 20 Jan 2021 14:48:48 +0100
Subject: [PATCH 12/24] test custom test coverage badge
---
README.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.md b/README.md
index 1e644d6b76..f0fe5765dd 100644
--- a/README.md
+++ b/README.md
@@ -7,6 +7,8 @@
| develop| [](https://circleci.com/gh/splunk/security-content/tree/develop)|
| master | [](https://circleci.com/gh/splunk/security-content/tree/master)|
+[](https://github.com/splunk/security-content)
+
Welcome to the Splunk Security Content
This project gives you access to our repository of Analytic Stories that are security guides the provide background on TTPs, mapped to the MITRE framework, the Lockheed Martin Kill Chain, and CIS controls. They include Splunk searches, machine-learning algorithms, and Splunk Phantom playbooks (where available)—all designed to work together to detect, investigate, and respond to threats.
From 893cb37eb80742188a905de331a611e3955116fc Mon Sep 17 00:00:00 2001
From: P4T12ICK
Date: Wed, 20 Jan 2021 15:27:05 +0100
Subject: [PATCH 13/24] add custom badge for detection coverage
---
.circleci/config.yml | 47 ++++++++++++++++++-
README.md | 2 +-
bin/jinja2_templates/svg_badge.j2 | 19 ++++++++
bin/reporting.py | 67 ++++++++++++++++++++++++++++
bin/reporting/detection_coverage.svg | 19 ++++++++
5 files changed, 152 insertions(+), 2 deletions(-)
create mode 100644 bin/jinja2_templates/svg_badge.j2
create mode 100644 bin/reporting.py
create mode 100644 bin/reporting/detection_coverage.svg
diff --git a/.circleci/config.yml b/.circleci/config.yml
index d594168494..2de00b43f4 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -350,7 +350,7 @@ jobs:
aws s3 cp deployments s3://security-content/deployments --recursive --exclude "*" --include "*.yml"
- run:
name: security content api smoke test
- command: |
+ command: |
API_URL='https://content.splunkresearch.com/detections'
API_STATUS=$(curl -s -o /dev/null -w "%{http_code}" $API_URL)
echo "Security Content API Status: $API_STATUS"
@@ -359,6 +359,38 @@ jobs:
exit 1
fi
+ create-report:
+ executor: content-executor
+ steps:
+ - run:
+ name: checkout repo
+ command: |
+ if [ "${CIRCLE_BRANCH}" == "" ]; then
+ git clone https://${GITHUB_TOKEN}@github.com/splunk/security-content.git
+ else
+ git clone --branch ${CIRCLE_BRANCH} https://${GITHUB_TOKEN}@github.com/splunk/security-content.git
+ fi
+ - run: *apt-install
+ - run:
+ name: install python dependencies
+ command: |
+ cd security-content
+ rm -rf venv
+ virtualenv --python=/usr/bin/python3 --clear venv
+ source venv/bin/activate
+ pip install -q -r requirements.txt
+ - run:
+ name: run reporting
+ command: |
+ cd security-content
+ source venv/bin/activate
+ python bin/reporting.py
+ - run:
+ name: upload reporting
+ command: |
+ cd security-content
+ aws s3 cp bin/reporting s3://security-content/reporting --recursive --exclude "*" --include "*.svg"
+
workflows:
version: 2.1
@@ -393,6 +425,15 @@ workflows:
filters:
tags:
only: /.*/
+ - create-report:
+ requires:
+ - validate-content
+ - build-sources
+ - build-package
+ - run-appinspect
+ filters:
+ tags:
+ only: /^v.*/
- update-sources-github:
# update package and docs in github if is a tag
requires:
@@ -400,6 +441,7 @@ workflows:
- build-sources
- build-package
- run-appinspect
+ - create-report
filters:
tags:
only: /^v.*/
@@ -412,6 +454,7 @@ workflows:
- build-sources
- build-package
- run-appinspect
+ - create-report
- update-sources-github
filters:
tags:
@@ -425,6 +468,7 @@ workflows:
- build-sources
- build-package
- run-appinspect
+ - create-report
- update-sources-github
- publish-github-release
filters:
@@ -439,6 +483,7 @@ workflows:
- build-sources
- build-package
- run-appinspect
+ - create-report
- update-sources-github
- publish-github-release
- attack-range-update
diff --git a/README.md b/README.md
index f0fe5765dd..22a304b3e1 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@
| develop| [](https://circleci.com/gh/splunk/security-content/tree/develop)|
| master | [](https://circleci.com/gh/splunk/security-content/tree/master)|
-[](https://github.com/splunk/security-content)
+[](https://github.com/splunk/security-content)
Welcome to the Splunk Security Content
diff --git a/bin/jinja2_templates/svg_badge.j2 b/bin/jinja2_templates/svg_badge.j2
new file mode 100644
index 0000000000..b598da6aac
--- /dev/null
+++ b/bin/jinja2_templates/svg_badge.j2
@@ -0,0 +1,19 @@
+
+
diff --git a/bin/reporting.py b/bin/reporting.py
new file mode 100644
index 0000000000..ced2479ed1
--- /dev/null
+++ b/bin/reporting.py
@@ -0,0 +1,67 @@
+#!/usr/bin/python
+
+import glob
+import yaml
+import argparse
+import os
+from os import path
+import sys
+import datetime
+from jinja2 import Environment, FileSystemLoader
+
+
+def load_objects(file_path, REPO_PATH):
+ files = []
+ manifest_files = path.join(path.expanduser(REPO_PATH), file_path)
+ for file in sorted(glob.glob(manifest_files)):
+ files.append(load_file(file))
+ return files
+
+
+def load_file(file_path):
+ with open(file_path, 'r', encoding="utf-8") as stream:
+ try:
+ file = list(yaml.safe_load_all(stream))[0]
+ except yaml.YAMLError as exc:
+ print(exc)
+ sys.exit("ERROR: reading {0}".format(file_path))
+ return file
+
+
+
+def main(args):
+
+ # process all detections
+ REPO_PATH = os.path.join(os.path.dirname(__file__), '../')
+ detections = []
+ detections = load_objects("detections/application/*.yml", REPO_PATH)
+ detections.extend(load_objects("detections/cloud/*.yml", REPO_PATH))
+ detections.extend(load_objects("detections/endpoint/*.yml", REPO_PATH))
+ detections.extend(load_objects("detections/network/*.yml", REPO_PATH))
+ detections.extend(load_objects("detections/web/*.yml", REPO_PATH))
+
+ tests = load_objects("tests/*/*.yml", REPO_PATH)
+
+ counter_tests=0
+ counter_detection=0
+
+ for detection in detections:
+ counter_detection=counter_detection+1
+
+ for test in tests:
+ counter_tests=counter_tests+1
+
+ detection_coverage = "{:.0%}".format(counter_tests/counter_detection)
+
+ TEMPLATE_PATH = os.path.join(os.path.dirname(__file__), 'jinja2_templates')
+ OUTPUT_PATH = os.path.join(os.path.dirname(__file__), 'reporting')
+ j2_env = Environment(loader=FileSystemLoader(TEMPLATE_PATH), trim_blocks=True)
+ template = j2_env.get_template('svg_badge.j2')
+ output_path = path.join(OUTPUT_PATH, 'detection_coverage.svg')
+ output = template.render(detection_coverage=detection_coverage)
+ with open(output_path, 'w', encoding="utf-8") as f:
+ f.write(output)
+
+
+if __name__ == "__main__":
+ main(sys.argv[1:])
diff --git a/bin/reporting/detection_coverage.svg b/bin/reporting/detection_coverage.svg
new file mode 100644
index 0000000000..c94bb338b0
--- /dev/null
+++ b/bin/reporting/detection_coverage.svg
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
From 124f6bd1912409b6e6da8bccd25c8dac622e377f Mon Sep 17 00:00:00 2001
From: P4T12ICK
Date: Wed, 20 Jan 2021 15:34:18 +0100
Subject: [PATCH 14/24] add custom badge for detection coverage
---
.circleci/config.yml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 2de00b43f4..f4a84c4a60 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -385,6 +385,8 @@ jobs:
cd security-content
source venv/bin/activate
python bin/reporting.py
+ - aws-cli/setup:
+ profile-name: default
- run:
name: upload reporting
command: |
From e2767bcae0d7085e569f508986b74bf5be06dd76 Mon Sep 17 00:00:00 2001
From: P4T12ICK
Date: Wed, 20 Jan 2021 16:09:42 +0100
Subject: [PATCH 15/24] add custom badge for detection coverage
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 22a304b3e1..3ec6e43010 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,5 @@
+[](https://github.com/splunk/security-content)
+
# Splunk Security Content

=====
@@ -7,8 +9,6 @@
| develop| [](https://circleci.com/gh/splunk/security-content/tree/develop)|
| master | [](https://circleci.com/gh/splunk/security-content/tree/master)|
-[](https://github.com/splunk/security-content)
-
Welcome to the Splunk Security Content
This project gives you access to our repository of Analytic Stories that are security guides the provide background on TTPs, mapped to the MITRE framework, the Lockheed Martin Kill Chain, and CIS controls. They include Splunk searches, machine-learning algorithms, and Splunk Phantom playbooks (where available)—all designed to work together to detect, investigate, and respond to threats.
From 0943ecdf0e8743d4056a2d25d52a84f071576097 Mon Sep 17 00:00:00 2001
From: P4T12ICK
Date: Wed, 20 Jan 2021 17:15:45 +0100
Subject: [PATCH 16/24] add custom badge for detection coverage
---
README.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/README.md b/README.md
index 3ec6e43010..16e202737d 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,13 @@
[](https://github.com/splunk/security-content)
+
# Splunk Security Content

=====
-| branch | build status |
-| --- | --- |
-| develop| [](https://circleci.com/gh/splunk/security-content/tree/develop)|
-| master | [](https://circleci.com/gh/splunk/security-content/tree/master)|
-
Welcome to the Splunk Security Content
This project gives you access to our repository of Analytic Stories that are security guides the provide background on TTPs, mapped to the MITRE framework, the Lockheed Martin Kill Chain, and CIS controls. They include Splunk searches, machine-learning algorithms, and Splunk Phantom playbooks (where available)—all designed to work together to detect, investigate, and respond to threats.
From fae32c8fd275eafba4b293fd6cd314f5ad150ffa Mon Sep 17 00:00:00 2001
From: P4T12ICK
Date: Wed, 20 Jan 2021 17:47:46 +0100
Subject: [PATCH 20/24] add custom badge for detection coverage
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index a298a6624b..564e30f5a7 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@
-
+
From 753d2dc00f317b2e988394963e25630fec71eb86 Mon Sep 17 00:00:00 2001
From: P4T12ICK
Date: Wed, 20 Jan 2021 18:59:09 +0100
Subject: [PATCH 21/24] add custom badge for detection coverage
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 564e30f5a7..3a329b94a0 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
-
+
From 0c07ebeb88dbfa477e5e185e871ffe566f092724 Mon Sep 17 00:00:00 2001
From: P4T12ICK
Date: Fri, 22 Jan 2021 13:01:09 +0100
Subject: [PATCH 22/24] bug fix
---
.../high_number_of_login_failures_from_a_single_source.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/detections/cloud/high_number_of_login_failures_from_a_single_source.yml b/detections/cloud/high_number_of_login_failures_from_a_single_source.yml
index 333ac9e390..04d49c1634 100644
--- a/detections/cloud/high_number_of_login_failures_from_a_single_source.yml
+++ b/detections/cloud/high_number_of_login_failures_from_a_single_source.yml
@@ -2,7 +2,7 @@ name: High Number of Login Failures from a single source
id: 7f398cfb-918d-41f4-8db8-2e2474e02222
version: 1
date: '2020-12-16'
-description: This search will detect more than 5 login failures in Office365 Azure Active Directory from a single source IP address. Please adjust the threshold value of 5 as suited for your environment. Deprecated because duplicate.
+description: This search will detect more than 5 login failures in Office365 Azure Active Directory from a single source IP address. Please adjust the threshold value of 5 as suited for your environment.
type: ESCU
author: Bhavin Patel, Splunk
search: '`o365_management_activity` Operation=UserLoginFailed record_type=AzureActiveDirectoryStsLogon app=AzureActiveDirectory
From daf978228ee3d4749bc7c45f024b9373e000b7eb Mon Sep 17 00:00:00 2001
From: P4T12ICK
Date: Mon, 25 Jan 2021 18:19:03 +0100
Subject: [PATCH 23/24] fix a description
---
...alicious_powershell_process_with_obfuscation_techniques.yml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml b/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
index 6193a965e7..2a4a0093be 100644
--- a/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
+++ b/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
@@ -8,8 +8,7 @@ how_to_implement: You must be ingesting data that records process activity from
hosts to populate the Endpoint data model in the Processes node. You must also be
ingesting logs with both the process name and command line from your endpoints.
The command-line arguments are mapped to the "process" field in the Endpoint data
- model. Deprecated because the detection need rework and would need to work base
- on powershell logs.
+ model.
type: ESCU
references: []
author: David Dorsey, Splunk
From d5d1298db9e6238223989ae3ef410d7d03fda7c8 Mon Sep 17 00:00:00 2001
From: P4T12ICK
Date: Mon, 25 Jan 2021 18:28:25 +0100
Subject: [PATCH 24/24] fix a description
---
...licious_powershell_process_with_obfuscation_techniques.yml | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml b/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
index 2a4a0093be..76f06b3dc0 100644
--- a/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
+++ b/detections/endpoint/malicious_powershell_process_with_obfuscation_techniques.yml
@@ -19,9 +19,7 @@ search: '| tstats `security_content_summariesonly` count values(Processes.proces
Processes.process | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`|
`security_content_ctime(lastTime)`| eval num_obfuscation = (mvcount(split(process,"`"))-1)
+ (mvcount(split(process, "^"))-1) + (mvcount(split(process, "''"))-1) | `malicious_powershell_process_with_obfuscation_techniques_filter`
- | search num_obfuscation > 10
-
- '
+ | search num_obfuscation > 10 '
known_false_positives: These characters might be legitimately on the command-line,
but it is not common.
tags: