Skip to content

Commit 7b4815f

Browse files
committed
updates and tunings
1 parent f0857d6 commit 7b4815f

11 files changed

+142
-60
lines changed

detections/endpoint/certutil_download_with_urlcache_and_split_arguments.yml renamed to detections/deprecated/certutil_download_with_urlcache_and_split_arguments.yml

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
name: CertUtil Download With URLCache and Split Arguments
22
id: 415b4306-8bfb-11eb-85c4-acde48001122
3-
version: 10
4-
date: '2024-12-10'
3+
version: 11
4+
date: '2025-03-03'
55
author: Michael Haag, Splunk
6-
status: production
6+
status: deprecated
77
type: TTP
8-
description: The following analytic detects the use of certutil.exe to download files
8+
description: This analytic has been deprecated in favor of "Windows CertUtil Download".
9+
The following analytic detects the use of certutil.exe to download files
910
using the `-urlcache` and `-f` arguments. It leverages Endpoint Detection and Response
1011
(EDR) data, focusing on command-line executions that include these specific arguments.
1112
This activity is significant because certutil.exe is typically used for certificate

detections/endpoint/certutil_download_with_verifyctl_and_split_arguments.yml renamed to detections/deprecated/certutil_download_with_verifyctl_and_split_arguments.yml

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
name: CertUtil Download With VerifyCtl and Split Arguments
22
id: 801ad9e4-8bfb-11eb-8b31-acde48001122
3-
version: 10
4-
date: '2024-12-10'
3+
version: 11
4+
date: '2025-03-03'
55
author: Michael Haag, Splunk
6-
status: production
6+
status: deprecated
77
type: TTP
8-
description: The following analytic detects the use of `certutil.exe` to download
8+
description: This analytic has been deprecated in favor of "Windows CertUtil Download".
9+
The following analytic detects the use of `certutil.exe` to download
910
files using the `-VerifyCtl` and `-f` arguments. This behavior is identified by
1011
monitoring command-line executions for these specific arguments via Endpoint Detection
1112
and Response (EDR) telemetry. This activity is significant because `certutil.exe`

detections/endpoint/windows_certutil_download_with_url_argument.yml renamed to detections/deprecated/windows_certutil_download_with_url_argument.yml

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
name: Windows CertUtil Download With URL Argument
22
id: 4fc5ca00-4c7c-46b3-8772-c98a4b8bd944
3-
version: 3
4-
date: '2025-01-07'
3+
version: 4
4+
date: '2025-03-03'
55
author: Nasreddine Bencherchali, Splunk
6-
status: production
6+
status: deprecated
77
type: TTP
8-
description: The following analytic detects the use of `certutil.exe` to download
8+
description: This analytic has been deprecated in favor of "Windows CertUtil Download".
9+
The following analytic detects the use of `certutil.exe` to download
910
files using the `-URL` arguments. This behavior is identified by monitoring command-line
1011
executions for these specific arguments via Endpoint Detection and Response (EDR)
1112
telemetry. This activity is significant because `certutil.exe` is a legitimate tool

detections/endpoint/chcp_command_execution.yml

+7-10
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
name: CHCP Command Execution
22
id: 21d236ec-eec1-11eb-b23e-acde48001122
3-
version: 5
4-
date: '2025-02-19'
3+
version: 6
4+
date: '2025-02-28'
55
author: Teoderick Contreras, Splunk
66
status: production
7-
type: TTP
8-
description: The following analytic detects the execution of the chcp.exe application,
7+
type: Anomaly
8+
description: The following analytic detects the execution of the chcp.com utility,
99
which is used to change the active code page of the console. This detection leverages
1010
data from Endpoint Detection and Response (EDR) agents, focusing on process creation
11-
events where chcp.exe is executed by cmd.exe with specific command-line arguments.
12-
This activity is significant because it can indicate the presence of malware, such
11+
events. This activity is significant because it can indicate the presence of malware, such
1312
as IcedID, which uses this technique to determine the locale region, language, or
1413
country of the compromised host. If confirmed malicious, this could lead to further
1514
system compromise and data exfiltration.
@@ -18,8 +17,7 @@ data_source:
1817
- CrowdStrike ProcessRollup2
1918
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
2019
as lastTime from datamodel=Endpoint.Processes where Processes.process_name=chcp.com
21-
Processes.parent_process_name = cmd.exe (Processes.parent_process=*/c* OR Processes.parent_process=*/k*)
22-
by Processes.process_name Processes.process Processes.parent_process_name Processes.parent_process
20+
by Processes.process_name Processes.process Processes.parent_process_name Processes.parent_process
2321
Processes.process_id Processes.parent_process_id Processes.dest Processes.user |
2422
`drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`
2523
| `chcp_command_execution_filter`'
@@ -32,8 +30,7 @@ how_to_implement: The detection is based on data that originates from Endpoint D
3230
the EDR product. The logs must also be mapped to the `Processes` node of the `Endpoint`
3331
data model. Use the Splunk Common Information Model (CIM) to normalize the field
3432
names and speed up the data modeling process.
35-
known_false_positives: other tools or script may used this to change code page to
36-
UTF-* or others
33+
known_false_positives: other tools or script may used this to change code page to UTF-* or others
3734
references:
3835
- https://ss64.com/nt/chcp.html
3936
- https://twitter.com/tccontre18/status/1419941156633329665?s=20

