Detection rules › Sigma

Sigma rules: 29

RuleSeverity
Abuse of Service Permissions to Hide Services Via Set-Service - PShigh
AWS Bucket Deletedmedium
Binary Padding - MacOShigh
CodeIntegrity - Unsigned Kernel Module Loadedhigh
Encoded PowerShell payload deployed (PowerShell)high
Forest Blizzard APT - Custom Protocol Handler DLL Registry Sethigh
Github SSH Certificate Configuration Changedmedium
HackTool - CoercedPotato Named Pipe Creationhigh
HackTool - Pypykatz Credentials Dumping Activityhigh
High risk event - grant Management APIs scopesmedium
High risk local/domain local group membership changehigh
Host constrained delegation settings changed for potential abuse (Rubeus) - Any protocolhigh
Hypervisor-protected Code Integrity (HVCI) Related Registry Tampering Via CommandLinehigh
Java Running with Remote Debuggingmedium
Kerberoasting Activity - Initial Querymedium
LSASS process dump by a non system accounthigh
macOS File Transfer Tool Executionmedium
OCSP responder security settings changedhigh
Potential AMSI Bypass Using NULL Bitsmedium
Potential Encrypted Registry Blob Related To SNAKE Malwaremedium
Potential Persistence Via Netsh Helper DLL - Registrymedium
Potential Provisioning Registry Key Abuse For Binary Proxy Executionhigh
Potentially Suspicious Mofcomp Executionhigh
Potentially Suspicious Regsvr32 HTTP/FTP Patternmedium
PowerShell Console History Logs Deletedmedium
Powershell Executed From Headless ConHost Processmedium
Powershell WMI Persistencemedium
Process Execution From WebDAV Sharelow
PUA - Process Hacker Driver Loadhigh
Pubprn.vbs Proxy Executionmedium
Remote Access Tool - Action1 Arbitrary Code Execution and Remote Sessionsmedium
Remote schedule task creation via named pipes (ATexec)medium
Renamed MegaSync Executionhigh
Risk of signup fraud - rapid creation of fake accountsmedium
Successful Exchange ProxyShell Attackcritical
Suspicious Application Allowed Through Exploit Guardhigh
Suspicious Control Panel DLL Loadhigh
System Information Discovery Via Sysctl - MacOSmedium
Vulnerable WinRing0 Driver Loadhigh
Webserver IIS module installed (command)high
Windows Event Log Access Tampering Via Registryhigh

Abuse of Service Permissions to Hide Services Via Set-Service - PS

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

Detects usage of the "Set-Service" powershell cmdlet to configure a new SecurityDescriptor that allows a service to be hidden from other utilities such as "sc.exe", "Get-Service"...etc. (Works only in powershell 7)

Known False Positives

  • Rare intended use of hidden services
  • Rare FP could occur due to the non linearity of the ScriptBlockText log

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Abuse of Service Permissions to Hide Services Via Set-Service - PS
id: 953945c5-22fe-4a92-9f8a-a9edc1e522da
related:
    - id: 514e4c3a-c77d-4cde-a00f-046425e2301e
      type: similar
status: test
description: Detects usage of the "Set-Service" powershell cmdlet to configure a new SecurityDescriptor that allows a service to be hidden from other utilities such as "sc.exe", "Get-Service"...etc. (Works only in powershell 7)
references:
    - https://twitter.com/Alh4zr3d/status/1580925761996828672
    - https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/set-service?view=powershell-7.2
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-10-17
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.execution
    - attack.stealth
    - attack.t1574.011
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains|all:
            - 'Set-Service '
            - 'DCLCWPDTSD'
        ScriptBlockText|contains:
            - '-SecurityDescriptorSddl '
            - '-sd '
    condition: selection
falsepositives:
    - Rare intended use of hidden services
    - Rare FP could occur due to the non linearity of the ScriptBlockText log
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains|all:
        - 'Set-Service '
        - 'DCLCWPDTSD'
    ScriptBlockText|contains:
        - '-SecurityDescriptorSddl '
        - '-sd '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • -SecurityDescriptorSddl corpus 2 (sigma 2)
  • -sd corpus 2 (sigma 2)
  • DCLCWPDTSD
  • Set-Service corpus 2 (sigma 2)
field:"ScriptBlockText" kind:match

AWS Bucket Deleted

#
Status
experimental
Severity
medium
Author
Ivan Saakov, Nasreddine Bencherchali
Source
github.com/SigmaHQ/sigma

Detects the deletion of S3 buckets in AWS CloudTrail logs. Monitoring the deletion of S3 buckets is critical for security and data integrity, as it may indicate potential data loss or unauthorized access attempts.

Known False Positives

  • During maintenance operations or testing, authorized administrators may delete S3 buckets as part of routine data management or cleanup activities.

MITRE ATT&CK Coverage

TacticTechniques
StealthNo specific technique

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: AWS Bucket Deleted
id: 39c9f26d-6e3b-4dbb-9c7a-4154b0281112
status: experimental
description: |
    Detects the deletion of S3 buckets in AWS CloudTrail logs.
    Monitoring the deletion of S3 buckets is critical for security and data integrity, as it may indicate potential data loss or unauthorized access attempts.
references:
    - https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
    - https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket.html
author: Ivan Saakov, Nasreddine Bencherchali
date: 2025-10-19
tags:
    - attack.stealth
logsource:
    product: aws
    service: cloudtrail
detection:
    selection_event_name:
        eventName: 'DeleteBucket'
    selection_status_success:
        errorCode: 'Success'
    selection_status_null:
        errorCode: null
    condition: selection_event_name and 1 of selection_status_*
falsepositives:
    - During maintenance operations or testing, authorized administrators may delete S3 buckets as part of routine data management or cleanup activities.
level: medium

Stages and Predicates

Stage 0: condition

selection_event_name and 1 of selection_status_*

Stage 1: selection_event_name

selection_event_name:
    eventName: 'DeleteBucket'

Stage 2: selection_status_success

selection_status_success:
    errorCode: 'Success'

Stage 3: selection_status_null

selection_status_null:
    errorCode: null

Indicators

These rows show field, operator, and value matches.

Binary Padding - MacOS

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

Adversaries may use binary padding to add junk data and change the on-disk representation of malware. This rule detect using dd and truncate to add a junk data to file.

Known False Positives

  • Legitimate script work

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Binary Padding - MacOS
id: 95361ce5-c891-4b0a-87ca-e24607884a96
status: test
description: Adversaries may use binary padding to add junk data and change the on-disk representation of malware. This rule detect using dd and truncate to add a junk data to file.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1027.001/T1027.001.md
    - https://linux.die.net/man/1/truncate
    - https://linux.die.net/man/1/dd
author: 'Igor Fits, Mikhail Larin, oscd.community'
date: 2020-10-19
modified: 2023-02-17
tags:
    - attack.stealth
    - attack.t1027.001
logsource:
    product: macos
    category: process_creation
detection:
    selection_truncate:
        Image|endswith: '/truncate'
        CommandLine|contains: '-s +'
    selection_dd:
        Image|endswith: '/dd'
        CommandLine|contains:
            - 'if=/dev/zero' # if input is not /dev/zero, then there is no null padding
            - 'if=/dev/random' # high-quality random data
            - 'if=/dev/urandom' # low-quality random data
    condition: 1 of selection_*
falsepositives:
    - Legitimate script work
level: high

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_truncate

selection_truncate:
    Image|endswith: '/truncate'
    CommandLine|contains: '-s +'

Stage 2: selection_dd

selection_dd:
    Image|endswith: '/dd'
    CommandLine|contains:
        - 'if=/dev/zero'
        - 'if=/dev/random'
        - 'if=/dev/urandom'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -s +
  • if=/dev/random corpus 2 (sigma 2)
  • if=/dev/urandom
  • if=/dev/zero corpus 3 (sigma 3)
field:"CommandLine" kind:match
Imageends_with
  • /dd corpus 3 (sigma 3)
  • /truncate corpus 2 (sigma 2)
field:"Image" kind:ends_with

CodeIntegrity - Unsigned Kernel Module Loaded

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

Detects the presence of a loaded unsigned kernel module on the system.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
Privilege EscalationNo specific technique

Telemetry Coverage

Rule Body

title: CodeIntegrity - Unsigned Kernel Module Loaded
id: 951f8d29-f2f6-48a7-859f-0673ff105e6f
status: test
description: Detects the presence of a loaded unsigned kernel module on the system.
references:
    - https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/operations/event-id-explanations
    - https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/operations/event-tag-explanations
    - Internal Research
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-06-06
tags:
    - attack.privilege-escalation
logsource:
    product: windows
    service: codeintegrity-operational
detection:
    selection:
        EventID: 3001 # Code Integrity determined an unsigned kernel module %2 is loaded into the system. Check with the publisher to see if a signed version of the kernel module is available
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 3001

Encoded PowerShell payload deployed (PowerShell)

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

Detects scenarios where an attacker deployed a service pointing to a hidden and encoded PowerShell payload.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Encoded PowerShell payload deployed (PowerShell)
description: Detects scenarios where an attacker deployed a service pointing to a hidden and encoded PowerShell payload.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0002-Execution/T1059.001-PowerShell
- https://www.offensive-security.com/metasploit-unleashed/psexec-pass-hash/
- https://www.huntress.com/blog/from-powershell-to-payload-an-analysis-of-weaponized-malware
- https://www.huntress.com/blog/malware-deep-dive-examining-a-powershell-payload
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1569.002/T1569.002.md
- https://www.f5.com/labs/articles/threat-intelligence/vulnerabilities-exploits-and-malware-driving-attack-campaigns-in-october-2019
- https://www.crowdstrike.com/blog/getting-the-bacon-from-cobalt-strike-beacon/
- https://unit42.paloaltonetworks.com/threat-brief-OWASSRF/
tags:
- attack.execution
- attack.t1059.001
- attack.defense_evasion
- attack.t1027
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category:
    - ps_module
    - ps_classic_script
    - ps_script
detection:
  selection_powershell_native:
    EventID: 800
    EventData|contains|all:
      - 'FromBase64String'
      - 'IO.StreamReader'
      - 'IO.Compression.'

  selection_powershell_modern:
    EventID: 4103
    Payload|contains|all:
      - 'FromBase64String'
      - 'IO.StreamReader'
      - 'IO.Compression.'

  selection_powershell_block:
    EventID: 4104
    ScriptBlockText|contains|all:
      - 'FromBase64String'
      - 'IO.StreamReader'
      - 'IO.Compression.'

  condition: 1 of selection*
falsepositives:
- Unknown
level: high

#- 'FromBase64String'
#- 'IO.StreamReader'
#- 'IO.Compression.'
#- '[System.Convert]::'
#- '[Convert]'
#- 'System.Diagnostics.Process'

Stages and Predicates

Stage 0: condition

1 of selection*

Stage 1: selection_powershell_native

selection_powershell_native:
  EventID: 800
  EventData|contains|all:
    - 'FromBase64String'
    - 'IO.StreamReader'
    - 'IO.Compression.'

Stage 2: selection_powershell_modern

selection_powershell_modern:
  EventID: 4103
  Payload|contains|all:
    - 'FromBase64String'
    - 'IO.StreamReader'
    - 'IO.Compression.'

Stage 3: selection_powershell_block

selection_powershell_block:
  EventID: 4104
  ScriptBlockText|contains|all:
    - 'FromBase64String'
    - 'IO.StreamReader'
    - 'IO.Compression.'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
EventDatamatch
  • FromBase64String
  • IO.Compression.
  • IO.StreamReader
field:"EventData" kind:match
Payloadmatch
  • FromBase64String
  • IO.Compression.
  • IO.StreamReader
field:"Payload" kind:match
ScriptBlockTextmatch
  • FromBase64String corpus 4 (sigma 2, splunk 2)
  • IO.Compression.
  • IO.StreamReader
field:"ScriptBlockText" kind:match

