Detection rules › Sigma

Sigma rules: 05

RuleSeverity
Binary Proxy Execution Via Dotnet-Trace.EXEmedium
Crash Dump Created By Operating Systemmedium
Creation Of Non-Existent System DLLmedium
Cross Site Scripting Stringshigh
CVE-2020-10148 SolarWinds Orion API Auth Bypasscritical
CVE-2021-1675 Print Spooler Exploitationcritical
Disable Powershell Command Historyhigh
Execution via WorkFolders.exehigh
Extracting Information with PowerShellmedium
Indicator Removal on Host - Clear Mac System Logsmedium
Invoke-Obfuscation COMPRESS OBFUSCATION - Systemmedium
Linux Sudo Chroot Executionlow
Load Of RstrtMgr.DLL By A Suspicious Processhigh
macOS Authentication Eventslow
New BgInfo.EXE Custom VBScript Registry Configurationmedium
OneLogin User Assumed Another Userlow
Potential PowerShell Obfuscation Using Alias Cmdletslow
PowerShell Scripts Installed as Serviceshigh
PUA - Ngrok Executionhigh
Risk for account takeover - phone number registered to multiple usersmedium
Scheduled Task Created - FileCreationlow
SQL Server - Brutforce enumeration with non existing users (login)high
SQL Server database auditing deactivatedhigh
Suspicious History File Operations - Linuxmedium
Suspicious Kerberos proxiable/S4U2self ticket (CVE-2021-42278/42287)high
Suspicious Mshta.EXE Execution Patternshigh
System time changedmedium
TeamViewer Domain Query By Non-TeamViewer Applicationmedium
Unusual File Modification by dns.exehigh
Use of TTDInject.exemedium
Windows AppX Deployment Full Trust Package Installationmedium
Windows Defender Context Menu Removedhigh
WinRAR Execution in Non-Standard Foldermedium

Binary Proxy Execution Via Dotnet-Trace.EXE

#
Status
test
Severity
medium
Author
Jimmy Bayne (@bohops)
Source
github.com/SigmaHQ/sigma

Detects commandline arguments for executing a child process via dotnet-trace.exe

Known False Positives

  • Legitimate usage of the utility in order to debug and trace a program.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Binary Proxy Execution Via Dotnet-Trace.EXE
id: 9257c05b-4a4a-48e5-a670-b7b073cf401b
status: test
description: Detects commandline arguments for executing a child process via dotnet-trace.exe
references:
    - https://twitter.com/bohops/status/1740022869198037480
author: Jimmy Bayne (@bohops)
date: 2024-01-02
tags:
    - attack.execution
    - attack.stealth
    - attack.t1218
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\dotnet-trace.exe'
        - OriginalFileName: 'dotnet-trace.dll'
    selection_cli:
        CommandLine|contains|all:
            - '-- '
            - 'collect'
    condition: all of selection_*
falsepositives:
    - Legitimate usage of the utility in order to debug and trace a program.
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    - Image|endswith: '\dotnet-trace.exe'
    - OriginalFileName: 'dotnet-trace.dll'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|all:
        - '-- '
        - 'collect'

Indicators

These rows show field, operator, and value matches.

Crash Dump Created By Operating System

#
Status
experimental
Severity
medium
Author
Jason Mull
Source
github.com/SigmaHQ/sigma

Detects "BugCheck" errors indicating the system rebooted due to a crash, capturing the bugcheck code, dump file path, and report ID.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Crash Dump Created By Operating System
id: 882fbe50-d8d7-4e29-ae80-0648a8556866
related:
    - id: 2ff692c2-4594-41ec-8fcb-46587de769e0
      type: similar
status: experimental
description: Detects "BugCheck" errors indicating the system rebooted due to a crash, capturing the bugcheck code, dump file path, and report ID.
references:
    - https://www.sans.edu/cyber-research/from-crash-compromise-unlocking-potential-windows-crash-dumps-offensive-security/
    - https://jasonmull.com/articles/offensive/2025-05-12-windows-crash-dumps-offensive-security/
author: Jason Mull
date: 2025-05-12
tags:
    - attack.credential-access
    - attack.collection
    - attack.t1003.002
    - attack.t1005
logsource:
    product: windows
    service: system
detection:
    selection:
        Provider_Name: 'Microsoft-Windows-WER-SystemErrorReporting'
        EventID: 1001
    condition: selection
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Provider_Name: 'Microsoft-Windows-WER-SystemErrorReporting'
    EventID: 1001

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Provider_Nameeq
  • Microsoft-Windows-WER-SystemErrorReporting
field:"Provider_Name" kind:eq value:"Microsoft-Windows-WER-SystemErrorReporting"

Creation Of Non-Existent System DLL

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

Detects creation of specific system DLL files that are usually not present on the system (or at least not in system directories) but may be loaded by legitimate processes. Phantom DLL hijacking involves placing malicious DLLs with names of non-existent system binaries in locations where legitimate applications may search for them, leading to execution of the malicious DLLs. Thus, the creation of such DLLs may indicate preparation for phantom DLL hijacking attacks.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: Creation Of Non-Existent System DLL
id: df6ecb8b-7822-4f4b-b412-08f524b4576c
related:
    - id: 6b98b92b-4f00-4f62-b4fe-4d1920215771 # ImageLoad rule
      type: similar
status: test
description: |
    Detects creation of specific system DLL files that are  usually not present on the system (or at least not in system directories) but may be loaded by legitimate processes.
    Phantom DLL hijacking involves placing malicious DLLs with names of non-existent system binaries in locations where legitimate applications may search for them, leading to execution of the malicious DLLs.
    Thus, the creation of such DLLs may indicate preparation for phantom DLL hijacking attacks.
references:
    - http://remoteawesomethoughts.blogspot.com/2019/05/windows-10-task-schedulerservice.html
    - https://clement.notin.org/blog/2020/09/12/CVE-2020-7315-McAfee-Agent-DLL-injection/
    - https://decoded.avast.io/martinchlumecky/png-steganography/
    - https://github.com/blackarrowsec/redteam-research/tree/26e6fc0c0d30d364758fa11c2922064a9a7fd309/LPE%20via%20StorSvc
    - https://github.com/Wh04m1001/SysmonEoP
    - https://itm4n.github.io/cdpsvc-dll-hijacking/
    - https://posts.specterops.io/lateral-movement-scm-and-dll-hijacking-primer-d2f61e8ab992
    - https://securelist.com/passiveneuron-campaign-with-apt-implants-and-cobalt-strike/117745/
    - https://www.crowdstrike.com/en-us/blog/4-ways-adversaries-hijack-dlls/
    - https://www.hexacorn.com/blog/2013/12/08/beyond-good-ol-run-key-part-5/
    - https://www.hexacorn.com/blog/2025/06/14/wermgr-exe-boot-offdmpsvc-dll-lolbin/
    - https://www.hexacorn.com/blog/2025/06/14/wpr-exe-boottrace-phantom-dll-axeonoffhelper-dll-lolbin/
    - https://x.com/0gtweet/status/1564131230941122561
author: Nasreddine Bencherchali (Nextron Systems), fornotes
date: 2022-12-01
modified: 2026-01-24
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.execution
    - attack.stealth
    - attack.t1574.001
logsource:
    product: windows
    category: file_event
detection:
    selection:
        TargetFilename|endswith:
            - ':\Windows\System32\axeonoffhelper.dll'
            - ':\Windows\System32\cdpsgshims.dll'
            - ':\Windows\System32\oci.dll'
            - ':\Windows\System32\offdmpsvc.dll'
            - ':\Windows\System32\shellchromeapi.dll'
            - ':\Windows\System32\TSMSISrv.dll'
            - ':\Windows\System32\TSVIPSrv.dll'
            - ':\Windows\System32\wbem\wbemcomn.dll'
            - ':\Windows\System32\WLBSCTRL.dll'
            - ':\Windows\System32\wow64log.dll'
            - ':\Windows\System32\WptsExtensions.dll'
            - '\SprintCSP.dll'
    condition: selection
falsepositives:
    - Unknown
level: medium
regression_tests_path: regression_data/rules/windows/file/file_event/file_event_win_create_non_existent_dlls/info.yml

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetFilename|endswith:
        - ':\Windows\System32\axeonoffhelper.dll'
        - ':\Windows\System32\cdpsgshims.dll'
        - ':\Windows\System32\oci.dll'
        - ':\Windows\System32\offdmpsvc.dll'
        - ':\Windows\System32\shellchromeapi.dll'
        - ':\Windows\System32\TSMSISrv.dll'
        - ':\Windows\System32\TSVIPSrv.dll'
        - ':\Windows\System32\wbem\wbemcomn.dll'
        - ':\Windows\System32\WLBSCTRL.dll'
        - ':\Windows\System32\wow64log.dll'
        - ':\Windows\System32\WptsExtensions.dll'
        - '\SprintCSP.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenameends_with
  • :\Windows\System32\TSMSISrv.dll
  • :\Windows\System32\TSVIPSrv.dll
  • :\Windows\System32\WLBSCTRL.dll
  • :\Windows\System32\WptsExtensions.dll
  • :\Windows\System32\axeonoffhelper.dll
  • :\Windows\System32\cdpsgshims.dll
  • :\Windows\System32\oci.dll
  • :\Windows\System32\offdmpsvc.dll
  • :\Windows\System32\shellchromeapi.dll
  • :\Windows\System32\wbem\wbemcomn.dll
  • :\Windows\System32\wow64log.dll
  • \SprintCSP.dll
field:"TargetFilename" kind:ends_with

Cross Site Scripting Strings

#
Status
test
Severity
high
Author
Saw Win Naung, Nasreddine Bencherchali
Source
github.com/SigmaHQ/sigma

Detects XSS attempts injected via GET requests in access logs