detections/endpoint/check_elevated_cmd_using_whoami.yml

+6-3
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,11 @@ date: '2024-11-13'
55
author: Teoderick Contreras, Splunk
66
status: production
77
type: TTP
8-
description: The following analytic identifies the execution of the 'whoami' command
9-
with specific parameters to check for elevated privileges. It leverages data from
8+
description: The following analytic identifies the execution of the "whoami" command
9+
with the "/group" flag, where the results are passed to the "find" command in order
10+
to look for a the string "12288". This string represents the SID of the group
11+
"Mandatory Label\High Mandatory Level" effectively checking if the current process
12+
is running as a "High" integrity process or with Administrator privileges. It leverages data from
1013
Endpoint Detection and Response (EDR) agents, focusing on process and command-line
1114
telemetry. This activity is significant because it is commonly used by attackers,
1215
such as FIN7, to perform reconnaissance on a compromised host. If confirmed malicious,
@@ -31,7 +34,7 @@ how_to_implement: The detection is based on data that originates from Endpoint D
3134
the EDR product. The logs must also be mapped to the `Processes` node of the `Endpoint`
3235
data model. Use the Splunk Common Information Model (CIM) to normalize the field
3336
names and speed up the data modeling process.
34-
known_false_positives: unknown
37+
known_false_positives: The combination of these commands is unlikely to occur in a production environment. Any matches should be investigated.
3538
references: []
3639
drilldown_searches:
3740
- name: View the detection results for - "$dest$" and "$user$"

detections/endpoint/system_processes_run_from_unexpected_locations.yml

