Detection rules › Sigma

Sigma rules: 23

A Member Was Added to a Security-Enabled Global Group

#
Status
stable
Severity
low
Author
Alexandr Yampolskyi, SOC Prime
Source
github.com/SigmaHQ/sigma

Detects activity when a member is added to a security-enabled global group

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Privilege Escalation

Telemetry Coverage

Rule Body

title: A Member Was Added to a Security-Enabled Global Group
id: c43c26be-2e87-46c7-8661-284588c5a53e
related:
    - id: 9cf01b6c-e723-4841-a868-6d7f8245ca6e
      type: obsolete
status: stable
description: Detects activity when a member is added to a security-enabled global group
references:
    - https://www.cisecurity.org/controls/cis-controls-list/
    - https://www.pcisecuritystandards.org/documents/PCI_DSS_v3-2-1.pdf
    - https://nvlpubs.nist.gov/nistpubs/CSWP/NIST.CSWP.04162018.pdf
    - https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?eventID=4728
    - https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?eventID=632
author: Alexandr Yampolskyi, SOC Prime
date: 2023-04-26
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1098
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID:
            - 4728 # A member was added to a security-enabled global group
            - 632 # Security Enabled Global Group Member Added
    condition: selection
falsepositives:
    - Unknown
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID:
        - 4728
        - 632

Add Debugger Entry To Hangs Key For Persistence

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

Detects when an attacker adds a new "Debugger" value to the "Hangs" key in order to achieve persistence which will get invoked when an application crashes

Known False Positives

  • This value is not set by default but could be rarly used by administrators

MITRE ATT&CK Coverage

TacticTechniques
PersistenceNo specific technique

Telemetry Coverage

Rule Body

title: Add Debugger Entry To Hangs Key For Persistence
id: 833ef470-fa01-4631-a79b-6f291c9ac498
status: test
description: Detects when an attacker adds a new "Debugger" value to the "Hangs" key in order to achieve persistence which will get invoked when an application crashes
references:
    - https://persistence-info.github.io/Data/wer_debugger.html
    - https://www.hexacorn.com/blog/2019/09/20/beyond-good-ol-run-key-part-116/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-07-21
modified: 2023-08-17
tags:
    - attack.persistence
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|contains: '\SOFTWARE\Microsoft\Windows\Windows Error Reporting\Hangs\Debugger'
    condition: selection
falsepositives:
    - This value is not set by default but could be rarly used by administrators
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|contains: '\SOFTWARE\Microsoft\Windows\Windows Error Reporting\Hangs\Debugger'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectmatch
  • \SOFTWARE\Microsoft\Windows\Windows Error Reporting\Hangs\Debugger
field:"TargetObject" kind:match value:"\SOFTWARE\Microsoft\Windows\Windows Error Reporting\Hangs\Debugger"

Atbroker Registry Change

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

Detects creation/modification of Assistive Technology applications and persistence with usage of 'at'

Known False Positives

  • Creation of non-default, legitimate at usage

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Atbroker Registry Change
id: 9577edbb-851f-4243-8c91-1d5b50c1a39b
status: test
description: Detects creation/modification of Assistive Technology applications and persistence with usage of 'at'
references:
    - http://www.hexacorn.com/blog/2016/07/22/beyond-good-ol-run-key-part-42/
    - https://lolbas-project.github.io/lolbas/Binaries/Atbroker/
author: Mateusz Wydra, oscd.community
date: 2020-10-13
modified: 2023-01-19
tags:
    - attack.privilege-escalation
    - attack.stealth
    - attack.t1218
    - attack.persistence
    - attack.t1547
logsource:
    category: registry_event
    product: windows
detection:
    selection:
        TargetObject|contains:
            - 'Software\Microsoft\Windows NT\CurrentVersion\Accessibility\ATs'
            - 'Software\Microsoft\Windows NT\CurrentVersion\Accessibility\Configuration'
    filter_atbroker:
        Image: 'C:\Windows\system32\atbroker.exe'
        TargetObject|contains: '\Microsoft\Windows NT\CurrentVersion\Accessibility\Configuration'
        Details: '(Empty)'
    filter_uninstallers:
        Image|startswith: 'C:\Windows\Installer\MSI'
        TargetObject|contains: 'Software\Microsoft\Windows NT\CurrentVersion\Accessibility\ATs'
    condition: selection and not 1 of filter_*
falsepositives:
    - Creation of non-default, legitimate at usage
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_*

Stage 1: selection

selection:
    TargetObject|contains:
        - 'Software\Microsoft\Windows NT\CurrentVersion\Accessibility\ATs'
        - 'Software\Microsoft\Windows NT\CurrentVersion\Accessibility\Configuration'

Stage 2: not filter_*

filter_atbroker:
    Image: 'C:\Windows\system32\atbroker.exe'
    TargetObject|contains: '\Microsoft\Windows NT\CurrentVersion\Accessibility\Configuration'
    Details: '(Empty)'
filter_uninstallers:
    Image|startswith: 'C:\Windows\Installer\MSI'
    TargetObject|contains: 'Software\Microsoft\Windows NT\CurrentVersion\Accessibility\ATs'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectmatch
  • Software\Microsoft\Windows NT\CurrentVersion\Accessibility\ATs
  • Software\Microsoft\Windows NT\CurrentVersion\Accessibility\Configuration
field:"TargetObject" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Detailseq(Empty)excludes:Details field:"Details" value:"(Empty)"
ImageeqC:\Windows\system32\atbroker.exeexcludes:Image field:"Image" value:"C:\Windows\system32\atbroker.exe"
TargetObjectmatch\Microsoft\Windows NT\CurrentVersion\Accessibility\Configurationexcludes:TargetObject field:"TargetObject" value:"\Microsoft\Windows NT\CurrentVersion\Accessibility\Configuration"
Imagestarts_withC:\Windows\Installer\MSIexcludes:Image field:"Image" value:"C:\Windows\Installer\MSI"
TargetObjectmatchSoftware\Microsoft\Windows NT\CurrentVersion\Accessibility\ATsexcludes:TargetObject field:"TargetObject" value:"Software\Microsoft\Windows NT\CurrentVersion\Accessibility\ATs"

Azure Subscription Permission Elevation Via AuditLogs

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

Detects when a user has been elevated to manage all Azure Subscriptions. This change should be investigated immediately if it isn't planned. This setting could allow an attacker access to Azure subscriptions in your environment.

Known False Positives

  • If this was approved by System Administrator.

MITRE ATT&CK Coverage

TacticTechniques
Initial Access
Persistence
Privilege Escalation
Stealth

