Detection rules › Sigma
Sigma rules: 27
Aruba Network Service Potential DLL Sideloading
#Detects potential DLL sideloading activity via the Aruba Networks Virtual Intranet Access "arubanetsvc.exe" process using DLL Search Order Hijacking
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Execution | |
| Stealth |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 7: Image loaded |
Rule Body
title: Aruba Network Service Potential DLL Sideloading
id: 90ae0469-0cee-4509-b67f-e5efcef040f7
status: test
description: Detects potential DLL sideloading activity via the Aruba Networks Virtual Intranet Access "arubanetsvc.exe" process using DLL Search Order Hijacking
references:
- https://twitter.com/wdormann/status/1616581559892545537?t=XLCBO9BziGzD7Bmbt8oMEQ&s=09
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-01-22
modified: 2023-03-15
tags:
- attack.privilege-escalation
- attack.persistence
- attack.execution
- attack.stealth
- attack.t1574.001
logsource:
category: image_load
product: windows
detection:
selection:
Image|endswith: '\arubanetsvc.exe'
ImageLoaded|endswith:
- '\wtsapi32.dll'
- '\msvcr100.dll'
- '\msvcp100.dll'
- '\dbghelp.dll'
- '\dbgcore.dll'
- '\wininet.dll'
- '\iphlpapi.dll'
- '\version.dll'
- '\cryptsp.dll'
- '\cryptbase.dll'
- '\wldp.dll'
- '\profapi.dll'
- '\sspicli.dll'
- '\winsta.dll'
- '\dpapi.dll'
filter:
ImageLoaded|startswith:
- 'C:\Windows\System32\'
- 'C:\Windows\SysWOW64\'
- 'C:\Windows\WinSxS\'
condition: selection and not filter
falsepositives:
- Unknown
level: high
Stages and Predicates
Stage 0: condition
selection and not filterStage 1: selection
selection:
Image|endswith: '\arubanetsvc.exe'
ImageLoaded|endswith:
- '\wtsapi32.dll'
- '\msvcr100.dll'
- '\msvcp100.dll'
- '\dbghelp.dll'
- '\dbgcore.dll'
- '\wininet.dll'
- '\iphlpapi.dll'
- '\version.dll'
- '\cryptsp.dll'
- '\cryptbase.dll'
- '\wldp.dll'
- '\profapi.dll'
- '\sspicli.dll'
- '\winsta.dll'
- '\dpapi.dll'
Stage 2: not filter
filter:
ImageLoaded|startswith:
- 'C:\Windows\System32\'
- 'C:\Windows\SysWOW64\'
- 'C:\Windows\WinSxS\'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
Image | ends_with |
| field:"Image" kind:ends_with value:"\arubanetsvc.exe" |
ImageLoaded | ends_with |
| field:"ImageLoaded" kind:ends_with |
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
ImageLoaded | starts_with | C:\Windows\SysWOW64\ | excludes:ImageLoaded field:"ImageLoaded" value:"C:\Windows\SysWOW64\" |
ImageLoaded | starts_with | C:\Windows\System32\ | excludes:ImageLoaded field:"ImageLoaded" value:"C:\Windows\System32\" |
ImageLoaded | starts_with | C:\Windows\WinSxS\ | excludes:ImageLoaded field:"ImageLoaded" value:"C:\Windows\WinSxS\" |
Audio Capture
#Detects attempts to record audio using the arecord and ecasound utilities.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Collection |
Telemetry Coverage
Rule Body
title: Audio Capture
id: a7af2487-9c2f-42e4-9bb9-ff961f0561d5
status: test
description: Detects attempts to record audio using the arecord and ecasound utilities.
references:
- https://linux.die.net/man/1/arecord
- https://linuxconfig.org/how-to-test-microphone-with-audio-linux-sound-architecture-alsa
- https://manpages.debian.org/unstable/ecasound/ecasound.1.en.html
- https://ecasound.seul.org/ecasound/Documentation/examples.html#fconversions
author: Pawel Mazur, Milad Cheraghi
date: 2021-09-04
modified: 2025-12-05
tags:
- attack.collection
- attack.t1123
logsource:
product: linux
service: auditd
detection:
selection_execve:
type: EXECVE
a0: arecord
a1: '-vv'
a2: '-fdat'
selection_syscall_memfd_create:
type: SYSCALL
exe|endswith: "/ecasound"
SYSCALL: 'memfd_create'
condition: 1 of selection_*
falsepositives:
- Unknown
level: low
Stages and Predicates
Stage 0: condition
1 of selection_*Stage 1: selection_execve
selection_execve:
type: EXECVE
a0: arecord
a1: '-vv'
a2: '-fdat'
Stage 2: selection_syscall_memfd_create
selection_syscall_memfd_create:
type: SYSCALL
exe|endswith: "/ecasound"
SYSCALL: 'memfd_create'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
SYSCALL | eq |
| field:"SYSCALL" kind:eq value:"memfd_create" |
a0 | eq |
| field:"a0" kind:eq value:"arecord" |
a1 | eq |
| field:"a1" kind:eq value:"-vv" |
a2 | eq |
| field:"a2" kind:eq value:"-fdat" |
exe | ends_with |
| field:"exe" kind:ends_with value:"/ecasound" |
type | eq |
| field:"type" kind:eq |
Backdoor introduction via registry permission change through WMI (DAMP)
#Detects scenarios where an attacker modifies registry permissions on a local or remote target in order to introduce a backdoor and dump hashes and credentials.
Known False Positives
- None
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Persistence | |
| Defense Impairment | |
| Credential Access |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Security-Auditing | Event ID 4674: An operation was attempted on a privileged object. |
Rule Body
title: Backdoor introduction via registry permission change through WMI (DAMP)
description: Detects scenarios where an attacker modifies registry permissions on a local or remote target in order to introduce a backdoor and dump hashes and credentials.
correlation: correlate TargetLogonId from ID 4624 with SubjectLogonId from ID 4674 to identify the source of the change.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0005-Defense%20Evasion/T1112-Modify%20registry
- https://github.com/HarmJ0y/DAMP
- https://threathunterplaybook.com/notebooks/windows/07_discovery/WIN-190625024610.html
- http://www.harmj0y.net/blog/activedirectory/remote-hash-extraction-on-demand-via-host-security-descriptor-modification/
- https://github.com/mitre/microsoft-windows-2012r2-memberserver-stig-baseline/blob/master/controls/V-1152.rb
- https://www.darkoperator.com/blog/2017/10/14/basics-of-tracking-wmi-activity
tags:
- attack.defense_evasion
- attack.t1112
- attack.credential_access
- attack.t1003.002 # SAM
- attack.t1003.004 # LSA Secrets
- attack.t1003.005 # Cached Domain Credentials
author: mdecrevoisier
status: experimental
logsource:
product: windows
service: security
detection:
selection:
EventID: 4674
ProcessName|endswith: '\System32\wbem\WmiPrvSE.exe'
ObjectServer: Security
ObjectType: Key
ObjectName|startswith:
- '\REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\SecurePipeServers\winreg' # controls access to remote registry
- '\REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\Lsa\Data' # required to calculate SysKey/bootkey
- '\REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\Lsa\GBG' # required to calculate SysKey/bootkey
- '\REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\Lsa\JD' # required to calculate SysKey/bootkey
- '\REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\Lsa\Skew1' # required to calculate SysKey/bootkey
- '\REGISTRY\MACHINE\SECURITY\Policy\Accounts'
- '\REGISTRY\MACHINE\SECURITY\Policy\Pol'
- '\REGISTRY\MACHINE\SECURITY\Policy\Secrets' # contains the encrypted machine account hash in \SECURITY\Policy\Secrets\$MACHINE.ACC\CurrVal
- '\REGISTRY\MACHINE\SECURITY\Policy\PolEKList' # contains the encrypted LSA key
- '\REGISTRY\MACHINE\SECURITY\Cache' # Contains domain cached credentials
- '\REGISTRY\MACHINE\SAM\SAM\DOMAINS\Account' # contains local user hashes
- '\REGISTRY\MACHINE\SAM\SAM\DOMAINS\Builtin'
filter:
SubjectUserName|endswith: $
condition: selection and not filter | count(ObjectName) by Computer > 10
timeframe: 5m
falsepositives:
- None
level: high
Stages and Predicates
Stage 0: condition
selection and not filter | count(ObjectName) by Computer > 10Stage 1: selection
selection:
EventID: 4674
ProcessName|endswith: '\System32\wbem\WmiPrvSE.exe'
ObjectServer: Security
ObjectType: Key
ObjectName|startswith:
- '\REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\SecurePipeServers\winreg'
- '\REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\Lsa\Data'
- '\REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\Lsa\GBG'
- '\REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\Lsa\JD'
- '\REGISTRY\MACHINE\SYSTEM\ControlSet001\Control\Lsa\Skew1'
- '\REGISTRY\MACHINE\SECURITY\Policy\Accounts'
- '\REGISTRY\MACHINE\SECURITY\Policy\Pol'
- '\REGISTRY\MACHINE\SECURITY\Policy\Secrets'
- '\REGISTRY\MACHINE\SECURITY\Policy\PolEKList'
- '\REGISTRY\MACHINE\SECURITY\Cache'
- '\REGISTRY\MACHINE\SAM\SAM\DOMAINS\Account'
- '\REGISTRY\MACHINE\SAM\SAM\DOMAINS\Builtin'
Stage 2: not filter
filter:
SubjectUserName|endswith: $
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
ObjectName | starts_with |
| field:"ObjectName" kind:starts_with |
ObjectServer | eq |
| field:"ObjectServer" kind:eq value:"Security" |
ObjectType | eq |
| field:"ObjectType" kind:eq value:"Key" |
ProcessName | ends_with |
| field:"process_name" kind:ends_with value:"\System32\wbem\WmiPrvSE.exe" |
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
SubjectUserName | ends_with | $ | excludes:SubjectUserName field:"SubjectUserName" value:"$" |
Change PowerShell Policies to an Insecure Level - PowerShell
#Detects changing the PowerShell script execution policy to a potentially insecure level using the "Set-ExecutionPolicy" cmdlet.
Known False Positives
- Administrator script
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Execution |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| PowerShell | Event ID 4104: Creating Scriptblock text (MessageNumber of MessageTotal). |
Rule Body
title: Change PowerShell Policies to an Insecure Level - PowerShell
id: 61d0475c-173f-4844-86f7-f3eebae1c66b
related:
- id: cf2e938e-9a3e-4fe8-a347-411642b28a9f # ProcCreation Registry
type: similar
- id: 87e3c4e8-a6a8-4ad9-bb4f-46e7ff99a180 # ProcCreation Cmdlet
type: similar
- id: fad91067-08c5-4d1a-8d8c-d96a21b37814 # Registry
type: similar
status: test
description: Detects changing the PowerShell script execution policy to a potentially insecure level using the "Set-ExecutionPolicy" cmdlet.
references:
- https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy?view=powershell-7.4
- https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.4
- https://adsecurity.org/?p=2604
author: frack113
date: 2021-10-20
modified: 2023-12-14
tags:
- attack.execution
- attack.t1059.001
logsource:
product: windows
category: ps_script
definition: 'Requirements: Script Block Logging must be enabled'
detection:
selection_cmdlet:
ScriptBlockText|contains: 'Set-ExecutionPolicy'
selection_option:
ScriptBlockText|contains:
- 'Unrestricted'
- 'bypass'
filter_optional_chocolatey:
ScriptBlockText|contains:
- "(New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')"
- "(New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')"
condition: all of selection_* and not 1 of filter_optional_*
falsepositives:
- Administrator script
level: medium
regression_tests_path: regression_data/rules/windows/powershell/powershell_script/posh_ps_set_policies_to_unsecure_level/info.yml
Stages and Predicates
Stage 0: condition
all of selection_* and not 1 of filter_optional_*Stage 1: selection_cmdlet
selection_cmdlet:
ScriptBlockText|contains: 'Set-ExecutionPolicy'
Stage 2: selection_option
selection_option:
ScriptBlockText|contains:
- 'Unrestricted'
- 'bypass'
Stage 3: not filter_optional_chocolatey
filter_optional_chocolatey:
ScriptBlockText|contains:
- "(New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')"
- "(New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')"
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
ScriptBlockText | match |
| field:"ScriptBlockText" kind:match |
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
ScriptBlockText | match | (New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1') | excludes:ScriptBlockText field:"ScriptBlockText" value:"(New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')" |
ScriptBlockText | match | (New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1') | excludes:ScriptBlockText field:"ScriptBlockText" value:"(New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')" |
Compress Data and Lock With Password for Exfiltration With WINZIP
#An adversary may compress or encrypt data that is collected prior to exfiltration using 3rd party utilities
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Collection |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
| Security-Auditing | Event ID 4688: A new process has been created. |
Rule Body
title: Compress Data and Lock With Password for Exfiltration With WINZIP
id: e2e80da2-8c66-4e00-ae3c-2eebd29f6b6d
status: test
description: An adversary may compress or encrypt data that is collected prior to exfiltration using 3rd party utilities
references:
- https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1560.001/T1560.001.md
author: frack113
date: 2021-07-27
modified: 2022-12-25
tags:
- attack.collection
- attack.t1560.001
logsource:
category: process_creation
product: windows
detection:
selection_winzip:
CommandLine|contains:
- 'winzip.exe'
- 'winzip64.exe'
selection_password:
CommandLine|contains: '-s"'
selection_other:
CommandLine|contains:
- ' -min '
- ' -a '
condition: all of selection*
falsepositives:
- Unknown
level: medium
Stages and Predicates
Stage 0: condition
all of selection*Stage 1: selection_winzip
selection_winzip:
CommandLine|contains:
- 'winzip.exe'
- 'winzip64.exe'
Stage 2: selection_password
selection_password:
CommandLine|contains: '-s"'
Stage 3: selection_other
selection_other:
CommandLine|contains:
- ' -min '
- ' -a '
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | match |
| field:"CommandLine" kind:match |
CreateDump Process Dump
#Detects uses of the createdump.exe LOLOBIN utility to dump process memory
Known False Positives
- Command lines that use the same flags
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Stealth | |
| Credential Access |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
Rule Body
title: CreateDump Process Dump
id: 515c8be5-e5df-4c5e-8f6d-a4a2f05e4b48
related:
- id: 1a1ed54a-2ba4-4221-94d5-01dee560d71e
type: similar
status: test
description: Detects uses of the createdump.exe LOLOBIN utility to dump process memory
references:
- https://www.crowdstrike.com/blog/overwatch-exposes-aquatic-panda-in-possession-of-log-4-shell-exploit-tools/
- https://twitter.com/bopin2020/status/1366400799199272960
author: Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
date: 2022-01-04
modified: 2022-08-19
tags:
- attack.stealth
- attack.t1036
- attack.t1003.001
- attack.credential-access
logsource:
category: process_creation
product: windows
detection:
selection_img:
- Image|endswith: '\createdump.exe'
- OriginalFileName: 'FX_VER_INTERNALNAME_STR'
selection_cli:
CommandLine|contains:
- ' -u ' # Short version of '--full'
- ' --full '
- ' -f ' # Short version of '--name'
- ' --name '
- '.dmp '
condition: all of selection_*
falsepositives:
- Command lines that use the same flags
level: high
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_createdump_lolbin_execution/info.yml
Stages and Predicates
Stage 0: condition
all of selection_*Stage 1: selection_img
selection_img:
- Image|endswith: '\createdump.exe'
- OriginalFileName: 'FX_VER_INTERNALNAME_STR'
Stage 2: selection_cli
selection_cli:
CommandLine|contains:
- ' -u '
- ' --full '
- ' -f '
- ' --name '
- '.dmp '
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | match |
| field:"CommandLine" kind:match |
Image | ends_with |
| field:"Image" kind:ends_with value:"\createdump.exe" |
OriginalFileName | eq |
| field:"OriginalFileName" kind:eq value:"FX_VER_INTERNALNAME_STR" |
DCERPC SMB Spoolss Named Pipe
#Detects the use of the spoolss named pipe over SMB. This can be used to trigger the authentication via NTLM of any machine that has the spoolservice enabled.
Known False Positives
- Domain Controllers acting as printer servers too? :)
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Lateral Movement |
Telemetry Coverage
Rule Body
title: DCERPC SMB Spoolss Named Pipe
id: 214e8f95-100a-4e04-bb31-ef6cba8ce07e
status: test
description: Detects the use of the spoolss named pipe over SMB. This can be used to trigger the authentication via NTLM of any machine that has the spoolservice enabled.
references:
- https://posts.specterops.io/hunting-in-active-directory-unconstrained-delegation-forests-trusts-71f2b33688e1
- https://dirkjanm.io/a-different-way-of-abusing-zerologon/
- https://twitter.com/_dirkjan/status/1309214379003588608
author: OTR (Open Threat Research)
date: 2018-11-28
modified: 2022-08-11
tags:
- attack.lateral-movement
- attack.t1021.002
logsource:
product: windows
service: security
detection:
selection:
EventID: 5145
ShareName: '\\\\\*\\IPC$' # looking for the string \\*\IPC$
RelativeTargetName: spoolss
condition: selection
falsepositives:
- 'Domain Controllers acting as printer servers too? :)'
level: medium
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
EventID: 5145
ShareName: '\\\\\*\\IPC$'
RelativeTargetName: spoolss
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
RelativeTargetName | eq |
| field:"RelativeTargetName" kind:eq value:"spoolss" |
ShareName | eq |
| field:"ShareName" kind:eq value:"\\\\\*\\IPC$" |
Esentutl Volume Shadow Copy Service Keys
#Detects the volume shadow copy service initialization and processing via esentutl. Registry keys such as HKLM\System\CurrentControlSet\Services\VSS\Diag\VolSnap\Volume are captured.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Credential Access |
Telemetry Coverage
Rule Body
title: Esentutl Volume Shadow Copy Service Keys
id: 5aad0995-46ab-41bd-a9ff-724f41114971
status: test
description: Detects the volume shadow copy service initialization and processing via esentutl. Registry keys such as HKLM\\System\\CurrentControlSet\\Services\\VSS\\Diag\\VolSnap\\Volume are captured.
references:
- https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1003.002/T1003.002.md#atomic-test-3---esentutlexe-sam-copy
author: Roberto Rodriguez (Cyb3rWard0g), OTR (Open Threat Research)
date: 2020-10-20
modified: 2022-12-25
tags:
- attack.credential-access
- attack.t1003.002
logsource:
category: registry_event
product: windows
detection:
selection:
TargetObject|contains: 'System\CurrentControlSet\Services\VSS'
Image|endswith: 'esentutl.exe' # limit esentutl as in references, too many FP to filter
filter:
TargetObject|contains: 'System\CurrentControlSet\Services\VSS\Start'
condition: selection and not filter
falsepositives:
- Unknown
level: high
Stages and Predicates
Stage 0: condition
selection and not filterStage 1: selection
selection:
TargetObject|contains: 'System\CurrentControlSet\Services\VSS'
Image|endswith: 'esentutl.exe'
Stage 2: not filter
filter:
TargetObject|contains: 'System\CurrentControlSet\Services\VSS\Start'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
Image | ends_with |
| field:"Image" kind:ends_with value:"esentutl.exe" |
TargetObject | match |
| field:"TargetObject" kind:match value:"System\CurrentControlSet\Services\VSS" |
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
TargetObject | match | System\CurrentControlSet\Services\VSS\Start | excludes:TargetObject field:"TargetObject" value:"System\CurrentControlSet\Services\VSS\Start" |
Exploitation Indicator Of CVE-2022-42475
#Detects exploitation indicators of CVE-2022-42475 a heap-based buffer overflow in sslvpnd.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Initial Access | No specific technique |
Rule Body
title: Exploitation Indicator Of CVE-2022-42475
id: 293ccb8c-bed8-4868-8296-bef30e303b7e
status: test
description: Detects exploitation indicators of CVE-2022-42475 a heap-based buffer overflow in sslvpnd.
references:
- https://www.fortiguard.com/psirt/FG-IR-22-398
- https://www.bleepingcomputer.com/news/security/fortinet-says-ssl-vpn-pre-auth-rce-bug-is-exploited-in-attacks/
- https://www.deepwatch.com/labs/customer-advisory-fortios-ssl-vpn-vulnerability-cve-2022-42475-exploited-in-the-wild/
- https://community.fortinet.com/t5/FortiGate/Technical-Tip-Critical-vulnerability-Protect-against-heap-based/ta-p/239420
author: Nasreddine Bencherchali (Nextron Systems), Nilaa Maharjan, Douglasrose75
date: 2024-02-08
tags:
- attack.initial-access
- cve.2022-42475
- detection.emerging-threats
logsource:
product: fortios
service: sslvpnd
definition: 'Requirements: file creation events or equivalent must be collected from the FortiOS SSL-VPN appliance in order for this detection to function correctly'
detection:
keywords:
- '/data/etc/wxd.conf'
- '/data/lib/libgif.so'
- '/data/lib/libips.bak'
- '/data/lib/libiptcp.so'
- '/data/lib/libipudp.so'
- '/data/lib/libjepg.so'
- '/var/.sslvpnconfigbk'
condition: keywords
falsepositives:
- Unknown
level: high
Stages and Predicates
Stage 0: condition
keywordsStage 1: keywords
keywords:
- '/data/etc/wxd.conf'
- '/data/lib/libgif.so'
- '/data/lib/libips.bak'
- '/data/lib/libiptcp.so'
- '/data/lib/libipudp.so'
- '/data/lib/libjepg.so'
- '/var/.sslvpnconfigbk'
Fax Service DLL Search Order Hijack
#The Fax service attempts to load ualapi.dll, which is non-existent. An attacker can then (side)load their own malicious DLL using this service.
Known False Positives
- Unlikely
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Execution | |
| Stealth |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 7: Image loaded |
Rule Body
title: Fax Service DLL Search Order Hijack
id: 828af599-4c53-4ed2-ba4a-a9f835c434ea
status: test
description: The Fax service attempts to load ualapi.dll, which is non-existent. An attacker can then (side)load their own malicious DLL using this service.
references:
- https://windows-internals.com/faxing-your-way-to-system/
author: NVISO
date: 2020-05-04
modified: 2022-06-02
tags:
- attack.privilege-escalation
- attack.persistence
- attack.execution
- attack.stealth
- attack.t1574.001
logsource:
category: image_load
product: windows
detection:
selection:
Image|endswith: '\fxssvc.exe'
ImageLoaded|endswith: 'ualapi.dll'
filter:
ImageLoaded|startswith: 'C:\Windows\WinSxS\'
condition: selection and not filter
falsepositives:
- Unlikely
level: high
Stages and Predicates
Stage 0: condition
selection and not filterStage 1: selection
selection:
Image|endswith: '\fxssvc.exe'
ImageLoaded|endswith: 'ualapi.dll'
Stage 2: not filter
filter:
ImageLoaded|startswith: 'C:\Windows\WinSxS\'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
Image | ends_with |
| field:"Image" kind:ends_with value:"\fxssvc.exe" |
ImageLoaded | ends_with |
| field:"ImageLoaded" kind:ends_with value:"ualapi.dll" |
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
ImageLoaded | starts_with | C:\Windows\WinSxS\ | excludes:ImageLoaded field:"ImageLoaded" value:"C:\Windows\WinSxS\" |
Invoke-Obfuscation VAR+ Launcher - System
#Detects Obfuscated use of Environment Variables to execute PowerShell
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Execution | |
| Stealth |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Service-Control-Manager | Event ID 7045: A service was installed in the system. |
Rule Body
title: Invoke-Obfuscation VAR+ Launcher - System
id: 8ca7004b-e620-4ecb-870e-86129b5b8e75
status: test
description: Detects Obfuscated use of Environment Variables to execute PowerShell
references:
- https://github.com/SigmaHQ/sigma/issues/1009 # (Task 24)
author: Jonathan Cheong, oscd.community
date: 2020-10-15
modified: 2022-11-29
tags:
- attack.stealth
- attack.t1027
- attack.execution
- attack.t1059.001
logsource:
product: windows
service: system
detection:
selection:
Provider_Name: 'Service Control Manager'
EventID: 7045
# ImagePath|re: 'cmd.{0,5}(?:\/c|\/r)(?:\s|)\"set\s[a-zA-Z]{3,6}.*(?:\{\d\}){1,}\\\"\s+?\-f(?:.*\)){1,}.*\"'
# Example 1: C:\winDoWs\SySTeM32\cmd.Exe /C"SET NOtI=Invoke-Expression (New-Object Net.WebClient).DownloadString&& PowERshElL -NOl SET-iteM ( 'VAR' + 'i'+ 'A' + 'blE:Ao6' + 'I0') ( [TYpe](\"{2}{3}{0}{1}\"-F 'iRoN','mENT','e','nv') ) ; ${exECUtIONCOnTEXT}.\"IN`VO`KecOmMaND\".\"inVo`KES`crIPt\"( ( ( GEt-VAriAble ( 'a' + 'o6I0') -vaLU )::(\"{1}{4}{2}{3}{0}\" -f'e','gETenvIR','NtvaRIa','BL','ONme' ).Invoke(( \"{0}{1}\"-f'n','oti' ),( \"{0}{1}\" -f'pRoC','esS') )) )"
# Example 2: cMD.exe /C "seT SlDb=Invoke-Expression (New-Object Net.WebClient).DownloadString&& pOWErShell .(( ^&(\"{1}{0}{2}{3}\" -f 'eT-vaR','G','iab','lE' ) (\"{0}{1}\" -f '*m','DR*' ) ).\"na`ME\"[3,11,2]-JOIN'' ) ( ( ^&(\"{0}{1}\" -f'g','CI' ) (\"{0}{1}\" -f 'ENV',':SlDb' ) ).\"VA`luE\" ) "
ImagePath|contains|all:
- 'cmd'
- '"set'
- '-f'
ImagePath|contains:
- '/c'
- '/r'
condition: selection
falsepositives:
- Unknown
level: high
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
Provider_Name: 'Service Control Manager'
EventID: 7045
ImagePath|contains|all:
- 'cmd'
- '"set'
- '-f'
ImagePath|contains:
- '/c'
- '/r'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
ImagePath | match |
| field:"ImagePath" kind:match |
Provider_Name | eq |
| field:"Provider_Name" kind:eq value:"Service Control Manager" |
LiteLLM / TeamPCP Supply Chain Attack Indicators
#Detects process executions related to the backdoored versions of LiteLLM (v1.82.7 or v1.82.8). In March 2026, a supply chain attack was discovered involving the popular open-source LLM framework LiteLLM by Threat Actor TeamPCP. The malicious package harvests every credential on the system, encrypts and exfiltrates them, and installs a persistent C2 backdoor.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Initial Access | |
| Persistence | |
| Privilege Escalation | |
| Collection |
Telemetry Coverage
| Platform | Record / event type |
|---|---|
| Linux | Event ID 1: Process Create |
Rule Body
title: LiteLLM / TeamPCP Supply Chain Attack Indicators
id: 36603778-030c-43c4-8cbb-cd3c1d1a80c7
status: experimental
description: |
Detects process executions related to the backdoored versions of LiteLLM (v1.82.7 or v1.82.8).
In March 2026, a supply chain attack was discovered involving the popular open-source LLM framework LiteLLM by Threat Actor TeamPCP.
The malicious package harvests every credential on the system, encrypts and exfiltrates them, and installs a persistent C2 backdoor.
references:
- https://novasky.io/hunts/hunting-litellm-supply-chain
- https://www.virustotal.com/gui/file/71e35aef03099cd1f2d6446734273025a163597de93912df321ef118bf135238/
- https://huskyhacks.io/posts/litellm-cred-stealer/
- https://www.wiz.io/blog/threes-a-crowd-teampcp-trojanizes-litellm-in-continuation-of-campaign
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2026-03-30
tags:
- attack.initial-access
- attack.t1195.002
- attack.collection
- attack.t1560.001
- attack.persistence
- attack.privilege-escalation
- attack.t1543.002
- detection.emerging-threats
logsource:
category: process_creation
product: linux
detection:
selection_pth_package:
# Execution of .pth file
Image|contains: '/python3'
CommandLine|contains|all:
- "exec(base64.b64decode('aW1wb3J0"
- "kI2NF9TQ1JJUFQgPSAiYV"
selection_tar:
Image|endswith: '/tar'
CommandLine|contains|all:
- 'tpcp.tar.gz'
- 'payload.enc'
- 'session.key.enc'
selection_curl:
Image|endswith: '/curl'
CommandLine|contains|all:
- 'models.litellm.cloud'
- 'X-Filename: tpcp.tar.gz'
selection_sysmon_service:
ParentImage|contains: '/python3'
CommandLine|contains|all:
- 'systemctl'
- '--user'
- 'sysmon'
condition: 1 of selection_*
falsepositives:
- Unknown
level: high
Stages and Predicates
Stage 0: condition
1 of selection_*Stage 1: selection_pth_package
selection_pth_package:
Image|contains: '/python3'
CommandLine|contains|all:
- "exec(base64.b64decode('aW1wb3J0"
- "kI2NF9TQ1JJUFQgPSAiYV"
Stage 2: selection_tar
selection_tar:
Image|endswith: '/tar'
CommandLine|contains|all:
- 'tpcp.tar.gz'
- 'payload.enc'
- 'session.key.enc'
Stage 3: selection_curl
selection_curl:
Image|endswith: '/curl'
CommandLine|contains|all:
- 'models.litellm.cloud'
- 'X-Filename: tpcp.tar.gz'
Stage 4: selection_sysmon_service
selection_sysmon_service:
ParentImage|contains: '/python3'
CommandLine|contains|all:
- 'systemctl'
- '--user'
- 'sysmon'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | match |
| field:"CommandLine" kind:match |
Image | ends_with |
| field:"Image" kind:ends_with |
Image | match |
| field:"Image" kind:match value:"/python3" |
ParentImage | match |
| field:"ParentImage" kind:match value:"/python3" |
Malicious Driver Load By Name
#Detects loading of known malicious drivers via the file name of the drivers.
Known False Positives
- False positives may occur if one of the vulnerable driver names mentioned above didn't change its name between versions. So always make sure that the driver being loaded is the legitimate one and the non vulnerable version.
- If you experience a lot of FP you could comment the driver name or its exact known legitimate location (when possible)
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Persistence | |
| Privilege Escalation |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 6: Driver loaded |
Rule Body
title: Malicious Driver Load By Name
id: 39b64854-5497-4b57-a448-40977b8c9679
status: test
description: Detects loading of known malicious drivers via the file name of the drivers.
references:
- https://loldrivers.io/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-10-03
modified: 2023-12-02
tags:
- attack.persistence
- attack.privilege-escalation
- attack.t1543.003
- attack.t1068
logsource:
product: windows
category: driver_load
detection:
selection:
ImageLoaded|endswith:
- '\wfshbr64.sys'
- '\ktmutil7odm.sys'
- '\ktes.sys'
- '\a26363e7b02b13f2b8d697abb90cd5c3.sys'
- '\kt2.sys'
- '\4748696211bd56c2d93c21cab91e82a5.sys'
- '\malicious.sys'
- '\a236e7d654cd932b7d11cb604629a2d0.sys'
- '\spwizimgvt.sys'
- '\c94f405c5929cfcccc8ad00b42c95083.sys'
- '\fur.sys'
- '\wantd.sys'
- '\windbg.sys'
- '\4118b86e490aed091b1a219dba45f332.sys'
- '\gmer64.sys'
- '\1fc7aeeff3ab19004d2e53eae8160ab1.sys'
- '\poortry2.sys'
- '\wintapix.sys'
- '\daxin_blank6.sys'
- '\6771b13a53b9c7449d4891e427735ea2.sys'
- '\blacklotus_driver.sys'
- '\air_system10.sys'
- '\dkrtk.sys'
- '\7.sys'
- '\sense5ext.sys'
- '\ktgn.sys'
- '\ndislan.sys'
- '\nlslexicons0024uvn.sys'
- '\be6318413160e589080df02bb3ca6e6a.sys'
- '\4.sys'
- '\wantd_2.sys'
- '\e29f6311ae87542b3d693c1f38e4e3ad.sys'
- '\daxin_blank3.sys'
- '\gftkyj64.sys'
- '\daxin_blank2.sys'
- '\wantd_4.sys'
- '\reddriver.sys'
- '\834761775.sys'
- '\mlgbbiicaihflrnh.sys'
- '\mjj0ge.sys'
- '\daxin_blank.sys'
- '\daxin_blank5.sys'
- '\poortry1.sys'
- '\msqpq.sys'
- '\mimidrv.sys'
- '\e939448b28a4edc81f1f974cebf6e7d2.sys'
- '\prokiller64.sys'
- '\nodedriver.sys'
- '\wantd_3.sys'
- '\lctka.sys'
- '\kapchelper_x64.sys'
- '\daxin_blank4.sys'
- '\a9df5964635ef8bd567ae487c3d214c4.sys'
- '\wantd_6.sys'
- '\ntbios.sys'
- '\wantd_5.sys'
- '\pciecubed.sys'
- '\mimikatz.sys'
- '\nqrmq.sys'
- '\2.sys'
- '\poortry.sys'
- '\ntbios_2.sys'
- '\fgme.sys'
- '\telephonuafy.sys'
- '\typelibde.sys'
- '\daxin_blank1.sys'
- '\ef0e1725aaf0c6c972593f860531a2ea.sys'
- '\5a4fe297c7d42539303137b6d75b150d.sys'
condition: selection
falsepositives:
- False positives may occur if one of the vulnerable driver names mentioned above didn't change its name between versions. So always make sure that the driver being loaded is the legitimate one and the non vulnerable version.
- If you experience a lot of FP you could comment the driver name or its exact known legitimate location (when possible)
level: medium
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
ImageLoaded|endswith:
- '\wfshbr64.sys'
- '\ktmutil7odm.sys'
- '\ktes.sys'
- '\a26363e7b02b13f2b8d697abb90cd5c3.sys'
- '\kt2.sys'
- '\4748696211bd56c2d93c21cab91e82a5.sys'
- '\malicious.sys'
- '\a236e7d654cd932b7d11cb604629a2d0.sys'
- '\spwizimgvt.sys'
- '\c94f405c5929cfcccc8ad00b42c95083.sys'
- '\fur.sys'
- '\wantd.sys'
- '\windbg.sys'
- '\4118b86e490aed091b1a219dba45f332.sys'
- '\gmer64.sys'
- '\1fc7aeeff3ab19004d2e53eae8160ab1.sys'
- '\poortry2.sys'
- '\wintapix.sys'
- '\daxin_blank6.sys'
- '\6771b13a53b9c7449d4891e427735ea2.sys'
- '\blacklotus_driver.sys'
- '\air_system10.sys'
- '\dkrtk.sys'
- '\7.sys'
- '\sense5ext.sys'
- '\ktgn.sys'
- '\ndislan.sys'
- '\nlslexicons0024uvn.sys'
- '\be6318413160e589080df02bb3ca6e6a.sys'
- '\4.sys'
- '\wantd_2.sys'
- '\e29f6311ae87542b3d693c1f38e4e3ad.sys'
- '\daxin_blank3.sys'
- '\gftkyj64.sys'
- '\daxin_blank2.sys'
- '\wantd_4.sys'
- '\reddriver.sys'
- '\834761775.sys'
- '\mlgbbiicaihflrnh.sys'
- '\mjj0ge.sys'
- '\daxin_blank.sys'
- '\daxin_blank5.sys'
- '\poortry1.sys'
- '\msqpq.sys'
- '\mimidrv.sys'
- '\e939448b28a4edc81f1f974cebf6e7d2.sys'
- '\prokiller64.sys'
- '\nodedriver.sys'
- '\wantd_3.sys'
- '\lctka.sys'
- '\kapchelper_x64.sys'
- '\daxin_blank4.sys'
- '\a9df5964635ef8bd567ae487c3d214c4.sys'
- '\wantd_6.sys'
- '\ntbios.sys'
- '\wantd_5.sys'
- '\pciecubed.sys'
- '\mimikatz.sys'
- '\nqrmq.sys'
- '\2.sys'
- '\poortry.sys'
- '\ntbios_2.sys'
- '\fgme.sys'
- '\telephonuafy.sys'
- '\typelibde.sys'
- '\daxin_blank1.sys'
- '\ef0e1725aaf0c6c972593f860531a2ea.sys'
- '\5a4fe297c7d42539303137b6d75b150d.sys'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
ImageLoaded | ends_with |
| field:"ImageLoaded" kind:ends_with |
MSDT Execution Via Answer File
#Detects execution of "msdt.exe" using an answer file which is simulating the legitimate way of calling msdt via "pcwrun.exe" (For example from the compatibility tab).
Known False Positives
- Possible undocumented parents of "msdt" other than "pcwrun".
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Stealth |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
| Security-Auditing | Event ID 4688: A new process has been created. |
Rule Body
title: MSDT Execution Via Answer File
id: 9c8c7000-3065-44a8-a555-79bcba5d9955
status: test
description: |
Detects execution of "msdt.exe" using an answer file which is simulating the legitimate way of calling msdt via "pcwrun.exe" (For example from the compatibility tab).
references:
- https://lolbas-project.github.io/lolbas/Binaries/Msdt/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-06-13
modified: 2025-10-29
tags:
- attack.stealth
- attack.t1218
- attack.execution
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith: '\msdt.exe'
CommandLine|contains: '\WINDOWS\diagnostics\index\PCWDiagnostic.xml'
CommandLine|contains|windash: ' -af '
filter_main_pcwrun:
ParentImage|endswith: '\pcwrun.exe'
condition: selection and not 1 of filter_main_*
falsepositives:
- Possible undocumented parents of "msdt" other than "pcwrun".
level: high
Stages and Predicates
Stage 0: condition
selection and not 1 of filter_main_*Stage 1: selection
selection:
Image|endswith: '\msdt.exe'
CommandLine|contains: '\WINDOWS\diagnostics\index\PCWDiagnostic.xml'
CommandLine|contains|windash: ' -af '
Stage 2: not filter_main_pcwrun
filter_main_pcwrun:
ParentImage|endswith: '\pcwrun.exe'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | match |
| field:"CommandLine" kind:match |
Image | ends_with |
| field:"Image" kind:ends_with value:"\msdt.exe" |
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
ParentImage | ends_with | \pcwrun.exe | excludes:ParentImage field:"ParentImage" value:"\pcwrun.exe" |
Network Connection Initiated To BTunnels Domains
#Detects network connections to BTunnels domains initiated by a process on the system. Attackers can abuse that feature to establish a reverse shell or persistence on a machine.
Known False Positives
- Legitimate use of BTunnels will also trigger this.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Command & Control | |
| Exfiltration |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 3: Network connection |
Rule Body
title: Network Connection Initiated To BTunnels Domains
id: 9e02c8ec-02b9-43e8-81eb-34a475ba7965
status: test
description: |
Detects network connections to BTunnels domains initiated by a process on the system.
Attackers can abuse that feature to establish a reverse shell or persistence on a machine.
references:
- https://defr0ggy.github.io/research/Utilizing-BTunnel-For-Data-Exfiltration/
author: Kamran Saifullah
date: 2024-09-13
tags:
- attack.exfiltration
- attack.command-and-control
- attack.t1567
- attack.t1572
logsource:
category: network_connection
product: windows
detection:
selection:
Initiated: 'true'
DestinationHostname|endswith: '.btunnel.co.in'
condition: selection
falsepositives:
- Legitimate use of BTunnels will also trigger this.
level: medium
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
Initiated: 'true'
DestinationHostname|endswith: '.btunnel.co.in'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
DestinationHostname | ends_with |
| field:"DestinationHostname" kind:ends_with value:".btunnel.co.in" |
Initiated | eq |
| field:"Initiated" kind:eq value:"true" |
Password Set to Never Expire via WMI
#Detects the use of wmic.exe to modify user account settings and explicitly disable password expiration.
Known False Positives
- Legitimate administrative activity
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Execution | |
| Persistence | |
| Privilege Escalation |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
Rule Body
title: Password Set to Never Expire via WMI
id: 7864a175-3654-4824-9f0d-f0da18ab27c0
status: experimental
description: |
Detects the use of wmic.exe to modify user account settings and explicitly disable password expiration.
references:
- https://www.huntress.com/blog/the-unwanted-guest
author: "Daniel Koifman (KoifSec)"
date: 2025-07-30
tags:
- attack.privilege-escalation
- attack.execution
- attack.persistence
- attack.t1047
- attack.t1098
logsource:
category: process_creation
product: windows
detection:
selection_img: # Example command simulated: wmic useraccount where name='guest' set passwordexpires=false
- Image|endswith: '\wmic.exe'
- OriginalFileName: 'wmic.exe'
selection_cli:
CommandLine|contains|all:
- 'useraccount'
- ' set '
- 'passwordexpires'
- 'false'
condition: all of selection_*
falsepositives:
- Legitimate administrative activity
level: medium
Stages and Predicates
Stage 0: condition
all of selection_*Stage 1: selection_img
selection_img:
- Image|endswith: '\wmic.exe'
- OriginalFileName: 'wmic.exe'
Stage 2: selection_cli
selection_cli:
CommandLine|contains|all:
- 'useraccount'
- ' set '
- 'passwordexpires'
- 'false'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | match |
| field:"CommandLine" kind:match |
Image | ends_with |
| field:"Image" kind:ends_with value:"\wmic.exe" |
OriginalFileName | eq |
| field:"OriginalFileName" kind:eq value:"wmic.exe" |
PIM Approvals And Deny Elevation
#Detects when a PIM elevation is approved or denied. Outside of normal operations should be investigated.
Known False Positives
- Actual admin using PIM.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Initial Access | |
| Persistence | |
| Privilege Escalation | |
| Stealth |
Telemetry Coverage
| Platform | Record / event type |
|---|---|
| Azure | any: Entra ID audit event (any operation) |
Rule Body
title: PIM Approvals And Deny Elevation
id: 039a7469-0296-4450-84c0-f6966b16dc6d
status: test
description: Detects when a PIM elevation is approved or denied. Outside of normal operations should be investigated.
references:
- https://learn.microsoft.com/en-us/entra/architecture/security-operations-privileged-identity-management#azure-ad-roles-assignment
author: Mark Morowczynski '@markmorow', Yochana Henderson, '@Yochana-H'
date: 2022-08-09
tags:
- attack.persistence
- attack.initial-access
- attack.privilege-escalation
- attack.stealth
- attack.t1078.004
logsource:
product: azure
service: auditlogs
detection:
selection:
properties.message: Request Approved/Denied
condition: selection
falsepositives:
- Actual admin using PIM.
level: high
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
properties.message: Request Approved/Denied
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
properties.message | eq |
| field:"properties.message" kind:eq value:"Request Approved/Denied" |
Potential 7za.DLL Sideloading
#Detects potential DLL sideloading of "7za.dll"
Known False Positives
- Legitimate third party application located in "AppData" may leverage this DLL to offer 7z compression functionality and may generate false positives. Apply additional filters as needed.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Execution | |
| Stealth |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 7: Image loaded |
Rule Body
title: Potential 7za.DLL Sideloading
id: 4f6edb78-5c21-42ab-a558-fd2a6fc1fd57
status: test
description: Detects potential DLL sideloading of "7za.dll"
references:
- https://www.gov.pl/attachment/ee91f24d-3e67-436d-aa50-7fa56acf789d
author: X__Junior
date: 2023-06-09
tags:
- attack.persistence
- attack.privilege-escalation
- attack.execution
- attack.stealth
- attack.t1574.001
logsource:
category: image_load
product: windows
detection:
selection:
ImageLoaded|endswith: '\7za.dll'
filter_main_legit_path:
Image|startswith:
- 'C:\Program Files (x86)\'
- 'C:\Program Files\'
ImageLoaded|startswith:
- 'C:\Program Files (x86)\'
- 'C:\Program Files\'
condition: selection and not 1 of filter_main_*
falsepositives:
- Legitimate third party application located in "AppData" may leverage this DLL to offer 7z compression functionality and may generate false positives. Apply additional filters as needed.
level: low
Stages and Predicates
Stage 0: condition
selection and not 1 of filter_main_*Stage 1: selection
selection:
ImageLoaded|endswith: '\7za.dll'
Stage 2: not filter_main_legit_path
filter_main_legit_path:
Image|startswith:
- 'C:\Program Files (x86)\'
- 'C:\Program Files\'
ImageLoaded|startswith:
- 'C:\Program Files (x86)\'
- 'C:\Program Files\'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
ImageLoaded | ends_with |
| field:"ImageLoaded" kind:ends_with value:"\7za.dll" |
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
Image | starts_with | C:\Program Files (x86)\ | excludes:Image field:"Image" value:"C:\Program Files (x86)\" |
Image | starts_with | C:\Program Files\ | excludes:Image field:"Image" value:"C:\Program Files\" |
ImageLoaded | starts_with | C:\Program Files (x86)\ | excludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files (x86)\" |
ImageLoaded | starts_with | C:\Program Files\ | excludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files\" |
Potential Command Line Path Traversal Evasion Attempt
#Detects potential evasion or obfuscation attempts using bogus path traversal via the commandline
Known False Positives
- Google Drive
- Citrix
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Stealth |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
| Security-Auditing | Event ID 4688: A new process has been created. |
Rule Body
title: Potential Command Line Path Traversal Evasion Attempt
id: 1327381e-6ab0-4f38-b583-4c1b8346a56b
status: test
description: Detects potential evasion or obfuscation attempts using bogus path traversal via the commandline
references:
- https://twitter.com/hexacorn/status/1448037865435320323
- https://twitter.com/Gal_B1t/status/1062971006078345217
author: Christian Burkard (Nextron Systems)
date: 2021-10-26
modified: 2023-03-29
tags:
- attack.stealth
- attack.t1036
logsource:
category: process_creation
product: windows
detection:
selection_1:
Image|contains: '\Windows\'
CommandLine|contains:
- '\..\Windows\'
- '\..\System32\'
- '\..\..\'
selection_2:
CommandLine|contains: '.exe\..\'
filter_optional_google_drive:
CommandLine|contains: '\Google\Drive\googledrivesync.exe\..\'
filter_optional_citrix:
CommandLine|contains: '\Citrix\Virtual Smart Card\Citrix.Authentication.VirtualSmartcard.Launcher.exe\..\'
condition: 1 of selection_* and not 1 of filter_optional_*
falsepositives:
- Google Drive
- Citrix
level: medium
Stages and Predicates
Stage 0: condition
1 of selection_* and not 1 of filter_optional_*Stage 1: selection_1
selection_1:
Image|contains: '\Windows\'
CommandLine|contains:
- '\..\Windows\'
- '\..\System32\'
- '\..\..\'
Stage 2: selection_2
selection_2:
CommandLine|contains: '.exe\..\'
Stage 3: not filter_optional_*
filter_optional_google_drive:
CommandLine|contains: '\Google\Drive\googledrivesync.exe\..\'
filter_optional_citrix:
CommandLine|contains: '\Citrix\Virtual Smart Card\Citrix.Authentication.VirtualSmartcard.Launcher.exe\..\'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | match |
| field:"CommandLine" kind:match |
Image | match |
| field:"Image" kind:match value:"\Windows\" |
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
CommandLine | match | \Citrix\Virtual Smart Card\Citrix.Authentication.VirtualSmartcard.Launcher.exe\..\ | excludes:CommandLine field:"CommandLine" value:"\Citrix\Virtual Smart Card\Citrix.Authentication.VirtualSmartcard.Launcher.exe\..\" |
CommandLine | match | \Google\Drive\googledrivesync.exe\..\ | excludes:CommandLine field:"CommandLine" value:"\Google\Drive\googledrivesync.exe\..\" |
Potential File Overwrite Via Sysinternals SDelete
#Detects the use of SDelete to erase a file not the free space
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Impact |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
Rule Body
title: Potential File Overwrite Via Sysinternals SDelete
id: a4824fca-976f-4964-b334-0621379e84c4
status: test
description: Detects the use of SDelete to erase a file not the free space
references:
- https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1485/T1485.md
author: frack113
date: 2021-06-03
modified: 2023-02-28
tags:
- attack.impact
- attack.t1485
logsource:
category: process_creation
product: windows
detection:
selection:
OriginalFileName: sdelete.exe
filter:
CommandLine|contains:
- ' -h'
- ' -c'
- ' -z'
- ' /\?'
condition: selection and not filter
falsepositives:
- Unknown
level: high
Stages and Predicates
Stage 0: condition
selection and not filterStage 1: selection
selection:
OriginalFileName: sdelete.exe
Stage 2: not filter
filter:
CommandLine|contains:
- ' -h'
- ' -c'
- ' -z'
- ' /\?'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
OriginalFileName | eq |
| field:"OriginalFileName" kind:eq value:"sdelete.exe" |
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
CommandLine | match | -c | excludes:CommandLine field:"CommandLine" value:" -c" |
CommandLine | match | -h | excludes:CommandLine field:"CommandLine" value:" -h" |
CommandLine | match | -z | excludes:CommandLine field:"CommandLine" value:" -z" |
CommandLine | match | /\? | excludes:CommandLine field:"CommandLine" value:" /\?" |
Potential NetWire RAT Activity - Registry
#Detects registry keys related to NetWire RAT
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Persistence | |
| Defense Impairment |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 12: RegistryEvent (Object create and delete) |
Rule Body
title: Potential NetWire RAT Activity - Registry
id: 1d218616-71b0-4c40-855b-9dbe75510f7f
status: test
description: Detects registry keys related to NetWire RAT
references:
- https://www.fortinet.com/blog/threat-research/new-netwire-rat-variant-spread-by-phishing
- https://resources.infosecinstitute.com/topic/netwire-malware-what-it-is-how-it-works-and-how-to-prevent-it-malware-spotlight/
- https://unit42.paloaltonetworks.com/guloader-installing-netwire-rat/
- https://blogs.blackberry.com/en/2021/09/threat-thursday-netwire-rat-is-coming-down-the-line
- https://app.any.run/tasks/41ecdbde-4997-4301-a350-0270448b4c8f/
author: Christopher Peacock
date: 2021-10-07
modified: 2025-11-03
tags:
- attack.persistence
- attack.defense-impairment
- attack.t1112
- detection.emerging-threats
logsource:
product: windows
category: registry_add
detection:
selection:
# The configuration information is usually stored under HKCU:\Software\Netwire - RedCanary
TargetObject|contains: '\software\NetWire'
condition: selection
falsepositives:
- Unknown
level: high
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
TargetObject|contains: '\software\NetWire'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
TargetObject | match |
| field:"TargetObject" kind:match value:"\software\NetWire" |
Potential Password Spraying Attempt Using Dsacls.EXE
#Detects possible password spraying attempts using Dsacls
Known False Positives
- Legitimate use of dsacls to bind to an LDAP session
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Stealth |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
Rule Body
title: Potential Password Spraying Attempt Using Dsacls.EXE
id: bac9fb54-2da7-44e9-988f-11e9a5edbc0c
status: test
description: Detects possible password spraying attempts using Dsacls
references:
- https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/using-dsacls-to-check-ad-object-permissions#password-spraying-anyone
- https://ss64.com/nt/dsacls.html
- https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/cc771151(v=ws.11)
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-06-20
modified: 2023-02-04
tags:
- attack.stealth
- attack.t1218
logsource:
category: process_creation
product: windows
detection:
selection_img:
- Image|endswith: '\dsacls.exe'
- OriginalFileName: "DSACLS.EXE"
selection_cli:
CommandLine|contains|all:
- '/user:'
- '/passwd:'
condition: all of selection*
falsepositives:
- Legitimate use of dsacls to bind to an LDAP session
level: medium
Stages and Predicates
Stage 0: condition
all of selection*Stage 1: selection_img
selection_img:
- Image|endswith: '\dsacls.exe'
- OriginalFileName: "DSACLS.EXE"
Stage 2: selection_cli
selection_cli:
CommandLine|contains|all:
- '/user:'
- '/passwd:'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | match |
| field:"CommandLine" kind:match |
Image | ends_with |
| field:"Image" kind:ends_with value:"\dsacls.exe" |
OriginalFileName | eq |
| field:"OriginalFileName" kind:eq value:"DSACLS.EXE" |
Self Extraction Directive File Created In Potentially Suspicious Location
#Detects the creation of Self Extraction Directive files (.sed) in a potentially suspicious location. These files are used by the "iexpress.exe" utility in order to create self extracting packages. Attackers were seen abusing this utility and creating PE files with embedded ".sed" entries.
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Stealth |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 11: FileCreate |
Rule Body
title: Self Extraction Directive File Created In Potentially Suspicious Location
id: 760e75d8-c3b5-409b-a9bf-6130b4c4603f
related:
- id: ab90dab8-c7da-4010-9193-563528cfa347
type: derived
status: test
description: |
Detects the creation of Self Extraction Directive files (.sed) in a potentially suspicious location.
These files are used by the "iexpress.exe" utility in order to create self extracting packages.
Attackers were seen abusing this utility and creating PE files with embedded ".sed" entries.
references:
- https://strontic.github.io/xcyclopedia/library/iexpress.exe-D594B2A33EFAFD0EABF09E3FDC05FCEA.html
- https://en.wikipedia.org/wiki/IExpress
- https://www.virustotal.com/gui/file/602f4ae507fa8de57ada079adff25a6c2a899bd25cd092d0af7e62cdb619c93c/behavior
author: Joseliyo Sanchez, @Joseliyo_Jstnk
date: 2024-02-05
tags:
- attack.stealth
- attack.t1218
logsource:
category: file_event
product: windows
detection:
selection:
TargetFilename|contains:
- ':\ProgramData\'
- ':\Temp\'
- ':\Windows\System32\Tasks\'
- ':\Windows\Tasks\'
- ':\Windows\Temp\'
- '\AppData\Local\Temp\'
TargetFilename|endswith: '.sed'
condition: selection
falsepositives:
- Unknown
level: medium
Stages and Predicates
Stage 0: condition
selectionStage 1: selection
selection:
TargetFilename|contains:
- ':\ProgramData\'
- ':\Temp\'
- ':\Windows\System32\Tasks\'
- ':\Windows\Tasks\'
- ':\Windows\Temp\'
- '\AppData\Local\Temp\'
TargetFilename|endswith: '.sed'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
TargetFilename | ends_with |
| field:"TargetFilename" kind:ends_with value:".sed" |
TargetFilename | match |
| field:"TargetFilename" kind:match |
Spool process spawned a CMD shell (PrintNightmare vulnerability - CVE-2021-36958)
#Detects scenarios where an attacker exploits the PrintNightmare vulnerability and obtained a CMD shell.
Known False Positives
- none
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Execution | |
| Stealth |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
| Security-Auditing | Event ID 4688: A new process has been created. |
Rule Body
title: Spool process spawned a CMD shell (PrintNightmare vulnerability - CVE-2021-36958)
description: Detects scenarios where an attacker exploits the PrintNightmare vulnerability and obtained a CMD shell.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0004-Privilege%20Escalation/T1574-DLL%20side-loading
- https://github.com/GossiTheDog/SystemNightmare
- https://github.com/outflanknl/PrintNightmare
- https://github.com/cube0x0/CVE-2021-1675
- https://github.com/xbufu/Mimispool
- https://github.com/gentilkiwi/mimikatz/tree/master/mimispool
- https://www.theregister.com/2021/09/21/microsoft_printnightmare/
- https://www.exabeam.com/information-security/detecting-the-printnightmre-cve-2021-1675-34527-vulnerability-using-exabeam/
- https://tdm.socprime.com/tdm/info/JCBHD21ATmuT/#sigma
tags:
- attack.privilege_escalation
- attack.t1574.002
author: mdecrevoisier
status: experimental
logsource:
product: windows
category: process_creation
detection:
selection_native:
EventID: 4688
Version: 2 # parent process name is available starting Windows 10 / Server 2016 and higher
ParentProcessName|endswith: \spoolsv.exe
NewProcessName|endswith: \cmd.exe
selection_sysmon:
EventID: 1
ParentImage|endswith: \spoolsv.exe
Image|endswith: \cmd.exe
condition: selection_native or selection_sysmon
falsepositives:
- none
level: high
Stages and Predicates
Stage 0: condition
selection_native or selection_sysmonStage 1: selection_native
selection_native:
EventID: 4688
Version: 2
ParentProcessName|endswith: \spoolsv.exe
NewProcessName|endswith: \cmd.exe
Stage 2: selection_sysmon
selection_sysmon:
EventID: 1
ParentImage|endswith: \spoolsv.exe
Image|endswith: \cmd.exe
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
Image | ends_with |
| field:"Image" kind:ends_with value:"\cmd.exe" |
NewProcessName | ends_with |
| field:"Image" kind:ends_with value:"\cmd.exe" |
ParentImage | ends_with |
| field:"ParentImage" kind:ends_with value:"\spoolsv.exe" |
ParentProcessName | ends_with |
| field:"parent_process_name" kind:ends_with value:"\spoolsv.exe" |
Version | eq |
| field:"Version" kind:eq value:"2" |
Stickey key IFEO registry changed (Reg via Sysmon)
#Detects scenarios where an attacker changed the IFEO settings related to sethc.
Known False Positives
- None
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Privilege Escalation |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 12: RegistryEvent (Object create and delete) |
| Sysmon | Event ID 13: RegistryEvent (Value Set) |
Rule Body
title: Stickey key IFEO registry changed (Reg via Sysmon)
description: Detects scenarios where an attacker changed the IFEO settings related to sethc.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0004-Privilege%20Escalation/T1546-Image%20File%20Execution%20Options%20Injection
- https://blogs.technet.microsoft.com/jonathantrull/2016/10/03/detecting-sticky-key-backdoors/
- https://www.mandiant.com/resources/apt29-domain-frontin
- https://www.clearskysec.com/wp-content/uploads/2020/02/ClearSky-Fox-Kitten-Campaign-v1.pdf
- https://www.bleepingcomputer.com/news/security/winrar-sfx-archives-can-run-powershell-without-being-detected/
tags:
- attack.privilege_escalation
- attack.t1546.008
author: mdecrevoisier
status: experimental
logsource:
product: windows
category: registry_event
detection:
selection_registry_set:
EventID: 13 # RegistryEvent (Value Set)
EventType: 'SetValue'
TargetObject|endswith: # Sample command: REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe" /t REG_SZ /v Debugger /d “C:\windows\system32\cmd.exe” /f
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe\Debugger'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Magnify.exe\Debugger'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Narrator.exe\Debugger'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\utilman.exe\Debugger'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\DisplaySwitch.exe\Debugger'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\osk.exe\Debugger'
selection_object_added:
EventID: 12 # Registry object added
EventType: 'CreateKey'
TargetObject|endswith:
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Magnify.exe'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Narrator.exe'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\utilman.exe'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\DisplaySwitch.exe'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\osk.exe'
condition: selection_registry_set or selection_object_added
falsepositives:
- None
level: high
Stages and Predicates
Stage 0: condition
selection_registry_set or selection_object_addedStage 1: selection_registry_set
selection_registry_set:
EventID: 13
EventType: 'SetValue'
TargetObject|endswith:
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe\Debugger'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Magnify.exe\Debugger'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Narrator.exe\Debugger'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\utilman.exe\Debugger'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\DisplaySwitch.exe\Debugger'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\osk.exe\Debugger'
Stage 2: selection_object_added
selection_object_added:
EventID: 12
EventType: 'CreateKey'
TargetObject|endswith:
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Magnify.exe'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Narrator.exe'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\utilman.exe'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\DisplaySwitch.exe'
- '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\osk.exe'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
EventType | eq |
| field:"EventType" kind:eq |
TargetObject | ends_with |
| field:"TargetObject" kind:ends_with |
Suspicious Computer Account Name Change CVE-2021-42287
#Detects the renaming of an existing computer account to a account name that doesn't contain a $ symbol as seen in attacks against CVE-2021-42287
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Persistence | |
| Privilege Escalation | |
| Stealth |
Telemetry Coverage
| Provider | Record / event type |
|---|---|
| Security-Auditing | Event ID 4781: The name of an account was changed. |
Rule Body
title: Suspicious Computer Account Name Change CVE-2021-42287
id: 45eb2ae2-9aa2-4c3a-99a5-6e5077655466
status: test
description: Detects the renaming of an existing computer account to a account name that doesn't contain a $ symbol as seen in attacks against CVE-2021-42287
references:
- https://medium.com/@mvelazco/hunting-for-samaccountname-spoofing-cve-2021-42287-and-domain-controller-impersonation-f704513c8a45
author: Florian Roth (Nextron Systems)
date: 2021-12-22
modified: 2022-12-25
tags:
- attack.privilege-escalation
- attack.persistence
- attack.stealth
- attack.t1036
- attack.t1098
- cve.2021-42287
- detection.emerging-threats
logsource:
product: windows
service: security
detection:
selection:
EventID: 4781 # rename user
OldTargetUserName|contains: '$'
filter:
NewTargetUserName|contains: '$'
condition: selection and not filter
falsepositives:
- Unknown
level: high
Stages and Predicates
Stage 0: condition
selection and not filterStage 1: selection
selection:
EventID: 4781
OldTargetUserName|contains: '$'
Stage 2: not filter
filter:
NewTargetUserName|contains: '$'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
OldTargetUserName | match |
| field:"OldTargetUserName" kind:match value:"$" |
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
NewTargetUserName | match | $ | excludes:NewTargetUserName field:"NewTargetUserName" value:"$" |
Windows Subsystem for Linux (WSL) installation (PowerShell)
#Detects scenarios where an attacker enables the WSL to cary out malicious activities in a virtual instance to avoid detection.
Known False Positives
- developer computer (with Visual Studio Code)
- administrator activity
MITRE ATT&CK Coverage
| Tactic | Techniques |
|---|---|
| Stealth |
Telemetry Coverage
Rule Body
title: Windows Subsystem for Linux (WSL) installation (PowerShell)
description: Detects scenarios where an attacker enables the WSL to cary out malicious activities in a virtual instance to avoid detection.
references:
- https://www.hackers-arise.com/post/linux-basics-for-hackers-part-13-the-windows-subsystem-for-linux-wsl
- https://linuxhint.com/enable-wsl-optional-component/
- https://blog.lumen.com/no-longer-just-theory-black-lotus-labs-uncovers-linux-executables-deployed-as-stealth-windows-loaders/
- https://learn.microsoft.com/en-us/windows/wsl/
tags:
- attack.defense_evasion
- attack.t1564.006
author: mdecrevoisier
status: experimental
logsource:
product: windows
category:
- ps_module
- ps_classic_script
- ps_script
detection: # full command "Enable-windowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux"
selection2_powershell_modern:
EventID: 4103
Payload|contains:
- 'Enable-windowsOptionalFeature'
- 'Microsoft-Windows-Subsystem-Linux'
selection3_powershell_block:
EventID: 4104
ScriptBlockText|contains:
- 'Enable-windowsOptionalFeature'
- 'Microsoft-Windows-Subsystem-Linux'
condition: 1 of selection*
falsepositives:
- developer computer (with Visual Studio Code)
- administrator activity
level: medium
Stages and Predicates
Stage 0: condition
1 of selection*Stage 1: selection2_powershell_modern
selection2_powershell_modern:
EventID: 4103
Payload|contains:
- 'Enable-windowsOptionalFeature'
- 'Microsoft-Windows-Subsystem-Linux'
Stage 2: selection3_powershell_block
selection3_powershell_block:
EventID: 4104
ScriptBlockText|contains:
- 'Enable-windowsOptionalFeature'
- 'Microsoft-Windows-Subsystem-Linux'
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
Payload | match |
| field:"Payload" kind:match |
ScriptBlockText | match |
| field:"ScriptBlockText" kind:match |