+5-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
name: System Processes Run From Unexpected Locations
22
id: a34aae96-ccf8-4aef-952c-3ea21444444d
3-
version: 10
4-
date: '2025-02-10'
5-
author: David Dorsey, Michael Haag, Splunk
3+
version: 11
4+
date: '2025-03-03'
5+
author: David Dorsey, Michael Haag, Nasreddine Bencherchali, Splunk
66
status: production
77
type: Anomaly
88
description: The following analytic identifies system processes running from unexpected
9-
locations outside `C:\Windows\System32\` or `C:\Windows\SysWOW64`. It leverages
9+
locations outside of paths such as `C:\Windows\System32\` or `C:\Windows\SysWOW64`. It leverages
1010
data from Endpoint Detection and Response (EDR) agents, focusing on process paths,
1111
names, and hashes. This activity is significant as it may indicate a malicious process
1212
attempting to masquerade as a legitimate system process. If confirmed malicious,
@@ -17,8 +17,7 @@ data_source:
1717
- Windows Event Log Security 4688
1818
- CrowdStrike ProcessRollup2
1919
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
20-
as lastTime FROM datamodel=Endpoint.Processes where Processes.process_path !="C:\\Windows\\System32*"
21-
Processes.process_path !="C:\\Windows\\SysWOW64*" by Processes.dest Processes.user
20+
as lastTime FROM datamodel=Endpoint.Processes where NOT Processes.process_path IN ("C:\\$WINDOWS.~BT\\*", "C:\\$WinREAgent\\*", "C:\\Windows\\SoftwareDistribution\\*", "C:\\Windows\\System32\\*", "C:\\Windows\\SystemTemp\\*", "C:\\Windows\\SysWOW64\\*", "C:\\Windows\\uus\\*", "C:\\Windows\\WinSxS\\*") by Processes.dest Processes.user
2221
Processes.parent_process Processes.process_path Processes.process_name Processes.process
2322
Processes.process_id Processes.parent_process_id Processes.process_hash | `drop_dm_object_name("Processes")`
2423
| `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)`| `is_windows_system_file_macro`
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: Windows File Download Via CertUtil
2+
id: 7fac8d40-e370-45ea-a4a3-031bbcc18b02
3+
version: 1
4+
date: '2025-03-03'
5+
author: Nasreddine Bencherchali, Michael Haag, Splunk
6+
status: production
7+
type: TTP
8+
description: The following analytic detects the use of `certutil.exe` to download files using the `-URL`, `-urlcache` or '-verifyctl' arguments. This behavior is identified by monitoring command-line executions for these specific arguments via Endpoint Detection and Response (EDR) telemetry. This activity is significant because `certutil.exe` is a legitimate tool often abused by attackers to download and execute malicious payloads. If confirmed malicious, this could allow an attacker to download and execute arbitrary files, potentially leading to code execution, data exfiltration, or further compromise of the system.
9+
data_source:
10+
- Sysmon EventID 1
11+
- Windows Event Log Security 4688
12+
- CrowdStrike ProcessRollup2
13+
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
14+
as lastTime from datamodel=Endpoint.Processes where `process_certutil` AND ((Processes.process IN ("*-URL *", "*/URL *")) OR (Processes.process IN ("*urlcache*", "*verifyctl*") AND Processes.process IN ("*/f *", "*-f *"))) by Processes.dest Processes.user Processes.parent_process Processes.parent_process_name Processes.process_name Processes.process Processes.original_file_name Processes.process_id Processes.parent_process_id | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `windows_file_download_via_certutil_filter`'
15+
how_to_implement: The detection is based on data that originates from Endpoint Detection
16+
and Response (EDR) agents. These agents are designed to provide security-related
17+
telemetry from the endpoints where the agent is installed. To implement this search,
18+
you must ingest logs that contain the process GUID, process name, and parent process.
19+
Additionally, you must ingest complete command-line executions. These logs must
20+
be processed using the appropriate Splunk Technology Add-ons that are specific to
21+
the EDR product. The logs must also be mapped to the `Processes` node of the `Endpoint`
22+
data model. Use the Splunk Common Information Model (CIM) to normalize the field
23+
names and speed up the data modeling process.
24+
known_false_positives: Limited false positives in most environments, however tune
25+
as needed based on parent-child relationship or network connection.
26+
references:
27+
- https://attack.mitre.org/techniques/T1105/
28+
- https://www.hexacorn.com/blog/2020/08/23/certutil-one-more-gui-lolbin/
29+
- https://www.avira.com/en/blog/certutil-abused-by-attackers-to-spread-threats
30+
- https://web.archive.org/web/20210921110637/https://www.fireeye.com/blog/threat-research/2019/10/certutil-qualms-they-came-to-drop-fombs.html
31+
- https://lolbas-project.github.io/lolbas/Binaries/Certutil/
32+
- https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/cc732443(v=ws.11)#-verifyctl
33+
drilldown_searches:
34+
- name: View the detection results for - "$user$" and "$dest$"
35+
search: '%original_detection_search% | search user = "$user$" dest = "$dest$"'
36+
earliest_offset: $info_min_time$
37+
latest_offset: $info_max_time$
38+
- name: View risk events for the last 7 days for - "$user$" and "$dest$"
39+
search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$user$",
40+
"$dest$") starthoursago=168 | stats count min(_time) as firstTime max(_time)
41+
as lastTime values(search_name) as "Search Name" values(risk_message) as "Risk
42+
Message" values(analyticstories) as "Analytic Stories" values(annotations._all)
43+
as "Annotations" values(annotations.mitre_attack.mitre_tactic) as "ATT&CK Tactics"
44+
by normalized_risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`'
45+
earliest_offset: $info_min_time$
46+
latest_offset: $info_max_time$
47+
rba:
48+
message: An instance of $parent_process_name$ spawning $process_name$ was identified
49+
on endpoint $dest$ by user $user$ attempting to download a file.
50+
risk_objects:
51+
- field: user
52+
type: user
53+
score: 90
54+
- field: dest
55+
type: system
56+
score: 90
57+
threat_objects:
58+
- field: parent_process_name
59+
type: parent_process_name
60+
- field: process_name
61+
type: process_name
62+
tags:
63+
analytic_story:
64+
- Living Off The Land
65+
- Ingress Tool Transfer
66+
- ProxyNotShell
67+
- DarkSide Ransomware
68+
- Forest Blizzard
69+
- Flax Typhoon
70+
- Compromised Windows Host
71+
- CISA AA22-277A
72+
asset_type: Endpoint
73+
mitre_attack_id:
74+
- T1105
75+
product:
76+
- Splunk Enterprise
77+
- Splunk Enterprise Security
78+
- Splunk Cloud
79+
security_domain: endpoint
80+
tests:
81+
- name: True Positive Test
82+
attack_data:
83+
- data:
84+
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1105/atomic_red_team/windows-sysmon.log
85+
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
86+
sourcetype: XmlWinEventLog