Forest Blizzard APT - Custom Protocol Handler DLL Registry Set

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

Detects the setting of the DLL that handles the custom protocol handler. Seen being created by Forest Blizzard APT as reported by MSFT.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Forest Blizzard APT - Custom Protocol Handler DLL Registry Set
id: d807056b-0e00-4cec-b7f8-b8b7518e382b
status: test
description: |
    Detects the setting of the DLL that handles the custom protocol handler.
    Seen being created by Forest Blizzard APT as reported by MSFT.
references:
    - https://www.microsoft.com/en-us/security/blog/2024/04/22/analyzing-forest-blizzards-custom-post-compromise-tool-for-exploiting-cve-2022-38028-to-obtain-credentials/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2024-04-23
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1547.001
    - detection.emerging-threats
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|contains: '\CLSID\{026CC6D7-34B2-33D5-B551-CA31EB6CE345}\Server'
        Details|endswith: '.dll'
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|contains: '\CLSID\{026CC6D7-34B2-33D5-B551-CA31EB6CE345}\Server'
    Details|endswith: '.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Detailsends_with
  • .dll corpus 9 (sigma 4, elastic 4, splunk 1)
field:"Details" kind:ends_with value:".dll"
TargetObjectmatch
  • \CLSID\{026CC6D7-34B2-33D5-B551-CA31EB6CE345}\Server
field:"TargetObject" kind:match value:"\CLSID\{026CC6D7-34B2-33D5-B551-CA31EB6CE345}\Server"

Github SSH Certificate Configuration Changed

#
Status
test
Severity
medium
Author
Romain Gaillard (@romain-gaillard)
Source
github.com/SigmaHQ/sigma

Detects when changes are made to the SSH certificate configuration of the organization.

Known False Positives

  • Allowed administrative activities.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Github SSH Certificate Configuration Changed
id: 2f575940-d85e-4ddc-af13-17dad6f1a0ef
status: test
description: Detects when changes are made to the SSH certificate configuration of the organization.
references:
    - https://docs.github.com/en/enterprise-cloud@latest/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities
    - https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise#ssh_certificate_authority
author: Romain Gaillard (@romain-gaillard)
date: 2024-07-29
tags:
    - attack.initial-access
    - attack.persistence
    - attack.privilege-escalation
    - attack.stealth
    - attack.t1078.004
logsource:
    product: github
    service: audit
    definition: 'Requirements: The audit log streaming feature must be enabled to be able to receive such logs. You can enable following the documentation here: https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise#setting-up-audit-log-streaming'
detection:
    selection:
        action:
            - 'ssh_certificate_authority.create' # An SSH certificate authority for an organization or enterprise was created.
            - 'ssh_certificate_requirement.disable' # The requirement for members to use SSH certificates to access an organization resources was disabled.
    condition: selection
falsepositives:
    - Allowed administrative activities.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    action:
        - 'ssh_certificate_authority.create'
        - 'ssh_certificate_requirement.disable'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
actioneq
  • ssh_certificate_authority.create
  • ssh_certificate_requirement.disable
field:"action" kind:eq

HackTool - CoercedPotato Named Pipe Creation

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

Detects the pattern of a pipe name as used by the hack tool CoercedPotato

MITRE ATT&CK Coverage

TacticTechniques
Privilege Escalation
Stealth

Telemetry Coverage

Rule Body

title: HackTool - CoercedPotato Named Pipe Creation
id: 4d0083b3-580b-40da-9bba-626c19fe4033
status: test
description: Detects the pattern of a pipe name as used by the hack tool CoercedPotato
references:
    - https://blog.hackvens.fr/articles/CoercedPotato.html
    - https://github.com/hackvens/CoercedPotato
author: Florian Roth (Nextron Systems)
date: 2023-10-11
tags:
    - attack.privilege-escalation
    - attack.stealth
    - attack.t1055
logsource:
    product: windows
    category: pipe_created
    definition: 'Note that you have to configure logging for Named Pipe Events in Sysmon config (Event ID 17 and Event ID 18). The basic configuration is in popular sysmon configuration (https://github.com/SwiftOnSecurity/sysmon-config), but it is worth verifying. You can also use other repo, e.g. https://github.com/Neo23x0/sysmon-config, https://github.com/olafhartong/sysmon-modular. How to test detection? You can check powershell script from this site https://svch0st.medium.com/guide-to-named-pipes-and-hunting-for-cobalt-strike-pipes-dc46b2c5f575'
detection:
    selection:
        PipeName|contains: '\coerced\'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    PipeName|contains: '\coerced\'

Indicators

These rows show field, operator, and value matches.

HackTool - Pypykatz Credentials Dumping Activity

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

Detects the usage of "pypykatz" to obtain stored credentials. Adversaries may attempt to extract credential material from the Security Account Manager (SAM) database through Windows registry where the SAM database is stored

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: HackTool - Pypykatz Credentials Dumping Activity
id: a29808fd-ef50-49ff-9c7a-59a9b040b404
status: test
description: Detects the usage of "pypykatz" to obtain stored credentials. Adversaries may attempt to extract credential material from the Security Account Manager (SAM) database through Windows registry where the SAM database is stored
references:
    - https://github.com/skelsec/pypykatz
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1003.002/T1003.002.md#atomic-test-2---registry-parse-with-pypykatz
author: frack113
date: 2022-01-05
modified: 2023-02-05
tags:
    - attack.credential-access
    - attack.t1003.002
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith:
            - \pypykatz.exe
            - \python.exe
        CommandLine|contains|all:
            - 'live'
            - 'registry'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith:
        - \pypykatz.exe
        - \python.exe
    CommandLine|contains|all:
        - 'live'
        - 'registry'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • live
  • registry
field:"CommandLine" kind:match
Imageends_with
  • \pypykatz.exe
  • \python.exe corpus 4 (sigma 4)
field:"Image" kind:ends_with

High risk event - grant Management APIs scopes

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

Excessive permissions can lead to unauthorized access. Auth0 Management API scopes should be given to trusted applications and monitored.

Known False Positives

  • Legitimate updates by an administrator. This rule is designed for threat hunting and to be a starting point for further investigation.
  • Trusted client_id has not been listed, e.g. see filter_2.

MITRE ATT&CK Coverage

TacticTechniques
Privilege Escalation

Rule Body

title: High risk event - grant Management APIs scopes
id: b275f0fa-3f2d-493f-a741-67e861ef77ed
status: experimental
description: |
    Excessive permissions can lead to unauthorized access. Auth0 Management API scopes should be given to trusted applications and monitored.
author: Okta
date: 2025-07-11
modified: 2025-09-01
logsource:
    product: auth0
detection:
    selection:
        data.type: sapi
        data.description:
            - Update client grant
    filter_1:
        data.details.response.body.audience:
            - 'https://{your-tenant-domain}/api/v2/'
        data.details.request.body.scope{}|startswith:
        # Example of scopes. Limit this list to relevant scopes to be monitored
            - 'delete:'
            - 'update:'
    filter_2:
        data.details.response.body.client_id:
        # List client_ids for trusted applications
            - '{trusted-client_id-1}'
            - '{trusted-client_id-2}'
    condition: selection and filter_1 and not filter_2
explanation: >
    The query collects log entries issued when applications' settings are modified, i.e. "Update client grant".
    It filters by audience to locate Management API related activities.
    The Splunk query provides modifying IPs, client_ids of applications which were assigned to risky scopes, and a list of these scopes.
splunk: |
    index=auth0 data.tenant_name="{your-tenant-name}"
    data.type=sapi data.description="Update client grant"
    data.details.response.body.audience="https://{your-tenant-domain}/api/v2/"
    ```Add more monitored scopes```
    data.details.request.body.scope{} IN ("{mgg-api-scope-1}", "{mgg-api-scope-2}")
    ```Trigger an alert when scopes are granted to applications that are not on the list of allowed clients.```
    NOT data.details.response.body.client_id IN ({trusted-client_id-1}, {trusted-client_id-2})
    | fields _time, data.ip, data.details.request.body.scope{}, data.details.response.body.client_id
    ```Display the information in a table```
    | table _time, data.ip, data.details.response.body.client_id, data.details.request.body.scope{}