Known False Positives

  • JavaScripts,CSS Files and PNG files
  • User searches in search boxes of the respective website
  • Internal vulnerability scanners can cause some serious FPs when used, if you experience a lot of FPs due to this think of adding more filters such as "User Agent" strings and more response codes

MITRE ATT&CK Coverage

TacticTechniques
Initial Access

Rule Body

title: Cross Site Scripting Strings
id: 65354b83-a2ea-4ea6-8414-3ab38be0d409
status: test
description: Detects XSS attempts injected via GET requests in access logs
references:
    - https://github.com/payloadbox/xss-payload-list
    - https://portswigger.net/web-security/cross-site-scripting/contexts
author: Saw Win Naung, Nasreddine Bencherchali
date: 2021-08-15
modified: 2022-06-14
tags:
    - attack.initial-access
    - attack.t1189
logsource:
    category: webserver
detection:
    select_method:
        cs-method: 'GET'
    keywords:
        - '=<script>'
        - '=%3Cscript%3E'
        - '=%253Cscript%253E'
        - '<iframe '
        - '%3Ciframe '
        - '<svg '
        - '%3Csvg '
        - 'document.cookie'
        - 'document.domain'
        - ' onerror='
        - ' onresize='
        - ' onload="'
        - 'onmouseover='
        - '${alert'
        - 'javascript:alert'
        - 'javascript%3Aalert'
    filter:
        sc-status: 404
    condition: select_method and keywords and not filter
falsepositives:
    - JavaScripts,CSS Files and PNG files
    - User searches in search boxes of the respective website
    - Internal vulnerability scanners can cause some serious FPs when used, if you experience a lot of FPs due to this think of adding more filters such as "User Agent" strings and more response codes
level: high

Stages and Predicates

Stage 0: condition

select_method and keywords and not filter

Stage 1: select_method

select_method:
    cs-method: 'GET'

Stage 2: keywords

keywords:
    - '=<script>'
    - '=%3Cscript%3E'
    - '=%253Cscript%253E'
    - '<iframe '
    - '%3Ciframe '
    - '<svg '
    - '%3Csvg '
    - 'document.cookie'
    - 'document.domain'
    - ' onerror='
    - ' onresize='
    - ' onload="'
    - 'onmouseover='
    - '${alert'
    - 'javascript:alert'
    - 'javascript%3Aalert'

Stage 3: not filter

filter:
    sc-status: 404

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
sc-statuseq404excludes:sc-status field:"sc-status" value:"404"

CVE-2020-10148 SolarWinds Orion API Auth Bypass

#
Status
test
Severity
critical
Author
Bhabesh Raj, Tim Shelton
Source
github.com/SigmaHQ/sigma

Detects CVE-2020-10148 SolarWinds Orion API authentication bypass attempts

MITRE ATT&CK Coverage

TacticTechniques
Initial Access

Rule Body

title: CVE-2020-10148 SolarWinds Orion API Auth Bypass
id: 5a35116f-43bc-4901-b62d-ef131f42a9af
status: test
description: Detects CVE-2020-10148 SolarWinds Orion API authentication bypass attempts
references:
    - https://kb.cert.org/vuls/id/843464
author: Bhabesh Raj, Tim Shelton
date: 2020-12-27
modified: 2023-01-02
tags:
    - attack.initial-access
    - attack.t1190
    - cve.2020-10148
    - detection.emerging-threats
logsource:
    category: webserver
detection:
    selection:
        cs-uri-query|contains:
            - '/WebResource.axd'
            - '/ScriptResource.axd'
            - '/i18n.ashx'
            - '/Skipi18n'
    selection2:
        cs-uri-query|contains:
            - '/SolarWinds/'
            - '/api/'
    valid_request_1:
        cs-uri-query|contains: 'Orion/Skipi18n/Profiler/'
    valid_request_2:
        cs-uri-query|contains:
            - 'css.i18n.ashx'
            - 'js.i18n.ashx'
    condition: all of selection* and not 1 of valid_request_*
falsepositives:
    - Unknown
level: critical

Stages and Predicates

Stage 0: condition

all of selection* and not 1 of valid_request_*

Stage 1: selection

selection:
    cs-uri-query|contains:
        - '/WebResource.axd'
        - '/ScriptResource.axd'
        - '/i18n.ashx'
        - '/Skipi18n'

Stage 2: selection2

selection2:
    cs-uri-query|contains:
        - '/SolarWinds/'
        - '/api/'

Stage 3: not valid_request_*

valid_request_1:
    cs-uri-query|contains: 'Orion/Skipi18n/Profiler/'
valid_request_2:
    cs-uri-query|contains:
        - 'css.i18n.ashx'
        - 'js.i18n.ashx'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
cs-uri-querymatch
  • /ScriptResource.axd
  • /Skipi18n
  • /SolarWinds/
  • /WebResource.axd
  • /api/
  • /i18n.ashx
field:"cs-uri-query" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
cs-uri-querymatchOrion/Skipi18n/Profiler/excludes:cs-uri-query field:"cs-uri-query" value:"Orion/Skipi18n/Profiler/"
cs-uri-querymatchcss.i18n.ashxexcludes:cs-uri-query field:"cs-uri-query" value:"css.i18n.ashx"
cs-uri-querymatchjs.i18n.ashxexcludes:cs-uri-query field:"cs-uri-query" value:"js.i18n.ashx"

CVE-2021-1675 Print Spooler Exploitation

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

Detects driver load events print service operational log that are a sign of successful exploitation attempts against print spooler vulnerability CVE-2021-1675

MITRE ATT&CK Coverage

TacticTechniques
Execution

Telemetry Coverage

Rule Body

title: CVE-2021-1675 Print Spooler Exploitation
id: f34d942d-c8c4-4f1f-b196-22471aecf10a
status: test
description: Detects driver load events print service operational log that are a sign of successful exploitation attempts against print spooler vulnerability CVE-2021-1675
references:
    - https://twitter.com/MalwareJake/status/1410421967463731200
author: Florian Roth (Nextron Systems)
date: 2021-07-01
modified: 2022-10-09
tags:
    - attack.execution
    - attack.t1569
    - cve.2021-1675
    - detection.emerging-threats
logsource:
    product: windows
    service: printservice-operational
detection:
    selection:
        EventID: 316
    keywords:
        - 'UNIDRV.DLL, kernelbase.dll, '
        - ' 123 '
        - ' 1234 '
        - 'mimispool'
    condition: selection and keywords
falsepositives:
    - Unknown
level: critical

Stages and Predicates

Stage 0: condition

selection and keywords

Stage 1: selection

selection:
    EventID: 316

Stage 2: keywords

keywords:
    - 'UNIDRV.DLL, kernelbase.dll, '
    - ' 123 '
    - ' 1234 '
    - 'mimispool'

Disable Powershell Command History

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

Detects scripts or commands that disabled the Powershell command history by removing psreadline module

Known False Positives

  • Legitimate script that disables the command history

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Disable Powershell Command History
id: 602f5669-6927-4688-84db-0d4b7afb2150
status: test
description: Detects scripts or commands that disabled the Powershell command history by removing psreadline module
references:
    - https://twitter.com/DissectMalware/status/1062879286749773824
author: Ali Alwashali
date: 2022-08-21
tags:
    - attack.stealth
    - attack.t1070.003
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains|all:
            - Remove-Module
            - psreadline
    condition: selection
falsepositives:
    - Legitimate script that disables the command history
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains|all:
        - Remove-Module
        - psreadline

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • Remove-Module
  • psreadline
field:"ScriptBlockText" kind:match

Execution via WorkFolders.exe

#
Status
test
Severity
high
Author
Maxime Thiebaut (@0xThiebaut)
Source
github.com/SigmaHQ/sigma

Detects using WorkFolders.exe to execute an arbitrary control.exe

Known False Positives

  • Legitimate usage of the uncommon Windows Work Folders feature.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Execution via WorkFolders.exe
id: 0bbc6369-43e3-453d-9944-cae58821c173
status: test
description: Detects using WorkFolders.exe to execute an arbitrary control.exe
references:
    - https://twitter.com/elliotkillick/status/1449812843772227588
author: Maxime Thiebaut (@0xThiebaut)
date: 2021-10-21
modified: 2022-12-25
tags:
    - attack.stealth
    - attack.t1218
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\control.exe'
        ParentImage|endswith: '\WorkFolders.exe'
    filter:
        Image: 'C:\Windows\System32\control.exe'
    condition: selection and not filter
falsepositives:
    - Legitimate usage of the uncommon Windows Work Folders feature.
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
    Image|endswith: '\control.exe'
    ParentImage|endswith: '\WorkFolders.exe'

Stage 2: not filter

filter:
    Image: 'C:\Windows\System32\control.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \control.exe corpus 5 (sigma 5)
field:"Image" kind:ends_with value:"\control.exe"
ParentImageends_with
  • \WorkFolders.exe
field:"ParentImage" kind:ends_with value:"\WorkFolders.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ImageeqC:\Windows\System32\control.exeexcludes:Image field:"Image" value:"C:\Windows\System32\control.exe"

Extracting Information with PowerShell

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

Adversaries may search local file systems and remote file shares for files containing insecurely stored credentials. These can be files created by users to store their own credentials, shared credential stores for a group of individuals, configuration files containing passwords for a system or service, or source code/binary files containing embedded passwords.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Extracting Information with PowerShell
id: bd5971a7-626d-46ab-8176-ed643f694f68
status: test
description: |
    Adversaries may search local file systems and remote file shares for files containing insecurely stored credentials.
    These can be files created by users to store their own credentials, shared credential stores for a group of individuals,
    configuration files containing passwords for a system or service, or source code/binary files containing embedded passwords.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1552.001/T1552.001.md
