Skip to content

Commit 041054c

Browse files
authored
Merge pull request #3417 from splunk/ZDI-CAN-25373
Clear and Present Haag-er: ZDI-CAN-25373
2 parents 4524115 + deb9ca1 commit 041054c

File tree

4 files changed

+175
-0
lines changed

4 files changed

+175
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Windows Explorer.exe Spawning PowerShell or Cmd
2+
id: 593854c5-2182-49dd-9f31-18ef697445b9
3+
version: 1
4+
date: '2025-03-24'
5+
author: Michael Haag, AJ King, Splunk, Jesse Hunter, Splunk Community Contributor
6+
status: production
7+
type: Hunting
8+
description: This detection identifies instances where Windows Explorer.exe spawns PowerShell or cmd.exe processes, particularly focusing on executions initiated by LNK files. This behavior is associated with the ZDI-CAN-25373 Windows shortcut zero-day vulnerability, where specially crafted LNK files are used to trigger malicious code execution through cmd.exe or powershell.exe. This technique has been actively exploited by multiple APT groups in targeted attacks through both HTTP and SMB delivery methods.
9+
data_source:
10+
- Sysmon EventID 1
11+
- Windows Event Log Security 4688
12+
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.parent_process_path="*\\explorer.exe" `process_powershell` OR `process_cmd` by Processes.dest Processes.process_current_directory Processes.process_path Processes.process Processes.original_file_name Processes.parent_process Processes.parent_process_name Processes.parent_process_path Processes.parent_process_guid Processes.parent_process_id Processes.process_guid Processes.process_id Processes.user | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `windows_explorer_exe_spawning_powershell_or_cmd_filter`'
13+
how_to_implement: The detection is based on data that originates from Endpoint Detection and Response (EDR) agents. These agents are designed to provide security-related telemetry from the endpoints where the agent is installed. To implement this search, you must ingest logs that contain the process GUID, process name, and parent process. Additionally, you must ingest complete command-line executions. These logs must be processed using the appropriate Splunk Technology Add-ons that are specific to the EDR product. The logs must also be mapped to the `Processes` node of the `Endpoint` data model. Use the Splunk Common Information Model (CIM) to normalize the field names and speed up the data modeling process.
14+
known_false_positives: Some legitimate user actions may trigger Explorer.exe to spawn PowerShell or cmd.exe, such as right-clicking and selecting "Open PowerShell window here" or similar options. Filter as needed based on your environment's normal behavior patterns.
15+
references:
16+
- https://www.zerodayinitiative.com/advisories/ZDI-CAN-25373/
17+
- https://www.trendmicro.com/en_us/research/25/c/windows-shortcut-zero-day-exploit.html
18+
tags:
19+
analytic_story:
20+
- ZDI-CAN-25373 Windows Shortcut Exploit Abused as Zero-Day
21+
asset_type: Endpoint
22+
mitre_attack_id:
23+
- T1059.001
24+
- T1204.002
25+
product:
26+
- Splunk Enterprise
27+
- Splunk Enterprise Security
28+
- Splunk Cloud
29+
security_domain: endpoint
30+
tests:
31+
- name: True Positive Test
32+
attack_data:
33+
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.001/encoded_powershell/explorer_spawns_windows-sysmon.log
34+
sourcetype: XmlWinEventLog
35+
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Windows Explorer LNK Exploit Process Launch With Padding
2+
id: 8775fcf3-05e4-4525-bba2-a56e39d8d050
3+
version: 1
4+
date: '2025-03-24'
5+
author: Michael Haag, AJ King, Splunk, Jesse Hunter, Splunk Community Contributor
6+
status: production
7+
type: TTP
8+
description: This detection identifies instances where Windows Explorer.exe spawns PowerShell or cmd.exe processes with abnormally large padding (50 or more spaces) in the command line. This specific pattern is a key indicator of the ZDI-CAN-25373 Windows shortcut zero-day vulnerability exploitation, where threat actors craft malicious LNK files containing padded content to trigger code execution. The excessive spacing in the command line is used to manipulate the way Windows processes the shortcut file, enabling arbitrary code execution. This technique has been actively exploited by multiple APT groups in targeted attacks, with malicious LNK files being delivered through both HTTP and SMB protocols. The presence of significant command line padding when Explorer.exe launches command shells is highly suspicious and warrants immediate investigation.
9+
data_source:
10+
- Sysmon EventID 1
11+
- Windows Event Log Security 4688
12+
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes
13+
where Processes.parent_process_path="*\\explorer.exe"
14+
(Processes.process_path="*\\cmd.exe" OR Processes.process_path="*\\powershell.exe")
15+
by Processes.dest Processes.process_current_directory Processes.process_path Processes.process Processes.original_file_name Processes.parent_process Processes.parent_process_name Processes.parent_process_path
16+
Processes.parent_process_guid Processes.parent_process_id Processes.process_guid
17+
Processes.process_id Processes.user
18+
| `drop_dm_object_name(Processes)`
19+
| regex process=".*?\s{50,}.*"
20+
| `windows_explorer_lnk_exploit_process_launch_with_padding_filter`'
21+
how_to_implement: The detection is based on data that originates from Endpoint Detection and Response (EDR) agents. These agents are designed to provide security-related telemetry from the endpoints where the agent is installed. To implement this search, you must ingest logs that contain the process GUID, process name, and parent process. Additionally, you must ingest complete command-line executions. These logs must be processed using the appropriate Splunk Technology Add-ons that are specific to the EDR product. The logs must also be mapped to the `Processes` node of the `Endpoint` data model. Use the Splunk Common Information Model (CIM) to normalize the field names and speed up the data modeling process.
22+
known_false_positives: Some legitimate user actions may trigger Explorer.exe to spawn PowerShell or cmd.exe, such as right-clicking and selecting "Open PowerShell window here" or similar options. Filter as needed based on your environment's normal behavior patterns. Reduce or increase the padding threshold based on observed false positives.
23+
references:
24+
- https://www.trendmicro.com/en_us/research/25/c/windows-shortcut-zero-day-exploit.html
25+
drilldown_searches:
26+
- name: View the detection results for - "$user$" and "$dest$"
27+
search: '%original_detection_search% | search user = "$user$" dest = "$dest$"'
28+
earliest_offset: $info_min_time$
29+
latest_offset: $info_max_time$
30+
- name: View risk events for the last 7 days for - "$user$" and "$dest$"
31+
search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$user$", "$dest$") starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories) as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic) as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`'
32+
earliest_offset: $info_min_time$
33+
latest_offset: $info_max_time$
34+
rba:
35+
message: Windows Explorer.exe spawning PowerShell or cmd.exe with excessive padding (50+ spaces) on $dest$ by $user$.
36+
risk_objects:
37+
- field: dest
38+
type: system
39+
score: 80
40+
- field: user
41+
type: user
42+
score: 80
43+
threat_objects:
44+
- field: parent_process_name
45+
type: parent_process_name
46+
tags:
47+
analytic_story:
48+
- ZDI-CAN-25373 Windows Shortcut Exploit Abused as Zero-Day
49+
asset_type: Endpoint
50+
mitre_attack_id:
51+
- T1059.001
52+
- T1204.002
53+
product:
54+
- Splunk Enterprise
55+
- Splunk Enterprise Security
56+
- Splunk Cloud
57+
security_domain: endpoint
58+
tests:
59+
- name: True Positive Test
60+
attack_data:
61+
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.001/encoded_powershell/padded_windows-sysmon.log
62+
sourcetype: XmlWinEventLog
63+
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Windows SSH Proxy Command
2+
id: ac520039-21f1-4567-b528-5b7133dba76f
3+
version: 1
4+
date: '2025-03-24'
5+
author: Michael Haag, AJ King, Splunk, Jesse Hunter, Splunk Community Contributor
6+
status: production
7+
type: Anomaly
8+
description: This detection identifies potential abuse of SSH ProxyCommand by monitoring for suspicious process execution patterns. Specifically, it looks for instances where ssh.exe (as a parent process) containing "ProxyCommand" in its arguments spawns potentially malicious child processes like mshta, powershell, wscript, or cscript, or processes containing "http" in their command line. This technique can be used by attackers to execute arbitrary commands through SSH proxy configurations, potentially enabling command & control activities or remote code execution. The detection focuses on commonly abused Windows scripting engines and web requests that may indicate malicious activity when spawned through SSH proxy commands.
9+
data_source:
10+
- Sysmon EventID 1
11+
- Windows Event Log Security 4688
12+
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.parent_process_path="*\\ssh.exe" Processes.parent_process IN ("*ProxyCommand*") Processes.process IN ("*mshta*","*powershell*","*http*","*wscript*","*cscript*") by Processes.dest Processes.parent_process Processes.parent_process_path Processes.parent_process_name Processes.parent_process_guid Processes.process_path Processes.process Processes.original_file_name Processes.parent_process_id Processes.process_guid Processes.process_current_directory Processes.process_id Processes.user | `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)`| `security_content_ctime(lastTime)` | `windows_ssh_proxy_command_filter`'
13+
how_to_implement: The detection is based on data that originates from Endpoint Detection and Response (EDR) agents. These agents are designed to provide security-related telemetry from the endpoints where the agent is installed. To implement this search, you must ingest logs that contain the process GUID, process name, and parent process. Additionally, you must ingest complete command-line executions. These logs must be processed using the appropriate Splunk Technology Add-ons that are specific to the EDR product. The logs must also be mapped to the `Processes` node of the `Endpoint` data model. Use the Splunk Common Information Model (CIM) to normalize the field names and speed up the data modeling process.
14+
known_false_positives: Legitimate use of SSH ProxyCommand with scripting engines may trigger this detection. Filter as needed based on your environment's normal SSH usage patterns and authorized scripting activities.
15+
references:
16+
- https://www.virustotal.com/gui/file/c33f82868dbbfc3ab03918f430b1a348499f5baf047b136ff0a4fc3e8addaa9b/detection
17+
- https://attack.mitre.org/techniques/T1572/
18+
drilldown_searches:
19+
- name: View the detection results for - "$user$" and "$dest$"
20+
search: '%original_detection_search% | search user = "$user$" dest = "$dest$"'
21+
earliest_offset: $info_min_time$
22+
latest_offset: $info_max_time$
23+
- name: View risk events for the last 7 days for - "$user$" and "$dest$"
24+
search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$user$", "$dest$") starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories) as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic) as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`'
25+
earliest_offset: $info_min_time$
26+
latest_offset: $info_max_time$
27+
rba:
28+
message: Suspicious process execution detected through SSH ProxyCommand on $dest$ by user $user$
29+
risk_objects:
30+
- field: dest
31+
type: system
32+
score: 60
33+
- field: user
34+
type: user
35+
score: 40
36+
threat_objects:
37+
- field: parent_process_name
38+
type: parent_process_name
39+
tags:
40+
analytic_story:
41+
- ZDI-CAN-25373 Windows Shortcut Exploit Abused as Zero-Day
42+
- Living Off The Land
43+
asset_type: Endpoint
44+
mitre_attack_id:
45+
- T1572
46+
- T1059.001
47+
- T1105
48+
product:
49+
- Splunk Enterprise
50+
- Splunk Enterprise Security
51+
- Splunk Cloud
52+
security_domain: endpoint
53+
tests:
54+
- name: True Positive Test
55+
attack_data:
56+
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1572/ssh_proxy_command/sshproxycommand_windows-sysmon.log
57+
sourcetype: XmlWinEventLog
58+
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: ZDI-CAN-25373 Windows Shortcut Exploit Abused as Zero-Day
2+
id: 41a6bda1-fdd4-479e-a685-25c838d26b6b
3+
version: 1
4+
status: production
5+
date: '2025-03-24'
6+
author: Michael Haag, AJ King, Splunk
7+
description: This story addresses a critical Windows shortcut zero-day vulnerability (ZDI-CAN-25373) that has been actively exploited in widespread APT campaigns. The vulnerability allows attackers to execute malicious code through specially crafted LNK files, which can be delivered via both HTTP and SMB protocols. This exploit has been observed being used by multiple threat actors in targeted attacks.
8+
narrative: The Windows shortcut zero-day vulnerability (ZDI-CAN-25373) represents a significant security threat that has been actively exploited in the wild. The exploit involves specially crafted LNK files that contain padded content designed to trigger code execution. These malicious shortcuts can be delivered through both HTTP and SMB protocols, making them particularly versatile for attackers. Multiple APT groups, including Water Glashtyn, Earth Iktomi, Water Poukai, and others, have been observed leveraging this vulnerability in their campaigns. The attack typically involves suspicious cmd.exe, ssh.exe or powershell.exe execution from LNK files, which can be detected through specific process execution patterns. This vulnerability poses a serious risk to Windows systems and requires immediate attention for detection and mitigation.
9+
references:
10+
- https://www.zerodayinitiative.com/advisories/ZDI-25-373/
11+
- https://www.trendmicro.com/en_us/research/25/c/windows-shortcut-zero-day-exploit.html
12+
tags:
13+
category:
14+
- Adversary Tactics
15+
product:
16+
- Splunk Enterprise
17+
- Splunk Enterprise Security
18+
- Splunk Cloud
19+
usecase: Advanced Threat Detection

0 commit comments

Comments
 (0)