comments:
    - The Splunk query above shall be tuned to reflect a valid tenant name, audience, monitored Management API scopes, and trusted client_ids.
    - To reduce a number of alerts, the query can be adjusted to watch for a more critical set of scopes, e.g. focus on "delete:*", but not "read:*",
      and/or trigger alerts when scopes are granted to applications that are not on the list of trusted clients.
    - To get a full list of available Management APIs scope and their descriptions, you can go to Applications --> Auth0 Management API --> Permissions.
    - To get an easier to copy list, you can go to Applications --> Auth0 Management API --> API Explorer --> Copy the token.
    - Then go to Management API documentation (https://auth0.com/docs/api/management/v2), click "Set API Token" and paste the earlier copied token. Now, you see all scopes that are easy to copy and use in the splunk query given above.
tenant_logs: |
    type:"sapi" AND description: "Update client grant"
prevention:
    - Control tenant admins, i.e. "Admin", as this role has permissions to modify any application.
    - Enforce MFA for tenant admins to reduce the risk of an adversary gaining access.
    - Control Management API scopes that allow modification of grants - *:client_grants
    - Control usage of Management API from only trusted IPs by applying Network ACL scoped to "management".
falsepositives:
    - Legitimate updates by an administrator. This rule is designed for threat hunting and to be a starting point for further investigation.
    - Trusted client_id has not been listed, e.g. see filter_2.
level: medium
tags:
    - attack.defense-evasion
    - attack.t1548

Stages and Predicates

Stage 0: condition

selection and filter_1 and not filter_2

Stage 1: selection

selection:
    data.type: sapi
    data.description:
        - Update client grant

Stage 2: filter_1

filter_1:
    data.details.response.body.audience:
        - 'https://{your-tenant-domain}/api/v2/'
    data.details.request.body.scope{}|startswith:
        - 'delete:'
        - 'update:'

Stage 3: not filter_2

filter_2:
    data.details.response.body.client_id:
        - '{trusted-client_id-1}'
        - '{trusted-client_id-2}'

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

High risk local/domain local group membership change

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

Detects scenarios where a suspicious group membership is changed. Having Microsoft LAPS installed may trigger false positive events for the builtin administrators group triggered by the system account (S-1-5-18).

Known False Positives

  • Administrator activity

MITRE ATT&CK Coverage

TacticTechniques
Persistence

Telemetry Coverage

Rule Body

title: High risk local/domain local group membership change
description: Detects scenarios where a suspicious group membership is changed. Having Microsoft LAPS installed may trigger false positive events for the builtin administrators group triggered by the system account (S-1-5-18).
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0003-Persistence/T1098.xxx-Account%20manipulation
- https://ss64.com/nt/syntax-groups.html
- https://docs.microsoft.com/en-us/windows/security/identity-protection/access-control/security-identifiers
tags:
- attack.persistence
- attack.t1098
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 4732 # local and domain local group
    TargetSid|startswith: 'S-1-5-32'
    TargetSid|endswith:
      - '-544' # Administrators
      - '-547' # Power Users
      - '-548' # Account Operators
      - '-549' # Server Operators
      - '-551' # Backup Operators
      - '-578' # Hyper-V Administrators
  filter:
    SubjectUserSid: 'S-1-5-18' # LAPS or others IAM solutions may trigger this as a false positive
  condition: selection and not filter
falsepositives:
- Administrator activity
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
  EventID: 4732
  TargetSid|startswith: 'S-1-5-32'
  TargetSid|endswith:
    - '-544'
    - '-547'
    - '-548'
    - '-549'
    - '-551'
    - '-578'

Stage 2: not filter

filter:
  SubjectUserSid: 'S-1-5-18'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetSidends_with
  • -544
  • -547
  • -548
  • -549
  • -551
  • -578
field:"TargetSid" kind:ends_with
TargetSidstarts_with
  • S-1-5-32 corpus 2 (sigma 2)
field:"TargetSid" kind:starts_with value:"S-1-5-32"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
SubjectUserSideqS-1-5-18excludes:SubjectUserSid field:"SubjectUserSid" value:"S-1-5-18"

Host constrained delegation settings changed for potential abuse (Rubeus) - Any protocol

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

Detects scenarios where an attacker modifies host delegation settings for privilege escalation.

Known False Positives

  • Rare administrator modifying host delegation settings

MITRE ATT&CK Coverage

TacticTechniques
Persistence

Telemetry Coverage

Rule Body

title: Host constrained delegation settings changed for potential abuse (Rubeus) - Any protocol
description: Detects scenarios where an attacker modifies host delegation settings for privilege escalation.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0003-Persistence/T1098.xxx-Account%20manipulation
- https://dirkjanm.io/krbrelayx-unconstrained-delegation-abuse-toolkit/
- https://www.alsid.com/crb_article/kerberos-delegation/
- https://www.harmj0y.net/blog/activedirectory/s4u2pwnage/
- https://shenaniganslabs.io/2019/01/28/Wagging-the-Dog.html
- https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/abusing-kerberos-constrained-delegation
- https://www.guidepointsecurity.com/delegating-like-a-boss-abusing-kerberos-delegation-in-active-directory/
- https://stealthbits.com/blog/what-is-kerberos-delegation-an-overview-of-kerberos-delegation/
- https://posts.specterops.io/hunting-in-active-directory-unconstrained-delegation-forests-trusts-71f2b33688e1
- https://www.thehacker.recipes/ad/movement/kerberos/delegations#talk
tags:
- attack.persistence
- attack.t1098
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection: # Delegation to specified service, any protocol
    EventID: 4742
    UserAccountControl: '%%2098' # Enable option "Approved for authenticated delegation"
  filter:
    AllowedToDelegateTo: '-' # Can be: "cifs/srv01 cifs/srv02.demo.lan dcom/dc03..."
  condition: selection and not filter
falsepositives:
- Rare administrator modifying host delegation settings
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
  EventID: 4742
  UserAccountControl: '%%2098'

Stage 2: not filter

filter:
  AllowedToDelegateTo: '-'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
UserAccountControleq
  • %%2098 corpus 2 (sigma 2)
field:"UserAccountControl" kind:eq value:"%%2098"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
AllowedToDelegateToeq-excludes:AllowedToDelegateTo field:"AllowedToDelegateTo" value:"-"

Hypervisor-protected Code Integrity (HVCI) Related Registry Tampering Via CommandLine

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

Detects the tampering of Hypervisor-protected Code Integrity (HVCI) related registry values via command line tool reg.exe. HVCI uses virtualization-based security to protect code integrity by ensuring that only trusted code can run in kernel mode. Adversaries may tamper with HVCI to load malicious or unsigned drivers, which can be used to escalate privileges, maintain persistence, or evade security mechanisms.

Known False Positives

  • Legitimate system administration tasks that require disabling HVCI for troubleshooting purposes when certain drivers or applications are incompatible with it.

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Hypervisor-protected Code Integrity (HVCI) Related Registry Tampering Via CommandLine
id: 6225c53a-a96e-4235-b28f-8d7997cd96eb
related:
    - id: 8b7273a4-ba5d-4d8a-b04f-11f2900d043a
      type: similar
status: experimental
description: |
    Detects the tampering of Hypervisor-protected Code Integrity (HVCI) related registry values via command line tool reg.exe.
    HVCI uses virtualization-based security to protect code integrity by ensuring that only trusted code can run in kernel mode.
    Adversaries may tamper with HVCI to load malicious or unsigned drivers, which can be used to escalate privileges, maintain persistence, or evade security mechanisms.
references:
    - https://www.sophos.com/en-us/blog/sharpening-the-knife-gold-blades-strategic-evolution
    - https://learn.microsoft.com/en-us/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2026-01-26
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith:
              - '\powershell.exe'
              - '\pwsh.exe'
              - '\reg.exe'
        - OriginalFileName:
              - 'PowerShell.EXE'
              - 'pwsh.dll'
              - 'reg.exe'
    selection_cli:
        CommandLine|contains:
            - 'add '
            - 'New-ItemProperty '
            - 'Set-ItemProperty '
            - 'si '  # SetItem Alias
    selection_cli_base:
        CommandLine|contains: '\DeviceGuard'
    selection_cli_key:
        CommandLine|contains:
            - 'EnableVirtualizationBasedSecurity'
            - 'HypervisorEnforcedCodeIntegrity'
    condition: all of selection_*
falsepositives:
    - Legitimate system administration tasks that require disabling HVCI for troubleshooting purposes when certain drivers or applications are incompatible with it.
level: high
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_hvci_registry_tampering/info.yml
simulation:
    - type: atomic-red-team
      name: Disable Hypervisor-Enforced Code Integrity (HVCI)
      technique: T1562.001
      atomic_guid: 70bd71e6-eba4-4e00-92f7-617911dbe020

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    CommandLine|contains:
        - 'add '
        - 'New-ItemProperty '
        - 'Set-ItemProperty '
        - 'si '

Stage 3: selection_cli_base

selection_cli_base:
    CommandLine|contains: '\DeviceGuard'

Stage 4: selection_cli_key

selection_cli_key:
    CommandLine|contains:
        - 'EnableVirtualizationBasedSecurity'
        - 'HypervisorEnforcedCodeIntegrity'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • EnableVirtualizationBasedSecurity corpus 2 (sigma 2)
  • HypervisorEnforcedCodeIntegrity
  • New-ItemProperty corpus 3 (sigma 3)
  • Set-ItemProperty corpus 3 (sigma 3)
  • \DeviceGuard
  • add corpus 12 (sigma 12)
  • si corpus 5 (sigma 5)
field:"CommandLine" kind:match
Imageends_with
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \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)
  • pwsh.dll corpus 115 (sigma 81, splunk 30, elastic 4)
  • reg.exe corpus 41 (sigma 32, splunk 8, elastic 1)
field:"OriginalFileName" kind:eq

Java Running with Remote Debugging

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

Detects a JAVA process running with remote debugging allowing more than just localhost to connect

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Java Running with Remote Debugging
id: 8f88e3f6-2a49-48f5-a5c4-2f7eedf78710
status: test
description: Detects a JAVA process running with remote debugging allowing more than just localhost to connect
references:
    - https://dzone.com/articles/remote-debugging-java-applications-with-jdwp
author: Florian Roth (Nextron Systems)
date: 2019-01-16
modified: 2023-02-01
tags:
    - attack.t1203
    - attack.execution
logsource:
    category: process_creation
    product: windows
detection:
    selection_jdwp_transport:
        CommandLine|contains: 'transport=dt_socket,address='
    selection_old_jvm_version:
        CommandLine|contains:
            - 'jre1.'
            - 'jdk1.'
    exclusion:
        CommandLine|contains:
            - 'address=127.0.0.1'
            - 'address=localhost'
    condition: all of selection_* and not exclusion
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

all of selection_* and not exclusion

Stage 1: selection_jdwp_transport

selection_jdwp_transport:
    CommandLine|contains: 'transport=dt_socket,address='

Stage 2: selection_old_jvm_version

selection_old_jvm_version:
    CommandLine|contains:
        - 'jre1.'
        - 'jdk1.'

Stage 3: not exclusion

exclusion:
    CommandLine|contains:
        - 'address=127.0.0.1'
        - 'address=localhost'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • jdk1.
  • jre1.
  • transport=dt_socket,address=
field:"CommandLine" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLinematchaddress=127.0.0.1excludes:CommandLine field:"CommandLine" value:"address=127.0.0.1"
CommandLinematchaddress=localhostexcludes:CommandLine field:"CommandLine" value:"address=localhost"

Kerberoasting Activity - Initial Query

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

This rule will collect the data needed to start looking into possible kerberoasting activity. Further analysis or computation within the query is needed focusing on requests from one specific host/IP towards multiple service names within a time period of 5 seconds. You can then set a threshold for the number of requests and time between the requests to turn this into an alert.

Known False Positives

  • Legacy applications.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Kerberoasting Activity - Initial Query
id: d04ae2b8-ad54-4de0-bd87-4bc1da66aa59
status: test
description: |
    This rule will collect the data needed to start looking into possible kerberoasting activity.
    Further analysis or computation within the query is needed focusing on requests from one specific host/IP towards multiple service names within a time period of 5 seconds.
    You can then set a threshold for the number of requests and time between the requests to turn this into an alert.
references:
    - https://www.trustedsec.com/blog/art_of_kerberoast/
    - https://adsecurity.org/?p=3513
author: '@kostastsale'
date: 2022-01-21
modified: 2025-10-19
tags:
    - attack.credential-access
    - attack.t1558.003
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID: 4769
        Status: '0x0' # Translated as status from failure code field. Query only for successes
        TicketEncryptionType: '0x17' # RC4 ticket encryption type
    filter_main_krbtgt:
        ServiceName|endswith:
            - 'krbtgt' # Ignore requests for the krbtgt service
            - '$' # Ignore requests from service names that end with $ which are associated with genuine kerberos traffic
    filter_main_machine_accounts:
        TargetUserName|contains: '$@' # Ignore requests from machines
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Legacy applications.
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    EventID: 4769
    Status: '0x0'
    TicketEncryptionType: '0x17'

Stage 2: not filter_main_*

filter_main_krbtgt:
    ServiceName|endswith:
        - 'krbtgt'
        - '$'
filter_main_machine_accounts:
    TargetUserName|contains: '$@'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Statuseq
  • 0x0 corpus 2 (sigma 1, elastic 1)
field:"Status" kind:eq value:"0x0"
TicketEncryptionTypeeq
  • 0x17 corpus 8 (splunk 4, sigma 3, elastic 1)
field:"TicketEncryptionType" kind:eq value:"0x17"

Exclusions

The rule actively suppresses these predicates.

LSASS process dump by a non system account

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

Detects scenarios where an attacker will dump the LSASS memory content using tools like Mimikatz, ProcDump, TaskMgr, ...

Known False Positives

  • Antivirus, security products, browsers

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

Rule Body

title: LSASS process dump by a non system account
description: Detects scenarios where an attacker will dump the LSASS memory content using tools like Mimikatz, ProcDump, TaskMgr, ...
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0006-Credential%20Access/T1003-Credential%20dumping
tags:
- attack.credential_access
- attack.t1003.001
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID:
      - 4656 # A handle to an object was requested. / Kernel object
      - 4663 # An attempt was made to access an object / Kernel object
    ObjectType: Process
    ObjectServer: Security
    ObjectName|endswith: '\System32\lsass.exe'
    # AccessMask:
      #- '0x1410'
      #- '0x1010'
      #- '0x1438' # could refers to misc::memssp
      #- '0x143a'
      #- '0x1418'
  filter:
    SubjectUserName|endswith: '$'
    ProcessName:
      - '*\\AppData\Local\Google\Chrome\User Data\SwReporter\\*\software_reporter_tool.exe' # Google Chrome Security tool
      - '*\ProgramData\Microsoft\Windows Defender\Platform\*'
      - '*\Program Files\Windows Defender Advanced Threat Protection\*'
      - '*\system32\csrss.exe'
      - '*\system32\wininit.exe'
      - '*\Windows\System32\rundll32.exe' # See LSASSY dedicated rule
  condition: selection and not filter
falsepositives:
- Antivirus, security products, browsers
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
  EventID:
    - 4656
    - 4663
  ObjectType: Process
  ObjectServer: Security
  ObjectName|endswith: '\System32\lsass.exe'

Stage 2: not filter