Telemetry Coverage

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: Azure Subscription Permission Elevation Via AuditLogs
id: ca9bf243-465e-494a-9e54-bf9fc239057d
status: test
description: |
    Detects when a user has been elevated to manage all Azure Subscriptions.
    This change should be investigated immediately if it isn't planned.
    This setting could allow an attacker access to Azure subscriptions in your environment.
references:
    - https://learn.microsoft.com/en-us/entra/architecture/security-operations-privileged-accounts#assignment-and-elevation
author: Austin Songer @austinsonger
date: 2021-11-26
modified: 2022-12-25
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.initial-access
    - attack.stealth
    - attack.t1078
logsource:
    product: azure
    service: auditlogs
detection:
    selection:
        Category: 'Administrative'
        OperationName: 'Assigns the caller to user access admin'
    condition: selection
falsepositives:
    - If this was approved by System Administrator.
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Category: 'Administrative'
    OperationName: 'Assigns the caller to user access admin'

Indicators

These rows show field, operator, and value matches.

Blue Mockingbird - Registry

#
Status
test
Severity
high
Author
Trent Liffick (@tliffick)
Source
github.com/SigmaHQ/sigma

Attempts to detect system changes made by Blue Mockingbird

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Blue Mockingbird - Registry
id: 92b0b372-a939-44ed-a11b-5136cf680e27
related:
    - id: c3198a27-23a0-4c2c-af19-e5328d49680e
      type: derived
status: test
description: Attempts to detect system changes made by Blue Mockingbird
references:
    - https://redcanary.com/blog/blue-mockingbird-cryptominer/
author: Trent Liffick (@tliffick)
date: 2020-05-14
modified: 2023-08-17
tags:
    - attack.execution
    - attack.persistence
    - attack.defense-impairment
    - attack.t1112
    - attack.t1047
    - detection.emerging-threats
logsource:
    product: windows
    category: registry_set
detection:
    selection:
        TargetObject|endswith: '\CurrentControlSet\Services\wercplsupport\Parameters\ServiceDll'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|endswith: '\CurrentControlSet\Services\wercplsupport\Parameters\ServiceDll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectends_with
  • \CurrentControlSet\Services\wercplsupport\Parameters\ServiceDll
field:"TargetObject" kind:ends_with value:"\CurrentControlSet\Services\wercplsupport\Parameters\ServiceDll"

Creation Of Pod In System Namespace

#
Status
test
Severity
medium
Author
Leo Tsaousis (@laripping)
Source
github.com/SigmaHQ/sigma

Detects deployments of pods within the kube-system namespace, which could be intended to imitate system pods. System pods, created by controllers such as Deployments or DaemonSets have random suffixes in their names. Attackers can use this fact and name their backdoor pods as if they were created by these controllers to avoid detection. Deployment of such a backdoor container e.g. named kube-proxy-bv61v, could be attempted in the kube-system namespace alongside the other administrative containers.

Known False Positives

  • System components such as daemon-set-controller and kube-scheduler also create pods in the kube-system namespace

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
Kubernetescreate-pods: create pods

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: Creation Of Pod In System Namespace
id: a80d927d-ac6e-443f-a867-e8d6e3897318
status: test
description: |
    Detects deployments of pods within the kube-system namespace, which could be intended to imitate system pods.
    System pods, created by controllers such as Deployments or DaemonSets have random suffixes in their names.
    Attackers can use this fact and name their backdoor pods as if they were created by these controllers to avoid detection.
    Deployment of such a backdoor container e.g. named kube-proxy-bv61v, could be attempted in the kube-system namespace alongside the other administrative containers.
references:
    - https://microsoft.github.io/Threat-Matrix-for-Kubernetes/techniques/Pod%20or%20container%20name%20similarily/
author: Leo Tsaousis (@laripping)
date: 2024-03-26
tags:
    - attack.stealth
    - attack.t1036.005
logsource:
    category: application
    product: kubernetes
    service: audit
detection:
    selection:
        verb: 'create'
        objectRef.resource: 'pods'
        objectRef.namespace: kube-system
    condition: selection
falsepositives:
    - System components such as daemon-set-controller and kube-scheduler also create pods in the kube-system namespace
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    verb: 'create'
    objectRef.resource: 'pods'
    objectRef.namespace: kube-system

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
objectRef.namespaceeq
  • kube-system
field:"objectRef.namespace" kind:eq value:"kube-system"
objectRef.resourceeq
  • pods corpus 8 (sigma 4, splunk 4)
field:"objectRef.resource" kind:eq value:"pods"
verbeq
  • create corpus 23 (sigma 10, splunk 7, panther 6)
field:"verb" kind:eq value:"create"

HackTool - CrackMapExec Execution Patterns

#
Status
stable
Severity
high
Author
Thomas Patzke
Source
github.com/SigmaHQ/sigma

Detects various execution patterns of the CrackMapExec pentesting framework

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: HackTool - CrackMapExec Execution Patterns
id: 058f4380-962d-40a5-afce-50207d36d7e2
status: stable
description: Detects various execution patterns of the CrackMapExec pentesting framework
references:
    - https://github.com/byt3bl33d3r/CrackMapExec
author: Thomas Patzke
date: 2020-05-22
modified: 2023-11-06
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.execution
    - attack.t1047
    - attack.t1053
    - attack.t1059.003
    - attack.t1059.001
    - attack.s0106
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains:
            # cme/protocols/smb/wmiexec.py (generalized execute_remote and execute_fileless)
            - 'cmd.exe /Q /c * 1> \\\\*\\*\\* 2>&1'
            # cme/protocols/smb/atexec.py:109 (fileless output via share)
            - 'cmd.exe /C * > \\\\*\\*\\* 2>&1'
            # cme/protocols/smb/atexec.py:111 (fileless output via share)
            - 'cmd.exe /C * > *\\Temp\\* 2>&1'
            # https://github.com/byt3bl33d3r/CrackMapExec/blob/d8c50c8cbaf36c29329078662473f75e440978d2/cme/helpers/powershell.py#L136 (PowerShell execution with obfuscation)
            - 'powershell.exe -exec bypass -noni -nop -w 1 -C "'
            # https://github.com/byt3bl33d3r/CrackMapExec/blob/d8c50c8cbaf36c29329078662473f75e440978d2/cme/helpers/powershell.py#L160 (PowerShell execution without obfuscation)
            - 'powershell.exe -noni -nop -w 1 -enc '
    condition: selection
falsepositives:
    - Unknown
