Windows Subsystem for Linux Enabled via Dism Utility
Detects attempts to enable the Windows Subsystem for Linux using Microsoft Dism utility. Adversaries may enable and use WSL for Linux to avoid detection.
Elastic rule (View on GitHub)
1[metadata]
2creation_date = "2023/01/13"
3integration = ["endpoint", "windows", "system", "m365_defender", "sentinel_one_cloud_funnel", "crowdstrike"]
4maturity = "production"
5updated_date = "2024/11/02"
6min_stack_version = "8.14.0"
7min_stack_comments = "Breaking change at 8.14.0 for the Windows Integration."
8
9[rule]
10author = ["Elastic"]
11description = """
12Detects attempts to enable the Windows Subsystem for Linux using Microsoft Dism utility. Adversaries may enable and use
13WSL for Linux to avoid detection.
14"""
15from = "now-9m"
16index = [
17 "winlogbeat-*",
18 "logs-endpoint.events.process-*",
19 "logs-windows.forwarded*",
20 "logs-windows.sysmon_operational-*",
21 "endgame-*",
22 "logs-system.security*",
23 "logs-m365_defender.event-*",
24 "logs-sentinel_one_cloud_funnel.*",
25 "logs-crowdstrike.fdr*",
26]
27language = "eql"
28license = "Elastic License v2"
29name = "Windows Subsystem for Linux Enabled via Dism Utility"
30note = """## Triage and analysis
31
32### Investigating Windows Subsystem for Linux Enabled via Dism Utility
33
34The Windows Subsystem for Linux (WSL) lets developers install a Linux distribution (such as Ubuntu, OpenSUSE, Kali, Debian, Arch Linux, etc) and use Linux applications, utilities, and Bash command-line tools directly on Windows, unmodified, without the overhead of a traditional virtual machine or dualboot setup. Attackers may abuse WSL to avoid security protections on a Windows host and perform a wide range of attacks.
35
36This rule identifies attempts to enable WSL using the Dism utility. It monitors for the execution of Dism and checks if the command line contains the string "Microsoft-Windows-Subsystem-Linux".
37
38### Possible investigation steps
39
40- Identify the user account that performed the action and whether it should perform this kind of action.
41- Contact the account owner and confirm whether they are aware of this activity.
42- Investigate other alerts associated with the user/host during the past 48 hours.
43- Validate the activity is not related to planned patches, updates, network administrator activity, or legitimate software installations.
44- Assess whether this behavior is prevalent in the environment by looking for similar occurrences across hosts.
45
46### False positive analysis
47
48- This is a dual-use tool, meaning its usage is not inherently malicious. Analysts can dismiss the alert if the administrator is aware of the activity, no other suspicious activity was identified, and WSL is homologated and approved in the environment.
49
50### Related Rules
51
52- Execution via Windows Subsystem for Linux - db7dbad5-08d2-4d25-b9b1-d3a1e4a15efd
53- Suspicious Execution via Windows Subsystem for Linux - 3e0eeb75-16e8-4f2f-9826-62461ca128b7
54- Host Files System Changes via Windows Subsystem for Linux - e88d1fe9-b2f4-48d4-bace-a026dc745d4b
55- Windows Subsystem for Linux Distribution Installed - a1699af0-8e1e-4ed0-8ec1-89783538a061
56
57### Response and Remediation
58
59- Initiate the incident response process based on the outcome of the triage.
60- Isolate the involved host to prevent further post-compromise behavior.
61- Run a full antimalware scan. This may reveal additional artifacts left in the system, persistence mechanisms, and malware components.
62- Investigate credential exposure on systems compromised or used by the attacker to ensure all compromised accounts are identified. Reset passwords for these accounts and other potentially compromised credentials, such as email, business systems, and web services.
63- Determine the initial vector abused by the attacker and take action to prevent reinfection through the same vector.
64- Using the incident response data, update logging and audit policies to improve the mean time to detect (MTTD) and the mean time to respond (MTTR).
65"""
66references = ["https://blog.f-secure.com/hunting-for-windows-subsystem-for-linux/"]
67risk_score = 47
68rule_id = "e2e0537d-7d8f-4910-a11d-559bcf61295a"
69severity = "medium"
70tags = [
71 "Domain: Endpoint",
72 "OS: Windows",
73 "Use Case: Threat Detection",
74 "Tactic: Defense Evasion",
75 "Data Source: Elastic Endgame",
76 "Data Source: Elastic Defend",
77 "Data Source: System",
78 "Data Source: Microsoft Defender for Endpoint",
79 "Data Source: Sysmon",
80 "Data Source: SentinelOne",
81 "Data Source: Crowdstrike",
82]
83timestamp_override = "event.ingested"
84type = "eql"
85
86query = '''
87process where host.os.type == "windows" and event.type : "start" and
88 (process.name : "Dism.exe" or ?process.pe.original_file_name == "DISM.EXE") and
89 process.command_line : "*Microsoft-Windows-Subsystem-Linux*"
90'''
91
92
93[[rule.threat]]
94framework = "MITRE ATT&CK"
95[[rule.threat.technique]]
96id = "T1202"
97name = "Indirect Command Execution"
98reference = "https://attack.mitre.org/techniques/T1202/"
99
100
101[rule.threat.tactic]
102id = "TA0005"
103name = "Defense Evasion"
104reference = "https://attack.mitre.org/tactics/TA0005/"
Triage and analysis
Investigating Windows Subsystem for Linux Enabled via Dism Utility
The Windows Subsystem for Linux (WSL) lets developers install a Linux distribution (such as Ubuntu, OpenSUSE, Kali, Debian, Arch Linux, etc) and use Linux applications, utilities, and Bash command-line tools directly on Windows, unmodified, without the overhead of a traditional virtual machine or dualboot setup. Attackers may abuse WSL to avoid security protections on a Windows host and perform a wide range of attacks.
This rule identifies attempts to enable WSL using the Dism utility. It monitors for the execution of Dism and checks if the command line contains the string "Microsoft-Windows-Subsystem-Linux".
Possible investigation steps
- Identify the user account that performed the action and whether it should perform this kind of action.
- Contact the account owner and confirm whether they are aware of this activity.
- Investigate other alerts associated with the user/host during the past 48 hours.
- Validate the activity is not related to planned patches, updates, network administrator activity, or legitimate software installations.
- Assess whether this behavior is prevalent in the environment by looking for similar occurrences across hosts.
False positive analysis
- This is a dual-use tool, meaning its usage is not inherently malicious. Analysts can dismiss the alert if the administrator is aware of the activity, no other suspicious activity was identified, and WSL is homologated and approved in the environment.
Related Rules
- Execution via Windows Subsystem for Linux - db7dbad5-08d2-4d25-b9b1-d3a1e4a15efd
- Suspicious Execution via Windows Subsystem for Linux - 3e0eeb75-16e8-4f2f-9826-62461ca128b7
- Host Files System Changes via Windows Subsystem for Linux - e88d1fe9-b2f4-48d4-bace-a026dc745d4b
- Windows Subsystem for Linux Distribution Installed - a1699af0-8e1e-4ed0-8ec1-89783538a061
Response and Remediation
- Initiate the incident response process based on the outcome of the triage.
- Isolate the involved host to prevent further post-compromise behavior.
- Run a full antimalware scan. This may reveal additional artifacts left in the system, persistence mechanisms, and malware components.
- Investigate credential exposure on systems compromised or used by the attacker to ensure all compromised accounts are identified. Reset passwords for these accounts and other potentially compromised credentials, such as email, business systems, and web services.
- Determine the initial vector abused by the attacker and take action to prevent reinfection through the same vector.
- Using the incident response data, update logging and audit policies to improve the mean time to detect (MTTD) and the mean time to respond (MTTR).
References
Related rules
- IIS HTTP Logging Disabled
- ImageLoad via Windows Update Auto Update Client
- Remote Desktop Enabled in Windows Firewall by Netsh
- Suspicious CertUtil Commands
- Windows Firewall Disabled via PowerShell