filter:
  SubjectUserName|endswith: '$'
  ProcessName:
    - '*\\AppData\Local\Google\Chrome\User Data\SwReporter\\*\software_reporter_tool.exe'
    - '*\ProgramData\Microsoft\Windows Defender\Platform\*'
    - '*\Program Files\Windows Defender Advanced Threat Protection\*'
    - '*\system32\csrss.exe'
    - '*\system32\wininit.exe'
    - '*\Windows\System32\rundll32.exe'

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ProcessNameends_with\Windows\System32\rundll32.exeexcludes:ProcessName field:"ProcessName" value:"\Windows\System32\rundll32.exe"
ProcessNameends_with\system32\csrss.exeexcludes:ProcessName field:"ProcessName" value:"\system32\csrss.exe"
ProcessNameends_with\system32\wininit.exeexcludes:ProcessName field:"ProcessName" value:"\system32\wininit.exe"
ProcessNamematch\Program Files\Windows Defender Advanced Threat Protection\excludes:ProcessName field:"ProcessName" value:"\Program Files\Windows Defender Advanced Threat Protection\"
ProcessNamematch\ProgramData\Microsoft\Windows Defender\Platform\excludes:ProcessName field:"ProcessName" value:"\ProgramData\Microsoft\Windows Defender\Platform\"
ProcessNamewildcard*\\AppData\Local\Google\Chrome\User Data\SwReporter\\*\software_reporter_tool.exeexcludes:ProcessName field:"ProcessName" value:"*\\AppData\Local\Google\Chrome\User Data\SwReporter\\*\software_reporter_tool.exe"
SubjectUserNameends_with$excludes:SubjectUserName field:"SubjectUserName" value:"$"

macOS File Transfer Tool Execution

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

Detects execution of file transfer tools (scp, rsync, sftp) which may indicate lateral movement or data staging for exfiltration. Adversaries often use these utilities to move files between compromised systems.

Known False Positives

  • Legitimate system administration and backup operations
  • Automated file synchronization tasks
  • Development workflows using rsync for deployments

MITRE ATT&CK Coverage

Rule Body

title: macOS File Transfer Tool Execution
id: b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e
status: experimental
description: 'Detects execution of file transfer tools (scp, rsync, sftp) which may
  indicate

  lateral movement or data staging for exfiltration. Adversaries often use these

  utilities to move files between compromised systems.

  '
author: Eric Brown - Nebulock, Inc.
date: 2025/10/31
modified: 2025/10/31
references:
- https://attack.mitre.org/techniques/T1021/004/
- https://attack.mitre.org/techniques/T1570/
logsource:
  product: macos
  service: endpointsecurity
detection:
  selection_event:
    esf.event_type: 9
    event.action: exec
  selection_process:
    Image|endswith:
    - /scp
    - /rsync
    - /sftp
  condition: selection_event and selection_process
falsepositives:
- Legitimate system administration and backup operations
- Automated file synchronization tasks
- Development workflows using rsync for deployments
fields:
- Image
- CommandLine
- ProcessId
- ParentProcessId
- User
tags:
- attack.lateral_movement
- attack.t1021.004
- attack.t1570
level: medium

Stages and Predicates

Stage 0: condition

selection_event and selection_process

Stage 1: selection_event

selection_event:
  esf.event_type: 9
  event.action: exec

Stage 2: selection_process

selection_process:
  Image|endswith:
  - /scp
  - /rsync
  - /sftp

Indicators

These rows show field, operator, and value matches.

OCSP responder security settings changed

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

Detects scenarios where an attacker would attempt to escalate privileges by changing the security settings of the responder.

Known False Positives

  • Rare PKI/ADCS/OSCP admin changes

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

Rule Body

title: OCSP responder security settings changed
description: Detects scenarios where an attacker would attempt to escalate privileges by changing the security settings of the responder.
requirements: requires to have the OCSP role installed and to have enabled auditing in the responder properties.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0005-Defense%20Evasion/T1222.001-File%20and%20Directory%20Permissions%20Modification
- https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?eventID=5124
tags:
- attack.defense_evasion
- attack.t1222
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 5124
  condition: selection
falsepositives:
- Rare PKI/ADCS/OSCP admin changes
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  EventID: 5124

Potential AMSI Bypass Using NULL Bits

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

Detects usage of special strings/null bits in order to potentially bypass AMSI functionalities

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

Rule Body

title: Potential AMSI Bypass Using NULL Bits
id: 92a974db-ab84-457f-9ec0-55db83d7a825
related:
    - id: fa2559c8-1197-471d-9cdd-05a0273d4522
      type: similar
status: test
description: Detects usage of special strings/null bits in order to potentially bypass AMSI functionalities
references:
    - https://github.com/r00t-3xp10it/hacking-material-books/blob/43cb1e1932c16ff1f58b755bc9ab6b096046853f/obfuscation/simple_obfuscation.md#amsi-bypass-using-null-bits-satoshi
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-01-04
modified: 2023-05-09
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    product: windows
    category: process_creation
detection:
    selection:
        CommandLine|contains:
            - "if(0){{{0}}}' -f $(0 -as [char]) +"
            - "#<NULL>"
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains:
        - "if(0){{{0}}}' -f $(0 -as [char]) +"
        - "#<NULL>"

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • #<NULL>
  • if(0){{{0}}}' -f $(0 -as [char]) +
field:"CommandLine" kind:match

Potential Encrypted Registry Blob Related To SNAKE Malware

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

Detects the creation of a registry value in the ".wav\OpenWithProgIds" key with an uncommon name. This could be related to SNAKE Malware as reported by CISA

Known False Positives

  • Some additional tuning might be required to tune out legitimate processes that write to this key by default

MITRE ATT&CK Coverage

TacticTechniques
PersistenceNo specific technique

Telemetry Coverage

Rule Body

title: Potential Encrypted Registry Blob Related To SNAKE Malware
id: 7e163e96-b9a5-45d6-b2cd-d7d87b13c60b
status: test
description: Detects the creation of a registry value in the ".wav\OpenWithProgIds" key with an uncommon name. This could be related to SNAKE Malware as reported by CISA
references:
    - https://media.defense.gov/2023/May/09/2003218554/-1/-1/0/JOINT_CSA_HUNTING_RU_INTEL_SNAKE_MALWARE_20230509.PDF
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-05-10
modified: 2023-08-17
tags:
    - attack.persistence
    - detection.emerging-threats
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|contains: '\SOFTWARE\Classes\.wav\OpenWithProgIds\'
    filter_main_wav:
        - TargetObject|endswith: '.AssocFile.WAV'
        - TargetObject|contains: '.wav.'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Some additional tuning might be required to tune out legitimate processes that write to this key by default
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    TargetObject|contains: '\SOFTWARE\Classes\.wav\OpenWithProgIds\'

Stage 2: not filter_main_wav

filter_main_wav:
    - TargetObject|endswith: '.AssocFile.WAV'
    - TargetObject|contains: '.wav.'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectmatch
  • \SOFTWARE\Classes\.wav\OpenWithProgIds\
field:"TargetObject" kind:match value:"\SOFTWARE\Classes\.wav\OpenWithProgIds\"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
TargetObjectends_with.AssocFile.WAVexcludes:TargetObject field:"TargetObject" value:".AssocFile.WAV"
TargetObjectmatch.wav.excludes:TargetObject field:"TargetObject" value:".wav."

Potential Persistence Via Netsh Helper DLL - Registry

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

Detects changes to the Netsh registry key to add a new DLL value. This change might be an indication of a potential persistence attempt by adding a malicious Netsh helper

Known False Positives

  • Legitimate helper added by different programs and the OS

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Potential Persistence Via Netsh Helper DLL - Registry
id: c90362e0-2df3-4e61-94fe-b37615814cb1
related:
    - id: 56321594-9087-49d9-bf10-524fe8479452
      type: similar
    - id: e7b18879-676e-4a0e-ae18-27039185a8e7
      type: similar
status: test
description: |
    Detects changes to the Netsh registry key to add a new DLL value. This change might be an indication of a potential persistence attempt by adding a malicious Netsh helper
references:
    - https://www.ired.team/offensive-security/persistence/t1128-netsh-helper-dll
    - https://pentestlab.blog/2019/10/29/persistence-netsh-helper-dll/
author: Anish Bogati
date: 2023-11-28
modified: 2025-10-08
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1546.007
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|contains: '\SOFTWARE\Microsoft\NetSh'
        Details|contains: '.dll'
    filter_main_poqexec:
        Image: 'C:\Windows\System32\poqexec.exe'
        Details:
            - 'ipmontr.dll'
            - 'iasmontr.dll'
            - 'ippromon.dll'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Legitimate helper added by different programs and the OS
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    TargetObject|contains: '\SOFTWARE\Microsoft\NetSh'
    Details|contains: '.dll'

Stage 2: not filter_main_poqexec

filter_main_poqexec:
    Image: 'C:\Windows\System32\poqexec.exe'
    Details:
        - 'ipmontr.dll'
        - 'iasmontr.dll'
        - 'ippromon.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Detailsmatch
  • .dll corpus 5 (sigma 5)
field:"Details" kind:match value:".dll"
TargetObjectmatch
  • \SOFTWARE\Microsoft\NetSh corpus 2 (sigma 2)
field:"TargetObject" kind:match value:"\SOFTWARE\Microsoft\NetSh"

Exclusions

The rule actively suppresses these predicates.

Potential Provisioning Registry Key Abuse For Binary Proxy Execution

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

Detects potential abuse of the provisioning registry key for indirect command execution through "Provlaunch.exe".

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Potential Provisioning Registry Key Abuse For Binary Proxy Execution
id: 2a4b3e61-9d22-4e4a-b60f-6e8f0cde6f25
related:
    - id: 7f5d1c9a-3e83-48df-95a7-2b98aae6c13c # CLI Generic
      type: similar
    - id: f9999590-1f94-4a34-a91e-951e47bedefd # CLI Abuse
      type: similar
    - id: 7021255e-5db3-4946-a8b9-0ba7a4644a69 # Registry
      type: similar
status: test
description: Detects potential abuse of the provisioning registry key for indirect command execution through "Provlaunch.exe".
references:
    - https://lolbas-project.github.io/lolbas/Binaries/Provlaunch/
    - https://twitter.com/0gtweet/status/1674399582162153472
author: Nasreddine Bencherchali (Nextron Systems), Swachchhanda Shrawan Poudel
date: 2023-08-08
tags:
    - attack.stealth
    - attack.t1218
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains: 'SOFTWARE\Microsoft\Provisioning\Commands\'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains: 'SOFTWARE\Microsoft\Provisioning\Commands\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • SOFTWARE\Microsoft\Provisioning\Commands\
field:"CommandLine" kind:match value:"SOFTWARE\Microsoft\Provisioning\Commands\"

Potentially Suspicious Mofcomp Execution

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

Detects execution of the "mofcomp" utility as a child of a suspicious shell or script running utility or by having a suspicious path in the commandline. The "mofcomp" utility parses a file containing MOF statements and adds the classes and class instances defined in the file to the WMI repository. Attackers abuse this utility to install malicious MOF scripts

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potentially Suspicious Mofcomp Execution
id: 1dd05363-104e-4b4a-b963-196a534b03a1
status: test
description: |
    Detects execution of the "mofcomp" utility as a child of a suspicious shell or script running utility or by having a suspicious path in the commandline.
    The "mofcomp" utility parses a file containing MOF statements and adds the classes and class instances defined in the file to the WMI repository.
    Attackers abuse this utility to install malicious MOF scripts
