Detection rules › Sigma

Sigma rules: 27

Aruba Network Service Potential DLL Sideloading

#
Status
test
Severity
high
Author
Nasreddine Bencherchali (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects potential DLL sideloading activity via the Aruba Networks Virtual Intranet Access "arubanetsvc.exe" process using DLL Search Order Hijacking

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent 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 filter

Stage 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.

FieldKindValuesSearch
Imageends_with
  • \arubanetsvc.exe
field:"Image" kind:ends_with value:"\arubanetsvc.exe"
ImageLoadedends_with
  • \cryptbase.dll corpus 2 (sigma 2)
  • \cryptsp.dll corpus 2 (sigma 2)
  • \dbgcore.dll corpus 6 (sigma 6)
  • \dbghelp.dll corpus 6 (sigma 6)
  • \dpapi.dll
  • \iphlpapi.dll corpus 2 (sigma 2)
  • \msvcp100.dll
  • \msvcr100.dll
  • \profapi.dll corpus 2 (sigma 2)
  • \sspicli.dll corpus 2 (sigma 2)
  • \version.dll corpus 3 (sigma 2, splunk 1)
  • \wininet.dll corpus 2 (sigma 2)
  • \winsta.dll corpus 2 (sigma 2)
  • \wldp.dll corpus 2 (sigma 2)
  • \wtsapi32.dll corpus 2 (sigma 2)
field:"ImageLoaded" kind:ends_with

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ImageLoadedstarts_withC:\Windows\SysWOW64\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Windows\SysWOW64\"
ImageLoadedstarts_withC:\Windows\System32\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Windows\System32\"
ImageLoadedstarts_withC:\Windows\WinSxS\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Windows\WinSxS\"

Audio Capture

#
Status
test
Severity
low
Author
Pawel Mazur, Milad Cheraghi
Source
github.com/SigmaHQ/sigma

Detects attempts to record audio using the arecord and ecasound utilities.

MITRE ATT&CK Coverage

TacticTechniques
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.

FieldKindValuesSearch
SYSCALLeq
  • memfd_create
field:"SYSCALL" kind:eq value:"memfd_create"
a0eq
  • arecord
field:"a0" kind:eq value:"arecord"
a1eq
  • -vv
field:"a1" kind:eq value:"-vv"
a2eq
  • -fdat
field:"a2" kind:eq value:"-fdat"
exeends_with
  • /ecasound
field:"exe" kind:ends_with value:"/ecasound"
typeeq
  • EXECVE corpus 37 (sigma 31, splunk 6)
  • SYSCALL corpus 27 (splunk 15, sigma 12)
field:"type" kind:eq

Backdoor introduction via registry permission change through WMI (DAMP)

#
Status
experimental
Severity
high
Time window
5m
Author
mdecrevoisier
Source
github.com/mdecrevoisier/SIGMA-detection-rules

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

Telemetry Coverage

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 > 10

Stage 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'
Threshold
> 10

Stage 2: not filter

filter:
  SubjectUserName|endswith: $

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ObjectNamestarts_with
  • \REGISTRY\MACHINE\SAM\SAM\DOMAINS\Account
  • \REGISTRY\MACHINE\SAM\SAM\DOMAINS\Builtin
  • \REGISTRY\MACHINE\SECURITY\Cache
  • \REGISTRY\MACHINE\SECURITY\Policy\Accounts
  • \REGISTRY\MACHINE\SECURITY\Policy\Pol
  • \REGISTRY\MACHINE\SECURITY\Policy\PolEKList
  • \REGISTRY\MACHINE\SECURITY\Policy\Secrets
  • \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\SYSTEM\ControlSet001\Control\SecurePipeServers\winreg
field:"ObjectName" kind:starts_with
ObjectServereq
  • Security corpus 5 (sigma 5)
field:"ObjectServer" kind:eq value:"Security"
ObjectTypeeq
  • Key corpus 5 (sigma 5)
field:"ObjectType" kind:eq value:"Key"
ProcessNameends_with
  • \System32\wbem\WmiPrvSE.exe
field:"process_name" kind:ends_with value:"\System32\wbem\WmiPrvSE.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
SubjectUserNameends_with$excludes:SubjectUserName field:"SubjectUserName" value:"$"

Change PowerShell Policies to an Insecure Level - PowerShell

#
Status
test
Severity
medium
Author
frack113
Source
github.com/SigmaHQ/sigma

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

Telemetry Coverage

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.

FieldKindValuesSearch
ScriptBlockTextmatch
  • Set-ExecutionPolicy
  • Unrestricted
  • bypass corpus 2 (sigma 2)
field:"ScriptBlockText" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ScriptBlockTextmatch(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')"
ScriptBlockTextmatch(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

#
Status
test
Severity
medium
Author
frack113
Source
github.com/SigmaHQ/sigma

An adversary may compress or encrypt data that is collected prior to exfiltration using 3rd party utilities

MITRE ATT&CK Coverage

Telemetry Coverage

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.

FieldKindValuesSearch
CommandLinematch
  • -a corpus 5 (sigma 5)
  • -min
  • -s"
  • winzip.exe
  • winzip64.exe
field:"CommandLine" kind:match

CreateDump Process Dump

#
Status
test
Severity
high
Author
Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
Source
github.com/SigmaHQ/sigma

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

Telemetry Coverage

ProviderRecord / event type
SysmonEvent 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.

FieldKindValuesSearch
CommandLinematch
  • --full corpus 2 (sigma 2)
  • --name corpus 2 (sigma 2)
  • -f corpus 7 (sigma 7)
  • -u corpus 6 (sigma 5, splunk 1)
  • .dmp corpus 2 (sigma 2)
field:"CommandLine" kind:match
Imageends_with
  • \createdump.exe
field:"Image" kind:ends_with value:"\createdump.exe"
OriginalFileNameeq
  • FX_VER_INTERNALNAME_STR corpus 3 (sigma 2, splunk 1)
field:"OriginalFileName" kind:eq value:"FX_VER_INTERNALNAME_STR"

DCERPC SMB Spoolss Named Pipe

#
Status
test
Severity
medium
Author
OTR (Open Threat Research)
Source
github.com/SigmaHQ/sigma

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

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

selection

Stage 1: selection

selection:
    EventID: 5145
    ShareName: '\\\\\*\\IPC$'
    RelativeTargetName: spoolss

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
RelativeTargetNameeq
  • spoolss corpus 3 (sigma 3)
field:"RelativeTargetName" kind:eq value:"spoolss"
ShareNameeq
  • \\\\\*\\IPC$ corpus 7 (sigma 7)
field:"ShareName" kind:eq value:"\\\\\*\\IPC$"

Esentutl Volume Shadow Copy Service Keys

#
Status
test
Severity
high
Author
Roberto Rodriguez (Cyb3rWard0g), OTR (Open Threat Research)
Source
github.com/SigmaHQ/sigma

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

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 filter

Stage 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.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
TargetObjectmatchSystem\CurrentControlSet\Services\VSS\Startexcludes:TargetObject field:"TargetObject" value:"System\CurrentControlSet\Services\VSS\Start"

Exploitation Indicator Of CVE-2022-42475

#
Status
test
Severity
high
Author
Nasreddine Bencherchali (Nextron Systems), Nilaa Maharjan, Douglasrose75
Source
github.com/SigmaHQ/sigma

Detects exploitation indicators of CVE-2022-42475 a heap-based buffer overflow in sslvpnd.

MITRE ATT&CK Coverage

TacticTechniques
Initial AccessNo 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

keywords

Stage 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

#
Status
test
Severity
high
Author
NVISO
Source
github.com/SigmaHQ/sigma

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

Telemetry Coverage

ProviderRecord / event type
SysmonEvent 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 filter

Stage 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.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ImageLoadedstarts_withC:\Windows\WinSxS\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Windows\WinSxS\"

Invoke-Obfuscation VAR+ Launcher - System

#
Status
test
Severity
high
Author
Jonathan Cheong, oscd.community
Source
github.com/SigmaHQ/sigma

Detects Obfuscated use of Environment Variables to execute PowerShell

MITRE ATT&CK Coverage

Telemetry Coverage

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

selection

Stage 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.

FieldKindValuesSearch
ImagePathmatch
  • "set
  • -f corpus 2 (sigma 2)
  • /c corpus 4 (sigma 4)
  • /r corpus 2 (sigma 2)
  • cmd corpus 5 (sigma 5)
field:"ImagePath" kind:match
Provider_Nameeq
  • Service Control Manager corpus 50 (sigma 50)
field:"Provider_Name" kind:eq value:"Service Control Manager"

LiteLLM / TeamPCP Supply Chain Attack Indicators

#
Status
experimental
Severity
high
Author
Swachchhanda Shrawan Poudel (Nextron Systems)
Source
github.com/SigmaHQ/sigma

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

Telemetry Coverage

PlatformRecord / event type
LinuxEvent 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.

FieldKindValuesSearch
CommandLinematch
  • --user
  • X-Filename: tpcp.tar.gz
  • exec(base64.b64decode('aW1wb3J0
  • kI2NF9TQ1JJUFQgPSAiYV
  • models.litellm.cloud
  • payload.enc
  • session.key.enc
  • sysmon corpus 4 (sigma 3, elastic 1)
  • systemctl
  • tpcp.tar.gz
field:"CommandLine" kind:match
Imageends_with
  • /curl corpus 22 (sigma 22)
  • /tar corpus 2 (sigma 2)
field:"Image" kind:ends_with
Imagematch
  • /python3 corpus 3 (sigma 3)
field:"Image" kind:match value:"/python3"
ParentImagematch
  • /python3
field:"ParentImage" kind:match value:"/python3"

Malicious Driver Load By Name

#
Status
test
Severity
medium
Author
Nasreddine Bencherchali (Nextron Systems)
Source
github.com/SigmaHQ/sigma

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

Telemetry Coverage

ProviderRecord / event type
SysmonEvent 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

selection

Stage 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.

FieldKindValuesSearch
ImageLoadedends_with
  • \1fc7aeeff3ab19004d2e53eae8160ab1.sys
  • \2.sys
  • \4.sys
  • \4118b86e490aed091b1a219dba45f332.sys
  • \4748696211bd56c2d93c21cab91e82a5.sys
  • \5a4fe297c7d42539303137b6d75b150d.sys
  • \6771b13a53b9c7449d4891e427735ea2.sys
  • \7.sys
  • \834761775.sys
  • \a236e7d654cd932b7d11cb604629a2d0.sys
  • \a26363e7b02b13f2b8d697abb90cd5c3.sys
  • \a9df5964635ef8bd567ae487c3d214c4.sys
  • \air_system10.sys
  • \be6318413160e589080df02bb3ca6e6a.sys
  • \blacklotus_driver.sys
  • \c94f405c5929cfcccc8ad00b42c95083.sys
  • \daxin_blank.sys
  • \daxin_blank1.sys
  • \daxin_blank2.sys
  • \daxin_blank3.sys
  • \daxin_blank4.sys
  • \daxin_blank5.sys
  • \daxin_blank6.sys
  • \dkrtk.sys
  • \e29f6311ae87542b3d693c1f38e4e3ad.sys
  • \e939448b28a4edc81f1f974cebf6e7d2.sys
  • \ef0e1725aaf0c6c972593f860531a2ea.sys
  • \fgme.sys
  • \fur.sys
  • \gftkyj64.sys
  • \gmer64.sys
  • \kapchelper_x64.sys
  • \kt2.sys
  • \ktes.sys
  • \ktgn.sys
  • \ktmutil7odm.sys
  • \lctka.sys
  • \malicious.sys
  • \mimidrv.sys
  • \mimikatz.sys
  • +28 more values (see full rule source)
field:"ImageLoaded" kind:ends_with

MSDT Execution Via Answer File

#
Status
test
Severity
high
Author
Nasreddine Bencherchali (Nextron Systems)
Source
github.com/SigmaHQ/sigma

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

Telemetry Coverage

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.

FieldKindValuesSearch
CommandLinematch
  • -af corpus 3 (sigma 3)
  • /af corpus 2 (sigma 2)
  • –af corpus 2 (sigma 2)
  • —af corpus 2 (sigma 2)
  • ―af corpus 2 (sigma 2)
  • \WINDOWS\diagnostics\index\PCWDiagnostic.xml
field:"CommandLine" kind:match
Imageends_with
  • \msdt.exe corpus 10 (sigma 9, splunk 1)
field:"Image" kind:ends_with value:"\msdt.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ParentImageends_with\pcwrun.exeexcludes:ParentImage field:"ParentImage" value:"\pcwrun.exe"

Network Connection Initiated To BTunnels Domains

#
Status
test
Severity
medium
Author
Kamran Saifullah
Source
github.com/SigmaHQ/sigma

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

TacticTechniques
Command & Control
Exfiltration

Telemetry Coverage

ProviderRecord / event type
SysmonEvent 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

selection

Stage 1: selection

selection:
    Initiated: 'true'
    DestinationHostname|endswith: '.btunnel.co.in'

Indicators

These rows show field, operator, and value matches.

Password Set to Never Expire via WMI

#
Status
experimental
Severity
medium
Author
Daniel Koifman (KoifSec)
Source
github.com/SigmaHQ/sigma

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

Telemetry Coverage

ProviderRecord / event type
SysmonEvent 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.

FieldKindValuesSearch
CommandLinematch
  • set corpus 4 (sigma 4)
  • false
  • passwordexpires
  • useraccount corpus 3 (sigma 2, splunk 1)
field:"CommandLine" kind:match
Imageends_with
  • \wmic.exe corpus 62 (sigma 62)
field:"Image" kind:ends_with value:"\wmic.exe"
OriginalFileNameeq
  • wmic.exe corpus 74 (sigma 38, elastic 18, splunk 18)
field:"OriginalFileName" kind:eq value:"wmic.exe"

PIM Approvals And Deny Elevation

#
Status
test
Severity
high
Author
Mark Morowczynski '@markmorow', Yochana Henderson, '@Yochana-H'
Source
github.com/SigmaHQ/sigma

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

Telemetry Coverage

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

selection

Stage 1: selection

selection:
    properties.message: Request Approved/Denied

Indicators

These rows show field, operator, and value matches.

Potential 7za.DLL Sideloading

#
Status
test
Severity
low
Author
X__Junior
Source
github.com/SigmaHQ/sigma

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

Telemetry Coverage

ProviderRecord / event type
SysmonEvent 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.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imagestarts_withC:\Program Files (x86)\excludes:Image field:"Image" value:"C:\Program Files (x86)\"
Imagestarts_withC:\Program Files\excludes:Image field:"Image" value:"C:\Program Files\"
ImageLoadedstarts_withC:\Program Files (x86)\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files (x86)\"
ImageLoadedstarts_withC:\Program Files\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files\"

Potential Command Line Path Traversal Evasion Attempt

#
Status
test
Severity
medium
Author
Christian Burkard (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects potential evasion or obfuscation attempts using bogus path traversal via the commandline

Known False Positives

  • Google Drive
  • Citrix

MITRE ATT&CK Coverage

TacticTechniques
Stealth

Telemetry Coverage

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.

FieldKindValuesSearch
CommandLinematch
  • .exe\..\
  • \..\..\
  • \..\System32\
  • \..\Windows\
field:"CommandLine" kind:match
Imagematch
  • \Windows\
field:"Image" kind:match value:"\Windows\"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLinematch\Citrix\Virtual Smart Card\Citrix.Authentication.VirtualSmartcard.Launcher.exe\..\excludes:CommandLine field:"CommandLine" value:"\Citrix\Virtual Smart Card\Citrix.Authentication.VirtualSmartcard.Launcher.exe\..\"
CommandLinematch\Google\Drive\googledrivesync.exe\..\excludes:CommandLine field:"CommandLine" value:"\Google\Drive\googledrivesync.exe\..\"

Potential File Overwrite Via Sysinternals SDelete

#
Status
test
Severity
high
Author
frack113
Source
github.com/SigmaHQ/sigma

Detects the use of SDelete to erase a file not the free space

MITRE ATT&CK Coverage

TacticTechniques
Impact

Telemetry Coverage

ProviderRecord / event type
SysmonEvent 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 filter

Stage 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.

FieldKindValuesSearch
OriginalFileNameeq
  • sdelete.exe corpus 4 (sigma 2, elastic 1, splunk 1)
field:"OriginalFileName" kind:eq value:"sdelete.exe"

Exclusions

The rule actively suppresses these predicates.

Potential NetWire RAT Activity - Registry

#
Status
test
Severity
high
Author
Christopher Peacock
Source
github.com/SigmaHQ/sigma

Detects registry keys related to NetWire RAT

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Defense Impairment

Telemetry Coverage

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

selection

Stage 1: selection

selection:
    TargetObject|contains: '\software\NetWire'

Indicators

These rows show field, operator, and value matches.

Potential Password Spraying Attempt Using Dsacls.EXE

#
Status
test
Severity
medium
Author
Nasreddine Bencherchali (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects possible password spraying attempts using Dsacls

Known False Positives

  • Legitimate use of dsacls to bind to an LDAP session

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent 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.

FieldKindValuesSearch
CommandLinematch
  • /passwd:
  • /user: corpus 6 (sigma 5, splunk 1)
field:"CommandLine" kind:match
Imageends_with
  • \dsacls.exe corpus 2 (sigma 2)
field:"Image" kind:ends_with value:"\dsacls.exe"
OriginalFileNameeq
  • DSACLS.EXE corpus 2 (sigma 2)
field:"OriginalFileName" kind:eq value:"DSACLS.EXE"

Self Extraction Directive File Created In Potentially Suspicious Location

#
Status
test
Severity
medium
Author
Joseliyo Sanchez, @Joseliyo_Jstnk
Source
github.com/SigmaHQ/sigma

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

Telemetry Coverage

ProviderRecord / event type
SysmonEvent 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

selection

Stage 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.

FieldKindValuesSearch
TargetFilenameends_with
  • .sed corpus 2 (sigma 2)
field:"TargetFilename" kind:ends_with value:".sed"
TargetFilenamematch
  • :\ProgramData\ corpus 4 (sigma 4)
  • :\Temp\ corpus 5 (sigma 5)
  • :\Windows\System32\Tasks\ corpus 2 (sigma 2)
  • :\Windows\Tasks\ corpus 2 (sigma 2)
  • :\Windows\Temp\ corpus 2 (sigma 2)
  • \AppData\Local\Temp\ corpus 8 (sigma 8)
field:"TargetFilename" kind:match

Spool process spawned a CMD shell (PrintNightmare vulnerability - CVE-2021-36958)

#
Status
experimental
Severity
high
Author
mdecrevoisier
Source
github.com/mdecrevoisier/SIGMA-detection-rules

Detects scenarios where an attacker exploits the PrintNightmare vulnerability and obtained a CMD shell.

Known False Positives

  • none

MITRE ATT&CK Coverage

Telemetry Coverage

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_sysmon

Stage 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.

FieldKindValuesSearch
Imageends_with
  • \cmd.exe corpus 132 (sigma 130, splunk 2)
field:"Image" kind:ends_with value:"\cmd.exe"
NewProcessNameends_with
  • \cmd.exe corpus 132 (sigma 130, splunk 2)
field:"Image" kind:ends_with value:"\cmd.exe"
ParentImageends_with
  • \spoolsv.exe corpus 5 (sigma 5)
field:"ParentImage" kind:ends_with value:"\spoolsv.exe"
ParentProcessNameends_with
  • \spoolsv.exe
field:"parent_process_name" kind:ends_with value:"\spoolsv.exe"
Versioneq
  • 2 corpus 7 (sigma 7)
field:"Version" kind:eq value:"2"

Stickey key IFEO registry changed (Reg via Sysmon)

#
Status
experimental
Severity
high
Author
mdecrevoisier
Source
github.com/mdecrevoisier/SIGMA-detection-rules

Detects scenarios where an attacker changed the IFEO settings related to sethc.

Known False Positives

  • None

MITRE ATT&CK Coverage

Telemetry Coverage

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_added

Stage 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.

FieldKindValuesSearch
EventTypeeq
  • CreateKey corpus 3 (sigma 3)
  • SetValue corpus 6 (sigma 6)
field:"EventType" kind:eq
TargetObjectends_with
  • \SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\DisplaySwitch.exe
  • \SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\DisplaySwitch.exe\Debugger corpus 2 (sigma 2)
  • \SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Magnify.exe
  • \SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Magnify.exe\Debugger corpus 2 (sigma 2)
  • \SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Narrator.exe
  • \SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Narrator.exe\Debugger corpus 2 (sigma 2)
  • \SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\osk.exe
  • \SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\osk.exe\Debugger corpus 2 (sigma 2)
  • \SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe
  • \SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe\Debugger corpus 2 (sigma 2)
  • \SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\utilman.exe
  • \SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\utilman.exe\Debugger corpus 2 (sigma 2)
field:"TargetObject" kind:ends_with

Suspicious Computer Account Name Change CVE-2021-42287

#
Status
test
Severity
high
Author
Florian Roth (Nextron Systems)
Source
github.com/SigmaHQ/sigma

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

TacticTechniques
Persistence
Privilege Escalation
Stealth

Telemetry Coverage

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 filter

Stage 1: selection

selection:
    EventID: 4781
    OldTargetUserName|contains: '$'

Stage 2: not filter

filter:
    NewTargetUserName|contains: '$'

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
NewTargetUserNamematch$excludes:NewTargetUserName field:"NewTargetUserName" value:"$"

Windows Subsystem for Linux (WSL) installation (PowerShell)

#
Status
experimental
Severity
medium
Author
mdecrevoisier
Source
github.com/mdecrevoisier/SIGMA-detection-rules

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

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.

FieldKindValuesSearch
Payloadmatch
  • Enable-windowsOptionalFeature
  • Microsoft-Windows-Subsystem-Linux
field:"Payload" kind:match
ScriptBlockTextmatch
  • Enable-windowsOptionalFeature corpus 3 (sigma 2, splunk 1)
  • Microsoft-Windows-Subsystem-Linux corpus 2 (sigma 2)
field:"ScriptBlockText" kind:match

Back to all Sigma rules