author: frack113
date: 2021-12-19
modified: 2022-12-25
tags:
    - attack.credential-access
    - attack.t1552.001
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains|all:
            - ls
            - ' -R'
            - 'select-string '
            - '-Pattern '
    condition: selection
falsepositives:
    - Unknown
level: medium
regression_tests_path: regression_data/rules/windows/powershell/powershell_script/posh_ps_susp_extracting/info.yml

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains|all:
        - ls
        - ' -R'
        - 'select-string '
        - '-Pattern '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • -R
  • -Pattern
  • ls corpus 2 (sigma 2)
  • select-string
field:"ScriptBlockText" kind:match

Indicator Removal on Host - Clear Mac System Logs

#
Status
test
Severity
medium
Author
remotephone, oscd.community
Source
github.com/SigmaHQ/sigma

Detects deletion of local audit logs

Known False Positives

  • Legitimate administration activities

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Indicator Removal on Host - Clear Mac System Logs
id: acf61bd8-d814-4272-81f0-a7a269aa69aa
status: test
description: Detects deletion of local audit logs
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1070.002/T1070.002.md
author: remotephone, oscd.community
date: 2020-10-11
modified: 2022-09-16
tags:
    - attack.defense-impairment
    - attack.t1685.006
logsource:
    product: macos
    category: process_creation
detection:
    selection1:
        Image|endswith:
            - '/rm'
            - '/unlink'
            - '/shred'
    selection_cli_1:
        CommandLine|contains: '/var/log'
    selection_cli_2:
        CommandLine|contains|all:
            - '/Users/'
            - '/Library/Logs/'
    condition: selection1 and 1 of selection_cli*
falsepositives:
    - Legitimate administration activities
level: medium

Stages and Predicates

Stage 0: condition

selection1 and 1 of selection_cli*

Stage 1: selection1

selection1:
    Image|endswith:
        - '/rm'
        - '/unlink'
        - '/shred'

Stage 2: selection_cli_1

selection_cli_1:
    CommandLine|contains: '/var/log'

Stage 3: selection_cli_2

selection_cli_2:
    CommandLine|contains|all:
        - '/Users/'
        - '/Library/Logs/'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /Library/Logs/
  • /Users/ corpus 2 (sigma 2)
  • /var/log corpus 2 (sigma 2)
field:"CommandLine" kind:match
Imageends_with
  • /rm corpus 6 (sigma 6)
  • /shred corpus 6 (sigma 6)
  • /unlink corpus 5 (sigma 5)
field:"Image" kind:ends_with

Invoke-Obfuscation COMPRESS OBFUSCATION - System

#
Status
test
Severity
medium
Author
Timur Zinniatullin, oscd.community
Source
github.com/SigmaHQ/sigma

Detects Obfuscated Powershell via COMPRESS OBFUSCATION

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Invoke-Obfuscation COMPRESS OBFUSCATION - System
id: 175997c5-803c-4b08-8bb0-70b099f47595
status: test
description: Detects Obfuscated Powershell via COMPRESS OBFUSCATION
references:
    - https://github.com/SigmaHQ/sigma/issues/1009 # (Task 19)
author: Timur Zinniatullin, oscd.community
date: 2020-10-18
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|contains|all:
            - 'new-object'
            - 'text.encoding]::ascii'
            - 'readtoend'
        ImagePath|contains:
            - ':system.io.compression.deflatestream'
            - 'system.io.streamreader'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Provider_Name: 'Service Control Manager'
    EventID: 7045
    ImagePath|contains|all:
        - 'new-object'
        - 'text.encoding]::ascii'
        - 'readtoend'
    ImagePath|contains:
        - ':system.io.compression.deflatestream'
        - 'system.io.streamreader'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ImagePathmatch
  • :system.io.compression.deflatestream
  • new-object
  • readtoend
  • system.io.streamreader
  • text.encoding]::ascii
field:"ImagePath" kind:match
Provider_Nameeq
  • Service Control Manager corpus 50 (sigma 50)
field:"Provider_Name" kind:eq value:"Service Control Manager"

Linux Sudo Chroot Execution

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

Detects the execution of 'sudo' command with '--chroot' option, which is used to change the root directory for command execution. Attackers may use this technique to evade detection and execute commands in a modified environment. This can be part of a privilege escalation strategy, as it allows the execution of commands with elevated privileges in a controlled environment as seen in CVE-2025-32463. While investigating, look out for unusual or unexpected use of 'sudo --chroot' in conjunction with other commands or scripts such as execution from temporary directories or unusual user accounts.

Known False Positives

  • Legitimate administrative tasks or scripts that use 'sudo --chroot' for containerization, testing, or system management.

MITRE ATT&CK Coverage

TacticTechniques
Privilege Escalation

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: Linux Sudo Chroot Execution
id: f2bed782-994e-4f40-9cd5-518198cb3fba
status: experimental
description: |
    Detects the execution of 'sudo' command with '--chroot' option, which is used to change the root directory for command execution.
    Attackers may use this technique to evade detection and execute commands in a modified environment.
    This can be part of a privilege escalation strategy, as it allows the execution of commands with elevated privileges in a controlled environment as seen in CVE-2025-32463.
    While investigating, look out for unusual or unexpected use of 'sudo --chroot' in conjunction with other commands or scripts such as execution from temporary directories or unusual user accounts.
references:
    - https://github.com/kh4sh3i/CVE-2025-32463/blob/81bb430f84fa2089224733c3ed4bfa434c197ad4/exploit.sh
author: Swachchhanda Shrawn Poudel (Nextron Systems)
date: 2025-10-02
tags:
    - attack.privilege-escalation
    - attack.t1068
logsource:
    category: process_creation
    product: linux
detection:
    selection:
        Image|endswith: '/sudo'
        CommandLine|contains:
            - ' --chroot '
            - 'sudo -R '
    condition: selection
falsepositives:
    - Legitimate administrative tasks or scripts that use 'sudo --chroot' for containerization, testing, or system management.
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '/sudo'
    CommandLine|contains:
        - ' --chroot '
        - 'sudo -R '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • --chroot
  • sudo -R
field:"CommandLine" kind:match
Imageends_with
  • /sudo corpus 3 (sigma 3)
field:"Image" kind:ends_with value:"/sudo"

Load Of RstrtMgr.DLL By A Suspicious Process

#
Status
test
Severity
high
Author
Luc Génaux
Source
github.com/SigmaHQ/sigma

Detects the load of RstrtMgr DLL (Restart Manager) by a suspicious process. This library has been used during ransomware campaigns to kill processes that would prevent file encryption by locking them (e.g. Conti ransomware, Cactus ransomware). It has also recently been seen used by the BiBi wiper for Windows. It could also be used for anti-analysis purposes by shut downing specific processes.

Known False Positives

  • Processes related to software installation

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment
Impact

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: Load Of RstrtMgr.DLL By A Suspicious Process
id: b48492dc-c5ef-4572-8dff-32bc241c15c8
related:
    - id: 3669afd2-9891-4534-a626-e5cf03810a61
      type: derived
status: test
description: |
    Detects the load of RstrtMgr DLL (Restart Manager) by a suspicious process.
    This library has been used during ransomware campaigns to kill processes that would prevent file encryption by locking them (e.g. Conti ransomware, Cactus ransomware). It has also recently been seen used by the BiBi wiper for Windows.
    It could also be used for anti-analysis purposes by shut downing specific processes.
references:
    - https://www.crowdstrike.com/blog/windows-restart-manager-part-1/
    - https://www.crowdstrike.com/blog/windows-restart-manager-part-2/
    - https://web.archive.org/web/20231221193106/https://www.swascan.com/cactus-ransomware-malware-analysis/
    - https://taiwan.postsen.com/business/88601/Hamas-hackers-use-data-destruction-software-BiBi-which-consumes-a-lot-of-processor-resources-to-wipe-Windows-computer-data--iThome.html
author: Luc Génaux
date: 2023-11-28
tags:
    - attack.impact
    - attack.defense-impairment
    - attack.t1486
    - attack.t1685
logsource:
    category: image_load
    product: windows
detection:
    selection_img:
        - ImageLoaded|endswith: '\RstrtMgr.dll'
        - OriginalFileName: 'RstrtMgr.dll'
    selection_folders_1:
        Image|contains:
            # Note: increase coverage by adding more suspicious paths
            - ':\Perflogs\'
            - ':\Users\Public\'
            - '\Temporary Internet'
    selection_folders_2:
        - Image|contains|all:
              - ':\Users\'
              - '\Favorites\'
        - Image|contains|all:
              - ':\Users\'
              - '\Favourites\'
        - Image|contains|all:
              - ':\Users\'
              - '\Contacts\'
    condition: selection_img and 1 of selection_folders_*
falsepositives:
    - Processes related to software installation
level: high

Stages and Predicates

Stage 0: condition

selection_img and 1 of selection_folders_*

Stage 1: selection_img

selection_img:
    - ImageLoaded|endswith: '\RstrtMgr.dll'
    - OriginalFileName: 'RstrtMgr.dll'

Stage 2: selection_folders_1

selection_folders_1:
    Image|contains:
        - ':\Perflogs\'
        - ':\Users\Public\'
        - '\Temporary Internet'

Stage 3: selection_folders_2

selection_folders_2:
    - Image|contains|all:
          - ':\Users\'
          - '\Favorites\'
    - Image|contains|all:
          - ':\Users\'
          - '\Favourites\'
    - Image|contains|all:
          - ':\Users\'
          - '\Contacts\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imagematch
  • :\Perflogs\ corpus 9 (sigma 9)
  • :\Users\ corpus 4 (sigma 3, elastic 1)
  • :\Users\Public\ corpus 13 (sigma 13)
  • \Contacts\ corpus 4 (sigma 4)
  • \Favorites\ corpus 5 (sigma 5)
  • \Favourites\ corpus 4 (sigma 4)
  • \Temporary Internet corpus 2 (sigma 2)