detections/endpoint/windows_process_with_namedpipe_commandline.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: Windows Process With NamedPipe CommandLine
22
id: e64399d4-94a8-11ec-a9da-acde48001122
3-
version: 4
4-
date: '2024-11-13'
3+
version: 5
4+
date: '2025-03-03'
55
author: Teoderick Contreras, Splunk
66
status: production
77
type: Anomaly
@@ -19,7 +19,7 @@ data_source:
1919
- CrowdStrike ProcessRollup2
2020
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
2121
as lastTime from datamodel=Endpoint.Processes where Processes.process = "*\\\\.\\pipe\\*"
22-
NOT (Processes.process_path IN ("*\\program files*")) by Processes.parent_process_name
22+
NOT Processes.process_path IN ("C:\\Program Files\\*", "C:\\Program Files (x86)\\*") by Processes.parent_process_name
2323
Processes.parent_process Processes.process_name Processes.process Processes.original_file_name
2424
Processes.process_id Processes.parent_process_path Processes.process_guid Processes.parent_process_id
2525
Processes.dest Processes.user Processes.process_path | `drop_dm_object_name(Processes)`

detections/endpoint/windows_query_registry_browser_list_application.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: Windows Query Registry Browser List Application
22
id: 45ebd21c-f4bf-4ced-bd49-d25b6526cebb
3-
version: 4
4-
date: '2024-11-13'
3+
version: 5
4+
date: '2025-03-03'
55
author: Teoderick Contreras, Splunk
66
status: production
77
type: Anomaly
@@ -16,8 +16,8 @@ description: The following analytic detects a suspicious process accessing the r
1616
confirmed malicious, this behavior could enable attackers to exfiltrate sensitive
1717
information and compromise user accounts.
1818
search: '`wineventlog_security` EventCode=4663 object_file_path IN ("*\\SOFTWARE\\Clients\\StartMenuInternet\\*",
19-
"*\\SOFTWARE\\Clients\\StartMenuInternet\\*") AND NOT (process_path IN ("*:\\Windows\\System32\\*",
20-
"*:\\Windows\\SysWow64\\*", "*:\\Program Files*", "*:\\Windows\\*")) | stats count
19+
"*\\SOFTWARE\\Clients\\StartMenuInternet\\*") AND NOT process_path IN ("*:\\Windows\\System32\\*",
20+
"*:\\Windows\\SysWow64\\*", *:\\Windows\\WinSxS\\*, "*:\\Program Files\\*", "*:\\Program Files (x86)\\*") | stats count
2121
min(_time) as firstTime max(_time) as lastTime by object_file_name object_file_path
2222
process_name process_path process_id EventCode dest | `security_content_ctime(firstTime)`
2323
| `security_content_ctime(lastTime)` | `windows_query_registry_browser_list_application_filter`'

detections/endpoint/windows_user_execution_malicious_url_shortcut_file.yml