level: high
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_hktl_crackmapexec_execution_patterns/info.yml

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains:
        - 'cmd.exe /Q /c * 1> \\\\*\\*\\* 2>&1'
        - 'cmd.exe /C * > \\\\*\\*\\* 2>&1'
        - 'cmd.exe /C * > *\\Temp\\* 2>&1'
        - 'powershell.exe -exec bypass -noni -nop -w 1 -C "'
        - 'powershell.exe -noni -nop -w 1 -enc '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • cmd.exe /C * > *\\Temp\\* 2>&1
  • cmd.exe /C * > \\\\*\\*\\* 2>&1
  • cmd.exe /Q /c * 1> \\\\*\\*\\* 2>&1
  • powershell.exe -exec bypass -noni -nop -w 1 -C "
  • powershell.exe -noni -nop -w 1 -enc
field:"CommandLine" kind:match

Insensitive Subfolder Search Via Findstr.EXE

#
Status
test
Severity
low
Author
Furkan CALISKAN, @caliskanfurkan_, @oscd_initiative, Nasreddine Bencherchali (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects execution of findstr with the "s" and "i" flags for a "subfolder" and "insensitive" search respectively. Attackers sometimes leverage this built-in utility to search the system for interesting files or filter through results of commands.

Known False Positives

  • Administrative or software activity

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Insensitive Subfolder Search Via Findstr.EXE
id: 04936b66-3915-43ad-a8e5-809eadfd1141
related:
    - id: bf6c39fc-e203-45b9-9538-05397c1b4f3f
      type: obsolete
status: test
description: |
    Detects execution of findstr with the "s" and "i" flags for a "subfolder" and "insensitive" search respectively. Attackers sometimes leverage this built-in utility to search the system for interesting files or filter through results of commands.
references:
    - https://lolbas-project.github.io/lolbas/Binaries/Findstr/
    - https://oddvar.moe/2018/04/11/putting-data-in-alternate-data-streams-and-how-to-execute-it-part-2/
    - https://gist.github.com/api0cradle/cdd2d0d0ec9abb686f0e89306e277b8f
author: Furkan CALISKAN, @caliskanfurkan_, @oscd_initiative, Nasreddine Bencherchali (Nextron Systems)
date: 2020-10-05
modified: 2024-03-05
tags:
    - attack.credential-access
    - attack.command-and-control
    - attack.stealth
    - attack.t1218
    - attack.t1564.004
    - attack.t1552.001
    - attack.t1105
logsource:
    category: process_creation
    product: windows
detection:
    selection_findstr:
        - CommandLine|contains: findstr
        - Image|endswith: 'findstr.exe'
        - OriginalFileName: 'FINDSTR.EXE'
    selection_cli_search_subfolder:
        CommandLine|contains|windash: ' -s '
    selection_cli_search_insensitive:
        CommandLine|contains|windash: ' -i '
    condition: selection_findstr and all of selection_cli_search_*
falsepositives:
    - Administrative or software activity
level: low

Stages and Predicates

Stage 0: condition

selection_findstr and all of selection_cli_search_*

Stage 1: selection_findstr

selection_findstr:
    - CommandLine|contains: findstr
    - Image|endswith: 'findstr.exe'
    - OriginalFileName: 'FINDSTR.EXE'

Stage 2: selection_cli_search_subfolder

selection_cli_search_subfolder:
    CommandLine|contains|windash: ' -s '

Stage 3: selection_cli_search_insensitive

selection_cli_search_insensitive:
    CommandLine|contains|windash: ' -i '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -i corpus 4 (sigma 4)
  • -s corpus 4 (sigma 3, splunk 1)
  • /i corpus 3 (sigma 3)
  • /s corpus 7 (sigma 4, splunk 3)
  • –i
  • –s
  • —i
  • —s
  • ―i
  • ―s
  • findstr corpus 7 (sigma 6, splunk 1)
field:"CommandLine" kind:match
Imageends_with
  • findstr.exe corpus 2 (sigma 2)
field:"Image" kind:ends_with value:"findstr.exe"
OriginalFileNameeq
  • FINDSTR.EXE corpus 12 (sigma 12)
field:"OriginalFileName" kind:eq value:"FINDSTR.EXE"

macOS ESF Deletion In Sensitive Directories

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

Detect unlink (delete) operations in sensitive directories such as LaunchAgents/Daemons or system configs.

Known False Positives

  • legitimate maintenance or upgrades

MITRE ATT&CK Coverage

Rule Body

title: macOS ESF Deletion In Sensitive Directories
id: 52b5612d-3c9e-4a4a-9b7a-1b6f94b6a0aa
status: experimental
description: Detect unlink (delete) operations in sensitive directories such as LaunchAgents/Daemons
  or system configs.
author: Eric Brown - Nebulock, Inc.
date: 2025-10-29
logsource:
  product: macos
  service: endpointsecurity
level: medium
detection:
  selection_evt:
    esf.event_type: 19
    event.action: unlink
  selection_path:
    TargetFilename|startswith:
    - /Library/LaunchDaemons/
    - /Library/LaunchAgents/
    - /System/Library/LaunchDaemons/
    - /etc/
  condition: selection_evt and selection_path
falsepositives:
- legitimate maintenance or upgrades
modified: 2025/01/15

Stages and Predicates

Stage 0: condition

selection_evt and selection_path

Stage 1: selection_evt

selection_evt:
  esf.event_type: 19
  event.action: unlink

Stage 2: selection_path

selection_path:
  TargetFilename|startswith:
  - /Library/LaunchDaemons/
  - /Library/LaunchAgents/
  - /System/Library/LaunchDaemons/
  - /etc/

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenamestarts_with
  • /Library/LaunchAgents/
  • /Library/LaunchDaemons/
  • /System/Library/LaunchDaemons/
  • /etc/
field:"TargetFilename" kind:starts_with
esf.event_typeeq
  • 19
field:"esf.event_type" kind:eq value:"19"
event.actioneq
  • unlink
field:"EventType" kind:eq value:"unlink"

New member added to a "OCS/Lync/Skype for Business" administration group (low risk)

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

Detects scenarios where a new member is added to a sensitive administration group related to OCS/Lync/Skype for Business in order to scan topology, infiltrate servers and move laterally.

Known False Positives

  • OCS/Lync/Skype administrator updating server configuration or topology
  • OCS/Lync/Skype upgrade or migration

MITRE ATT&CK Coverage

TacticTechniques
Persistence

Telemetry Coverage

Rule Body

title: New member added to a "OCS/Lync/Skype for Business" administration group (low risk)
description: Detects scenarios where a new member is added to a sensitive administration group related to OCS/Lync/Skype for Business in order to scan topology, infiltrate servers and move laterally.
references:
- https://docs.microsoft.com/en-us/previous-versions/office/lync-server-2013/lync-server-2013-planning-for-role-based-access-control
- https://docs.microsoft.com/en-us/skypeforbusiness/schema-reference/active-directory-schema-extensions-classes-and-attributes/changes-made-by-forest-preparation
- https://blog.insideo365.com/2012/11/a-lync-administrator-access-refresher/
tags:
- attack.persistence
- attack.t1098
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID:
      - 4728 # security global group member added
      - 4756 # universal group member added
      - 4732 # local and domain local group member added
    TargetUserName:
      - CSHelpDesk
      - CSLocationAdministrator
      - CSPersistentChatAdministrator
      - CSResponseGroupAdministrator
      - CSResponseGroupManager
      - CSViewOnlyAdministrator
      - CSVoiceAdministrator
      - RTCComponentUniversalServices
      - RTCProxyUniversalServices
      - RTCSBAUniversalServices
      - RTCUniversalConfigReplicator
      - RTCUniversalGlobalReadOnlyGroup
      - RTCUniversalReadOnlyAdmins
      - RTCUniversalServerReadOnlyGroup
      - RTCUniversalUserAdmins
      - RTCUniversalUserReadOnlyGroup
  condition: selection
falsepositives:
- OCS/Lync/Skype administrator updating server configuration or topology
- OCS/Lync/Skype upgrade or migration
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  EventID:
    - 4728
    - 4756
    - 4732
  TargetUserName:
    - CSHelpDesk
    - CSLocationAdministrator
    - CSPersistentChatAdministrator
    - CSResponseGroupAdministrator
    - CSResponseGroupManager
    - CSViewOnlyAdministrator
    - CSVoiceAdministrator
    - RTCComponentUniversalServices
    - RTCProxyUniversalServices
    - RTCSBAUniversalServices
    - RTCUniversalConfigReplicator
    - RTCUniversalGlobalReadOnlyGroup
    - RTCUniversalReadOnlyAdmins
    - RTCUniversalServerReadOnlyGroup
    - RTCUniversalUserAdmins
    - RTCUniversalUserReadOnlyGroup

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetUserNameeq
  • CSHelpDesk
  • CSLocationAdministrator
  • CSPersistentChatAdministrator
  • CSResponseGroupAdministrator
  • CSResponseGroupManager
  • CSViewOnlyAdministrator
  • CSVoiceAdministrator
  • RTCComponentUniversalServices
  • RTCProxyUniversalServices
  • RTCSBAUniversalServices
  • RTCUniversalConfigReplicator
  • RTCUniversalGlobalReadOnlyGroup
  • RTCUniversalReadOnlyAdmins
  • RTCUniversalServerReadOnlyGroup
  • RTCUniversalUserAdmins
  • RTCUniversalUserReadOnlyGroup
field:"TargetUserName" kind:eq

New Service Creation Using PowerShell

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

Detects the creation of a new service using powershell.

Known False Positives

  • Legitimate administrator or user creates a service for legitimate reasons.
  • Software installation

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: New Service Creation Using PowerShell
id: c02e96b7-c63a-4c47-bd83-4a9f74afcfb2
related:
    - id: 85ff530b-261d-48c6-a441-facaa2e81e48 # Using Sc.EXE
      type: similar
status: test
description: Detects the creation of a new service using powershell.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1543.003/T1543.003.md
author: Timur Zinniatullin, Daniil Yugoslavskiy, oscd.community
date: 2023-02-20
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.t1543.003
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains|all:
            - 'New-Service'
            - '-BinaryPathName'
    condition: selection
falsepositives:
    - Legitimate administrator or user creates a service for legitimate reasons.
    - Software installation
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains|all:
        - 'New-Service'
        - '-BinaryPathName'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -BinaryPathName corpus 2 (sigma 2)
  • New-Service corpus 2 (sigma 2)
field:"CommandLine" kind:match

Potential Persistence Via Outlook LoadMacroProviderOnBoot Setting

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

Detects the modification of Outlook setting "LoadMacroProviderOnBoot" which if enabled allows the automatic loading of any configured VBA project/module

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Potential Persistence Via Outlook LoadMacroProviderOnBoot Setting
id: 396ae3eb-4174-4b9b-880e-dc0364d78a19
status: test
description: Detects the modification of Outlook setting "LoadMacroProviderOnBoot" which if enabled allows the automatic loading of any configured VBA project/module
references:
    - https://speakerdeck.com/heirhabarov/hunting-for-persistence-via-microsoft-exchange-server-or-outlook?slide=53
    - https://www.linkedin.com/pulse/outlook-backdoor-using-vba-samir-b-/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2021-04-05
modified: 2023-08-17
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.command-and-control
    - attack.t1137
    - attack.t1008
    - attack.t1546
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|endswith: '\Outlook\LoadMacroProviderOnBoot'
        Details|contains: '0x00000001'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|endswith: '\Outlook\LoadMacroProviderOnBoot'
    Details|contains: '0x00000001'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Detailsmatch
  • 0x00000001 corpus 4 (sigma 4)
field:"Details" kind:match value:"0x00000001"
TargetObjectends_with
  • \Outlook\LoadMacroProviderOnBoot
field:"TargetObject" kind:ends_with value:"\Outlook\LoadMacroProviderOnBoot"

Potential Regsvr32 Commandline Flag Anomaly

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

Detects a potential command line flag anomaly related to "regsvr32" in which the "/i" flag is used without the "/n" which should be uncommon.

Known False Positives

  • Administrator typo might cause some false positives

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Potential Regsvr32 Commandline Flag Anomaly
id: b236190c-1c61-41e9-84b3-3fe03f6d76b0
status: test
description: Detects a potential command line flag anomaly related to "regsvr32" in which the "/i" flag is used without the "/n" which should be uncommon.
references:
    - https://twitter.com/sbousseaden/status/1282441816986484737?s=12
author: Florian Roth (Nextron Systems)
date: 2019-07-13
modified: 2024-03-13
tags:
    - attack.stealth
    - attack.t1218.010
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\regsvr32.exe'
        CommandLine|contains|windash: ' -i:'
    filter_main_flag:
        CommandLine|contains|windash: ' -n '
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Administrator typo might cause some false positives
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    Image|endswith: '\regsvr32.exe'
    CommandLine|contains|windash: ' -i:'

Stage 2: not filter_main_flag

filter_main_flag:
    CommandLine|contains|windash: ' -n '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -i: transforms: windash
field:"CommandLine" kind:match value:" -i:"
Imageends_with
  • \regsvr32.exe corpus 64 (sigma 64)
field:"Image" kind:ends_with value:"\regsvr32.exe"

Exclusions

The rule actively suppresses these predicates.

Risk of signup fraud - rapid creation of fake accounts with disposable email domains

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

Detect potential signup fraud by monitoring the use of disposable emails.

Known False Positives

  • Legitimate users using disposable email addresses for privacy reasons.

MITRE ATT&CK Coverage

TacticTechniques
Persistence

Rule Body

title: Risk of signup fraud - rapid creation of fake accounts with disposable email domains
id: e92605d8-716d-11f0-b2ae-723487b9527c
name: selected_events
status: experimental
description: |
    Detect potential signup fraud by monitoring the use of disposable emails.
author: Okta
date: 2025-07-11
modified: 2025-09-17
logsource:
    product: auth0
references:
    - https://blog.castle.io/fraudulent-email-domain-tracker-july-2025/
detection:
    selection:
        data.type: ss
        data.user_name|endswith: # examples of email domains, see reference (the custle blog)
            - "@mailinator.com"
            - "@yopmail.com"
            - "@10minutetempemail.com"
            - "@guerrillamail.com"
            - "@temp-mail.org"
            - "@disposable.com"
            - "@mailnesia.com"
            - "@sharklasers.com"
            - "@getnada.com"
    condition: selection
explanation: >
    The query monitors successful signups events when a disposable email has been used.
    The Splunk query considers a number of signups within specified time chunks (e.g. 1h)
    and alerts when the number of users with disposable emails exceeds a threshold.
splunk: |
    index=auth0 data.tenant_name="{your-tenant-name}"
    data.type = ss
    | fields data.user_name, data.user_id, data.type
    | bin _time span=1h
    | search data.user_name IN ("*@mailinator.com", "*@yopmail.com", "*@10minutemail.com",
    "*@guerrillamail.com", "*@temp-mail.org", "*@disposable.com", "*@mailnesia.com",
    "*@sharklasers.com", "*@getnada.com", "*@mohmal.com")
    | stats dc(data.user_name) as user_count values(data.user_name) as user_names
    values(data.user_id) as user_ids by _time, data.type
    | where user_count > {thresholds_disposable_emails}
comments:
    - The Splunk query above shall be tuned to reflect a valid tenant name.
    - The value for thresholds_disposable_emails should be set based on the customer's environment and expected behavior.
    - To learn normality, it is recommended to run the query (excluding "where" clauses) for a period of time
      and calculate the thresholds based on the observed data.
    - The query can be adjusted to account for a longer public blocklist, e.g. available on github, using a lookup table.
    - It also can be extended with a list of fraudulent email domains provided by the reference above (the catle blog).
tenant_logs: |
    type:"fs" OR type:"ss" OR type:"signup_pwd_leak"
prevention:
    - Use pre-registration actions to block any registration with disposable emails.
    - Force email OTP validation built-in feature of a Database connection on signup.
    - Enforce email link based validation on signup and deny access to unverified accounts
      terminating sessions and revoking tokens.
    - Block or delete the created fraudulent accounts.
    - Instead of blocking users, consider to use additional risk signals to increase assurance in
      further activities from these users.
    - Enable breached password protection and bot detection to detect and block suspicious activities.
    - For high-risk applications, consider to enforce identity proofing or closely monitoring activities from such accounts.
falsepositives:
    - Legitimate users using disposable email addresses for privacy reasons.
level: medium
tags:
    - attack.resource-development
    - attack.t1136
---
title: Surge in signup events from disposable domains
id: 7b4433e7-2857-4cfc-bfe0-29dc74feb63f
correlation:
    type: value_count
    rules:
        - selected_events # Referenced here
    group-by:
        - data.ip
    timespan: 1h
    condition:
        gte: 0
        field: data.user_name

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    data.type: ss
    data.user_name|endswith:
        - "@mailinator.com"
        - "@yopmail.com"
        - "@10minutetempemail.com"
        - "@guerrillamail.com"
        - "@temp-mail.org"
        - "@disposable.com"
        - "@mailnesia.com"
        - "@sharklasers.com"
        - "@getnada.com"

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
data.typeeq
  • ss
field:"data.type" kind:eq value:"ss"
data.user_nameends_with
  • @10minutetempemail.com
  • @disposable.com
  • @getnada.com
  • @guerrillamail.com
  • @mailinator.com
  • @mailnesia.com
  • @sharklasers.com
  • @temp-mail.org
  • @yopmail.com
field:"data.user_name" kind:ends_with

Roles Activation Doesn't Require MFA

#
Status
test
Severity
high
Author
Mark Morowczynski '@markmorow', Gloria Lee, '@gleeiamglo'
Source
github.com/SigmaHQ/sigma

Identifies when a privilege role can be activated without performing mfa.

Known False Positives

  • Investigate if user is performing MFA at sign-in.

MITRE ATT&CK Coverage

TacticTechniques
Initial Access
Persistence
Privilege Escalation
Stealth

Rule Body

title: Roles Activation Doesn't Require MFA
id: 94a66f46-5b64-46ce-80b2-75dcbe627cc0
status: test
description: Identifies when a privilege role can be activated without performing mfa.
references:
    - https://learn.microsoft.com/en-us/entra/id-governance/privileged-identity-management/pim-how-to-configure-security-alerts#roles-dont-require-multi-factor-authentication-for-activation
author: Mark Morowczynski '@markmorow', Gloria Lee, '@gleeiamglo'
date: 2023-09-14
tags:
    - attack.initial-access
    - attack.stealth
    - attack.t1078
    - attack.persistence
    - attack.privilege-escalation
logsource:
    product: azure
    service: pim
detection:
    selection:
        riskEventType: 'noMfaOnRoleActivationAlertIncident'
    condition: selection
falsepositives:
    - Investigate if user is performing MFA at sign-in.
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    riskEventType: 'noMfaOnRoleActivationAlertIncident'

Indicators

These rows show field, operator, and value matches.

Shared printer creation (PrintNightmare vulnerability - CVE-2021-36958)

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

Detects scenarios where an attacker exploit the PrintNightmare vulnerability by exposing a vulnerable shared printer. At any case, any new printer share creation should be carefully monitored.

Known False Positives

  • print server, printer shared by a user

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Shared printer creation (PrintNightmare vulnerability - CVE-2021-36958)
description: Detects scenarios where an attacker exploit the PrintNightmare vulnerability by exposing a vulnerable shared printer. At any case, any new printer share creation should be carefully monitored.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0008-Lateral%20Movement/T1021.002%20-SMB%20Windows%20Admin%20Shares
- 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-printnightmare-cve-2021-1675-34527-vulnerability-using-exabeam/
tags:
- attack.lateral_movement
- attack.t1021.002
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: security
detection:
  selection:
    EventID:
      - 5142 # file share created
      - 5143 # file share modified
  selection_path:
    - ShareName:
      - \\*\print$
      - \\*\Kiwi Legit Printer # Name can be changed in code
    - ShareLocalPath|endswith: '\system32\spool\drivers'
  condition: selection and selection_path
falsepositives:
- print server, printer shared by a user
level: medium

Stages and Predicates

Stage 0: condition

selection and selection_path

Stage 1: selection

selection:
  EventID:
    - 5142
    - 5143

Stage 2: selection_path

selection_path:
  - ShareName:
    - \\*\print$
    - \\*\Kiwi Legit Printer
  - ShareLocalPath|endswith: '\system32\spool\drivers'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ShareLocalPathends_with
  • \system32\spool\drivers
field:"ShareLocalPath" kind:ends_with value:"\system32\spool\drivers"
ShareNamewildcard
  • \\*\Kiwi Legit Printer
  • \\*\print$
field:"ShareName" kind:wildcard

Suspicious Kerberos Ticket Request via CLI

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

Detects suspicious Kerberos ticket requests via command line using System.IdentityModel.Tokens.KerberosRequestorSecurityToken class. Threat actors may use command line interfaces to request Kerberos tickets for service accounts in order to perform offline password cracking attacks commonly known as Kerberoasting or other Kerberos ticket abuse techniques like silver ticket attacks.

Known False Positives

  • Legitimate command line usage by administrators or security tools.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Suspicious Kerberos Ticket Request via CLI
id: caa9a802-8bd8-4b9e-a5cd-4d6221670219
related:
    - id: a861d835-af37-4930-bcd6-5b178bfb54df
      type: similar
status: experimental
description: |
    Detects suspicious Kerberos ticket requests via command line using System.IdentityModel.Tokens.KerberosRequestorSecurityToken class.
    Threat actors may use command line interfaces to request Kerberos tickets for service accounts in order to
    perform offline password cracking attacks commonly known as Kerberoasting or other Kerberos ticket abuse
    techniques like silver ticket attacks.
references:
    - https://www.huntress.com/blog/gootloader-threat-detection-woff2-obfuscation
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1558.003/T1558.003.md#atomic-test-4---request-a-single-ticket-via-powershell
    - https://learn.microsoft.com/en-us/dotnet/api/system.identitymodel.tokens.kerberosrequestorsecuritytoken?view=netframework-4.8.1
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-11-18
tags:
    - attack.credential-access
    - attack.t1558.003
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith:
              - '\powershell.exe'
              - '\pwsh.exe'
        - OriginalFileName:
              - 'powershell.exe'
              - 'pwsh.dll'
    selection_cli:
        CommandLine|contains|all:
            - 'System.IdentityModel.Tokens.KerberosRequestorSecurityToken'
            - '.GetRequest()'
    condition: all of selection_*
falsepositives:
    - Legitimate command line usage by administrators or security tools.
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    - Image|endswith:
          - '\powershell.exe'
          - '\pwsh.exe'
    - OriginalFileName:
          - 'powershell.exe'
          - 'pwsh.dll'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|all:
        - 'System.IdentityModel.Tokens.KerberosRequestorSecurityToken'
        - '.GetRequest()'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • .GetRequest()
  • System.IdentityModel.Tokens.KerberosRequestorSecurityToken
field:"CommandLine" kind:match
Imageends_with
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \pwsh.exe corpus 166 (sigma 166)
field:"Image" kind:ends_with
OriginalFileNameeq
  • powershell.exe corpus 134 (sigma 86, splunk 30, elastic 18)
  • pwsh.dll corpus 115 (sigma 81, splunk 30, elastic 4)
field:"OriginalFileName" kind:eq

Suspicious OpenSSH Daemon Error

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

Detects suspicious SSH / SSHD error messages that indicate a fatal or suspicious error that could be caused by exploiting attempts

MITRE ATT&CK Coverage

TacticTechniques
Initial Access

Rule Body

title: Suspicious OpenSSH Daemon Error
id: e76b413a-83d0-4b94-8e4c-85db4a5b8bdc
status: test
description: Detects suspicious SSH / SSHD error messages that indicate a fatal or suspicious error that could be caused by exploiting attempts
references:
    - https://github.com/openssh/openssh-portable/blob/c483a5c0fb8e8b8915fad85c5f6113386a4341ca/ssherr.c
    - https://github.com/ossec/ossec-hids/blob/1ecffb1b884607cb12e619f9ab3c04f530801083/etc/rules/sshd_rules.xml
author: Florian Roth (Nextron Systems)
date: 2017-06-30
modified: 2021-11-27
tags:
    - attack.initial-access
    - attack.t1190
logsource:
    product: linux
    service: sshd
detection:
    keywords:
        - 'unexpected internal error'
        - 'unknown or unsupported key type'
        - 'invalid certificate signing key'
        - 'invalid elliptic curve value'
        - 'incorrect signature'
        - 'error in libcrypto'
        - 'unexpected bytes remain after decoding'
        - 'fatal: buffer_get_string: bad string'
        - 'Local: crc32 compensation attack'
        - 'bad client public DH value'
        - 'Corrupted MAC on input'
    condition: keywords
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

keywords

Stage 1: keywords

keywords:
    - 'unexpected internal error'
    - 'unknown or unsupported key type'
    - 'invalid certificate signing key'
    - 'invalid elliptic curve value'
    - 'incorrect signature'
    - 'error in libcrypto'
    - 'unexpected bytes remain after decoding'
    - 'fatal: buffer_get_string: bad string'
    - 'Local: crc32 compensation attack'
    - 'bad client public DH value'
    - 'Corrupted MAC on input'

Suspicious Rundll32 Activity Invoking Sys File

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

Detects suspicious process related to rundll32 based on command line that includes a *.sys file as seen being used by UNC2452

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious Rundll32 Activity Invoking Sys File
id: 731231b9-0b5d-4219-94dd-abb6959aa7ea
status: test
description: Detects suspicious process related to rundll32 based on command line that includes a *.sys file as seen being used by UNC2452
references:
    - https://www.microsoft.com/security/blog/2021/03/04/goldmax-goldfinder-sibot-analyzing-nobelium-malware/
author: Florian Roth (Nextron Systems)
date: 2021-03-05
modified: 2022-10-09
tags:
    - attack.stealth
    - attack.t1218.011
logsource:
    category: process_creation
    product: windows
detection:
    selection1:
        CommandLine|contains: 'rundll32.exe'
    selection2:
        CommandLine|contains:
            - '.sys,'
            - '.sys '
    condition: all of selection*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection*

Stage 1: selection1

selection1:
    CommandLine|contains: 'rundll32.exe'

Stage 2: selection2

selection2:
    CommandLine|contains:
        - '.sys,'
        - '.sys '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • .sys
  • .sys,
  • rundll32.exe corpus 8 (sigma 8)
field:"CommandLine" kind:match

Suspicious Service DACL Modification Via Set-Service Cmdlet

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

Detects suspicious DACL modifications via the "Set-Service" cmdlet using the "SecurityDescriptorSddl" flag (Only available with PowerShell 7) that can be used to hide services or make them unstopable

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Suspicious Service DACL Modification Via Set-Service Cmdlet
id: a95b9b42-1308-4735-a1af-abb1c5e6f5ac
related:
    - id: 99cf1e02-00fb-4c0d-8375-563f978dfd37
      type: derived
status: test
description: Detects suspicious DACL modifications via the "Set-Service" cmdlet using the "SecurityDescriptorSddl" flag (Only available with PowerShell 7) that can be used to hide services or make them unstopable
references:
    - https://www.sans.org/blog/red-team-tactics-hiding-windows-services/
    - https://learn.microsoft.com/pt-br/windows/win32/secauthz/sid-strings
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-10-18
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1543.003
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\pwsh.exe'
        - OriginalFileName: 'pwsh.dll'
    selection_sddl_flag:
        CommandLine|contains:
            - '-SecurityDescriptorSddl '
            - '-sd '
    selection_set_service:
        CommandLine|contains|all:
            - 'Set-Service '
            - 'D;;'
        CommandLine|contains:
            - ';;;IU'
            - ';;;SU'
            - ';;;BA'
            - ';;;SY'
            - ';;;WD'
    condition: all of selection_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_sddl_flag

selection_sddl_flag:
    CommandLine|contains:
        - '-SecurityDescriptorSddl '
        - '-sd '

Stage 3: selection_set_service

selection_set_service:
    CommandLine|contains|all:
        - 'Set-Service '
        - 'D;;'
    CommandLine|contains:
        - ';;;IU'
        - ';;;SU'
        - ';;;BA'
        - ';;;SY'
        - ';;;WD'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -SecurityDescriptorSddl corpus 2 (sigma 2)
  • -sd corpus 2 (sigma 2)
  • ;;;BA
  • ;;;IU
  • ;;;SU
  • ;;;SY
  • ;;;WD
  • D;;
  • Set-Service corpus 2 (sigma 2)
field:"CommandLine" kind:match
Imageends_with
  • \pwsh.exe corpus 166 (sigma 166)
field:"Image" kind:ends_with value:"\pwsh.exe"
OriginalFileNameeq
  • pwsh.dll corpus 115 (sigma 81, splunk 30, elastic 4)
field:"OriginalFileName" kind:eq value:"pwsh.dll"

Visual Basic Command Line Compiler Usage

#
Status
test
Severity
high
Author
Ensar Şamil, @sblmsrsn, @oscd_initiative
Source
github.com/SigmaHQ/sigma

Detects successful code compilation via Visual Basic Command Line Compiler that utilizes Windows Resource to Object Converter.

Known False Positives

  • Utilization of this tool should not be seen in enterprise environment

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Visual Basic Command Line Compiler Usage
id: 7b10f171-7f04-47c7-9fa2-5be43c76e535
status: test
description: Detects successful code compilation via Visual Basic Command Line Compiler that utilizes Windows Resource to Object Converter.
references:
    - https://lolbas-project.github.io/lolbas/Binaries/Vbc/
author: 'Ensar Şamil, @sblmsrsn, @oscd_initiative'
date: 2020-10-07
modified: 2021-11-27
tags:
    - attack.stealth
    - attack.t1027.004
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: '\vbc.exe'
        Image|endswith: '\cvtres.exe'
    condition: selection
falsepositives:
    - Utilization of this tool should not be seen in enterprise environment
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ParentImage|endswith: '\vbc.exe'
    Image|endswith: '\cvtres.exe'

Indicators

These rows show field, operator, and value matches.

Windows Defender Exclusions Added - Registry

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

Detects the Setting of Windows Defender Exclusions

Known False Positives

  • Administrator actions

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

Rule Body

title: Windows Defender Exclusions Added - Registry
id: a982fc9c-6333-4ffb-a51d-addb04e8b529
related:
    - id: 1321dc4e-a1fe-481d-a016-52c45f0c8b4f
      type: derived
status: test
description: Detects the Setting of Windows Defender Exclusions
references:
    - https://twitter.com/_nullbind/status/1204923340810543109
author: Christian Burkard (Nextron Systems)
date: 2021-07-06
modified: 2023-08-17
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    product: windows
    category: registry_set
detection:
    selection2:
        TargetObject|contains: '\Microsoft\Windows Defender\Exclusions'
    condition: selection2
falsepositives:
    - Administrator actions
level: medium

Stages and Predicates

Stage 0: condition

selection2

Stage 1: selection2

selection2:
    TargetObject|contains: '\Microsoft\Windows Defender\Exclusions'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectmatch
  • \Microsoft\Windows Defender\Exclusions
field:"TargetObject" kind:match value:"\Microsoft\Windows Defender\Exclusions"

Windows native Pktmon sniffer abuse

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

Detects scenarios where an attacker use the Windows sniffer Pktmon in order to capture sensitive information or credentials.

Known False Positives

  • Administrator network troubleshooting

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

Rule Body

title: Windows native Pktmon sniffer abuse
description: Detects scenarios where an attacker use the Windows sniffer Pktmon in order to capture sensitive information or credentials.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0006-Credential%20Access/T1040-Traffic%20sniffing
- https://dev.to/qainsights/windows-network-sniffer-pktmon-2576
- https://docs.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon
tags:
- attack.credential_access
- attack.t1040 # Network Sniffing 
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: process_creation
detection:
  selection:
    NewProcessName|endswith: '\PktMon.exe'
    CommandLine|contains|all: # full command : 'pktmon filter add -p 80'
      - pktmon
      - filter
      - add
  condition: selection
falsepositives:
- Administrator network troubleshooting
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  NewProcessName|endswith: '\PktMon.exe'
  CommandLine|contains|all:
    - pktmon
    - filter
    - add

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • add corpus 30 (sigma 26, splunk 4)
  • filter
  • pktmon
field:"CommandLine" kind:match
NewProcessNameends_with
  • \PktMon.exe corpus 2 (sigma 2)
field:"Image" kind:ends_with value:"\PktMon.exe"

Winrs Local Command Execution

#
Status
experimental
Severity
high
Author
Liran Ravich, Nasreddine Bencherchali
Source
github.com/SigmaHQ/sigma

Detects the execution of Winrs.exe where it is used to execute commands locally. Commands executed this way are launched under Winrshost.exe and can represent proxy execution used for defense evasion or lateral movement.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Winrs Local Command Execution
id: bcfece3d-56fe-4545-9931-3b8e92927db1
status: experimental
description: |
    Detects the execution of Winrs.exe where it is used to execute commands locally.
    Commands executed this way are launched under Winrshost.exe and can represent proxy execution used for defense evasion or lateral movement.
references:
    - https://cardinalops.com/blog/living-off-winrm-abusing-complexity-in-remote-management/
    - https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/winrs
author: Liran Ravich, Nasreddine Bencherchali
date: 2025-10-22
tags:
    - attack.lateral-movement
    - attack.stealth
    - attack.t1021.006
    - attack.t1218
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        # Note: Example of command to simulate (winrm needs to be enabled): "c:\Windows\System32\winrs.exe" calc.exe
        - Image|endswith: '\winrs.exe'
        - OriginalFileName: 'winrs.exe'
    selection_local_ip:
        CommandLine|contains|windash:
            - '/r:localhost'
            - '/r:127.0.0.1'
            - '/r:[::1]'
            - '/remote:localhost'
            - '/remote:127.0.0.1'
            - '/remote:[::1]'
    filter_main_remote:
        CommandLine|contains|windash:
            - "/r:"
            - "/remote:"
    condition: all of selection_* or (selection_img and not 1 of filter_main_*)
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

all of selection_* or (selection_img and not 1 of filter_main_*)

Stage 1: selection_img

selection_img:
    - Image|endswith: '\winrs.exe'
    - OriginalFileName: 'winrs.exe'

Stage 2: selection_local_ip

selection_local_ip:
    CommandLine|contains|windash:
        - '/r:localhost'
        - '/r:127.0.0.1'
        - '/r:[::1]'
        - '/remote:localhost'
        - '/remote:127.0.0.1'
        - '/remote:[::1]'

Stage 3: selection_img

selection_img:
    - Image|endswith: '\winrs.exe'
    - OriginalFileName: 'winrs.exe'

Stage 4: not filter_main_remote

filter_main_remote:
    CommandLine|contains|windash:
        - "/r:"
        - "/remote:"

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /r:127.0.0.1 transforms: windash
  • /r:[::1] transforms: windash
  • /r:localhost transforms: windash
  • /remote:127.0.0.1 transforms: windash
  • /remote:[::1] transforms: windash
  • /remote:localhost transforms: windash
field:"CommandLine" kind:match
Imageends_with
  • \winrs.exe corpus 2 (sigma 2)
field:"Image" kind:ends_with value:"\winrs.exe"
OriginalFileNameeq
  • winrs.exe corpus 2 (sigma 1, splunk 1)
field:"OriginalFileName" kind:eq value:"winrs.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLinematch/r:excludes:CommandLine field:"CommandLine" value:"/r:"
CommandLinematch/remote:excludes:CommandLine field:"CommandLine" value:"/remote:"

WMI module loaded by suspicious process

#
Status
experimental
Severity
high
Author
shortly adapted from Roberto Rodriguez rule
Source
github.com/mdecrevoisier/SIGMA-detection-rules

Detects scenarios where an attacker attempts to load WMI modules from a suspicious process (like PowerShell).

Known False Positives

  • None

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: WMI module loaded by suspicious process
description: Detects scenarios where an attacker attempts to load WMI modules from a suspicious process (like PowerShell).
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0002-Execution/T1047-Windows%20Management%20Instrumentation
- https://threathunterplaybook.com/notebooks/windows/02_execution/WIN-190811201010.html
- https://medium.com/threatpunter/detecting-adversary-tradecraft-with-image-load-event-logging-and-eql-8de93338c16
- https://medium.com/threatpunter/detecting-adversary-tradecraft-with-image-load-event-logging-and-eql-8de93338c16
- https://posts.specterops.io/real-time-sysmon-processing-via-ksql-and-helk-part-3-basic-use-case-8fbf383cb54f
- https://github.com/OTRF/ThreatHunter-Playbook/blob/master/signatures/sigma/sysmon_wmi_module_load.yml
- https://www.darkoperator.com/blog/2017/10/14/basics-of-tracking-wmi-activity
tags:
- attack.execution
- attack.t1047
author: shortly adapted from Roberto Rodriguez rule
status: experimental
logsource:
  product: windows
  service: image_loaded
detection:
  selection:
    EventID: 7 # image loaded
    ImageLoaded|endswith:
      - '\wmiclnt.dll'
      - '\WmiApRpl.dll'
      - '\wmiprov.dll'
      - '\wmiutils.dll'
      - '\wbemcomn.dll'
      - '\WMINet_Utils.dll'
      - '\wbemsvc.dll'
      - '\fastprox.dll'
      - '\wmi*'
  filter:
    Image|endswith:
      - '\wmiprvse.exe'
      - '\wmiapsrv.exe'
      - '\svchost.exe'
  condition: selection and not filter
falsepositives:
- None
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
  EventID: 7
  ImageLoaded|endswith:
    - '\wmiclnt.dll'
    - '\WmiApRpl.dll'
    - '\wmiprov.dll'
    - '\wmiutils.dll'
    - '\wbemcomn.dll'
    - '\WMINet_Utils.dll'
    - '\wbemsvc.dll'
    - '\fastprox.dll'
    - '\wmi*'

Stage 2: not filter

filter:
  Image|endswith:
    - '\wmiprvse.exe'
    - '\wmiapsrv.exe'
    - '\svchost.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ImageLoadedends_with
  • \WMINet_Utils.dll corpus 2 (sigma 2)
  • \WmiApRpl.dll corpus 2 (sigma 2)
  • \fastprox.dll corpus 3 (sigma 3)
  • \wbemcomn.dll corpus 3 (sigma 3)
  • \wbemsvc.dll corpus 3 (sigma 3)
  • \wmi*
  • \wmiclnt.dll corpus 3 (sigma 3)
  • \wmiprov.dll corpus 2 (sigma 2)
  • \wmiutils.dll corpus 3 (sigma 3)
field:"ImageLoaded" kind:ends_with

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imageends_with\svchost.exeexcludes:Image field:"Image" value:"\svchost.exe"
Imageends_with\wmiapsrv.exeexcludes:Image field:"Image" value:"\wmiapsrv.exe"
Imageends_with\wmiprvse.exeexcludes:Image field:"Image" value:"\wmiprvse.exe"

Back to all Sigma rules