field:"Image" kind:match
ImageLoadedends_with
  • \RstrtMgr.dll corpus 2 (sigma 2)
field:"ImageLoaded" kind:ends_with value:"\RstrtMgr.dll"
OriginalFileNameeq
  • RstrtMgr.dll corpus 2 (sigma 2)
field:"OriginalFileName" kind:eq value:"RstrtMgr.dll"

macOS Authentication Events

#
Status
experimental
Severity
low
Author
Eric Brown - Nebulock, Inc.
Source
github.com/Nebulock-Inc/macos-coresigma

Detects authentication-related events from the macOS authorization subsystem. Monitors for login attempts, credential validation, and authorization requests which may indicate initial access attempts or compromised credentials.

Known False Positives

  • Normal user authentication and login activity
  • System services performing authorized operations
  • Legitimate administrative tasks

MITRE ATT&CK Coverage

TacticTechniques
Initial Access
Credential Access

Rule Body

title: macOS Authentication Events
id: 3697a253-44ea-4276-b805-f07935c82538
status: experimental
description: 'Detects authentication-related events from the macOS authorization subsystem.

  Monitors for login attempts, credential validation, and authorization requests

  which may indicate initial access attempts or compromised credentials.

  '
author: Eric Brown - Nebulock, Inc.
date: 2025/10/31
modified: 2025/10/31
references:
- https://attack.mitre.org/techniques/T1078/
- https://developer.apple.com/documentation/os/logging
logsource:
  product: macos
  service: unifiedlog
detection:
  selection_subsystem:
    subsystem: com.apple.authorization
  selection_keywords:
    message|contains:
    - authentication
    - login
    - credential
    - authorize
  condition: selection_subsystem and selection_keywords
falsepositives:
- Normal user authentication and login activity
- System services performing authorized operations
- Legitimate administrative tasks
fields:
- subsystem
- category
- process
- message
- level
tags:
- attack.initial_access
- attack.t1078
- attack.credential_access
- attack.t1555
level: low

Stages and Predicates

Stage 0: condition

selection_subsystem and selection_keywords

Stage 1: selection_subsystem

selection_subsystem:
  subsystem: com.apple.authorization

Stage 2: selection_keywords

selection_keywords:
  message|contains:
  - authentication
  - login
  - credential
  - authorize

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
messagematch
  • authentication
  • authorize
  • credential
  • login
field:"message" kind:match
subsystemeq
  • com.apple.authorization
field:"subsystem" kind:eq value:"com.apple.authorization"

New BgInfo.EXE Custom VBScript Registry Configuration

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

Detects setting of a new registry value related to BgInfo configuration, which can be abused to execute custom VBScript via "BgInfo.exe"

Known False Positives

  • Legitimate VBScript

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Defense Impairment

Telemetry Coverage

Rule Body

title: New BgInfo.EXE Custom VBScript Registry Configuration
id: 992dd79f-dde8-4bb0-9085-6350ba97cfb3
related:
    - id: cd277474-5c52-4423-a52b-ac2d7969902f
      type: similar
status: test
description: Detects setting of a new registry value related to BgInfo configuration, which can be abused to execute custom VBScript via "BgInfo.exe"
references:
    - Internal Research
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-08-16
tags:
    - attack.persistence
    - attack.defense-impairment
    - attack.t1112
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|contains: '\Software\Winternals\BGInfo\UserFields\'
        Details|startswith: '4' # WMI
    condition: selection
falsepositives:
    - Legitimate VBScript
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|contains: '\Software\Winternals\BGInfo\UserFields\'
    Details|startswith: '4'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Detailsstarts_with
  • 4
field:"Details" kind:starts_with value:"4"
TargetObjectmatch
  • \Software\Winternals\BGInfo\UserFields\ corpus 2 (sigma 2)
field:"TargetObject" kind:match value:"\Software\Winternals\BGInfo\UserFields\"

OneLogin User Assumed Another User

#
Status
test
Severity
low
Author
Austin Songer @austinsonger
Source
github.com/SigmaHQ/sigma

Detects when an user assumed another user account.

MITRE ATT&CK Coverage

TacticTechniques
ImpactNo specific technique

Rule Body

title: OneLogin User Assumed Another User
id: 62fff148-278d-497e-8ecd-ad6083231a35
status: test
description: Detects when an user assumed another user account.
references:
    - https://developers.onelogin.com/api-docs/1/events/event-resource
author: Austin Songer @austinsonger
date: 2021-10-12
modified: 2022-12-25
tags:
    - attack.impact
logsource:
    product: onelogin
    service: onelogin.events
detection:
    selection:
        event_type_id: 3
    condition: selection
falsepositives:
    - Unknown
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    event_type_id: 3

Indicators

These rows show field, operator, and value matches.

Potential PowerShell Obfuscation Using Alias Cmdlets

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

Detects Set-Alias or New-Alias cmdlet usage. Which can be use as a mean to obfuscate PowerShell scripts

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Potential PowerShell Obfuscation Using Alias Cmdlets
id: 96cd126d-f970-49c4-848a-da3a09f55c55
related:
    - id: e8314f79-564d-4f79-bc13-fbc0bf2660d8
      type: derived
status: test
description: Detects Set-Alias or New-Alias cmdlet usage. Which can be use as a mean to obfuscate PowerShell scripts
references:
    - https://github.com/1337Rin/Swag-PSO
author: frack113
date: 2023-01-08
modified: 2025-10-22
tags:
    - attack.execution
    - attack.stealth
    - attack.t1027
    - attack.t1059.001
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains:
            - 'Set-Alias '
            - 'New-Alias '
    filter_main_cim:
        ScriptBlockText:
            - 'Set-Alias -Name ncms -Value New-CimSession -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
            - 'Set-Alias -Name gcls -Value Get-CimClass -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
            - 'Set-Alias -Name ncso -Value New-CimSessionOption -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
            - 'Set-Alias -Name gcms -Value Get-CimSession -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
            - 'Set-Alias -Name rcms -Value Remove-cimSession -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
            - 'Set-Alias -Name rcie -Value Register-CimIndicationEvent -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
            - 'Set-Alias -Name gcai -Value Get-CimAssociatedInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
            - 'Set-Alias -Name gcim -Value Get-CimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
            - 'Set-Alias -Name scim -Value Set-CimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
            - 'Set-Alias -Name ncim -Value New-CimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
            - 'Set-Alias -Name rcim -Value Remove-cimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
            - 'Set-Alias -Name icim -Value Invoke-CimMethod -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown
level: low

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    ScriptBlockText|contains:
        - 'Set-Alias '
        - 'New-Alias '

Stage 2: not filter_main_cim

filter_main_cim:
    ScriptBlockText:
        - 'Set-Alias -Name ncms -Value New-CimSession -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
        - 'Set-Alias -Name gcls -Value Get-CimClass -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
        - 'Set-Alias -Name ncso -Value New-CimSessionOption -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
        - 'Set-Alias -Name gcms -Value Get-CimSession -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
        - 'Set-Alias -Name rcms -Value Remove-cimSession -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
        - 'Set-Alias -Name rcie -Value Register-CimIndicationEvent -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
        - 'Set-Alias -Name gcai -Value Get-CimAssociatedInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
        - 'Set-Alias -Name gcim -Value Get-CimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
        - 'Set-Alias -Name scim -Value Set-CimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
        - 'Set-Alias -Name ncim -Value New-CimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
        - 'Set-Alias -Name rcim -Value Remove-cimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'
        - 'Set-Alias -Name icim -Value Invoke-CimMethod -Option ReadOnly, AllScope -ErrorAction SilentlyContinue'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • New-Alias
  • Set-Alias
field:"ScriptBlockText" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ScriptBlockTexteqSet-Alias -Name gcai -Value Get-CimAssociatedInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinueexcludes:ScriptBlockText field:"ScriptBlockText" value:"Set-Alias -Name gcai -Value Get-CimAssociatedInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue"
ScriptBlockTexteqSet-Alias -Name gcim -Value Get-CimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinueexcludes:ScriptBlockText field:"ScriptBlockText" value:"Set-Alias -Name gcim -Value Get-CimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue"
ScriptBlockTexteqSet-Alias -Name gcls -Value Get-CimClass -Option ReadOnly, AllScope -ErrorAction SilentlyContinueexcludes:ScriptBlockText field:"ScriptBlockText" value:"Set-Alias -Name gcls -Value Get-CimClass -Option ReadOnly, AllScope -ErrorAction SilentlyContinue"
ScriptBlockTexteqSet-Alias -Name gcms -Value Get-CimSession -Option ReadOnly, AllScope -ErrorAction SilentlyContinueexcludes:ScriptBlockText field:"ScriptBlockText" value:"Set-Alias -Name gcms -Value Get-CimSession -Option ReadOnly, AllScope -ErrorAction SilentlyContinue"
ScriptBlockTexteqSet-Alias -Name icim -Value Invoke-CimMethod -Option ReadOnly, AllScope -ErrorAction SilentlyContinueexcludes:ScriptBlockText field:"ScriptBlockText" value:"Set-Alias -Name icim -Value Invoke-CimMethod -Option ReadOnly, AllScope -ErrorAction SilentlyContinue"
ScriptBlockTexteqSet-Alias -Name ncim -Value New-CimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinueexcludes:ScriptBlockText field:"ScriptBlockText" value:"Set-Alias -Name ncim -Value New-CimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue"
ScriptBlockTexteqSet-Alias -Name ncms -Value New-CimSession -Option ReadOnly, AllScope -ErrorAction SilentlyContinueexcludes:ScriptBlockText field:"ScriptBlockText" value:"Set-Alias -Name ncms -Value New-CimSession -Option ReadOnly, AllScope -ErrorAction SilentlyContinue"
ScriptBlockTexteqSet-Alias -Name ncso -Value New-CimSessionOption -Option ReadOnly, AllScope -ErrorAction SilentlyContinueexcludes:ScriptBlockText field:"ScriptBlockText" value:"Set-Alias -Name ncso -Value New-CimSessionOption -Option ReadOnly, AllScope -ErrorAction SilentlyContinue"
ScriptBlockTexteqSet-Alias -Name rcie -Value Register-CimIndicationEvent -Option ReadOnly, AllScope -ErrorAction SilentlyContinueexcludes:ScriptBlockText field:"ScriptBlockText" value:"Set-Alias -Name rcie -Value Register-CimIndicationEvent -Option ReadOnly, AllScope -ErrorAction SilentlyContinue"
ScriptBlockTexteqSet-Alias -Name rcim -Value Remove-cimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinueexcludes:ScriptBlockText field:"ScriptBlockText" value:"Set-Alias -Name rcim -Value Remove-cimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue"
ScriptBlockTexteqSet-Alias -Name rcms -Value Remove-cimSession -Option ReadOnly, AllScope -ErrorAction SilentlyContinueexcludes:ScriptBlockText field:"ScriptBlockText" value:"Set-Alias -Name rcms -Value Remove-cimSession -Option ReadOnly, AllScope -ErrorAction SilentlyContinue"
ScriptBlockTexteqSet-Alias -Name scim -Value Set-CimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinueexcludes:ScriptBlockText field:"ScriptBlockText" value:"Set-Alias -Name scim -Value Set-CimInstance -Option ReadOnly, AllScope -ErrorAction SilentlyContinue"