+12-17
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,18 @@
11
name: Windows User Execution Malicious URL Shortcut File
22
id: 5c7ee6ad-baf4-44fb-b2f0-0cfeddf82dbc
3-
version: 5
4-
date: '2025-02-10'
5-
author: Teoderick Contreras, Splunk
3+
version: 6
4+
date: '2025-03-03'
5+
author: Teoderick Contreras, Nasreddine Bencherchali, Splunk
66
status: production
7-
type: TTP
8-
description: The following analytic detects the creation of suspicious URL shortcut
9-
link files, often used by malware like CHAOS ransomware. It leverages the Endpoint.Filesystem
10-
datamodel to identify .url files created outside standard directories, such as Program
11-
Files. This activity is significant as it may indicate an attempt to execute malicious
12-
code upon system reboot. If confirmed malicious, this could allow an attacker to
13-
achieve persistence and execute harmful payloads, potentially leading to further
14-
system compromise and data loss.
7+
type: Anomaly
8+
description: The following analytic detects the creation URL shortcut files, often used by malware like CHAOS ransomware.
9+
It leverages the Endpoint.Filesystem datamodel to identify ".url" files created outside common directories, such as "Program Files".
10+
This activity can be significant as ".URL" files can be used as mean to trick the user into visiting certain websites unknowingly, or when placed in certain locations such as "\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\", it may allow the execution of malicious code upon system reboot. If confirmed malicious, this could allow an attacker to achieve persistence and execute harmful payloads, potentially leading to further system compromise and data loss.
1511
data_source:
1612
- Sysmon EventID 11
1713
search: '|tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
18-
as lastTime from datamodel=Endpoint.Filesystem where NOT(Filesystem.file_path IN
19-
("*\\Program Files*")) Filesystem.file_name = *.url by Filesystem.file_create_time
20-
Filesystem.process_id Filesystem.file_name Filesystem.user Filesystem.file_path
14+
as lastTime from datamodel=Endpoint.Filesystem where NOT Filesystem.file_path IN
15+
("*:\\Program Files\\*", "*:\\Program Files (x86)\\*", "*\\AppData\\Roaming\\Microsoft\\Office\\Recent\\*", "*:\\Windows\\WinSxS\\*") Filesystem.file_name=*.url by Filesystem.file_create_time Filesystem.process_id Filesystem.file_name Filesystem.user Filesystem.file_path
2116
Filesystem.process_guid Filesystem.dest | `drop_dm_object_name(Filesystem)` | `security_content_ctime(firstTime)`
2217
| `security_content_ctime(lastTime)` | `windows_user_execution_malicious_url_shortcut_file_filter`'
2318
how_to_implement: To successfully implement this search you need to be ingesting information
@@ -43,14 +38,14 @@ drilldown_searches:
4338
earliest_offset: $info_min_time$
4439
latest_offset: $info_max_time$
4540
rba:
46-
message: a process created URL shortcut file in $file_path$ of $dest$
41+
message: A process created a .URL shortcut file in $file_path$ of $dest$
4742
risk_objects:
4843
- field: user
4944
type: user
50-
score: 64
45+
score: 50
5146
- field: dest
5247
type: system
53-
score: 64
48+
score: 50
5449
threat_objects: []
5550
tags:
5651
analytic_story:

detections/network/protocols_passing_authentication_in_cleartext.yml

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
name: Protocols passing authentication in cleartext
22
id: 6923cd64-17a0-453c-b945-81ac2d8c6db9
3-
version: 6
4-
date: '2024-11-15'
3+
version: 7
4+
date: '2025-03-03'
55
author: Rico Valdez, Splunk
66
status: experimental
7-
type: TTP
7+
type: Anomaly
88
description: The following analytic identifies the use of cleartext protocols that
99
risk leaking sensitive information. It detects network traffic on legacy protocols
1010
such as Telnet (port 23), POP3 (port 110), IMAP (port 143), and non-anonymous FTP
@@ -25,8 +25,7 @@ how_to_implement: This search requires you to be ingesting your network traffic,
2525
populating the Network_Traffic data model. For more accurate result it's better
2626
to limit destination to organization private and public IP range, like All_Traffic.dest
2727
IN(192.168.0.0/16,172.16.0.0/12,10.0.0.0/8, x.x.x.x/22)
28-
known_false_positives: Some networks may use kerberized FTP or telnet servers, however,
29-
this is rare.
28+
known_false_positives: Some networks may use kerberos, FTP or telnet servers, however, this is rare.
3029
references:
3130
- https://www.rackaid.com/blog/secure-your-email-and-file-transfers/
3231
- https://www.infosecmatter.com/capture-passwords-using-wireshark/

0 commit comments

Comments
 (0)