references:
    - https://thedfirreport.com/2022/07/11/select-xmrig-from-sqlserver/
    - https://github.com/The-DFIR-Report/Sigma-Rules/blob/75260568a7ffe61b2458ca05f6f25914efb44337/win_mofcomp_execution.yml
    - https://learn.microsoft.com/en-us/windows/win32/wmisdk/mofcomp
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-07-12
modified: 2026-08-06
tags:
    - attack.stealth
    - attack.t1218
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\mofcomp.exe'
        - OriginalFileName: 'mofcomp.exe'
    selection_case:
        - ParentImage|endswith:
              - '\cmd.exe'
              - '\powershell.exe'
              - '\pwsh.exe'
              - '\wsl.exe'
              - '\wscript.exe'
              - '\cscript.exe'
        - CommandLine|contains:
              - '\AppData\Local\Temp'
              - '\Contacts\'
              - '\Favorites\'
              - '\Favourites\'
              - '\Music\'
              - '\Pictures\'
              - '\Users\Public\'
              - '\Videos\'
              - '\WINDOWS\Temp\'
              - '%appdata%'
              - '%temp%'
              - '%tmp%'
    filter_main_wmiprvse:
        ParentImage: 'C:\Windows\System32\wbem\WmiPrvSE.exe'
        CommandLine|contains: 'C:\Windows\TEMP\'
        CommandLine|endswith: '.mof'
    filter_main_installutil:
        ParentCommandLine|endswith: '\InstallUtil.exe /Uninstall C:\Windows\CCM\Microsoft.ConfigurationManager.SVProvider.dll'
        ParentImage|endswith: '\InstallUtil.exe'
        CommandLine|contains|all:
            - 'C:\Windows\TEMP'
            - '.tmp'
    filter_optional_null_parent:
        ParentCommandLine: null
    condition: all of selection_* and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_* and not 1 of filter_main_* and not 1 of filter_optional_*

Stage 1: selection_img

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

Stage 2: selection_case

selection_case:
    - ParentImage|endswith:
          - '\cmd.exe'
          - '\powershell.exe'
          - '\pwsh.exe'
          - '\wsl.exe'
          - '\wscript.exe'
          - '\cscript.exe'
    - CommandLine|contains:
          - '\AppData\Local\Temp'
          - '\Contacts\'
          - '\Favorites\'
          - '\Favourites\'
          - '\Music\'
          - '\Pictures\'
          - '\Users\Public\'
          - '\Videos\'
          - '\WINDOWS\Temp\'
          - '%appdata%'
          - '%temp%'
          - '%tmp%'

Stage 3: not filter_main_*

filter_main_wmiprvse:
    ParentImage: 'C:\Windows\System32\wbem\WmiPrvSE.exe'
    CommandLine|contains: 'C:\Windows\TEMP\'
    CommandLine|endswith: '.mof'
filter_main_installutil:
    ParentCommandLine|endswith: '\InstallUtil.exe /Uninstall C:\Windows\CCM\Microsoft.ConfigurationManager.SVProvider.dll'
    ParentImage|endswith: '\InstallUtil.exe'
    CommandLine|contains|all:
        - 'C:\Windows\TEMP'
        - '.tmp'

Stage 4: not filter_optional_null_parent

filter_optional_null_parent:
    ParentCommandLine: null

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • %appdata% corpus 11 (sigma 11)
  • %temp% corpus 14 (sigma 13, kusto 1)
  • %tmp% corpus 13 (sigma 13)
  • \AppData\Local\Temp corpus 8 (sigma 8)
  • \Contacts\ corpus 7 (sigma 7)
  • \Favorites\ corpus 7 (sigma 7)
  • \Favourites\ corpus 7 (sigma 7)
  • \Music\ corpus 4 (sigma 4)
  • \Pictures\ corpus 5 (sigma 5)
  • \Users\Public\ corpus 18 (sigma 17, elastic 1)
  • \Videos\ corpus 4 (sigma 4)
  • \WINDOWS\Temp\ corpus 13 (sigma 12, elastic 1)
field:"CommandLine" kind:match
Imageends_with
  • \mofcomp.exe
field:"Image" kind:ends_with value:"\mofcomp.exe"
OriginalFileNameeq
  • mofcomp.exe
field:"OriginalFileName" kind:eq value:"mofcomp.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)
  • \wscript.exe corpus 19 (sigma 19)
  • \wsl.exe corpus 4 (sigma 4)
field:"ParentImage" kind:ends_with

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLineends_with.mofexcludes:CommandLine field:"CommandLine" value:".mof"
CommandLinematchC:\Windows\TEMP\excludes:CommandLine field:"CommandLine" value:"C:\Windows\TEMP\"
ParentImageeqC:\Windows\System32\wbem\WmiPrvSE.exeexcludes:ParentImage field:"ParentImage" value:"C:\Windows\System32\wbem\WmiPrvSE.exe"
CommandLinematch.tmpexcludes:CommandLine field:"CommandLine" value:".tmp"
CommandLinematchC:\Windows\TEMPexcludes:CommandLine field:"CommandLine" value:"C:\Windows\TEMP"
ParentCommandLineends_with\InstallUtil.exe /Uninstall C:\Windows\CCM\Microsoft.ConfigurationManager.SVProvider.dllexcludes:ParentCommandLine field:"ParentCommandLine" value:"\InstallUtil.exe /Uninstall C:\Windows\CCM\Microsoft.ConfigurationManager.SVProvider.dll"
ParentImageends_with\InstallUtil.exeexcludes:ParentImage field:"ParentImage" value:"\InstallUtil.exe"
ParentCommandLineis_null(no value, null check)excludes:ParentCommandLine

Potentially Suspicious Regsvr32 HTTP/FTP Pattern

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

Detects regsvr32 execution to download/install/register new DLLs that are hosted on Web or FTP servers.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potentially Suspicious Regsvr32 HTTP/FTP Pattern
id: 867356ee-9352-41c9-a8f2-1be690d78216
related:
    - id: 8e2b24c9-4add-46a0-b4bb-0057b4e6187d
      type: obsolete
status: test
description: Detects regsvr32 execution to download/install/register new DLLs that are hosted on Web or FTP servers.
references:
    - https://twitter.com/mrd0x/status/1461041276514623491
    - https://twitter.com/tccontre18/status/1480950986650832903
    - https://lolbas-project.github.io/lolbas/Binaries/Regsvr32/
author: Florian Roth (Nextron Systems)
date: 2023-05-24
modified: 2023-05-26
tags:
    - attack.stealth
    - attack.t1218.010
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\regsvr32.exe'
        - OriginalFileName: 'REGSVR32.EXE'
    selection_flag:
        CommandLine|contains:
            - ' /i'
            - ' -i'
    selection_protocol:
        CommandLine|contains:
            - 'ftp'
            - 'http'
    condition: all of selection_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    - Image|endswith: '\regsvr32.exe'
    - OriginalFileName: 'REGSVR32.EXE'

Stage 2: selection_flag

selection_flag:
    CommandLine|contains:
        - ' /i'
        - ' -i'

Stage 3: selection_protocol

selection_protocol:
    CommandLine|contains:
        - 'ftp'
        - 'http'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -i
  • /i corpus 2 (sigma 2)
  • ftp corpus 2 (sigma 2)
  • http corpus 45 (sigma 34, elastic 10, splunk 1)
field:"CommandLine" kind:match
Imageends_with
  • \regsvr32.exe corpus 64 (sigma 64)
field:"Image" kind:ends_with value:"\regsvr32.exe"
OriginalFileNameeq
  • REGSVR32.EXE corpus 37 (sigma 17, elastic 15, splunk 5)
field:"OriginalFileName" kind:eq value:"REGSVR32.EXE"

PowerShell Console History Logs Deleted

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

Detects the deletion of the PowerShell console History logs which may indicate an attempt to destroy forensic evidence

MITRE ATT&CK Coverage

TacticTechniques
Stealth

Telemetry Coverage

Rule Body

title: PowerShell Console History Logs Deleted
id: ff301988-c231-4bd0-834c-ac9d73b86586
status: test
description: Detects the deletion of the PowerShell console History logs which may indicate an attempt to destroy forensic evidence
references:
    - Internal Research
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-02-15
tags:
    - attack.stealth
    - attack.t1070
logsource:
    category: file_delete
    product: windows
detection:
    selection:
        TargetFilename|endswith: '\PSReadLine\ConsoleHost_history.txt'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetFilename|endswith: '\PSReadLine\ConsoleHost_history.txt'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenameends_with
  • \PSReadLine\ConsoleHost_history.txt
field:"TargetFilename" kind:ends_with value:"\PSReadLine\ConsoleHost_history.txt"

Powershell Executed From Headless ConHost Process

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

Detects the use of powershell commands from headless ConHost window. The "--headless" flag hides the windows from the user upon execution.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Powershell Executed From Headless ConHost Process
id: 056c7317-9a09-4bd4-9067-d051312752ea
related:
    - id: 00ca75ab-d5ce-43be-b86c-55ff39c6abfc
      type: derived
status: test
description: |
    Detects the use of powershell commands from headless ConHost window.
    The "--headless" flag hides the windows from the user upon execution.
references:
    - https://www.huntress.com/blog/fake-browser-updates-lead-to-boinc-volunteer-computing-software
author: Matt Anderson (Huntress)
date: 2024-07-23
tags:
    - attack.execution
    - attack.stealth
    - attack.t1059.001
    - attack.t1059.003
    - attack.t1564.003
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\conhost.exe'
        - OriginalFileName: 'CONHOST.EXE'
    selection_cli:
        CommandLine|contains|all:
            - '--headless'
            - 'powershell'
    condition: all of selection_*
falsepositives:
    - Unknown
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_conhost_headless_powershell/info.yml

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    - Image|endswith: '\conhost.exe'
    - OriginalFileName: 'CONHOST.EXE'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|all:
        - '--headless'
        - 'powershell'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • --headless corpus 8 (sigma 6, splunk 2)
  • powershell corpus 24 (sigma 24)
field:"CommandLine" kind:match
Imageends_with
  • \conhost.exe corpus 4 (sigma 4)
field:"Image" kind:ends_with value:"\conhost.exe"
OriginalFileNameeq
  • CONHOST.EXE corpus 3 (sigma 2, elastic 1)
field:"OriginalFileName" kind:eq value:"CONHOST.EXE"

Powershell WMI Persistence

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

Adversaries may establish persistence and elevate privileges by executing malicious content triggered by a Windows Management Instrumentation (WMI) event subscription.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Powershell WMI Persistence
id: 9e07f6e7-83aa-45c6-998e-0af26efd0a85
status: test
description: Adversaries may establish persistence and elevate privileges by executing malicious content triggered by a Windows Management Instrumentation (WMI) event subscription.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1546.003/T1546.003.md
    - https://github.com/EmpireProject/Empire/blob/08cbd274bef78243d7a8ed6443b8364acd1fc48b/data/module_source/persistence/Persistence.psm1#L545
author: frack113
date: 2021-08-19
modified: 2022-12-25
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.t1546.003
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection_ioc:
        - ScriptBlockText|contains|all:
              - 'New-CimInstance '
              - '-Namespace root/subscription '
              - '-ClassName __EventFilter '
              - '-Property ' # is a variable name
        - ScriptBlockText|contains|all:
              - 'New-CimInstance '
              - '-Namespace root/subscription '
              - '-ClassName CommandLineEventConsumer '
              - '-Property ' # is a variable name
    condition: selection_ioc
falsepositives:
    - Unknown
level: medium
regression_tests_path: regression_data/rules/windows/powershell/powershell_script/posh_ps_wmi_persistence/info.yml

Stages and Predicates

Stage 0: condition

selection_ioc

Stage 1: selection_ioc

selection_ioc:
    - ScriptBlockText|contains|all:
          - 'New-CimInstance '
          - '-Namespace root/subscription '
          - '-ClassName __EventFilter '
          - '-Property '
    - ScriptBlockText|contains|all:
          - 'New-CimInstance '
          - '-Namespace root/subscription '
          - '-ClassName CommandLineEventConsumer '
          - '-Property '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • -ClassName CommandLineEventConsumer
  • -ClassName __EventFilter
  • -Namespace root/subscription
  • -Property
  • New-CimInstance
field:"ScriptBlockText" kind:match

Process Execution From WebDAV Share

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