PowerShell Scripts Installed as Services

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

Detects powershell script installed as a Service

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: PowerShell Scripts Installed as Services
id: a2e5019d-a658-4c6a-92bf-7197b54e2cae
status: test
description: Detects powershell script installed as a Service
references:
    - https://speakerdeck.com/heirhabarov/hunting-for-powershell-abuse
author: oscd.community, Natalia Shornikova
date: 2020-10-06
modified: 2022-12-25
tags:
    - attack.execution
    - attack.t1569.002
logsource:
    product: windows
    service: system
detection:
    selection:
        Provider_Name: 'Service Control Manager'
        EventID: 7045
        ImagePath|contains:
            - 'powershell'
            - 'pwsh'
    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:
        - 'powershell'
        - 'pwsh'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ImagePathmatch
  • powershell corpus 5 (sigma 5)
  • pwsh corpus 2 (sigma 2)
field:"ImagePath" kind:match
Provider_Nameeq
  • Service Control Manager corpus 50 (sigma 50)
field:"Provider_Name" kind:eq value:"Service Control Manager"

PUA - Ngrok Execution

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

Detects the use of Ngrok, a utility used for port forwarding and tunneling, often used by threat actors to make local protected services publicly available. Involved domains are bin.equinox.io for download and *.ngrok.io for connections.

