Elastic medium stable eql
Execution via Windows Subsystem for Linux
Detects attempts to execute a program on the host from the Windows Subsystem for Linux. Adversaries may enable and use WSL for Linux to avoid detection.
Detection Logic
process where host.os.type == "windows" and event.type : "start" and process.command_line != null and
process.parent.name : ("wsl.exe", "wslhost.exe") and
not process.executable : (
"?:\\Program Files (x86)\\*",
"?:\\Program Files\\*",
"?:\\Program Files*\\WindowsApps\\MicrosoftCorporationII.WindowsSubsystemForLinux_*\\wsl*.exe",
"?:\\Windows\\System32\\conhost.exe",
"?:\\Windows\\System32\\lxss\\wslhost.exe",
"?:\\Windows\\System32\\WerFault.exe",
"?:\\Windows\\System32\\wsl.exe",
"?:\\Windows\\Sys?????\\wslconfig.exe"
) and
not (
/* Crowdstrike specific exclusion as it uses NT Object paths */
(data_stream.dataset == "crowdstrike.fdr" or event.action == "ProcessRollup2") and
process.executable : (
"\\Device\\HarddiskVolume*\\Program Files (x86)\\*",
"\\Device\\HarddiskVolume*\\Program Files\\*",
"\\Device\\HarddiskVolume*\\Program Files*\\WindowsApps\\MicrosoftCorporationII.WindowsSubsystemForLinux_*\\wsl*.exe",
"\\Device\\HarddiskVolume*\\Windows\\System32\\conhost.exe",
"\\Device\\HarddiskVolume*\\Windows\\System32\\lxss\\wslhost.exe",
"\\Device\\HarddiskVolume*\\Windows\\System32\\WerFault.exe",
"\\Device\\HarddiskVolume*\\Windows\\System32\\wsl.exe",
"\\Device\\HarddiskVolume*\\Windows\\Sys?????\\wslconfig.exe"
)
) and
not (
(process.name : "cmd.exe" and process.command_line : "*echo*%USERPROFILE%*") or
(process.name : "git.exe" and process.command_line : "git.exe -c log.*") or
(process.name : "powershell.exe" and process.command_line : "powershell.exe -Command $env:USERPROFILE") or
(process.name : "Code.exe" and process.command_line : ("*cli.js --folder-uri=vscode-remote://wsl*", "ms-vscode-remote.remote-wsl"))
) Field Validations
Loading…
Comments (0)
Loading comments...