Detects execution of processes with image paths starting with WebDAV shares (\), which might indicate malicious file execution from remote web shares. Execution of processes from WebDAV shares can be a sign of lateral movement or exploitation attempts, especially if the process is not a known legitimate application. Exploitation Attempt of vulnerabilities like CVE-2025-33053 also involves executing processes from WebDAV paths.

Known False Positives

  • Legitimate use of WebDAV shares for process execution
  • Known applications executing from WebDAV paths

MITRE ATT&CK Coverage

TacticTechniques
Command & Control

Telemetry Coverage

Rule Body

title: Process Execution From WebDAV Share
id: f8de9dd5-7a63-4cfd-9d0c-ae124878b5a9
status: experimental
description: |
    Detects execution of processes with image paths starting with WebDAV shares (\\), which might indicate malicious file execution from remote web shares.
    Execution of processes from WebDAV shares can be a sign of lateral movement or exploitation attempts, especially if the process is not a known legitimate application.
    Exploitation Attempt of vulnerabilities like CVE-2025-33053 also involves executing processes from WebDAV paths.
references:
    - https://research.checkpoint.com/2025/stealth-falcon-zero-day/
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-06-13
tags:
    - attack.execution
    - attack.command-and-control
    - attack.lateral-movement
    - attack.t1105
    - detection.threat-hunting
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|startswith: '\\\\'
        Image|contains: '\DavWWWRoot\'
    condition: selection
falsepositives:
    - Legitimate use of WebDAV shares for process execution
    - Known applications executing from WebDAV paths
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|startswith: '\\\\'
    Image|contains: '\DavWWWRoot\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imagematch
  • \DavWWWRoot\ corpus 3 (sigma 3)
field:"Image" kind:match value:"\DavWWWRoot\"
Imagestarts_with
  • \\\\ corpus 4 (sigma 4)
field:"Image" kind:starts_with value:"\\\\"

PUA - Process Hacker Driver Load

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

Detects driver load of the Process Hacker tool

Known False Positives

  • Legitimate use of process hacker or system informer by developers or system administrators

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 6: Driver loaded

Rule Body

title: PUA - Process Hacker Driver Load
id: 67add051-9ee7-4ad3-93ba-42935615ae8d
related:
    - id: 10cb6535-b31d-4512-9962-513dcbc42cc1
      type: similar
status: test
description: Detects driver load of the Process Hacker tool
references:
    - https://processhacker.sourceforge.io/
author: Florian Roth (Nextron Systems)
date: 2022-11-16
modified: 2024-11-23
tags:
    - attack.persistence
    - attack.privilege-escalation
    - cve.2021-21551
    - attack.t1543
logsource:
    category: driver_load
    product: windows
detection:
    selection:
        - ImageLoaded|endswith: '\kprocesshacker.sys'
        - Hashes|contains:
              - 'IMPHASH=821D74031D3F625BCBD0DF08B70F1E77'
              - 'IMPHASH=F86759BB4DE4320918615DC06E998A39'
              - 'IMPHASH=0A64EEB85419257D0CE32BD5D55C3A18'
              - 'IMPHASH=6E7B34DFC017700B1517B230DF6FF0D0'
    condition: selection
falsepositives:
    - Legitimate use of process hacker or system informer by developers or system administrators
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    - ImageLoaded|endswith: '\kprocesshacker.sys'
    - Hashes|contains:
          - 'IMPHASH=821D74031D3F625BCBD0DF08B70F1E77'
          - 'IMPHASH=F86759BB4DE4320918615DC06E998A39'
          - 'IMPHASH=0A64EEB85419257D0CE32BD5D55C3A18'
          - 'IMPHASH=6E7B34DFC017700B1517B230DF6FF0D0'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Hashesmatch
  • IMPHASH=0A64EEB85419257D0CE32BD5D55C3A18
  • IMPHASH=6E7B34DFC017700B1517B230DF6FF0D0
  • IMPHASH=821D74031D3F625BCBD0DF08B70F1E77 corpus 2 (sigma 2)
  • IMPHASH=F86759BB4DE4320918615DC06E998A39 corpus 2 (sigma 2)
field:"Hashes" kind:match
ImageLoadedends_with
  • \kprocesshacker.sys corpus 2 (sigma 2)
field:"ImageLoaded" kind:ends_with value:"\kprocesshacker.sys"

Pubprn.vbs Proxy Execution

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

Detects the use of the 'Pubprn.vbs' Microsoft signed script to execute commands.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Pubprn.vbs Proxy Execution
id: 1fb76ab8-fa60-4b01-bddd-71e89bf555da
status: test
description: Detects the use of the 'Pubprn.vbs' Microsoft signed script to execute commands.
references:
    - https://lolbas-project.github.io/lolbas/Scripts/Pubprn/
author: frack113
date: 2022-05-28
tags:
    - attack.stealth
    - attack.t1216.001
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains|all:
            - '\pubprn.vbs'
            - 'script:'
    condition: selection
falsepositives:
    - Unknown
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_lolbin_pubprn/info.yml

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains|all:
        - '\pubprn.vbs'
        - 'script:'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • \pubprn.vbs
  • script:
field:"CommandLine" kind:match

Remote Access Tool - Action1 Arbitrary Code Execution and Remote Sessions

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

Detects the execution of Action1 in order to execute arbitrary code or establish a remote session. Action1 is a powerful Remote Monitoring and Management tool that enables users to execute commands, scripts, and binaries. Through the web interface of action1, the administrator must create a new policy or an app to establish remote execution and then points that the agent is installed. Hunting Opportunity 1- Weed Out The Noise When threat actors execute a script, a command, or a binary through these new policies and apps, the names of these become visible in the command line during the execution process. Below is an example of the command line that contains the deployment of a binary through a policy with name "test_app_1": ParentCommandLine: "C:\WINDOWS\Action1\action1_agent.exe schedule:Deploy_App__test_app_1_1681327673425 runaction:0" After establishing a baseline, we can split the command to extract the policy name and group all the policy names and inspect the results with a list of frequency occurrences. Hunting Opportunity 2 - Remote Sessions On Out Of Office Hours If you have admins within your environment using remote sessions to administer endpoints, you can create a threat-hunting query and modify the time of the initiated sessions looking for abnormal activity.

Known False Positives

  • If Action1 is among the approved software in your environment, you might find that this is a noisy query. See description for ideas on how to alter this query and start looking for suspicious activities.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Remote Access Tool - Action1 Arbitrary Code Execution and Remote Sessions
id: aa3168fb-d594-4f93-a92d-7a9ba675b766
status: test
description: |
    Detects the execution of Action1 in order to execute arbitrary code or establish a remote session.

    Action1 is a powerful Remote Monitoring and Management tool that enables users to execute commands, scripts, and binaries.
    Through the web interface of action1, the administrator must create a new policy or an app to establish remote execution and then points that the agent is installed.

    Hunting Opportunity 1- Weed Out The Noise

    When threat actors execute a script, a command, or a binary through these new policies and apps, the names of these become visible in the command line during the execution process. Below is an example of the command line that contains the deployment of a binary through  a policy with name "test_app_1":

    ParentCommandLine: "C:\WINDOWS\Action1\action1_agent.exe schedule:Deploy_App__test_app_1_1681327673425 runaction:0"

    After establishing a baseline, we can split the command to extract the policy name and group all the policy names and inspect the results with a list of frequency occurrences.

    Hunting Opportunity 2 - Remote Sessions On Out Of Office Hours

    If you have admins within your environment using remote sessions to administer endpoints, you can create a threat-hunting query and modify the time of the initiated sessions looking for abnormal activity.
references:
    - https://twitter.com/Kostastsale/status/1646256901506605063?s=20
    - https://www.action1.com/documentation/
author: '@kostastsale'
date: 2023-04-13
tags:
    - attack.command-and-control
    - attack.t1219.002
    - detection.threat-hunting
logsource:
    category: process_creation
    product: windows
detection:
    selection_app_deployment_exec:
        ParentImage|endswith: '\action1_agent.exe'
        Image|contains: '\Windows\Action1\package_downloads\'
    selection_command_exec:
        ParentImage|endswith:
            - '\cmd.exe'
            - '\powershell.exe'
        ParentCommandLine|contains:
            - '\Action1\scripts\Run_Command_'
            - '\Action1\scripts\Run_PowerShell_'
    selection_remote_session_init:
        Image|endswith: '\agent1_remote.exe'
    condition: 1 of selection_*
falsepositives:
    - If Action1 is among the approved software in your environment, you might find that this is a noisy query. See description for ideas on how to alter this query and start looking for suspicious activities.
level: medium

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_app_deployment_exec

selection_app_deployment_exec:
    ParentImage|endswith: '\action1_agent.exe'
    Image|contains: '\Windows\Action1\package_downloads\'

Stage 2: selection_command_exec

selection_command_exec:
    ParentImage|endswith:
        - '\cmd.exe'
        - '\powershell.exe'
    ParentCommandLine|contains:
        - '\Action1\scripts\Run_Command_'
        - '\Action1\scripts\Run_PowerShell_'

Stage 3: selection_remote_session_init

selection_remote_session_init:
    Image|endswith: '\agent1_remote.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \agent1_remote.exe
field:"Image" kind:ends_with value:"\agent1_remote.exe"
Imagematch
  • \Windows\Action1\package_downloads\
field:"Image" kind:match value:"\Windows\Action1\package_downloads\"
ParentCommandLinematch
  • \Action1\scripts\Run_Command_
  • \Action1\scripts\Run_PowerShell_
field:"ParentCommandLine" kind:match
ParentImageends_with
  • \action1_agent.exe
  • \cmd.exe corpus 20 (sigma 20)
  • \powershell.exe corpus 24 (sigma 24)
field:"ParentImage" kind:ends_with

Remote schedule task creation via named pipes (ATexec)

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

Detects scenarios where an attacker remotely creates a scheduled task over named pipes to execute commands or elevate privileges.

Known False Positives

  • Administrator activity, backup solutions

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Remote schedule task creation via named pipes (ATexec)
description: Detects scenarios where an attacker remotely creates a scheduled task over named pipes to execute commands or elevate privileges.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0002-Execution/T1053.005-Scheduled%20Task
- https://github.com/SecureAuthCorp/impacket/blob/master/examples/atexec.py
- https://u0041.co/blog/post/1
- https://blog.menasec.net/2019/03/threat-hunting-25-scheduled-tasks-for.html
tags:
- attack.execution
- attack.t1053.005
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 5145
    ShareName: '\\*\IPC$'
    RelativeTargetName: atsvc
    AccessList|contains: '%%4417' # WriteData
  condition: selection
falsepositives:
- Administrator activity, backup solutions
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  EventID: 5145
  ShareName: '\\*\IPC$'
  RelativeTargetName: atsvc
  AccessList|contains: '%%4417'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
AccessListmatch
  • %%4417 corpus 11 (sigma 8, elastic 2, splunk 1)
field:"AccessList" kind:match value:"%%4417"
RelativeTargetNameeq
  • atsvc corpus 3 (sigma 3)
field:"RelativeTargetName" kind:eq value:"atsvc"
ShareNamewildcard
  • \\*\IPC$ corpus 11 (sigma 11)
field:"ShareName" kind:wildcard value:"\\*\IPC$"

Renamed MegaSync Execution

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

Detects the execution of a renamed MegaSync.exe as seen used by ransomware families like Nefilim, Sodinokibi, Pysa, and Conti.

Known False Positives

  • Software that illegally integrates MegaSync in a renamed form
  • Administrators that have renamed MegaSync

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Renamed MegaSync Execution
id: 643bdcac-8b82-49f4-9fd9-25a90b929f3b
status: test
description: Detects the execution of a renamed MegaSync.exe as seen used by ransomware families like Nefilim, Sodinokibi, Pysa, and Conti.
references:
    - https://redcanary.com/blog/rclone-mega-extortion/