Known False Positives

  • Another tool that uses the command line switches of Ngrok
  • Ngrok http 3978 (https://learn.microsoft.com/en-us/azure/bot-service/bot-service-debug-channel-ngrok?view=azure-bot-service-4.0)

MITRE ATT&CK Coverage

TacticTechniques
Command & Control

Telemetry Coverage

Rule Body

title: PUA - Ngrok Execution
id: ee37eb7c-a4e7-4cd5-8fa4-efa27f1c3f31
status: test
description: |
  Detects the use of Ngrok, a utility used for port forwarding and tunneling, often used by threat actors to make local protected services publicly available.
  Involved domains are bin.equinox.io for download and *.ngrok.io for connections.
references:
    - https://ngrok.com/docs
    - https://www.fireeye.com/blog/threat-research/2021/05/shining-a-light-on-darkside-ransomware-operations.html
    - https://stackoverflow.com/questions/42442320/ssh-tunnel-to-ngrok-and-initiate-rdp
    - https://www.virustotal.com/gui/file/58d21840d915aaf4040ceb89522396124c82f325282f805d1085527e1e2ccfa1/detection
    - https://cybleinc.com/2021/02/15/ngrok-platform-abused-by-hackers-to-deliver-a-new-wave-of-phishing-attacks/
    - https://twitter.com/xorJosh/status/1598646907802451969
    - https://www.softwaretestinghelp.com/how-to-use-ngrok/
author: Florian Roth (Nextron Systems)
date: 2021-05-14
modified: 2023-02-21
tags:
    - attack.command-and-control
    - attack.t1572
logsource:
    category: process_creation
    product: windows
detection:
    selection1:
        CommandLine|contains:
            - ' tcp 139'
            - ' tcp 445'
            - ' tcp 3389'
            - ' tcp 5985'
            - ' tcp 5986'
    selection2:
        CommandLine|contains|all:
            - ' start '
            - '--all'
            - '--config'
            - '.yml'
    selection3:
        Image|endswith: 'ngrok.exe'
        CommandLine|contains:
            - ' tcp '
            - ' http '
            - ' authtoken '
    selection4:
        CommandLine|contains:
            - '.exe authtoken '
            - '.exe start --all'
    condition: 1 of selection*
falsepositives:
    - Another tool that uses the command line switches of Ngrok
    - Ngrok http 3978 (https://learn.microsoft.com/en-us/azure/bot-service/bot-service-debug-channel-ngrok?view=azure-bot-service-4.0)
level: high

Stages and Predicates

Stage 0: condition

1 of selection*

Stage 1: selection1

selection1:
    CommandLine|contains:
        - ' tcp 139'
        - ' tcp 445'
        - ' tcp 3389'
        - ' tcp 5985'
        - ' tcp 5986'

Stage 2: selection2

selection2:
    CommandLine|contains|all:
        - ' start '
        - '--all'
        - '--config'
        - '.yml'

Stage 3: selection3

selection3:
    Image|endswith: 'ngrok.exe'
    CommandLine|contains:
        - ' tcp '
        - ' http '
        - ' authtoken '

Stage 4: selection4

selection4:
    CommandLine|contains:
        - '.exe authtoken '
        - '.exe start --all'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • authtoken
  • http
  • start corpus 2 (sigma 2)
  • tcp corpus 2 (sigma 1, splunk 1)
  • tcp 139
  • tcp 3389
  • tcp 445
  • tcp 5985
  • tcp 5986
  • --all
  • --config
  • .exe authtoken
  • .exe start --all
  • .yml corpus 2 (sigma 2)
field:"CommandLine" kind:match
Imageends_with
  • ngrok.exe
field:"Image" kind:ends_with value:"ngrok.exe"

Risk for account takeover - phone number registered to multiple users

#
Status
experimental
Severity
medium
Author
Okta
Source
github.com/auth0/auth0-customer-detections

An adversary can try to register the same phone number (for the SMS delivery) as a second factor (MFA) to multiple compromised accounts in order to maintain persistence.

Known False Positives

  • To filter out false positives, look at the users' emails or users' names. If the emails/names look similar, e.g. one personal email (jane.parker@gmail.com) and one work email (jparker@company.com), then it is likely that the phone number is registered to multiple users intentionally.

MITRE ATT&CK Coverage

TacticTechniques
Persistence

Rule Body

title: Risk for account takeover - phone number registered to multiple users
id: 25b35d32-716b-11f0-a54e-723487b9527c
status: experimental
description: |
    An adversary can try to register the same phone number (for the SMS delivery) as a second factor (MFA) to multiple compromised accounts
    in order to maintain persistence.
author: Okta
date: 2025-07-11
modified: 2025-09-01
logsource:
    product: auth0
detection:
    selection:
        data.type: gd_enrollment_complete
        data.description: "Guardian - Enrollment complete (sms)"
    condition: selection
explanation: >
    The query below collects entries from the tenant logs where the phone number is registered.
    The Splunk query below groups users by a phone number, i.e. collects users with the same phone number.
    It returns phone numbers where the number of users is greater than 1.
splunk: |
    index=auth0 data.tenant_name="{your-tenant-name}"
    data.description="Guardian - Enrollment complete (sms)"
    data.type=gd_enrollment_complete
    | fields data.details.authenticator.phone_number, data.user_id, data.ip
    | stats dc(data.user_id) as users_count values(data.ip) by data.details.authenticator.phone_number
    | where users_count > 1
comments:
    - The Splunk query above shall be tuned to reflect a valid tenant name.
tenant_logs: |
    type: "gd_enrollment_complete" AND description: "Guardian - Enrollment complete (sms)"
prevention:
    - Require strong MFA factors and do not allow factors such as email or SMS.
    - Deploy a send-phone-message action implementing a logic to validate that a phone number is registered only once.
falsepositives:
    - To filter out false positives, look at the users' emails or users' names.
      If the emails/names look similar, e.g. one personal email (jane.parker@gmail.com) and one work email (jparker@company.com),
      then it is likely that the phone number is registered to multiple users intentionally.
level: medium
tags:
    - attack.persistence
    - attack.t1098

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    data.type: gd_enrollment_complete
    data.description: "Guardian - Enrollment complete (sms)"

Indicators

These rows show field, operator, and value matches.

Scheduled Task Created - FileCreation

#
Status
test
Severity
low
Author
Center for Threat Informed Defense (CTID) Summiting the Pyramid Team
Source
github.com/SigmaHQ/sigma

Detects the creation of a scheduled task via file creation.

Known False Positives

  • Normal behaviour on Windows

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: Scheduled Task Created - FileCreation
id: a762e74f-4dce-477c-b023-4ed81df600f9
status: test
description: Detects the creation of a scheduled task via file creation.
references:
    - https://center-for-threat-informed-defense.github.io/summiting-the-pyramid/analytics/task_scheduling/
    - https://posts.specterops.io/abstracting-scheduled-tasks-3b6451f6a1c5
author: Center for Threat Informed Defense (CTID) Summiting the Pyramid Team
date: 2023-09-27
tags:
    - attack.execution
    - attack.persistence
    - attack.privilege-escalation
    - attack.t1053.005
    - attack.s0111
    - car.2013-08-001
    - detection.threat-hunting
logsource:
    product: windows
    category: file_event
detection:
    selection:
        TargetFilename|contains:
            - ':\Windows\System32\Tasks\'
            - ':\Windows\SysWOW64\Tasks\'
            - ':\Windows\Tasks\'
    condition: selection
falsepositives:
    - Normal behaviour on Windows
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetFilename|contains:
        - ':\Windows\System32\Tasks\'
        - ':\Windows\SysWOW64\Tasks\'
        - ':\Windows\Tasks\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenamematch
  • :\Windows\SysWOW64\Tasks\
  • :\Windows\System32\Tasks\ corpus 2 (sigma 2)
  • :\Windows\Tasks\ corpus 2 (sigma 2)
field:"TargetFilename" kind:match

SQL Server - Brutforce enumeration with non existing users (login)

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

Detects scenarios where an attacker attempts to enumerate potential existing SQL users, resulting in failed logins with unexisting or invalid accounts.

Known False Positives

  • Missconfigured application

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

ProviderRecord / event type
MSSQLSERVEREvent ID 33205

Rule Body

title: SQL Server - Brutforce enumeration with non existing users (login)
description: Detects scenarios where an attacker attempts to enumerate potential existing SQL users, resulting in failed logins with unexisting or invalid accounts.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0006-Credential%20Access/T1110.xxx-Brut%20force
- https://www.eraofdata.com/sql-server/connectivity/login-failures/
- https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/ms366351(v=sql.105)
tags:
- attack.credential_access
- attack.t1110
author: mdecrevoisier
status: experimental
logsource:
  product: mssql
  category: application
detection:
  selection:
    EventID: 33205
    action_id:
      - LGFL # FAILED_LOGIN_GROUP
      - LGIF # LOGIN FAILED
    class_type: LX # LOGIN
    additional_information|contains:
      - "<state>2</state>" # User ID is not valid
      - "<state>5</state>" # Login not found
  condition: selection | count(server_principal_name) by Computer > 20
  timeframe: 30m
falsepositives:
- Missconfigured application
level: high

Stages and Predicates

Stage 0: condition

selection | count(server_principal_name) by Computer > 20

Stage 1: selection

selection:
  EventID: 33205
  action_id:
    - LGFL
    - LGIF
  class_type: LX
  additional_information|contains:
    - "<state>2</state>"
    - "<state>5</state>"
Threshold
> 20

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
action_ideq
  • LGFL corpus 2 (sigma 2)
  • LGIF corpus 2 (sigma 2)
field:"action_id" kind:eq
additional_informationmatch
  • <state>2</state>
  • <state>5</state>
field:"additional_information" kind:match
class_typeeq
  • LX corpus 2 (sigma 2)
field:"class_type" kind:eq value:"LX"

SQL Server database auditing deactivated

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

Detects scenarios where an attacker deactivates SQL Server database auditing capacities. SQL auditing requires previous configuration on each SQL instance.

Known False Positives

  • DBA policy change

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
MSSQLSERVEREvent ID 33205

Rule Body

title: SQL Server database auditing deactivated
description: Detects scenarios where an attacker deactivates SQL Server database auditing capacities. SQL auditing requires previous configuration on each SQL instance.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0005-Defense%20Evasion/T1562.002-Disable%20Windows%20Event%20Logging
- https://www.ultimatewindowssecurity.com/sqlserver/auditlog/sampleevent.aspx
- https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions?view=sql-server-2017
- https://www.sqlshack.com/various-techniques-to-audit-sql-server-databases/
tags:
- attack.defense_evasion
- attack.t1562.002
author: mdecrevoisier
status: experimental
logsource:
  product: mssql
  category: application
detection:
  sql_server_event:
    EventID: 33205

  database_audit_spec_disable:
    action_id: AL   # Alter
    class_type: DA  # Database Audit Specification
    statement|contains: 'STATE = OFF'

  database_audit_spec_delete:
    action_id: DR   # Drop
    class_type: DA  # Database Audit Specification

  condition: sql_server_event and (database_audit_spec_disable or database_audit_spec_delete)
falsepositives:
- DBA policy change
level: high

Stages and Predicates

Stage 0: condition

sql_server_event and (database_audit_spec_disable or database_audit_spec_delete)

Stage 1: sql_server_event

sql_server_event:
  EventID: 33205

Stage 2: database_audit_spec_disable

database_audit_spec_disable:
  action_id: AL
  class_type: DA
  statement|contains: 'STATE = OFF'

Stage 3: database_audit_spec_delete

database_audit_spec_delete:
  action_id: DR
  class_type: DA

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
action_ideq
  • AL corpus 2 (sigma 2)
  • DR corpus 2 (sigma 2)
field:"action_id" kind:eq
class_typeeq
  • DA
field:"class_type" kind:eq value:"DA"
statementmatch
  • STATE = OFF corpus 2 (sigma 2)
field:"statement" kind:match value:"STATE = OFF"

Suspicious History File Operations - Linux

#
Status
test
Severity
medium
Author
Mikhail Larin, oscd.community
Source
github.com/SigmaHQ/sigma

Detects commandline operations on shell history files

Known False Positives

  • Legitimate administrative activity
  • Legitimate software, cleaning hist file

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

Rule Body

title: Suspicious History File Operations - Linux
id: eae8ce9f-bde9-47a6-8e79-f20d18419910
status: test
description: 'Detects commandline operations on shell history files'
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1552.003/T1552.003.md
author: 'Mikhail Larin, oscd.community'
date: 2020-10-17
modified: 2022-11-28
tags:
    - attack.credential-access
    - attack.t1552.003
logsource:
    product: linux
    service: auditd
detection:
    execve:
        type: EXECVE
    history:
        - '.bash_history'
        - '.zsh_history'
        - '.zhistory'
        - '.history'
        - '.sh_history'
        - 'fish_history'
    condition: execve and history
falsepositives:
    - Legitimate administrative activity
    - Legitimate software, cleaning hist file
level: medium

Stages and Predicates

Stage 0: condition

execve and history

Stage 1: execve

execve:
    type: EXECVE

Stage 2: history

history:
    - '.bash_history'
    - '.zsh_history'
    - '.zhistory'
    - '.history'
    - '.sh_history'
    - 'fish_history'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
typeeq
  • EXECVE corpus 37 (sigma 31, splunk 6)
field:"type" kind:eq value:"EXECVE"

Suspicious Kerberos proxiable/S4U2self ticket (CVE-2021-42278/42287)

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

Detects scenarios where an attacker attempts to request a proxiable ticket. This action may trigger while attempting to identify a vulnerable target or using some offsensive Kerberos tools like Kerbrute, Impacket...

Known False Positives

  • Applications or services performing delegation activities

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious Kerberos proxiable/S4U2self ticket (CVE-2021-42278/42287)
description: Detects scenarios where an attacker attempts to request a proxiable ticket. This action may trigger while attempting to identify a vulnerable target or using some offsensive Kerberos tools like Kerbrute, Impacket...
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0006-Credential%20Access/T1558-Steal%20or%20Forge%20Kerberos%20Tickets
- https://exploit.ph/cve-2021-42287-cve-2021-42278-weaponisation.html
- https://www.thehacker.recipes/ad/movement/kerberos/samaccountname-spoofing
- https://support.microsoft.com/en-us/topic/kb5008380-authentication-updates-cve-2021-42287-9dafac11-e0d0-4cb8-959a-143bd0201041
- https://github.com/WazeHell/sam-the-admin
- https://github.com/cube0x0/noPac
- https://github.com/ly4k/Pachine
- https://www.jpcert.or.jp/english/pub/sr/20170612ac-ir_research_en.pdf
tags:
- attack.credential_access
- attack.t1558 # forged ticket
- attack.privilege_escalation
- attack.t1068 # exploitation for privilege escalation
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 4768
    Status: 0x0 # Success
    ServiceSid|endswith: '-502' # Krbtgt account SID
    TicketOptions: '0x50800000' # Forwardable, Proxiable, Renewable ticket
  filter:
    - IpAddress: '%domain_controllers_ips%'     # reduce amount of false positives
    - TargetUserName: '%account_allowed_proxy%' # accounts allowed to perform proxiable requests
  condition: selection and not filter
falsepositives:
- Applications or services performing delegation activities
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
  EventID: 4768
  Status: 0x0
  ServiceSid|endswith: '-502'
  TicketOptions: '0x50800000'

Stage 2: not filter

filter:
  - IpAddress: '%domain_controllers_ips%'
  - TargetUserName: '%account_allowed_proxy%'

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
IpAddresseq%domain_controllers_ips%excludes:IpAddress field:"IpAddress" value:"%domain_controllers_ips%"
TargetUserNameeq%account_allowed_proxy%excludes:TargetUserName field:"TargetUserName" value:"%account_allowed_proxy%"

Suspicious Mshta.EXE Execution Patterns

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

Detects suspicious mshta process execution patterns

MITRE ATT&CK Coverage

TacticTechniques
Execution

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Suspicious Mshta.EXE Execution Patterns
id: e32f92d1-523e-49c3-9374-bdb13b46a3ba
status: test
description: Detects suspicious mshta process execution patterns
references:
    - https://en.wikipedia.org/wiki/HTML_Application
    - https://www.echotrail.io/insights/search/mshta.exe
    - https://app.any.run/tasks/34221348-072d-4b70-93f3-aa71f6ebecad/
author: Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
date: 2021-07-17
modified: 2023-02-21
tags:
    - attack.execution
    - attack.t1106
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\mshta.exe'
        - OriginalFileName: 'MSHTA.EXE'
    selection_susp:
        # Suspicious parents
        ParentImage|endswith:
            - '\cmd.exe'
            - '\cscript.exe'
            - '\powershell.exe'
            - '\pwsh.exe'
            - '\regsvr32.exe'
            - '\rundll32.exe'
            - '\wscript.exe'
        # Suspicious folders
        CommandLine|contains:
            - '\AppData\Local\'
            - 'C:\ProgramData\'
            - 'C:\Users\Public\'
            - 'C:\Windows\Temp\'
    filter_img:
        # Filter legit Locations
        - Image|startswith:
              - 'C:\Windows\System32\'
              - 'C:\Windows\SysWOW64\'
        # Suspicious extensions
        - CommandLine|contains:
              - '.htm'
              - '.hta'
        # Filter simple execution
        - CommandLine|endswith:
              - 'mshta.exe'
              - 'mshta'
    condition: all of selection_* or (selection_img and not filter_img)
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_* or (selection_img and not filter_img)

Stage 1: selection_img

selection_img:
    - Image|endswith: '\mshta.exe'
    - OriginalFileName: 'MSHTA.EXE'

Stage 2: selection_susp

selection_susp:
    ParentImage|endswith:
        - '\cmd.exe'
        - '\cscript.exe'
        - '\powershell.exe'
        - '\pwsh.exe'
        - '\regsvr32.exe'
        - '\rundll32.exe'
        - '\wscript.exe'
    CommandLine|contains:
        - '\AppData\Local\'
        - 'C:\ProgramData\'
        - 'C:\Users\Public\'
        - 'C:\Windows\Temp\'

Stage 3: selection_img

selection_img:
    - Image|endswith: '\mshta.exe'
    - OriginalFileName: 'MSHTA.EXE'

Stage 4: not filter_img

filter_img:
    - Image|startswith:
          - 'C:\Windows\System32\'
          - 'C:\Windows\SysWOW64\'
    - CommandLine|contains:
          - '.htm'
          - '.hta'
    - CommandLine|endswith:
          - 'mshta.exe'
          - 'mshta'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • C:\ProgramData\ corpus 6 (sigma 6)
  • C:\Users\Public\ corpus 2 (sigma 2)
  • C:\Windows\Temp\ corpus 7 (sigma 7)
  • \AppData\Local\ corpus 11 (sigma 10, elastic 1)
field:"CommandLine" kind:match
Imageends_with
  • \mshta.exe corpus 67 (sigma 66, splunk 1)
field:"Image" kind:ends_with value:"\mshta.exe"
OriginalFileNameeq
  • MSHTA.EXE corpus 40 (elastic 21, sigma 13, splunk 6)
field:"OriginalFileName" kind:eq value:"MSHTA.EXE"
ParentImageends_with
  • \cmd.exe corpus 20 (sigma 20)
  • \cscript.exe corpus 17 (sigma 17)
  • \powershell.exe corpus 24 (sigma 24)
  • \pwsh.exe corpus 21 (sigma 21)
  • \regsvr32.exe corpus 11 (sigma 11)
  • \rundll32.exe corpus 15 (sigma 15)
  • \wscript.exe corpus 19 (sigma 19)
field:"ParentImage" kind:ends_with

Exclusions

The rule actively suppresses these predicates.

System time changed

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

Detects scenarios where an attacker attempts to change the system time to evade defense. Check also if NewTime is different from PreviousTime to reduce false positives.

Known False Positives

  • Hypervisors

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: System time changed
description: Detects scenarios where an attacker attempts to change the system time to evade defense. Check also if NewTime is different from PreviousTime to reduce false positives.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0005-Defense%20Evasion/T1070.006-Timestomp
- https://blog.menasec.net/2019/02/threat-hunting-19-suspicious-system.html
tags:
- attack.defense_evasion
- attack.t1070.006
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 4616
  filter:
    ProcessName|endswith:
      - '\VMware\VMware Tools\vmtoolsd.exe' # triggered by the System account
      - '\Windows\System32\svchost.exe'     # triggered by the Local service account / S-1-5-19
      #- '\Windows\System32\dllhost.exe'    # triggered by the Control Panel GUI, may be suspicious
  condition: selection and not filter
falsepositives:
- Hypervisors
level: medium

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
  EventID: 4616

Stage 2: not filter

filter:
  ProcessName|endswith:
    - '\VMware\VMware Tools\vmtoolsd.exe'
    - '\Windows\System32\svchost.exe'

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ProcessNameends_with\VMware\VMware Tools\vmtoolsd.exeexcludes:ProcessName field:"ProcessName" value:"\VMware\VMware Tools\vmtoolsd.exe"
ProcessNameends_with\Windows\System32\svchost.exeexcludes:ProcessName field:"ProcessName" value:"\Windows\System32\svchost.exe"

TeamViewer Domain Query By Non-TeamViewer Application

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

Detects DNS queries to a TeamViewer domain only resolved by a TeamViewer client by an image that isn't named TeamViewer (sometimes used by threat actors for obfuscation)

Known False Positives

  • Unknown binary names of TeamViewer
  • Depending on the environment the rule might require some initial tuning before usage to avoid FP with third party applications

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 22: DNSEvent (DNS query)

Rule Body

title: TeamViewer Domain Query By Non-TeamViewer Application
id: 778ba9a8-45e4-4b80-8e3e-34a419f0b85e
status: test
description: Detects DNS queries to a TeamViewer domain only resolved by a TeamViewer client by an image that isn't named TeamViewer (sometimes used by threat actors for obfuscation)
references:
    - https://www.teamviewer.com/en-us/
author: Florian Roth (Nextron Systems)
date: 2022-01-30
modified: 2023-09-18
tags:
    - attack.command-and-control
    - attack.t1219.002
logsource:
    product: windows
    category: dns_query
detection:
    selection:
        QueryName:
            - 'taf.teamviewer.com'
            - 'udp.ping.teamviewer.com'
    filter_main_teamviewer:
        # Note: To avoid evasion based on similar names. Best add full install location of TeamViewer
        Image|contains: 'TeamViewer'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown binary names of TeamViewer
    - Depending on the environment the rule might require some initial tuning before usage to avoid FP with third party applications
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    QueryName:
        - 'taf.teamviewer.com'
        - 'udp.ping.teamviewer.com'

Stage 2: not filter_main_teamviewer

filter_main_teamviewer:
    Image|contains: 'TeamViewer'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
QueryNameeq
  • taf.teamviewer.com
  • udp.ping.teamviewer.com
field:"QueryName" kind:eq

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ImagematchTeamViewerexcludes:Image field:"Image" value:"TeamViewer"

Unusual File Modification by dns.exe

#
Status
test
Severity
high
Author
Tim Rauch (Nextron Systems), Elastic (idea)
Source
github.com/SigmaHQ/sigma

Detects an unexpected file being modified by dns.exe which my indicate activity related to remote code execution or other forms of exploitation as seen in CVE-2020-1350 (SigRed)

MITRE ATT&CK Coverage

TacticTechniques
Initial Access
Persistence

Telemetry Coverage

Rule Body

title: Unusual File Modification by dns.exe
id: 9f383dc0-fdeb-4d56-acbc-9f9f4f8f20f3
related:
    - id: 8f0b1fb1-9bd4-4e74-8cdf-a8de4d2adfd0 # FileDelete version
      type: similar
status: test
description: Detects an unexpected file being modified by dns.exe which my indicate activity related to remote code execution or other forms of exploitation as seen in CVE-2020-1350 (SigRed)
references:
    - https://www.elastic.co/guide/en/security/current/unusual-file-modification-by-dns-exe.html
author: Tim Rauch (Nextron Systems), Elastic (idea)
date: 2022-09-27
tags:
    - attack.persistence
    - attack.initial-access
    - attack.t1133
logsource:
    category: file_change
    product: windows
detection:
    selection:
        Image|endswith: '\dns.exe'
    filter:
        TargetFilename|endswith: '\dns.log'
    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: '\dns.exe'

Stage 2: not filter

filter:
    TargetFilename|endswith: '\dns.log'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \dns.exe corpus 2 (sigma 2)
field:"Image" kind:ends_with value:"\dns.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
TargetFilenameends_with\dns.logexcludes:TargetFilename field:"TargetFilename" value:"\dns.log"

Use of TTDInject.exe

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

Detects the executiob of TTDInject.exe, which is used by Windows 10 v1809 and newer to debug time travel (underlying call of tttracer.exe)

Known False Positives

  • Legitimate use

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Use of TTDInject.exe
id: b27077d6-23e6-45d2-81a0-e2b356eea5fd
status: test
description: Detects the executiob of TTDInject.exe, which is used by Windows 10 v1809 and newer to debug time travel (underlying call of tttracer.exe)
references:
    - https://lolbas-project.github.io/lolbas/Binaries/Ttdinject/
author: frack113
date: 2022-05-16
tags:
    - attack.execution
    - attack.stealth
    - attack.t1127
logsource:
    product: windows
    category: process_creation
detection:
    selection:
        - Image|endswith: 'ttdinject.exe'
        - OriginalFileName: 'TTDInject.EXE'
    condition: selection
falsepositives:
    - Legitimate use
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    - Image|endswith: 'ttdinject.exe'
    - OriginalFileName: 'TTDInject.EXE'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • ttdinject.exe
field:"Image" kind:ends_with value:"ttdinject.exe"
OriginalFileNameeq
  • TTDInject.EXE corpus 2 (sigma 1, elastic 1)
field:"OriginalFileName" kind:eq value:"TTDInject.EXE"

Windows AppX Deployment Full Trust Package Installation

#
Status
experimental
Severity
medium
Author
Michael Haag, Swachchhanda Shrawan Poudel (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects the installation of MSIX/AppX packages with full trust privileges which run with elevated privileges outside normal AppX container restrictions

Known False Positives

  • Some legitimate applications installation which have been missed from filtering can generate fps, thus baselining and tuning is recommended before deploying to production

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Windows AppX Deployment Full Trust Package Installation
id: e54279c7-4910-4e2c-902c-c56a25b549f6
status: experimental
description: Detects the installation of MSIX/AppX packages with full trust privileges which run with elevated privileges outside normal AppX container restrictions
references:
    - https://www.splunk.com/en_us/blog/security/msix-weaponization-threat-detection-splunk.html
author: Michael Haag, Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-11-03
tags:
    - attack.execution
    - attack.defense-impairment
    - attack.t1204.002
    - attack.t1553.005
logsource:
    product: windows
    service: appxdeployment-server
detection:
    selection:
        EventID: 400
        HasFullTrust: true
    filter_main_legitpath:
        PackageSourceUri|startswith:
            - 'file:///C:/Program%20Files/'
            - 'file:///C:/Program%20Files%20(x86)/'
    filter_main_microsoft:
        - PackageSourceUri|startswith: 'https://go.microsoft.com/fwlink/?linkid'
        - PackageSourceUri|contains:
              - '.cdn.microsoft.com'
              - '.cdn.office.net/'
    filter_main_callerprocess:
        CallingProcess|startswith:
            - 'sysprep.exe'
            - 'svchost.exe,AppReadiness'
    filter_optional_x_update:
        PackageSourceUri|startswith: 'x-windowsupdate://'
    filter_optional_microsoftclient:
        PackageFullName|startswith: 'MicrosoftWindows.Client.'
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Some legitimate applications installation which have been missed from filtering can generate fps, thus baselining and tuning is recommended before deploying to production
level: medium
regression_tests_path: regression_data/rules/windows/builtin/appxdeployment_server/win_appxpackaging_server_full_trust_package_installation/info.yml

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_* and not 1 of filter_optional_*

Stage 1: selection

selection:
    EventID: 400
    HasFullTrust: true

Stage 2: not filter_main_*

filter_main_legitpath:
    PackageSourceUri|startswith:
        - 'file:///C:/Program%20Files/'
        - 'file:///C:/Program%20Files%20(x86)/'
filter_main_microsoft:
    - PackageSourceUri|startswith: 'https://go.microsoft.com/fwlink/?linkid'
    - PackageSourceUri|contains:
          - '.cdn.microsoft.com'
          - '.cdn.office.net/'
filter_main_callerprocess:
    CallingProcess|startswith:
        - 'sysprep.exe'
        - 'svchost.exe,AppReadiness'

Stage 3: not filter_optional_*

filter_optional_x_update:
    PackageSourceUri|startswith: 'x-windowsupdate://'
filter_optional_microsoftclient:
    PackageFullName|startswith: 'MicrosoftWindows.Client.'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
HasFullTrusteq
  • true corpus 2 (sigma 1, splunk 1)
field:"HasFullTrust" kind:eq value:"true"

Exclusions

The rule actively suppresses these predicates.

Windows Defender Context Menu Removed

#
Status
experimental
Severity
high
Author
Matt Anderson (Huntress)
Source
github.com/SigmaHQ/sigma

Detects the use of reg.exe or PowerShell to delete the Windows Defender context menu handler registry keys. This action removes the "Scan with Microsoft Defender" option from the right-click menu for files, directories, and drives. Attackers may use this technique to hinder manual, on-demand scans and reduce the visibility of the security product.

Known False Positives

  • May be part of a system customization or "debloating" script, but this is highly unusual in a managed corporate environment.

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Windows Defender Context Menu Removed
id: b9e8c7d6-a5f4-4e3d-8b1a-9f0c8d7e6a5b
related:
    - id: 72a0369a-2576-4aaf-bfc9-6bb24a574ac6
      type: similar
status: experimental
description: |
    Detects the use of reg.exe or PowerShell to delete the Windows Defender context menu handler registry keys.
    This action removes the "Scan with Microsoft Defender" option from the right-click menu for files, directories, and drives.
    Attackers may use this technique to hinder manual, on-demand scans and reduce the visibility of the security product.
references:
    - https://research.splunk.com/endpoint/395ed5fe-ad13-4366-9405-a228427bdd91/
    - https://winaero.com/how-to-delete-scan-with-windows-defender-from-context-menu-in-windows-10/
    - https://thedfirreport.com/2021/10/18/icedid-to-xinglocker-ransomware-in-24-hours/
    - https://blog.malwarebytes.com/malwarebytes-news/2021/02/lazyscripter-from-empire-to-double-rat/
author: 'Matt Anderson (Huntress)'
date: 2025-07-09
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith:
              - '\powershell_ise.exe'
              - '\powershell.exe'
              - '\pwsh.exe'
              - '\reg.exe'
        - OriginalFileName:
              - 'powershell_ise.EXE'
              - 'PowerShell.EXE'
              - 'pwsh.dll'
              - 'reg.exe'
    selection_action:
        CommandLine|contains:
            - 'del'
            - 'Remove-Item'
            - 'ri '
    selection_reg_path:
        CommandLine|contains: '\shellex\ContextMenuHandlers\EPP'
    condition: all of selection_*
falsepositives:
    - May be part of a system customization or "debloating" script, but this is highly unusual in a managed corporate environment.
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    - Image|endswith:
          - '\powershell_ise.exe'
          - '\powershell.exe'
          - '\pwsh.exe'
          - '\reg.exe'
    - OriginalFileName:
          - 'powershell_ise.EXE'
          - 'PowerShell.EXE'
          - 'pwsh.dll'
          - 'reg.exe'

Stage 2: selection_action

selection_action:
    CommandLine|contains:
        - 'del'
        - 'Remove-Item'
        - 'ri '

Stage 3: selection_reg_path

selection_reg_path:
    CommandLine|contains: '\shellex\ContextMenuHandlers\EPP'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • Remove-Item corpus 2 (sigma 1, elastic 1)
  • \shellex\ContextMenuHandlers\EPP
  • del corpus 2 (sigma 2)
  • ri
field:"CommandLine" kind:match
Imageends_with
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \powershell_ise.exe corpus 41 (sigma 41)
  • \pwsh.exe corpus 166 (sigma 166)
  • \reg.exe corpus 58 (sigma 58)
field:"Image" kind:ends_with
OriginalFileNameeq
  • PowerShell.EXE corpus 134 (sigma 86, splunk 30, elastic 18)
  • powershell_ise.EXE corpus 52 (splunk 30, sigma 18, elastic 4)
  • pwsh.dll corpus 115 (sigma 81, splunk 30, elastic 4)
  • reg.exe corpus 41 (sigma 32, splunk 8, elastic 1)
field:"OriginalFileName" kind:eq

WinRAR Execution in Non-Standard Folder

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

Detects a suspicious WinRAR execution in a folder which is not the default installation folder

Known False Positives

  • Legitimate use of WinRAR in a folder of a software that bundles WinRAR

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: WinRAR Execution in Non-Standard Folder
id: 4ede543c-e098-43d9-a28f-dd784a13132f
status: test
description: Detects a suspicious WinRAR execution in a folder which is not the default installation folder
references:
    - https://twitter.com/cyb3rops/status/1460978167628406785
author: Florian Roth (Nextron Systems), Tigzy
date: 2021-11-17
modified: 2025-07-16
tags:
    - attack.collection
    - attack.t1560.001
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        - Image|endswith:
              - '\rar.exe'
              - '\winrar.exe'
        - Description:
              - 'Command line RAR'
              - 'WinRAR'
    filter_main_unrar:
        # Note: we filter unrar as it has the same description as the other utilities, and we're only interested in compression
        Image|endswith: '\UnRAR.exe'
    filter_main_path:
        Image|contains:
            - ':\Program Files (x86)\WinRAR\'
            - ':\Program Files\WinRAR\'
    filter_optional_temp:
        # Note: in some occasion installers were seen dropping "rar" in TEMP
        Image|contains: ':\Windows\Temp\'
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Legitimate use of WinRAR in a folder of a software that bundles WinRAR
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_winrar_uncommon_folder_execution/info.yml

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_* and not 1 of filter_optional_*

Stage 1: selection

selection:
    - Image|endswith:
          - '\rar.exe'
          - '\winrar.exe'
    - Description:
          - 'Command line RAR'
          - 'WinRAR'

Stage 2: not filter_main_*

filter_main_unrar:
    Image|endswith: '\UnRAR.exe'
filter_main_path:
    Image|contains:
        - ':\Program Files (x86)\WinRAR\'
        - ':\Program Files\WinRAR\'

Stage 3: not filter_optional_temp

filter_optional_temp:
    Image|contains: ':\Windows\Temp\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Descriptioneq
  • Command line RAR corpus 3 (sigma 3)
  • WinRAR
field:"Description" kind:eq
Imageends_with
  • \rar.exe corpus 5 (sigma 5)
  • \winrar.exe corpus 6 (sigma 6)
field:"Image" kind:ends_with

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imageends_with\UnRAR.exeexcludes:Image field:"Image" value:"\UnRAR.exe"
Imagematch:\Program Files (x86)\WinRAR\excludes:Image field:"Image" value:":\Program Files (x86)\WinRAR\"
Imagematch:\Program Files\WinRAR\excludes:Image field:"Image" value:":\Program Files\WinRAR\"
Imagematch:\Windows\Temp\excludes:Image field:"Image" value:":\Windows\Temp\"

Back to all Sigma rules