author: Sittikorn S
date: 2021-06-22
modified: 2023-02-03
tags:
    - attack.stealth
    - attack.t1218
logsource:
    product: windows
    category: process_creation
detection:
    selection:
        OriginalFileName: 'megasync.exe'
    filter:
        Image|endswith: '\megasync.exe'
    condition: selection and not filter
falsepositives:
    - Software that illegally integrates MegaSync in a renamed form
    - Administrators that have renamed MegaSync
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
    OriginalFileName: 'megasync.exe'

Stage 2: not filter

filter:
    Image|endswith: '\megasync.exe'

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imageends_with\megasync.exeexcludes:Image field:"Image" value:"\megasync.exe"

Risk of signup fraud - rapid creation of fake accounts

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

Detect potential signup fraud by monitoring the following events: surge in a number of registration, excessive failed signups, or too many signup attempts with use of breached passwords.

Known False Positives

  • Legitimate users signing up with a large number of accounts, e.g. as result of marketing campaigns like the black friday or concentrated events like conferences.

MITRE ATT&CK Coverage

TacticTechniques
Persistence

Rule Body

title: Risk of signup fraud - rapid creation of fake accounts
id: 3a9be414-716e-11f0-8153-723487b9527c
name: selected_events
status: experimental
description: |
    Detect potential signup fraud by monitoring the following events: surge in a number of registration, excessive failed signups,
    or too many signup attempts with use of breached passwords.
author: Okta
date: 2025-07-11
modified: 2025-09-19
logsource:
    product: auth0
detection:
    selection:
        data.type:
            - fs
            - ss
            - signup_pwd_leak
    condition: selection
explanation: >
    The query collects log entries with successful/failed signups as well as signup attempts where leaked credentials were attempted.
    The Splunk query alerts when one of the thresholds exceeds - number of successful signups, failed signups,
    or signups attempts with breached passwords.
    The query can be limited to, for example, only successful signups surge by setting a respective threshold to 0.
    The Splunk query provides aggregations both per an observation window (default is 1 hour) and per IPs,
    i.e. Option 1 and Option 2 respectively.
    Both aggregations can be applied at the same time or separately, see comments in the query itself.
splunk: |
    index=auth0 data.tenant_name="{your-tenant-name}"
    data.type IN (fs, ss, signup_pwd_leak)
    ``` Adjust the observation window if needed```
    | bin _time span=1h
    | fields data.type data.ip
    ``` Option 1 - This part of the query below provides aggregation per an observation window ```
    | eventstats count(eval('data.type'="fs")) as total_count_fs,
             count(eval('data.type'="ss")) as total_count_ss,
             count(eval('data.type'="signup_pwd_leak")) as total_count_signup_pwd_leak
             by _time
    ``` Adjust the thresholds. Set threshold to 0 to exclude one of the events from filtering ```
    | where total_count_fs >= {thresholds_total_failed}
    | where total_count_ss >= {thresholds_total_successful}
    | where total_count_signup_pwd_leak >= {thresholds_total_leaked_pwd}
    ``` Uncomment two clauses below (dedup and table) and comment the rest of the query
       to see total count of events per observation window, not IPs ```
    ```| dedup _time
    | table _time, total_count_fs, total_count_ss, total_count_signup_pwd_leak```
    ``` Option 2 - This part of the query below provides aggregation per IP ```
    | stats count(eval('data.type'="fs")) as per_ip_count_fs,
        count(eval('data.type'="ss")) as per_ip_count_ss,
        count(eval('data.type'="signup_pwd_leak")) as per_ip_count_signup_pwd_leak
        by _time, data.ip
    | fillnull value=0
    ``` Extra filtering to exclude low volume IPs```
    | where per_ip_count_fs >= {thresholds_per_ip_failed}
    | where per_ip_count_ss >= {thresholds_per_ip_successful}
    | where per_ip_count_signup_pwd_leak >= {thresholds_per_ip_leaked_pwd}
    | table _time, data.ip, per_ip_count_fs, per_ip_count_ss, per_ip_count_signup_pwd_leak
comments:
    - The Splunk query above shall be tuned to reflect a valid tenant name.
    - The following thresholds values should be set based on the customer's environment and expected behavior -
      thresholds_total_failed, thresholds_total_successful, thresholds_total_leaked_pwd, thresholds_per_ip_failed,
      thresholds_per_ip_successful, and thresholds_per_ip_leaked_pwd
    - 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.
    - A similar detection (with less details) can be implemented through Security Center and its alerts.
    - An attempt to signup with leaked credentials (signup_pwd_leak) released at the same time with failed signups (fs).
      The query does not account for it.
tenant_logs: |
    type:"fs" OR type:"ss" OR type:"signup_pwd_leak"
prevention:
    - Enable attack protection features preventing velocity-based attacks, i.e. suspicious IP throttling and bot detection.
    - Migrate to passwordless authentication that adds friction to adversaries.
    - Collect attribution of the fraudulent traffic (IPs, ASNs, Geo, ja3/ja4), and block the obviously malicious sources with Tenant ACL.
    - Force email OTP validation built-in feature of a Database connection on signup.
falsepositives:
    - Legitimate users signing up with a large number of accounts, e.g. as result of marketing campaigns like the black friday
      or concentrated events like conferences.
level: medium
tags:
    - attack.resource-development
    - attack.t1136
---
title: Surge in signup events by volume
id: 99d03061-b59a-44e5-9924-c8d5afee501c
correlation:
    type: event_count
    rules:
        - selected_events # Referenced here
    group-by:
        - data.ip
        - data.type
    timespan: 1h
    condition:
        gte: 1
        field: data.type

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    data.type:
        - fs
        - ss
        - signup_pwd_leak

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
data.typeeq
  • fs
  • signup_pwd_leak
  • ss
field:"data.type" kind:eq

Successful Exchange ProxyShell Attack

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

Detects URP patterns and status codes that indicate a successful ProxyShell exploitation attack against Exchange servers

MITRE ATT&CK Coverage

TacticTechniques
Initial AccessNo specific technique

Rule Body

title: Successful Exchange ProxyShell Attack
id: 992be1eb-e5da-437e-9a54-6d13b57bb4d8
status: test
description: Detects URP patterns and status codes that indicate a successful ProxyShell exploitation attack against Exchange servers
references:
    - https://youtu.be/5mqid-7zp8k?t=2231
    - https://blog.orange.tw/2021/08/proxylogon-a-new-attack-surface-on-ms-exchange-part-1.html
    - https://peterjson.medium.com/reproducing-the-proxyshell-pwn2own-exploit-49743a4ea9a1
author: Florian Roth (Nextron Systems), Rich Warren
date: 2021-08-09
modified: 2023-01-02
tags:
    - attack.initial-access
    - detection.emerging-threats
logsource:
    category: webserver
detection:
    selection_auto:
        cs-uri-query|contains: '/autodiscover.json'
    selection_uri:
        cs-uri-query|contains:
            - '/powershell'
            - '/mapi/nspi'
            - '/EWS'
            - 'X-Rps-CAT'
    selection_success:
        sc-status:
            - 200
            - 301
    condition: selection_auto and selection_uri and selection_success
falsepositives:
    - Unknown
level: critical

Stages and Predicates

Stage 0: condition

selection_auto and selection_uri and selection_success

Stage 1: selection_auto

selection_auto:
    cs-uri-query|contains: '/autodiscover.json'

Stage 2: selection_uri

selection_uri:
    cs-uri-query|contains:
        - '/powershell'
        - '/mapi/nspi'
        - '/EWS'
        - 'X-Rps-CAT'

Stage 3: selection_success

selection_success:
    sc-status:
        - 200
        - 301

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
cs-uri-querymatch
  • /EWS
  • /autodiscover.json
  • /mapi/nspi
  • /powershell
  • X-Rps-CAT
field:"cs-uri-query" kind:match
sc-statuseq
  • 200
  • 301
field:"sc-status" kind:eq

Suspicious Application Allowed Through Exploit Guard

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

Detects applications being added to the "allowed applications" list of exploit guard in order to bypass controlled folder settings

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

Rule Body

title: Suspicious Application Allowed Through Exploit Guard
id: 42205c73-75c8-4a63-9db1-e3782e06fda0
status: test
description: Detects applications being added to the "allowed applications" list of exploit guard in order to bypass controlled folder settings
references:
    - https://www.microsoft.com/security/blog/2017/10/23/windows-defender-exploit-guard-reduce-the-attack-surface-against-next-generation-malware/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-08-05
modified: 2023-08-17
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    category: registry_set
    product: windows
detection:
    selection_key:
        TargetObject|contains: 'SOFTWARE\Microsoft\Windows Defender\Windows Defender Exploit Guard\Controlled Folder Access\AllowedApplications'
    selection_paths:
        TargetObject|contains:
            # Add more paths you don't allow in your org
            - '\Users\Public\'
            - '\AppData\Local\Temp\'
            - '\Desktop\'
            - '\PerfLogs\'
            - '\Windows\Temp\'
    condition: all of selection_*
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_key

selection_key:
    TargetObject|contains: 'SOFTWARE\Microsoft\Windows Defender\Windows Defender Exploit Guard\Controlled Folder Access\AllowedApplications'

Stage 2: selection_paths

selection_paths:
    TargetObject|contains:
        - '\Users\Public\'
        - '\AppData\Local\Temp\'
        - '\Desktop\'
        - '\PerfLogs\'
        - '\Windows\Temp\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectmatch
  • SOFTWARE\Microsoft\Windows Defender\Windows Defender Exploit Guard\Controlled Folder Access\AllowedApplications
  • \AppData\Local\Temp\
  • \Desktop\
  • \PerfLogs\
  • \Users\Public\
  • \Windows\Temp\
field:"TargetObject" kind:match

Suspicious Control Panel DLL Load

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

Detects suspicious Rundll32 execution from control.exe as used by Equation Group and Exploit Kits

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Suspicious Control Panel DLL Load
id: d7eb979b-c2b5-4a6f-a3a7-c87ce6763819
status: test
description: Detects suspicious Rundll32 execution from control.exe as used by Equation Group and Exploit Kits
references:
    - https://twitter.com/rikvduijn/status/853251879320662017
    - https://twitter.com/felixw3000/status/853354851128025088
author: Florian Roth (Nextron Systems)
date: 2017-04-15
modified: 2023-02-09
tags:
    - attack.stealth
    - attack.t1218.011
logsource:
    category: process_creation
    product: windows
detection:
    selection_parent:
        ParentImage|endswith: '\System32\control.exe'
    selection_img:
        - Image|endswith: '\rundll32.exe'
        - OriginalFileName: 'RUNDLL32.EXE'
    filter:
        CommandLine|contains: 'Shell32.dll'
    condition: all of selection_* and not filter
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_* and not filter

Stage 1: selection_parent

selection_parent:
    ParentImage|endswith: '\System32\control.exe'

Stage 2: selection_img

selection_img:
    - Image|endswith: '\rundll32.exe'
    - OriginalFileName: 'RUNDLL32.EXE'

Stage 3: not filter

filter:
    CommandLine|contains: 'Shell32.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \rundll32.exe corpus 94 (sigma 94)
field:"Image" kind:ends_with value:"\rundll32.exe"
OriginalFileNameeq
  • RUNDLL32.EXE corpus 72 (sigma 35, splunk 21, elastic 16)
field:"OriginalFileName" kind:eq value:"RUNDLL32.EXE"
ParentImageends_with
  • \System32\control.exe
field:"ParentImage" kind:ends_with value:"\System32\control.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLinematchShell32.dllexcludes:CommandLine field:"CommandLine" value:"Shell32.dll"

System Information Discovery Via Sysctl - MacOS

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

Detects the execution of "sysctl" with specific arguments that have been used by threat actors and malware. It provides system hardware information. This process is primarily used to detect and avoid virtualization and analysis environments.

Known False Positives

  • Legitimate administrative activities

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: System Information Discovery Via Sysctl - MacOS
id: 6ff08e55-ea53-4f27-94a1-eff92e6d9d5c
status: test
description: |
    Detects the execution of "sysctl" with specific arguments that have been used by threat actors and malware. It provides system hardware information.
    This process is primarily used to detect and avoid virtualization and analysis environments.
references:
    - https://www.loobins.io/binaries/sysctl/#
    - https://evasions.checkpoint.com/techniques/macos.html
    - https://www.welivesecurity.com/2019/04/09/oceanlotus-macos-malware-update/
    - https://www.sentinelone.com/labs/20-common-tools-techniques-used-by-macos-threat-actors-malware/
    - https://objective-see.org/blog/blog_0x1E.html
    - https://www.virustotal.com/gui/file/1c547a064494a35d6b5e6b459de183ab2720a22725e082bed6f6629211f7abc1/behavior
    - https://www.virustotal.com/gui/file/b4b1fc65f87b3dcfa35e2dbe8e0a34ad9d8a400bec332025c0a2e200671038aa/behavior
author: Pratinav Chandra
date: 2024-05-27
tags:
    - attack.stealth
    - attack.t1497.001
    - attack.discovery
    - attack.t1082
logsource:
    product: macos
    category: process_creation
detection:
    selection_img:
        - Image|endswith: '/sysctl'
        - CommandLine|contains: 'sysctl'
    selection_cmd:
        CommandLine|contains:
            - 'hw.'
            - 'kern.'
            - 'machdep.'
    condition: all of selection_*
falsepositives:
    - Legitimate administrative activities
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    - Image|endswith: '/sysctl'
    - CommandLine|contains: 'sysctl'

Stage 2: selection_cmd

selection_cmd:
    CommandLine|contains:
        - 'hw.'
        - 'kern.'
        - 'machdep.'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • hw.
  • kern.
  • machdep.
  • sysctl
field:"CommandLine" kind:match
Imageends_with
  • /sysctl
field:"Image" kind:ends_with value:"/sysctl"

Vulnerable WinRing0 Driver Load

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

Detects the load of a signed WinRing0 driver often used by threat actors, crypto miners (XMRIG) or malware for privilege escalation

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 6: Driver loaded

Rule Body

title: Vulnerable WinRing0 Driver Load
id: 1a42dfa6-6cb2-4df9-9b48-295be477e835
status: test
description: Detects the load of a signed WinRing0 driver often used by threat actors, crypto miners (XMRIG) or malware for privilege escalation
references:
    - https://github.com/xmrig/xmrig/tree/master/bin/WinRing0
    - https://www.rapid7.com/blog/post/2021/12/13/driver-based-attacks-past-and-present/
author: Florian Roth (Nextron Systems)
date: 2022-07-26
modified: 2024-11-23
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.t1543.003
logsource:
    product: windows
    category: driver_load
detection:
    selection:
        - Hashes|contains: 'IMPHASH=D41FA95D4642DC981F10DE36F4DC8CD7'
        - ImageLoaded|endswith:
              - '\WinRing0x64.sys'
              - '\WinRing0.sys'
              - '\WinRing0.dll'
              - '\WinRing0x64.dll'
              - '\winring00x64.sys'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    - Hashes|contains: 'IMPHASH=D41FA95D4642DC981F10DE36F4DC8CD7'
    - ImageLoaded|endswith:
          - '\WinRing0x64.sys'
          - '\WinRing0.sys'
          - '\WinRing0.dll'
          - '\WinRing0x64.dll'
          - '\winring00x64.sys'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Hashesmatch
  • IMPHASH=D41FA95D4642DC981F10DE36F4DC8CD7 corpus 2 (sigma 2)
field:"Hashes" kind:match value:"IMPHASH=D41FA95D4642DC981F10DE36F4DC8CD7"
ImageLoadedends_with
  • \WinRing0.dll
  • \WinRing0.sys corpus 2 (sigma 2)
  • \WinRing0x64.dll
  • \WinRing0x64.sys corpus 2 (sigma 1, splunk 1)
  • \winring00x64.sys
field:"ImageLoaded" kind:ends_with

Webserver IIS module installed (command)

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

Detects scenarios where an attacker attempts to deploy an IIS module via the gacutil tool.

Known False Positives

  • New modules deployed on IIS Web servers, but also Exchange and ADCS servers

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Webserver IIS module installed (command)
description: Detects scenarios where an attacker attempts to deploy an IIS module via the gacutil tool.
references:
- https://securelist.com/owowa-credential-stealer-and-remote-access/105219/
- https://docs.microsoft.com/fr-fr/iis/get-started/introduction-to-iis/iis-modules-overview
- https://www.microsoft.com/security/blog/2021/11/08/threat-actor-dev-0322-exploiting-zoho-manageengine-adselfservice-plus/
- https://www.microsoft.com/security/blog/2022/07/26/malicious-iis-extensions-quietly-open-persistent-backdoors-into-servers/
- https://www.welivesecurity.com/2021/08/06/anatomy-native-iis-malware/
- https://i.blackhat.com/USA21/Wednesday-Handouts/us-21-Anatomy-Of-Native-Iis-Malware-wp.pdf
- https://securelist.com/the-sessionmanager-iis-backdoor/106868/
- https://www.mdsec.co.uk/2020/02/iis-raid-backdooring-iis-using-native-modules/
- https://github.com/0x09AL/IIS-Raid
- https://github.com/gtworek/PSBits/blob/master/Misc/Install-PSBackdoor.ps1
- https://www.microsoft.com/en-us/security/blog/2022/12/12/iis-modules-the-evolution-of-web-shells-and-how-to-detect-them/
tags:
- attack.persistence
- attack.t1505.004
author: mdecrevoisier
status: experimental
tags:
- attack.persistence
- attack.t1505.004
author: mdecrevoisier
status: experimental|
logsource:
  product: windows
  category: process_creation
detection:
  selection:
    NewProcessName|endswith: '\gacutil.exe'
    CommandLine|contains:
      - '-i'
      - '/i'
    CommandLine|contains: '.dll'
  condition: selection
falsepositives:
- New modules deployed on IIS Web servers, but also Exchange and ADCS servers
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  NewProcessName|endswith: '\gacutil.exe'
  CommandLine|contains:
    - '-i'
    - '/i'
  CommandLine|contains: '.dll'

Indicators

These rows show field, operator, and value matches.

Windows Event Log Access Tampering Via Registry

#
Status
experimental
Severity
high
Author
X__Junior
Source
github.com/SigmaHQ/sigma

Detects changes to the Windows EventLog channel permission values. It focuses on changes to the Security Descriptor Definition Language (SDDL) string, as modifications to these values can restrict access to specific users or groups, potentially aiding in defense evasion by controlling who can view or modify a event log channel. Upon execution, the user shouldn't be able to access the event log channel via the event viewer or via utilities such as "Get-EventLog" or "wevtutil".

Known False Positives

  • Administrative activity, still unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Windows Event Log Access Tampering Via Registry
id: ba226dcf-d390-4642-b9af-b534872f1156
status: experimental
description: |
    Detects changes to the Windows EventLog channel permission values. It focuses on changes to the Security Descriptor Definition Language (SDDL) string, as modifications to these values can restrict access to specific users or groups, potentially aiding in defense evasion by controlling who can view or modify a event log channel. Upon execution, the user shouldn't be able to access the event log channel via the event viewer or via utilities such as "Get-EventLog" or "wevtutil".
references:
    - https://www.atomicredteam.io/atomic-red-team/atomics/T1562.002#atomic-test-8---modify-event-log-channel-access-permissions-via-registry---powershell
    - https://www.youtube.com/watch?v=uSYvHUVU8xY
    - https://learn.microsoft.com/en-us/windows/win32/secauthz/security-descriptor-definition-language
author: X__Junior
date: 2025-01-16
modified: 2025-08-16
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.defense-impairment
    - attack.t1547.001
    - attack.t1112
logsource:
    category: registry_set
    product: windows
detection:
    # O:SYG:SYD:(D;;0x1;;;WD)
    # O:BAG:SYD:(A;;0x2;;;S-1-15-2-1)(D;;0x1;;;WD)
    selection_key_1:
        TargetObject|contains: '\SYSTEM\CurrentControlSet\Services\EventLog\'
        TargetObject|endswith: '\CustomSD'
    selection_key_2:
        TargetObject|contains:
            - '\Policies\Microsoft\Windows\EventLog\'
            - '\Microsoft\Windows\CurrentVersion\WINEVT\Channels'
        TargetObject|endswith: '\ChannelAccess'
    selection_details:
        - Details|contains: 'D:(D;'
        - Details|contains|all:
              - 'D:('
              - ')(D;'
    filter_main_trustedinstaller:
        Image: 'C:\Windows\servicing\TrustedInstaller.exe'
    filter_main_tiworker:
        Image|startswith: 'C:\Windows\WinSxS\'
        Image|endswith: '\TiWorker.exe'
    filter_optional_empty:
        Image: ''
    filter_optional_null:
        Image: null
    condition: 1 of selection_key_* and selection_details and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Administrative activity, still unlikely
level: high
simulation:
    - type: atomic-red-team
      name: Modify Event Log Access Permissions via Registry - PowerShell
      technique: T1562.002
      atomic_guid: a0cb81f8-44d0-4ac4-a8f3-c5c7f43a12c1
    - type: atomic-red-team
      name: Modify Event Log Channel Access Permissions via Registry - PowerShell
      technique: T1562.002
      atomic_guid: 8e81d090-0cd6-4d46-863c-eec11311298f
    - type: atomic-red-team
      name: Modify Event Log Channel Access Permissions via Registry 2 - PowerShell
      technique: T1562.002
      atomic_guid: 85e6eff8-3ed4-4e03-ae50-aa6a404898a5

Stages and Predicates

Stage 0: condition

1 of selection_key_* and selection_details and not 1 of filter_main_* and not 1 of filter_optional_*

Stage 1: selection_key_1

selection_key_1:
    TargetObject|contains: '\SYSTEM\CurrentControlSet\Services\EventLog\'
    TargetObject|endswith: '\CustomSD'

Stage 2: selection_key_2

selection_key_2:
    TargetObject|contains:
        - '\Policies\Microsoft\Windows\EventLog\'
        - '\Microsoft\Windows\CurrentVersion\WINEVT\Channels'
    TargetObject|endswith: '\ChannelAccess'

Stage 3: selection_details

selection_details:
    - Details|contains: 'D:(D;'
    - Details|contains|all:
          - 'D:('
          - ')(D;'

Stage 4: not filter_main_*

filter_main_trustedinstaller:
    Image: 'C:\Windows\servicing\TrustedInstaller.exe'
filter_main_tiworker:
    Image|startswith: 'C:\Windows\WinSxS\'
    Image|endswith: '\TiWorker.exe'

Stage 5: not filter_optional_*

filter_optional_empty:
    Image: ''
filter_optional_null:
    Image: null

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Detailsmatch
  • )(D;
  • D:(
  • D:(D;
field:"Details" kind:match
TargetObjectends_with
  • \ChannelAccess corpus 2 (sigma 2)
  • \CustomSD
field:"TargetObject" kind:ends_with
TargetObjectmatch
  • \Microsoft\Windows\CurrentVersion\WINEVT\Channels
  • \Policies\Microsoft\Windows\EventLog\
  • \SYSTEM\CurrentControlSet\Services\EventLog\ corpus 2 (sigma 2)
field:"TargetObject" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imageends_with\TiWorker.exeexcludes:Image field:"Image" value:"\TiWorker.exe"
Imagestarts_withC:\Windows\WinSxS\excludes:Image field:"Image" value:"C:\Windows\WinSxS\"
ImageeqC:\Windows\servicing\TrustedInstaller.exeexcludes:Image field:"Image" value:"C:\Windows\servicing\TrustedInstaller.exe"
Imageis_null(no value, null check)excludes:Image

Back to all Sigma rules