Detection rules › Sigma

Sigma rules: 3d

RuleSeverity
A Member Was Removed From a Security-Enabled Global Grouplow
Add DisallowRun Execution to Registrymedium
AgentExecutor PowerShell Executionmedium
Automated Collection Command PowerShellmedium
Credential stuffing sttack riskmedium
Disable Microsoft Defender Firewall via Registrymedium
Google Cloud Re-identifies Sensitive Informationmedium
HackTool - ADCSPwn Executionhigh
Indirect Command Execution From Script File Via Bash.EXEmedium
LockerGoga Ransomware Activitycritical
macOS ULS securityd CodeSignature Failuremedium
Macro Enabled In A Potentially Suspicious Documenthigh
MFA downgrade - disable strong factorsmedium
Microsoft Defender security components disabled (PowerShell)medium
New Capture Session Launched Via DXCap.EXEmedium
New Github Organization Member Addedinformational
Okta Application Modified or Deletedmedium
OpenCanary - NTP Monlist Requesthigh
Persistence Via Sticky Key Backdoorcritical
Potential CVE-2023-36884 Exploitation - Share Accesshigh
Potential Data Exfiltration Via Curl.EXEmedium
Potential Exploitation of CVE-2024-37085 - Suspicious ESX Admins Group Activityhigh
Potential Okta Password in AlternateID Fieldhigh
Potentially Suspicious Event Viewer Child Processhigh
Python One-Liners with Base64 Decoding - Linuxhigh
Remote Access Tool - ScreenConnect File Transferlow
Suspicious Browser Child Process - MacOSmedium
Suspicious Debugger Registration Cmdlinehigh
Suspicious Microsoft OneNote Child Processhigh
Suspicious SPN enumeration previous to Kerberoasting attack (native commands)high
System Restore Registry Modification via CommandLinehigh
UAC Bypass Abusing Winsat Path Parsing - Registryhigh
UAC Bypass Using DismHosthigh
UNC4841 - Download Compressed Files From Temp.sh Using Wgethigh
Using SettingSyncHost.exe as LOLBinhigh
VeeamBackup Database Credentials Dump Via Sqlcmd.EXEhigh

A Member Was Removed From a Security-Enabled Global Group

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

Detects activity when a member is removed from a security-enabled global group

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Privilege Escalation

Telemetry Coverage

Rule Body

title: A Member Was Removed From a Security-Enabled Global Group
id: 02c39d30-02b5-45d2-b435-8aebfe5a8629
related:
    - id: 9cf01b6c-e723-4841-a868-6d7f8245ca6e
      type: obsolete
status: stable
description: Detects activity when a member is removed from a security-enabled global group
references:
    - https://www.cisecurity.org/controls/cis-controls-list/
    - https://www.pcisecuritystandards.org/documents/PCI_DSS_v3-2-1.pdf
    - https://nvlpubs.nist.gov/nistpubs/CSWP/NIST.CSWP.04162018.pdf
    - https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?eventID=4729
    - https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?eventID=633
author: Alexandr Yampolskyi, SOC Prime
date: 2023-04-26
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1098
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID:
            - 633 # Security Enabled Global Group Member Removed
            - 4729 # A member was removed from a security-enabled global group
    condition: selection
falsepositives:
    - Unknown
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID:
        - 633
        - 4729

Add DisallowRun Execution to Registry

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

Detect set DisallowRun to 1 to prevent user running specific computer program

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Defense Impairment

Telemetry Coverage

Rule Body

title: Add DisallowRun Execution to Registry
id: 275641a5-a492-45e2-a817-7c81e9d9d3e9
status: test
description: Detect set DisallowRun to 1 to prevent user running specific computer program
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/40b77d63808dd4f4eafb83949805636735a1fd15/atomics/T1112/T1112.md
author: frack113
date: 2022-08-19
modified: 2023-08-17
tags:
    - attack.persistence
    - attack.defense-impairment
    - attack.t1112
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|endswith: 'Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun'
        Details: 'DWORD (0x00000001)'
    condition: selection
falsepositives:
    - Unknown
level: medium
simulation:
    - type: atomic-red-team
      name: DisallowRun Execution Of Certain Applications
      technique: T1112
      atomic_guid: 71db768a-5a9c-4047-b5e7-59e01f188e84

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|endswith: 'Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun'
    Details: 'DWORD (0x00000001)'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Detailseq
  • DWORD (0x00000001) corpus 36 (sigma 36)
field:"Details" kind:eq value:"DWORD (0x00000001)"
TargetObjectends_with
  • Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun
field:"TargetObject" kind:ends_with value:"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun"

AgentExecutor PowerShell Execution

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

Detects execution of the AgentExecutor.exe binary. Which can be abused as a LOLBIN to execute powershell scripts with the ExecutionPolicy "Bypass" or any binary named "powershell.exe" located in the path provided by 6th positional argument

Known False Positives

  • Legitimate use via Intune management. You exclude script paths and names to reduce FP rate

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: AgentExecutor PowerShell Execution
id: 7efd2c8d-8b18-45b7-947d-adfe9ed04f61
related:
    - id: c0b40568-b1e9-4b03-8d6c-b096da6da9ab
      type: similar
status: test
description: Detects execution of the AgentExecutor.exe binary. Which can be abused as a LOLBIN to execute powershell scripts with the ExecutionPolicy "Bypass" or any binary named "powershell.exe" located in the path provided by 6th positional argument
author: Nasreddine Bencherchali (Nextron Systems), memory-shards
references:
    - https://twitter.com/lefterispan/status/1286259016436514816
    - https://lolbas-project.github.io/lolbas/OtherMSBinaries/Agentexecutor/
    - https://learn.microsoft.com/en-us/mem/intune/apps/intune-management-extension
    - https://twitter.com/jseerden/status/1247985304667066373/photo/1
date: 2022-12-24
modified: 2024-08-07
tags:
    - attack.stealth
    - attack.t1218
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image: '\AgentExecutor.exe'
        - OriginalFileName: 'AgentExecutor.exe'
    selection_cli:
        # Example:
        #   AgentExecutor.exe -powershell [scriptPath] [outputFilePath] [errorFilePath] [timeoutFilePath] [timeoutSeconds] [powershellPath] [enforceSignatureCheck] [runAs32BitOn64]
        # Note:
        #   - If [timeoutSeconds] is NULL then it defaults to 60000
        #   - If [enforceSignatureCheck] is:
        #       - "NULL" or "1" then a PowerShell instance is spawned with the args: "-NoProfile -executionPolicy allsigned -file "
        #       - Else a PowerShell instance is spawned with the args: "-NoProfile -executionPolicy bypass -file "
        #   - [powershellPath] is always concatendated to "powershell.exe"
        CommandLine|contains:
            - ' -powershell' # Also covers the "-powershellDetection" flag
            - ' -remediationScript'
    filter_main_intune:
        ParentImage|endswith: '\Microsoft.Management.Services.IntuneWindowsAgent.exe'
    condition: all of selection_* and not 1 of filter_main_*
falsepositives:
    - Legitimate use via Intune management. You exclude script paths and names to reduce FP rate
level: medium

Stages and Predicates

Stage 0: condition

all of selection_* and not 1 of filter_main_*

Stage 1: selection_img

selection_img:
    - Image: '\AgentExecutor.exe'
    - OriginalFileName: 'AgentExecutor.exe'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains:
        - ' -powershell'
        - ' -remediationScript'

Stage 3: not filter_main_intune

filter_main_intune:
    ParentImage|endswith: '\Microsoft.Management.Services.IntuneWindowsAgent.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -powershell corpus 2 (sigma 2)
  • -remediationScript corpus 2 (sigma 2)
field:"CommandLine" kind:match
Imageeq
  • \AgentExecutor.exe
field:"Image" kind:eq value:"\AgentExecutor.exe"
OriginalFileNameeq
  • AgentExecutor.exe corpus 2 (sigma 2)
field:"OriginalFileName" kind:eq value:"AgentExecutor.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ParentImageends_with\Microsoft.Management.Services.IntuneWindowsAgent.exeexcludes:ParentImage field:"ParentImage" value:"\Microsoft.Management.Services.IntuneWindowsAgent.exe"

Automated Collection Command PowerShell

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

Once established within a system or network, an adversary may use automated techniques for collecting internal data.

MITRE ATT&CK Coverage

TacticTechniques
Collection

Telemetry Coverage

Rule Body

title: Automated Collection Command PowerShell
id: c1dda054-d638-4c16-afc8-53e007f3fbc5
status: test
description: Once established within a system or network, an adversary may use automated techniques for collecting internal data.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1119/T1119.md
author: frack113
date: 2021-07-28
modified: 2022-12-25
tags:
    - attack.collection
    - attack.t1119
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection_ext:
        ScriptBlockText|contains:
            - '.doc'
            - '.docx'
            - '.xls'
            - '.xlsx'
            - '.ppt'
            - '.pptx'
            - '.rtf'
            - '.pdf'
            - '.txt'
    selection_cmd:
        ScriptBlockText|contains|all:
            - 'Get-ChildItem'
            - ' -Recurse '
            - ' -Include '
    condition: all of selection*
falsepositives:
    - Unknown
level: medium
regression_tests_path: regression_data/rules/windows/powershell/powershell_script/posh_ps_automated_collection/info.yml

Stages and Predicates

Stage 0: condition

all of selection*

Stage 1: selection_ext

selection_ext:
    ScriptBlockText|contains:
        - '.doc'
        - '.docx'
        - '.xls'
        - '.xlsx'
        - '.ppt'
        - '.pptx'
        - '.rtf'
        - '.pdf'
        - '.txt'

Stage 2: selection_cmd

selection_cmd:
    ScriptBlockText|contains|all:
        - 'Get-ChildItem'
        - ' -Recurse '
        - ' -Include '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • -Include
  • -Recurse corpus 2 (sigma 2)
  • .doc
  • .docx
  • .pdf
  • .ppt
  • .pptx
  • .rtf
  • .txt
  • .xls
  • .xlsx
  • Get-ChildItem corpus 4 (sigma 4)
field:"ScriptBlockText" kind:match

Credential stuffing sttack risk

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

Detects potential credential stuffing attacks by monitoring failed logins and Auth0 Attack Protection feature events.

Known False Positives

  • ja3/ja4 might be attributed to legitimate traffic

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Rule Body

title: Credential stuffing sttack risk
name: selected_events
id: e604e40e-9db6-449d-854d-2b5323644fd7
status: experimental
description: |
    Detects potential credential stuffing attacks by monitoring failed logins and Auth0 Attack Protection feature events.
author: Okta
date: 2025-10-15
modified: 2025-10-15
references:
    - https://auth0.com/docs/secure/attack-protection/view-attack-protection-events
logsource:
    product: auth0
detection:
    selection:
        data.type:
            - f # Failed login
            - fu # Failed login: Invalid username or email
            - fp  # Failed login: Incorrect password
            - pwd_leak # Attempt to login with a known breached password
            - limit_wc # User blocked from logging in from a specific IP
            - limit_sul # User blocked from logging in from all IPs
            - limit_mu # IP address block from logging in
            - fcoa # Failed cross-origin authentication
    condition: selection
explanation: >
    This rule identifies **credential stuffing** activity by analyzing patterns of **failed logins** (f, fu, fp, fcoa)
    and **Auth0 Attack Protection** events (pwd_leak, limit_wc, limit_sul, limit_mu).
    The accompanying Splunk query includes three distinct detection **Signals** over 1-hour windows:
    **Signal 1** (High volume of failed/attack protection events from a single IP),
    **Signal 2** (Significant surge in total failed/protection events),
    and **Signal 3** (Anomalous spike in unique source IP addresses, indicating a botnet).
    The query also incorporates **normality** calculations for comparison and collects JA3/JA4 TLS fingerprint data for
    attack traffic clustering and investigation.
    The Sigma correlation feature implements Signal 1 (count per IP), but lacks normality calculation.
splunk: |
    index=auth0 data.tenant_name="{your-tenant-name}"
    data.type IN (f, fu, fp, pwd_leak, limit_wc, limit_sul, limit_mu, fcoa)

    ``` Signal 1 - any single IP triggers excessive number of failed/attack protection events ```
    | bin _time span=1h
    | stats values(data.security_context.ja4) as ja4
     count as cnt_events_per_ip by _time data.ip
    | where cnt_events_per_ip > {threshold_events_per_ip}
    ``` Normality for Signal 1 - average number of successful logins per IP (per hour) ```
    | join [
        search index=auth0 data.type = s
        | stats count AS successful_logins_per_ip by data.ip
        | stats avg(successful_logins_per_ip) AS avg_successful_logins_per_ip
    ]

    ``` Signal 2 - surge in failed login or attack protection events ```
    ```
    | stats values(data.security_context.ja4) as ja4
    count as cnt_total_per_event by _time data.type
    | where cnt_total_per_event > {threshold_count_per_event}```
    ``` Normality for Signal 2 - average number successful logins (per hour) ```
    ```
    | join [
        search index=auth0 data.type = s
        | stats count AS successful_logins_per_s by data.type
        | stats avg(successful_logins_per_s) AS avg_successful_logins_per_s
    ]```

    ``` Signal 3 - surge of observed IPs with failed events ```
    ```
    | stats dc(data.ip) as cnt_total_ips values(data.ip) as ip
      values(data.security_context.ja4) as ja4 by _time
    | where cnt_total_ips > {threshold_total_ips}```
    ``` Normality for Signal 3 - average number of IPs with successful logins (per hour) ```
    ```| join [
        search index=auth0 data.type = s
        | stats dc(data.ip) AS successful_logins_ips by _time
        | stats avg(successful_logins_ips) AS avg_successful_logins_ips
    ]```
comments:
    - The Splunk query above shall be tuned to reflect a valid tenant name,
      and one of the three thresholds (selected) - number of events per IP, i.e. {threshold_events_per_ip};
      number of failed events in total, i.e. {threshold_count_per_event};
      and total number of unique IPs, i.e .{threshold_total_ips}.
    - The detection can be adjusted to monitor the attack protection feature in use.
    - Failed login events (f, fu, fp, fcoa) could be monitored separately from Attack Protection events
      (pwd_leak, limit_wc, limit_sul, limit_mu).
    - If IP enrichment data is available, consider monitoring for traffic originating from unexpected locations
      (e.g., anonymizing proxies, Tor exit nodes, irrelevant countries).
    - Often the abnormal rates of failed events tend to happen without much change to the rate of successful logins.
tenant_logs: |
    type: (f fu fp pwd_leak limit_wc limit_sul limit_mu fcoa)
prevention:
    - Require MFA for password-based authentication flows
    - Migrate to passwordless or passkeys as a preferred login method
    - Use Bot Protection, Suspicious IP throttling, and Breached Password Protection, and Brute Force Protection
      to present CAPTCHA challenges to requests from suspicious IPs
    - Apply strong password policies (e.g. disallow common passwords)
    - Use 3rd party Auth0 Actions, e.g. from Auth0 Marketplace, integrations to check if an IP is associated with an anonymizing proxies
    - Deny access by location using Network ACL, WAF or via the Country-based Access Control post-login Actions
    - Analyze if suspicious traffic (failed events) can be attributed to specific JA3/JA4 fingerprints
      and block/monitor/redirect it using the Network ACL feature.
falsepositives:
    - ja3/ja4 might be attributed to legitimate traffic
level: medium
tags:
    - attack.credential-access
    - attack.t1110.004
---
title: Credential stuffing sttack risk - correlated rule # This correlation implements Signal 1 from the Splunk query above. Adjust for Signal 2 or Signal 3 if needed.
id: eb829568-bc39-49c0-8fce-175b2a2a6d3c
correlation:
    type: event_count
    rules:
        - selected_events # Referenced here
    group-by:
        - data.ip
    timespan: 1h
    condition:
        gt: 1

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    data.type:
        - f
        - fu
        - fp
        - pwd_leak
        - limit_wc
        - limit_sul
        - limit_mu
        - fcoa

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
data.typeeq
  • f
  • fcoa
  • fp
  • fu
  • limit_mu
  • limit_sul
  • limit_wc
  • pwd_leak
field:"data.type" kind:eq

Disable Microsoft Defender Firewall via Registry

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

Adversaries may disable or modify system firewalls in order to bypass controls limiting network usage

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Disable Microsoft Defender Firewall via Registry
id: 974515da-6cc5-4c95-ae65-f97f9150ec7f
status: test
description: Adversaries may disable or modify system firewalls in order to bypass controls limiting network usage
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1562.004/T1562.004.md#atomic-test-2---disable-microsoft-defender-firewall-via-registry
author: frack113
date: 2022-01-09
modified: 2024-03-25
tags:
    - attack.defense-impairment
    - attack.t1686.003
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        # HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\EnableFirewall
        # HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\PublicProfile\EnableFirewall
        # HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\EnableFirewall
        TargetObject|contains: '\Services\SharedAccess\Parameters\FirewallPolicy\'
        TargetObject|endswith: '\EnableFirewall'
        Details: 'DWORD (0x00000000)'
    condition: selection
falsepositives:
    - Unknown
level: medium
regression_tests_path: regression_data/rules/windows/registry/registry_set/registry_set_disable_defender_firewall/info.yml
simulation:
    - type: atomic-red-team
      name: Disable Microsoft Defender Firewall via Registry
      technique: T1562.004
      atomic_guid: afedc8c4-038c-4d82-b3e5-623a95f8a612

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|contains: '\Services\SharedAccess\Parameters\FirewallPolicy\'
    TargetObject|endswith: '\EnableFirewall'
    Details: 'DWORD (0x00000000)'

Indicators

These rows show field, operator, and value matches.

Google Cloud Re-identifies Sensitive Information

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

Identifies when sensitive information is re-identified in google Cloud.

MITRE ATT&CK Coverage

TacticTechniques
Impact

Telemetry Coverage

Rule Body

title: Google Cloud Re-identifies Sensitive Information
id: 234f9f48-904b-4736-a34c-55d23919e4b7
status: test
description: Identifies when sensitive information is re-identified in google Cloud.
references:
    - https://cloud.google.com/dlp/docs/reference/rest/v2/projects.content/reidentify
author: Austin Songer @austinsonger
date: 2021-08-15
modified: 2022-10-09
tags:
    - attack.impact
    - attack.t1565
logsource:
    product: gcp
    service: gcp.audit
detection:
    selection:
        gcp.audit.method_name: projects.content.reidentify
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    gcp.audit.method_name: projects.content.reidentify

Indicators

These rows show field, operator, and value matches.

HackTool - ADCSPwn Execution

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

Detects command line parameters used by ADCSPwn, a tool to escalate privileges in an active directory network by coercing authenticate from machine accounts and relaying to the certificate service

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: HackTool - ADCSPwn Execution
id: cd8c163e-a19b-402e-bdd5-419ff5859f12
status: test
description: Detects command line parameters used by ADCSPwn, a tool to escalate privileges in an active directory network by coercing authenticate from machine accounts and relaying to the certificate service
references:
    - https://github.com/bats3c/ADCSPwn
author: Florian Roth (Nextron Systems)
date: 2021-07-31
modified: 2023-02-04
tags:
    - attack.collection
    - attack.credential-access
    - attack.t1557.001
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains|all:
            - ' --adcs '
            - ' --port '
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains|all:
        - ' --adcs '
        - ' --port '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • --adcs
  • --port
field:"CommandLine" kind:match

Indirect Command Execution From Script File Via Bash.EXE

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

Detects execution of Microsoft bash launcher without any flags to execute the content of a bash script directly. This can be used to potentially bypass defenses and execute Linux or Windows-based binaries directly via bash.

MITRE ATT&CK Coverage

TacticTechniques
Stealth

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Indirect Command Execution From Script File Via Bash.EXE
id: 2d22a514-e024-4428-9dba-41505bd63a5b
related:
    - id: 5edc2273-c26f-406c-83f3-f4d948e740dd
      type: similar
status: test
description: |
    Detects execution of Microsoft bash launcher without any flags to execute the content of a bash script directly.
    This can be used to potentially bypass defenses and execute Linux or Windows-based binaries directly via bash.
references:
    - https://lolbas-project.github.io/lolbas/Binaries/Bash/
    - https://linux.die.net/man/1/bash
    - Internal Research
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-08-15
tags:
    - attack.stealth
    - attack.t1202
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        - Image|endswith:
              - ':\Windows\System32\bash.exe'
              - ':\Windows\SysWOW64\bash.exe'
        - OriginalFileName: 'Bash.exe'
    filter_main_cli_flag:
        CommandLine|contains:
            # Note: we're not interested in flags being passed first
            - 'bash.exe -'
            - 'bash -'
    filter_main_no_cli:
        CommandLine: null
    filter_main_empty:
        CommandLine: ''
    filter_main_no_flag:
        CommandLine:
            - 'bash.exe'
            - 'bash'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    - Image|endswith:
          - ':\Windows\System32\bash.exe'
          - ':\Windows\SysWOW64\bash.exe'
    - OriginalFileName: 'Bash.exe'

Stage 2: not filter_main_*

filter_main_cli_flag:
    CommandLine|contains:
        - 'bash.exe -'
        - 'bash -'
filter_main_no_cli:
    CommandLine: null
filter_main_empty:
    CommandLine: ''
filter_main_no_flag:
    CommandLine:
        - 'bash.exe'
        - 'bash'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • :\Windows\SysWOW64\bash.exe corpus 2 (sigma 2)
  • :\Windows\System32\bash.exe corpus 2 (sigma 2)
field:"Image" kind:ends_with
OriginalFileNameeq
  • Bash.exe corpus 3 (sigma 3)
field:"OriginalFileName" kind:eq value:"Bash.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLineeqbashexcludes:CommandLine field:"CommandLine" value:"bash"
CommandLineeqbash.exeexcludes:CommandLine field:"CommandLine" value:"bash.exe"
CommandLineis_null(no value, null check)excludes:CommandLine
CommandLinematchbash -excludes:CommandLine field:"CommandLine" value:"bash -"
CommandLinematchbash.exe -excludes:CommandLine field:"CommandLine" value:"bash.exe -"

LockerGoga Ransomware Activity

#
Status
stable
Severity
critical
Author
Vasiliy Burov, oscd.community
Source
github.com/SigmaHQ/sigma

Detects LockerGoga ransomware activity via specific command line.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
Impact

Telemetry Coverage

Rule Body

title: LockerGoga Ransomware Activity
id: 74db3488-fd28-480a-95aa-b7af626de068
status: stable
description: Detects LockerGoga ransomware activity via specific command line.
references:
    - https://medium.com/@malwaredancer/lockergoga-input-arguments-ipc-communication-and-others-bd4e5a7ba80a
    - https://blog.f-secure.com/analysis-of-lockergoga-ransomware/
    - https://www.carbonblack.com/blog/tau-threat-intelligence-notification-lockergoga-ransomware/
author: Vasiliy Burov, oscd.community
date: 2020-10-18
modified: 2023-02-03
tags:
    - attack.impact
    - attack.t1486
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains: '-i SM-tgytutrc -s'
    condition: selection
falsepositives:
    - Unlikely
level: critical

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains: '-i SM-tgytutrc -s'

Indicators

These rows show field, operator, and value matches.

macOS ULS securityd CodeSignature Failure

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

Detect logs from securityd indicating code signature failures which might reflect tampering.

Known False Positives

  • developer builds or ad-hoc signing

Rule Body

title: macOS ULS securityd CodeSignature Failure
id: e1c4dc0e-3a75-4f58-8e8f-5d4a9f9a1b2c
status: experimental
description: Detect logs from securityd indicating code signature failures which might
  reflect tampering.
author: Eric Brown - Nebulock, Inc.
date: 2025-10-29
logsource:
  product: macos
  service: unifiedlog
level: medium
detection:
  selection:
    subsystem: com.apple.securityd
    message|contains:
    - code signature invalid
    - rejecting
  condition: selection
falsepositives:
- developer builds or ad-hoc signing
modified: 2025/01/15

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  subsystem: com.apple.securityd
  message|contains:
  - code signature invalid
  - rejecting

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
messagematch
  • code signature invalid
  • rejecting
field:"message" kind:match
subsystemeq
  • com.apple.securityd
field:"subsystem" kind:eq value:"com.apple.securityd"

Macro Enabled In A Potentially Suspicious Document

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

Detects registry changes to Office trust records where the path is located in a potentially suspicious location

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Defense Impairment

Telemetry Coverage

Rule Body

title: Macro Enabled In A Potentially Suspicious Document
id: a166f74e-bf44-409d-b9ba-ea4b2dd8b3cd
related:
    - id: 295a59c1-7b79-4b47-a930-df12c15fc9c2
      type: derived
status: test
description: Detects registry changes to Office trust records where the path is located in a potentially suspicious location
references:
    - https://twitter.com/inversecos/status/1494174785621819397
    - Internal Research
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-06-21
modified: 2023-08-17
tags:
    - attack.persistence
    - attack.defense-impairment
    - attack.t1112
logsource:
    category: registry_set
    product: windows
detection:
    selection_value:
        TargetObject|contains: '\Security\Trusted Documents\TrustRecords'
    selection_paths:
        TargetObject|contains:
            # Note: add more locations where you don't expect a user to executed macro enabled docs
            - '/AppData/Local/Microsoft/Windows/INetCache/'
            - '/AppData/Local/Temp/'
            - '/PerfLogs/'
            - 'C:/Users/Public/'
            - 'file:///D:/'
            - 'file:///E:/'
    condition: all of selection_*
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_value

selection_value:
    TargetObject|contains: '\Security\Trusted Documents\TrustRecords'

Stage 2: selection_paths

selection_paths:
    TargetObject|contains:
        - '/AppData/Local/Microsoft/Windows/INetCache/'
        - '/AppData/Local/Temp/'
        - '/PerfLogs/'
        - 'C:/Users/Public/'
        - 'file:///D:/'
        - 'file:///E:/'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectmatch
  • /AppData/Local/Microsoft/Windows/INetCache/
  • /AppData/Local/Temp/
  • /PerfLogs/
  • C:/Users/Public/
  • \Security\Trusted Documents\TrustRecords corpus 2 (sigma 2)
  • file:///D:/
  • file:///E:/
field:"TargetObject" kind:match

MFA downgrade - disable strong factors

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

An adversary can try to downgrade authentication requirements by disabling strong authenticators (Webauthn) for users.

Known False Positives

  • Intentional legitimate disabling of strong factors by administrators.

MITRE ATT&CK Coverage

Rule Body

title: MFA downgrade - disable strong factors
id: d0b564f6-716a-11f0-96ba-723487b9527c
status: experimental
description: |
    An adversary can try to downgrade authentication requirements by disabling strong authenticators (Webauthn) for users.
author: Okta
date: 2025-07-11
modified: 2025-09-21
logsource:
    product: auth0
detection:
    selection:
        data.type: sapi
        data.description: "Update multi-factor authentication type"
        data.details.request.body.enabled: false
    condition: selection
explanation: >
    The query filters for log entries recording changes in availability of MFA factors for the whole tenant.
    The Splunk query below also parses the path where the last part shows the type of the disabled factor.
    It takes the last modifications of the availability for each factor by default.
    This query can be used for reporting purposes (when and what factors was disabled and enabled) by commenting the "sort" and "dedup" clauses.
    Finally, the query summarises the user created modification, IP and lists disabled factors.
    To monitor only a specific factor, e.g. phishing-resistant, uncomment the "search" clause.
splunk: |
    index=auth0 data.tenant_name="{your-tenant-name}"
    data.type=sapi data.description="Update multi-factor authentication type"
    ```data.details.request.body.enabled=false```
    | fields data.details.request.path, data.user_id, data.details.request.ip,
    data.details.request.body.enabled
    ``` Excluding trusted IPs```
    ``` NOT data.details.request.ip IN ("{white-listed-IPs}")```
    | rex field=data.details.request.path "/(?<factor>[^/]+)$"
    ```Take only the last change of configurations that reflects the current settings```
    | sort -_time, factor
    | dedup factor
    ```Limit monitored factors, e.g. phishing-resistant ```
    ```| search factor IN (webauthn-roaming, webauthn-roaming)```
    ``` Alert when monitored factors have been disabled ```
    | where 'data.details.request.body.enabled' = "false"
    ```Display the information in a table```
    | table _time, data.user_id, data.details.request.ip, factor, data.details.request.body.enabled
comments:
    - The Splunk query above, shall be tuned to reflect a valid tenant name.
    - Additionally, you can expand the detection to other factors, e.g. SMS.
    - Limit the detection to actions conducted from untrusted IPs and/or particular users.
tenant_logs: |
    type: "sapi" AND description: "Update multi-factor authentication type"
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 MFA settings - update:guardian_factors.
    - Control usage of Management API from only trusted IPs by applying Network ACL scoped to "management".
falsepositives:
    - Intentional legitimate disabling of strong factors by administrators.
level: medium
tags:
    - attack.defense-evasion
    - attack.t1562
    - attack.t1562.007

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    data.type: sapi
    data.description: "Update multi-factor authentication type"
    data.details.request.body.enabled: false

Indicators

These rows show field, operator, and value matches.

Microsoft Defender security components disabled (PowerShell)

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

Detects scenarios where an attacker attempts to disable Defender security features in PowerShell

Known False Positives

  • None

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

Rule Body

title: Microsoft Defender security components disabled (PowerShell)
description: Detects scenarios where an attacker attempts to disable Defender security features in PowerShell
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0005-Defense%20Evasion/T1562.001-Impair%20Defenses-Disable%20or%20Modify%20tool
- https://github.com/swagkarna/Defeat-Defender-V1.2
- https://docs.microsoft.com/en-us/powershell/module/defender/set-mppreference?view=windowsserver2019-ps
- https://docs.microsoft.com/en-us/windows/client-management/mdm/defender-csp
- https://powershell.one/wmi/root/microsoft/windows/defender/msft_mppreference
- https://gist.github.com/pe3zx/7c5e0080c3b0869ccba1f1dc2ea0c5e0
- https://cloudbrothers.info/en/current-limits-defender-av-tamper-protection/
tags:
- attack.defense_evasion
- attack.t1562.001
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category:
    - ps_module
    - ps_classic_script
    - ps_script
detection: # Set-MpPreference -DisableArchiveScanning $true
  selection1_powershell_native:
    EventID: 800
    EventData|contains: Set-MpPreference
      - Add-MpPreference
    EventData|contains:
      - '1'
      - '$true'
    EventData|contains:
      # Scanning features
      - DisableArchiveScanning
      - DisableRemovableDriveScanning
      - DisableScanningMappedNetworkDrivesForFullScan
      - DisableScanningNetworkFiles
      - DisableRestorePoint
      - DisableScriptScanning
      - DisableEmailScanning
      # Parsing features
      - DisableDnsParsing
      - DisableDnsOverTcpParsing
      - DisableSshParsing
      - DisableTlsParsing
      - DisableHttpParsing
      - DisableRdpParsing
      # Misc features
      - DisableAutoExclusions
      - DisableBlockAtFirstSeen
      - DisableCpuThrottleOnIdleScans
      - DisableDatagramProcessing
      - SignatureDisableUpdateOnStartupWithoutEngine

  selection2_powershell_modern:
    EventID: 4103
    EventData|contains: Set-MpPreference
      - Add-MpPreference
    Payload|contains:
      - '1'
      - '$true'
    Payload|contains:
      # Scanning features
      - DisableArchiveScanning
      - DisableRemovableDriveScanning
      - DisableScanningMappedNetworkDrivesForFullScan
      - DisableScanningNetworkFiles
      - DisableRestorePoint
      - DisableScriptScanning
      - DisableEmailScanning
      # Parsing features
      - DisableDnsParsing
      - DisableDnsOverTcpParsing
      - DisableSshParsing
      - DisableTlsParsing
      - DisableHttpParsing
      - DisableRdpParsing
      # Misc features
      - DisableAutoExclusions
      - DisableBlockAtFirstSeen
      - DisableCpuThrottleOnIdleScans
      - DisableDatagramProcessing

  selection3_powershell_block:
    EventID: 4104
    EventData|contains: Set-MpPreference
      - Add-MpPreference
    ScriptBlockText|contains:
      - '1'
      - '$true'
    ScriptBlockText|contains:
      # Scanning features
      - DisableArchiveScanning
      - DisableRemovableDriveScanning
      - DisableScanningMappedNetworkDrivesForFullScan
      - DisableScanningNetworkFiles
      - DisableRestorePoint
      - DisableScriptScanning
      - DisableEmailScanning
      # Parsing features
      - DisableDnsParsing
      - DisableDnsOverTcpParsing
      - DisableSshParsing
      - DisableTlsParsing
      - DisableHttpParsing
      - DisableRdpParsing
      # Misc features
      - DisableAutoExclusions
      - DisableBlockAtFirstSeen
      - DisableCpuThrottleOnIdleScans
      - DisableDatagramProcessing

  condition: 1 of selection*
falsepositives:
- None
level: medium

Stages and Predicates

Stage 0: condition

1 of selection*

Stage 1: selection1_powershell_native

selection1_powershell_native:
  EventID: 800
  EventData|contains: Set-MpPreference
    - Add-MpPreference
  EventData|contains:
    - '1'
    - '$true'
  EventData|contains:
    - DisableArchiveScanning
    - DisableRemovableDriveScanning
    - DisableScanningMappedNetworkDrivesForFullScan
    - DisableScanningNetworkFiles
    - DisableRestorePoint
    - DisableScriptScanning
    - DisableEmailScanning
    - DisableDnsParsing
    - DisableDnsOverTcpParsing
    - DisableSshParsing
    - DisableTlsParsing
    - DisableHttpParsing
    - DisableRdpParsing
    - DisableAutoExclusions
    - DisableBlockAtFirstSeen
    - DisableCpuThrottleOnIdleScans
    - DisableDatagramProcessing
    - SignatureDisableUpdateOnStartupWithoutEngine

Stage 2: selection2_powershell_modern

selection2_powershell_modern:
  EventID: 4103
  EventData|contains: Set-MpPreference
    - Add-MpPreference
  Payload|contains:
    - '1'
    - '$true'
  Payload|contains:
    - DisableArchiveScanning
    - DisableRemovableDriveScanning
    - DisableScanningMappedNetworkDrivesForFullScan
    - DisableScanningNetworkFiles
    - DisableRestorePoint
    - DisableScriptScanning
    - DisableEmailScanning
    - DisableDnsParsing
    - DisableDnsOverTcpParsing
    - DisableSshParsing
    - DisableTlsParsing
    - DisableHttpParsing
    - DisableRdpParsing
    - DisableAutoExclusions
    - DisableBlockAtFirstSeen
    - DisableCpuThrottleOnIdleScans
    - DisableDatagramProcessing

Stage 3: selection3_powershell_block

selection3_powershell_block:
  EventID: 4104
  EventData|contains: Set-MpPreference
    - Add-MpPreference
  ScriptBlockText|contains:
    - '1'
    - '$true'
  ScriptBlockText|contains:
    - DisableArchiveScanning
    - DisableRemovableDriveScanning
    - DisableScanningMappedNetworkDrivesForFullScan
    - DisableScanningNetworkFiles
    - DisableRestorePoint
    - DisableScriptScanning
    - DisableEmailScanning
    - DisableDnsParsing
    - DisableDnsOverTcpParsing
    - DisableSshParsing
    - DisableTlsParsing
    - DisableHttpParsing
    - DisableRdpParsing
    - DisableAutoExclusions
    - DisableBlockAtFirstSeen
    - DisableCpuThrottleOnIdleScans
    - DisableDatagramProcessing

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
EventDatamatch
  • DisableArchiveScanning
  • DisableAutoExclusions
  • DisableBlockAtFirstSeen
  • DisableCpuThrottleOnIdleScans
  • DisableDatagramProcessing
  • DisableDnsOverTcpParsing
  • DisableDnsParsing
  • DisableEmailScanning
  • DisableHttpParsing
  • DisableRdpParsing
  • DisableRemovableDriveScanning
  • DisableRestorePoint
  • DisableScanningMappedNetworkDrivesForFullScan
  • DisableScanningNetworkFiles
  • DisableScriptScanning
  • DisableSshParsing
  • DisableTlsParsing
  • Set-MpPreference - Add-MpPreference
  • SignatureDisableUpdateOnStartupWithoutEngine
field:"EventData" kind:match
Payloadmatch
  • DisableArchiveScanning
  • DisableAutoExclusions
  • DisableBlockAtFirstSeen
  • DisableCpuThrottleOnIdleScans
  • DisableDatagramProcessing
  • DisableDnsOverTcpParsing
  • DisableDnsParsing
  • DisableEmailScanning
  • DisableHttpParsing
  • DisableRdpParsing
  • DisableRemovableDriveScanning
  • DisableRestorePoint
  • DisableScanningMappedNetworkDrivesForFullScan
  • DisableScanningNetworkFiles
  • DisableScriptScanning
  • DisableSshParsing
  • DisableTlsParsing
field:"Payload" kind:match
ScriptBlockTextmatch
  • DisableArchiveScanning
  • DisableAutoExclusions
  • DisableBlockAtFirstSeen
  • DisableCpuThrottleOnIdleScans
  • DisableDatagramProcessing
  • DisableDnsOverTcpParsing
  • DisableDnsParsing
  • DisableEmailScanning
  • DisableHttpParsing
  • DisableRdpParsing
  • DisableRemovableDriveScanning
  • DisableRestorePoint
  • DisableScanningMappedNetworkDrivesForFullScan
  • DisableScanningNetworkFiles
  • DisableScriptScanning
  • DisableSshParsing
  • DisableTlsParsing
field:"ScriptBlockText" kind:match

New Capture Session Launched Via DXCap.EXE

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

Detects the execution of "DXCap.EXE" with the "-c" flag, which allows a user to launch any arbitrary binary or windows package through DXCap itself. This can be abused to potentially bypass application whitelisting.

Known False Positives

  • Legitimate execution of dxcap.exe by legitimate user

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: New Capture Session Launched Via DXCap.EXE
id: 60f16a96-db70-42eb-8f76-16763e333590
status: test
description: |
    Detects the execution of "DXCap.EXE" with the "-c" flag, which allows a user to launch any arbitrary binary or windows package through DXCap itself. This can be abused to potentially bypass application whitelisting.
references:
    - https://lolbas-project.github.io/lolbas/OtherMSBinaries/Dxcap/
    - https://twitter.com/harr0ey/status/992008180904419328
author: Beyu Denis, oscd.community, Nasreddine Bencherchali (Nextron Systems)
date: 2019-10-26
modified: 2022-06-09
tags:
    - attack.stealth
    - attack.t1218
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\DXCap.exe'
        - OriginalFileName: 'DXCap.exe'
    selection_cli:
        CommandLine|contains: ' -c ' # The ".exe" is not required to run the binary
    condition: all of selection*
falsepositives:
    - Legitimate execution of dxcap.exe by legitimate user
level: medium

Stages and Predicates

Stage 0: condition

all of selection*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    CommandLine|contains: ' -c '

Indicators

These rows show field, operator, and value matches.

New Github Organization Member Added

#
Status
test
Severity
informational
Author
Muhammad Faisal (@faisalusuf)
Source
github.com/SigmaHQ/sigma

Detects when a new member is added or invited to a github organization.

Known False Positives

  • Organization approved new members

MITRE ATT&CK Coverage

TacticTechniques
Persistence

Telemetry Coverage

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: New Github Organization Member Added
id: 3908d64a-3c06-4091-b503-b3a94424533b
status: test
description: Detects when a new member is added or invited to a github organization.
author: Muhammad Faisal (@faisalusuf)
date: 2023-01-29
references:
    - https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#dependabot_alerts-category-actions
tags:
    - attack.persistence
    - attack.t1136.003
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:
            - 'org.add_member'
            - 'org.invite_member'
    condition: selection
falsepositives:
    - Organization approved new members
level: informational

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    action:
        - 'org.add_member'
        - 'org.invite_member'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
actioneq
  • org.add_member
  • org.invite_member
field:"action" kind:eq

Okta Application Modified or Deleted

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

Detects when an application is modified or deleted.

MITRE ATT&CK Coverage

TacticTechniques
ImpactNo specific technique

Telemetry Coverage

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: Okta Application Modified or Deleted
id: 7899144b-e416-4c28-b0b5-ab8f9e0a541d
status: test
description: Detects when an application is modified or deleted.
references:
    - https://developer.okta.com/docs/reference/api/system-log/
    - https://developer.okta.com/docs/reference/api/event-types/
author: Austin Songer @austinsonger
date: 2021-09-12
modified: 2026-04-27
tags:
    - attack.impact
logsource:
    product: okta
    service: okta
detection:
    selection:
        eventType:
            - application.lifecycle.update
            - application.lifecycle.delete
    condition: selection
falsepositives:
    - Unknown

level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    eventType:
        - application.lifecycle.update
        - application.lifecycle.delete

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
eventTypeeq
  • application.lifecycle.delete
  • application.lifecycle.update
field:"eventType" kind:eq

OpenCanary - NTP Monlist Request

#
Status
test
Severity
high
Author
Security Onion Solutions
Source
github.com/SigmaHQ/sigma

Detects instances where an NTP service on an OpenCanary node has had a NTP monlist request.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
Impact

Rule Body

title: OpenCanary - NTP Monlist Request
id: 7cded4b3-f09e-405a-b96f-24248433ba44
status: test
description: Detects instances where an NTP service on an OpenCanary node has had a NTP monlist request.
references:
    - https://opencanary.readthedocs.io/en/latest/starting/configuration.html#services-configuration
    - https://github.com/thinkst/opencanary/blob/a0896adfcaf0328cfd5829fe10d2878c7445138e/opencanary/logger.py#L52
author: Security Onion Solutions
date: 2024-03-08
tags:
    - attack.impact
    - attack.t1498
logsource:
    category: application
    product: opencanary
detection:
    selection:
        logtype: 11001
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    logtype: 11001

Indicators

These rows show field, operator, and value matches.

Persistence Via Sticky Key Backdoor

#
Status
test
Severity
critical
Author
Sreeman
Source
github.com/SigmaHQ/sigma

By replacing the sticky keys executable with the local admins CMD executable, an attacker is able to access a privileged windows console session without authenticating to the system. When the sticky keys are "activated" the privilleged shell is launched.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Persistence Via Sticky Key Backdoor
id: 1070db9a-3e5d-412e-8e7b-7183b616e1b3
status: test
description: |
    By replacing the sticky keys executable with the local admins CMD executable, an attacker is able to access a privileged windows console session without authenticating to the system.
    When the sticky keys are "activated" the privilleged shell is launched.
references:
    - https://www.fireeye.com/blog/threat-research/2017/03/apt29_domain_frontin.html
    - https://www.clearskysec.com/wp-content/uploads/2020/02/ClearSky-Fox-Kitten-Campaign-v1.pdf
    - https://learn.microsoft.com/en-us/archive/blogs/jonathantrull/detecting-sticky-key-backdoors
author: Sreeman
date: 2020-02-18
modified: 2023-03-07
tags:
    - attack.persistence
    - attack.t1546.008
    - attack.privilege-escalation
logsource:
    product: windows
    category: process_creation
detection:
    selection:
        CommandLine|contains|all:
            - 'copy '
            - '/y '
            - 'C:\windows\system32\cmd.exe C:\windows\system32\sethc.exe'
    condition: selection
falsepositives:
    - Unlikely
level: critical

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains|all:
        - 'copy '
        - '/y '
        - 'C:\windows\system32\cmd.exe C:\windows\system32\sethc.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /y
  • C:\windows\system32\cmd.exe C:\windows\system32\sethc.exe
  • copy corpus 11 (sigma 11)
field:"CommandLine" kind:match

Potential CVE-2023-36884 Exploitation - Share Access

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

Detects access to a file share with a naming schema seen being used during exploitation of CVE-2023-36884

MITRE ATT&CK Coverage

TacticTechniques
Command & ControlNo specific technique

Telemetry Coverage

Rule Body

title: Potential CVE-2023-36884 Exploitation - Share Access
id: 3df95076-9e78-4e63-accb-16699c3b74f8
status: test
description: Detects access to a file share with a naming schema seen being used during exploitation of CVE-2023-36884
references:
    - https://blogs.blackberry.com/en/2023/07/romcom-targets-ukraine-nato-membership-talks-at-nato-summit
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-07-13
tags:
    - attack.command-and-control
    - cve.2023-36884
    - detection.emerging-threats
logsource:
    product: windows
    service: security
    definition: 'The advanced audit policy setting "Object Access > Audit File Share" must be configured for Success/Failure'
detection:
    selection_eid:
        EventID: 5140
    selection_share_name:
        ShareName|contains: '\MSHTML_C7\'
        ShareName|re: '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
    selection_share_path:
        ShareLocalPath|contains: '\MSHTML_C7\'
        ShareLocalPath|re: '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
    condition: selection_eid and 1 of selection_share_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection_eid and 1 of selection_share_*

Stage 1: selection_eid

selection_eid:
    EventID: 5140

Stage 2: selection_share_name

selection_share_name:
    ShareName|contains: '\MSHTML_C7\'
    ShareName|re: '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'

Stage 3: selection_share_path

selection_share_path:
    ShareLocalPath|contains: '\MSHTML_C7\'
    ShareLocalPath|re: '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'

Indicators

These rows show field, operator, and value matches.

Potential Data Exfiltration Via Curl.EXE

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

Detects the execution of the "curl" process with "upload" flags. Which might indicate potential data exfiltration

Known False Positives

  • Scripts created by developers and admins

MITRE ATT&CK Coverage

TacticTechniques
Command & Control
Exfiltration

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potential Data Exfiltration Via Curl.EXE
id: 00bca14a-df4e-4649-9054-3f2aa676bc04
status: test
description: Detects the execution of the "curl" process with "upload" flags. Which might indicate potential data exfiltration
references:
    - https://twitter.com/d1r4c/status/1279042657508081664
    - https://medium.com/@petehouston/upload-files-with-curl-93064dcccc76
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1105/T1105.md#atomic-test-19---curl-upload-file
    - https://curl.se/docs/manpage.html
author: Florian Roth (Nextron Systems), Cedric MAURUGEON (Update)
date: 2020-07-03
modified: 2023-05-02
tags:
    - attack.exfiltration
    - attack.command-and-control
    - attack.t1567
    - attack.t1105
    - detection.threat-hunting
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\curl.exe'
        - Product: 'The curl executable'
    selection_cli:
        - CommandLine|contains:
              - ' --form' # Also covers the "--form-string"
              - ' --upload-file '
              - ' --data '
              - ' --data-' # For flags like: "--data-ascii", "--data-binary", "--data-raw", "--data-urlencode"
        - CommandLine|re: '\s-[FTd]\s' # We use regex to ensure a case sensitive argument detection
    filter_optional_localhost:
        CommandLine|contains:
            - '://localhost'
            - '://127.0.0.1'
    condition: all of selection_* and not 1 of filter_optional_*
falsepositives:
    - Scripts created by developers and admins
level: medium

Stages and Predicates

Stage 0: condition

all of selection_* and not 1 of filter_optional_*

Stage 1: selection_img

selection_img:
    - Image|endswith: '\curl.exe'
    - Product: 'The curl executable'

Stage 2: selection_cli

selection_cli:
    - CommandLine|contains:
          - ' --form'
          - ' --upload-file '
          - ' --data '
          - ' --data-'
    - CommandLine|re: '\s-[FTd]\s'

Stage 3: not filter_optional_localhost

filter_optional_localhost:
    CommandLine|contains:
        - '://localhost'
        - '://127.0.0.1'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • --data corpus 3 (sigma 3)
  • --data- corpus 2 (sigma 2)
  • --form corpus 3 (sigma 3)
  • --upload-file corpus 2 (sigma 2)
field:"CommandLine" kind:match
CommandLineregex_match
  • \s-[FTd]\s corpus 3 (sigma 3)
field:"CommandLine" kind:regex_match value:"\s-[FTd]\s"
Imageends_with
  • \curl.exe corpus 31 (sigma 31)
field:"Image" kind:ends_with value:"\curl.exe"
Producteq
  • The curl executable corpus 5 (sigma 5)
field:"Product" kind:eq value:"The curl executable"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLinematch://127.0.0.1excludes:CommandLine field:"CommandLine" value:"://127.0.0.1"
CommandLinematch://localhostexcludes:CommandLine field:"CommandLine" value:"://localhost"

Potential Exploitation of CVE-2024-37085 - Suspicious ESX Admins Group Activity

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

Detects any creation or modification to a windows domain group with the name "ESX Admins". This could indicates a potential exploitation attempt of CVE-2024-37085, which allows an attacker to elevate their privileges to full administrative access on an domain-joined ESXi hypervisor. VMware ESXi hypervisors joined to an Active Directory domain consider any member of a domain group named "ESX Admins" to have full administrative access by default.

MITRE ATT&CK Coverage

TacticTechniques
ExecutionNo specific technique

Telemetry Coverage

Rule Body

title: Potential Exploitation of CVE-2024-37085 - Suspicious ESX Admins Group Activity
id: 47a1658b-67a4-48e2-8ab1-c10437fc0148
status: test
description: |
    Detects any creation or modification to a windows domain group with the name "ESX Admins".
    This could indicates a potential exploitation attempt of CVE-2024-37085, which allows an attacker to elevate their privileges to full administrative access on an domain-joined ESXi hypervisor.
    VMware ESXi hypervisors joined to an Active Directory domain consider any member of a domain group named "ESX Admins" to have full administrative access by default.
references:
    - https://www.microsoft.com/en-us/security/blog/2024/07/29/ransomware-operators-exploit-esxi-hypervisor-vulnerability-for-mass-encryption/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2024-07-30
tags:
    - attack.execution
    - cve.2024-37085
    - detection.emerging-threats
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID:
            - 4727
            - 4728
            - 4731
            - 4737
            - 4754
            - 4755
            - 4756
    keyword_group:
        - 'ESX Admins'
    condition: selection and keyword_group
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection and keyword_group

Stage 1: selection

selection:
    EventID:
        - 4727
        - 4728
        - 4731
        - 4737
        - 4754
        - 4755
        - 4756

Stage 2: keyword_group

keyword_group:
    - 'ESX Admins'

Potential Okta Password in AlternateID Field

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

Detects when a user has potentially entered their password into the username field, which will cause the password to be retained in log files.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Rule Body

title: Potential Okta Password in AlternateID Field
id: 91b76b84-8589-47aa-9605-c837583b82a9
status: test
description: |
    Detects when a user has potentially entered their password into the
    username field, which will cause the password to be retained in log files.
references:
    - https://developer.okta.com/docs/reference/api/system-log/
    - https://www.mitiga.io/blog/how-okta-passwords-can-be-compromised-uncovering-a-risk-to-user-data
    - https://help.okta.com/en-us/Content/Topics/users-groups-profiles/usgp-create-character-restriction.htm
author: kelnage
date: 2023-04-03
modified: 2026-04-27
tags:
    - attack.credential-access
    - attack.t1552
logsource:
    product: okta
    service: okta
detection:
    selection:
        legacyEventType: 'core.user_auth.login_failed'
    filter_main:
        # Okta service account names start with 0oa
        # Email addresses are the default format for Okta usernames, so attempt
        # to exclude alternateIds that look like valid emails
        # If your Okta configuration uses different character restrictions, you
        # will need to update this regular expression to reflect that or disable the rule for your environment
        # Possible false negatives are failed login attempts with a password that looks like a valid email address
        actor.alternateId|re: '(^0oa.*|[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,10})'
    condition: selection and not filter_main
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection and not filter_main

Stage 1: selection

selection:
    legacyEventType: 'core.user_auth.login_failed'

Stage 2: not filter_main

filter_main:
    actor.alternateId|re: '(^0oa.*|[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,10})'

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
actor.alternateIdregex_match(^0oa.*|[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,10})excludes:actor.alternateId field:"actor.alternateId" value:"(^0oa.*|[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,10})"

Potentially Suspicious Event Viewer Child Process

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

Detects uncommon or suspicious child processes of "eventvwr.exe" which might indicate a UAC bypass attempt

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Potentially Suspicious Event Viewer Child Process
id: be344333-921d-4c4d-8bb8-e584cf584780
related:
    - id: 7c81fec3-1c1d-43b0-996a-46753041b1b6
      type: derived
status: test
description: Detects uncommon or suspicious child processes of "eventvwr.exe" which might indicate a UAC bypass attempt
references:
    - https://enigma0x3.net/2016/08/15/fileless-uac-bypass-using-eventvwr-exe-and-registry-hijacking/
    - https://www.hybrid-analysis.com/sample/e122bc8bf291f15cab182a5d2d27b8db1e7019e4e96bb5cdbd1dfe7446f3f51f?environmentId=100
author: Florian Roth (Nextron Systems)
date: 2017-03-19
modified: 2023-09-28
tags:
    - attack.privilege-escalation
    - attack.t1548.002
    - car.2019-04-001
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: '\eventvwr.exe'
    filter_main_generic:
        Image|endswith:
            - ':\Windows\System32\mmc.exe'
            - ':\Windows\System32\WerFault.exe'
            - ':\Windows\SysWOW64\WerFault.exe'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    ParentImage|endswith: '\eventvwr.exe'

Stage 2: not filter_main_generic

filter_main_generic:
    Image|endswith:
        - ':\Windows\System32\mmc.exe'
        - ':\Windows\System32\WerFault.exe'
        - ':\Windows\SysWOW64\WerFault.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ParentImageends_with
  • \eventvwr.exe corpus 2 (sigma 2)
field:"ParentImage" kind:ends_with value:"\eventvwr.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imageends_with:\Windows\SysWOW64\WerFault.exeexcludes:Image field:"Image" value:":\Windows\SysWOW64\WerFault.exe"
Imageends_with:\Windows\System32\WerFault.exeexcludes:Image field:"Image" value:":\Windows\System32\WerFault.exe"
Imageends_with:\Windows\System32\mmc.exeexcludes:Image field:"Image" value:":\Windows\System32\mmc.exe"

Python One-Liners with Base64 Decoding - Linux

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

Detects the use of Python's base64 decoding functions in command line executions on Linux systems. Malicious scripts often use python one-liners to decode and execute base64-encoded payloads, which is a common technique for obfuscation and evasion.

Known False Positives

  • Legitimate use of Python for decoding data, which is uncommon in typical enterprise environments but possible in development or data analysis contexts.

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: Python One-Liners with Base64 Decoding - Linux
id: 55e862a8-dd9c-4651-807a-f21fcad56716
related:
    - id: 50a0aa3d-ab16-4594-a8aa-5145a6e6792b
      type: similar
status: experimental
description: |
    Detects the use of Python's base64 decoding functions in command line executions on Linux systems.
    Malicious scripts often use python one-liners to decode and execute base64-encoded payloads, which is a common technique for obfuscation and evasion.
references:
    - https://docs.python.org/3/library/base64.html
    - https://www.virustotal.com/gui/file/bc43e925d7b4b74319f6e74e836a96f1997ba404e14ac566cf12a21e9da463db/behavior
    - https://cloud.google.com/blog/topics/threat-intelligence/cybercriminals-weaponize-fake-ai-websites
author: Hugh Ryan (HueCodes), Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2026-03-09
tags:
    - attack.execution
    - attack.stealth
    - attack.t1059.006
    - attack.t1027.010
logsource:
    category: process_creation
    product: linux
detection:
    selection_img:
        Image|contains: '/python'
    selection_cli:
        CommandLine|contains|all:
            - 'import'
            - 'base64'
            - ' -c'
        CommandLine|contains:
            - '.decode'
            - 'b16decode'
            - 'b32decode'
            - 'b32hexdecode'
            - 'b64decode'
            - 'b85decode'
            - 'z85decode'
    condition: all of selection_*
falsepositives:
    - Legitimate use of Python for decoding data, which is uncommon in typical enterprise environments but possible in development or data analysis contexts.
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    Image|contains: '/python'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|all:
        - 'import'
        - 'base64'
        - ' -c'
    CommandLine|contains:
        - '.decode'
        - 'b16decode'
        - 'b32decode'
        - 'b32hexdecode'
        - 'b64decode'
        - 'b85decode'
        - 'z85decode'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -c corpus 5 (sigma 5)
  • .decode corpus 2 (sigma 2)
  • b16decode corpus 2 (sigma 2)
  • b32decode corpus 4 (sigma 2, elastic 2)
  • b32hexdecode corpus 2 (sigma 2)
  • b64decode corpus 9 (elastic 7, sigma 2)
  • b85decode corpus 4 (sigma 2, elastic 2)
  • base64 corpus 18 (elastic 11, sigma 7)
  • import corpus 4 (sigma 4)
  • z85decode corpus 2 (sigma 2)
field:"CommandLine" kind:match
Imagematch
  • /python corpus 2 (sigma 2)
field:"Image" kind:match value:"/python"

Remote Access Tool - ScreenConnect File Transfer

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

Detects file being transferred via ScreenConnect RMM

Known False Positives

  • Legitimate use of ScreenConnect

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Remote Access Tool - ScreenConnect File Transfer
id: 5d19eb78-5b5b-4ef2-a9f0-4bfa94d58a13
related:
    - id: b1f73849-6329-4069-bc8f-78a604bb8b23
      type: similar
status: test
description: Detects file being transferred via ScreenConnect RMM
references:
    - https://www.huntandhackett.com/blog/revil-the-usage-of-legitimate-remote-admin-tooling
    - https://github.com/SigmaHQ/sigma/pull/4467
author: Ali Alwashali
date: 2023-10-10
tags:
    - attack.execution
    - attack.t1059.003
logsource:
    service: application
    product: windows
detection:
    selection:
        Provider_Name: 'ScreenConnect'
        EventID: 201
        Data|contains: 'Transferred files with action'
    condition: selection
falsepositives:
    - Legitimate use of ScreenConnect
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Provider_Name: 'ScreenConnect'
    EventID: 201
    Data|contains: 'Transferred files with action'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Datamatch
  • Transferred files with action
field:"Data" kind:match value:"Transferred files with action"
Provider_Nameeq
  • ScreenConnect corpus 2 (sigma 2)
field:"Provider_Name" kind:eq value:"ScreenConnect"

Suspicious Browser Child Process - MacOS

#
Status
test
Severity
medium
Author
Sohan G (D4rkCiph3r)
Source
github.com/SigmaHQ/sigma

Detects suspicious child processes spawned from browsers. This could be a result of a potential web browser exploitation.

Known False Positives

  • Legitimate browser install, update and recovery scripts

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious Browser Child Process - MacOS
id: 0250638a-2b28-4541-86fc-ea4c558fa0c6
status: test
description: Detects suspicious child processes spawned from browsers. This could be a result of a potential web browser exploitation.
references:
    - https://fr.slideshare.net/codeblue_jp/cb19-recent-apt-attack-on-crypto-exchange-employees-by-heungsoo-kang
    - https://github.com/elastic/detection-rules/blob/4312d8c9583be524578a14fe6295c3370b9a9307/rules/macos/execution_initial_access_suspicious_browser_childproc.toml
author: Sohan G (D4rkCiph3r)
date: 2023-04-05
tags:
    - attack.initial-access
    - attack.execution
    - attack.t1189
    - attack.t1203
    - attack.t1059
logsource:
    category: process_creation
    product: macos
detection:
    selection:
        ParentImage|contains:
            - 'com.apple.WebKit.WebContent'
            - 'firefox'
            - 'Google Chrome Helper'
            - 'Google Chrome'
            - 'Microsoft Edge'
            - 'Opera'
            - 'Safari'
            - 'Tor Browser'
        Image|endswith:
            - '/bash'
            - '/curl'
            - '/dash'
            - '/ksh'
            - '/osascript'
            - '/perl'
            - '/php'
            - '/pwsh'
            - '/python'
            - '/sh'
            - '/tcsh'
            - '/wget'
            - '/zsh'
    filter_main_generic:
        CommandLine|contains: '--defaults-torrc' # Informs tor to use default config file
    filter_main_ms_autoupdate:
        CommandLine|contains: '/Library/Application Support/Microsoft/MAU*/Microsoft AutoUpdate.app/Contents/MacOS/msupdate' # Microsoft AutoUpdate utility
    filter_main_chrome:
        ParentImage|contains:
            - 'Google Chrome Helper'
            - 'Google Chrome'
        CommandLine|contains:
            - '/Volumes/Google Chrome/Google Chrome.app/Contents/Frameworks/*/Resources/install.sh' # Install the Google Chrome browser
            - '/Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/*/Resources/keystone_promote_preflight.sh' # Updates the Google Chrome branding configuration files
            - '/Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/*/Resources/keystone_promote_postflight.sh' # Script that performs the post-installation tasks
    filter_main_ms_edge:
        ParentImage|contains: 'Microsoft Edge'
        CommandLine|contains:
            - 'IOPlatformExpertDevice' # Retrieves the IOPlatformUUID (parent process - Microsoft Edge)
            - 'hw.model' # Retrieves model name of the computer's hardware (parent process - Microsoft Edge)
    filter_main_chromerecovery:
        ParentImage|contains:
            - 'Google Chrome Helper'
            - 'Google Chrome'
        CommandLine|contains|all:
            - '/Users/'
            - '/Library/Application Support/Google/Chrome/recovery/'
            - '/ChromeRecovery'
    filter_optional_null:
        # Aoids alerting for the events which do not have command-line arguments
        CommandLine: null
    filter_optional_empty:
        # Aoids alerting for the events which do not have command-line arguments
        CommandLine: ''
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Legitimate browser install, update and recovery scripts
level: medium

Stages and Predicates

Stage 0: condition

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

Stage 1: selection

selection:
    ParentImage|contains:
        - 'com.apple.WebKit.WebContent'
        - 'firefox'
        - 'Google Chrome Helper'
        - 'Google Chrome'
        - 'Microsoft Edge'
        - 'Opera'
        - 'Safari'
        - 'Tor Browser'
    Image|endswith:
        - '/bash'
        - '/curl'
        - '/dash'
        - '/ksh'
        - '/osascript'
        - '/perl'
        - '/php'
        - '/pwsh'
        - '/python'
        - '/sh'
        - '/tcsh'
        - '/wget'
        - '/zsh'

Stage 2: not filter_main_*

filter_main_generic:
    CommandLine|contains: '--defaults-torrc'
filter_main_ms_autoupdate:
    CommandLine|contains: '/Library/Application Support/Microsoft/MAU*/Microsoft AutoUpdate.app/Contents/MacOS/msupdate'
filter_main_chrome:
    ParentImage|contains:
        - 'Google Chrome Helper'
        - 'Google Chrome'
    CommandLine|contains:
        - '/Volumes/Google Chrome/Google Chrome.app/Contents/Frameworks/*/Resources/install.sh'
        - '/Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/*/Resources/keystone_promote_preflight.sh'
        - '/Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/*/Resources/keystone_promote_postflight.sh'
filter_main_ms_edge:
    ParentImage|contains: 'Microsoft Edge'
    CommandLine|contains:
        - 'IOPlatformExpertDevice'
        - 'hw.model'
filter_main_chromerecovery:
    ParentImage|contains:
        - 'Google Chrome Helper'
        - 'Google Chrome'
    CommandLine|contains|all:
        - '/Users/'
        - '/Library/Application Support/Google/Chrome/recovery/'
        - '/ChromeRecovery'

Stage 3: not filter_optional_*

filter_optional_null:
    CommandLine: null
filter_optional_empty:
    CommandLine: ''

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • /bash corpus 13 (sigma 13)
  • /curl corpus 22 (sigma 22)
  • /dash corpus 9 (sigma 9)
  • /ksh corpus 5 (sigma 5)
  • /osascript corpus 7 (sigma 7)
  • /perl corpus 5 (sigma 5)
  • /php corpus 3 (sigma 3)
  • /pwsh
  • /python corpus 8 (sigma 8)
  • /sh corpus 12 (sigma 12)
  • /tcsh corpus 3 (sigma 3)
  • /wget corpus 14 (sigma 14)
  • /zsh corpus 7 (sigma 7)
field:"Image" kind:ends_with
ParentImagematch
  • Google Chrome
  • Google Chrome Helper
  • Microsoft Edge
  • Opera
  • Safari
  • Tor Browser
  • com.apple.WebKit.WebContent
  • firefox
field:"ParentImage" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLinematch/Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/*/Resources/keystone_promote_postflight.shexcludes:CommandLine field:"CommandLine" value:"/Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/*/Resources/keystone_promote_postflight.sh"
CommandLinematch/Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/*/Resources/keystone_promote_preflight.shexcludes:CommandLine field:"CommandLine" value:"/Applications/Google Chrome.app/Contents/Frameworks/Google Chrome Framework.framework/*/Resources/keystone_promote_preflight.sh"
CommandLinematch/Volumes/Google Chrome/Google Chrome.app/Contents/Frameworks/*/Resources/install.shexcludes:CommandLine field:"CommandLine" value:"/Volumes/Google Chrome/Google Chrome.app/Contents/Frameworks/*/Resources/install.sh"
ParentImagematchGoogle Chrome Helperexcludes:ParentImage field:"ParentImage" value:"Google Chrome Helper"
ParentImagematchGoogle Chromeexcludes:ParentImage field:"ParentImage" value:"Google Chrome"
CommandLinematchIOPlatformExpertDeviceexcludes:CommandLine field:"CommandLine" value:"IOPlatformExpertDevice"
CommandLinematchhw.modelexcludes:CommandLine field:"CommandLine" value:"hw.model"
ParentImagematchMicrosoft Edgeexcludes:ParentImage field:"ParentImage" value:"Microsoft Edge"
CommandLinematch/ChromeRecoveryexcludes:CommandLine field:"CommandLine" value:"/ChromeRecovery"
CommandLinematch/Library/Application Support/Google/Chrome/recovery/excludes:CommandLine field:"CommandLine" value:"/Library/Application Support/Google/Chrome/recovery/"
CommandLinematch/Users/excludes:CommandLine field:"CommandLine" value:"/Users/"
CommandLinematch--defaults-torrcexcludes:CommandLine field:"CommandLine" value:"--defaults-torrc"
CommandLinematch/Library/Application Support/Microsoft/MAU*/Microsoft AutoUpdate.app/Contents/MacOS/msupdateexcludes:CommandLine field:"CommandLine" value:"/Library/Application Support/Microsoft/MAU*/Microsoft AutoUpdate.app/Contents/MacOS/msupdate"
CommandLineis_null(no value, null check)excludes:CommandLine

Suspicious Debugger Registration Cmdline

#
Status
test
Severity
high
Author
Florian Roth (Nextron Systems), oscd.community, Jonhnathan Ribeiro
Source
github.com/SigmaHQ/sigma

Detects the registration of a debugger for a program that is available in the logon screen (sticky key backdoor).

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious Debugger Registration Cmdline
id: ae215552-081e-44c7-805f-be16f975c8a2
status: test
description: Detects the registration of a debugger for a program that is available in the logon screen (sticky key backdoor).
references:
    - https://blogs.technet.microsoft.com/jonathantrull/2016/10/03/detecting-sticky-key-backdoors/
    - https://bazaar.abuse.ch/sample/6f3aa9362d72e806490a8abce245331030d1ab5ac77e400dd475748236a6cc81/
author: Florian Roth (Nextron Systems), oscd.community, Jonhnathan Ribeiro
date: 2019-09-06
modified: 2022-08-06
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.t1546.008
logsource:
    category: process_creation
    product: windows
detection:
    selection1:
        CommandLine|contains: '\CurrentVersion\Image File Execution Options\'
    selection2:
        CommandLine|contains:
            - 'sethc.exe'
            - 'utilman.exe'
            - 'osk.exe'
            - 'magnify.exe'
            - 'narrator.exe'
            - 'displayswitch.exe'
            - 'atbroker.exe'
            - 'HelpPane.exe'
    condition: all of selection*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection*

Stage 1: selection1

selection1:
    CommandLine|contains: '\CurrentVersion\Image File Execution Options\'

Stage 2: selection2

selection2:
    CommandLine|contains:
        - 'sethc.exe'
        - 'utilman.exe'
        - 'osk.exe'
        - 'magnify.exe'
        - 'narrator.exe'
        - 'displayswitch.exe'
        - 'atbroker.exe'
        - 'HelpPane.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • HelpPane.exe
  • \CurrentVersion\Image File Execution Options\
  • atbroker.exe
  • displayswitch.exe corpus 3 (sigma 3)
  • magnify.exe corpus 3 (sigma 3)
  • narrator.exe corpus 3 (sigma 3)
  • osk.exe corpus 3 (sigma 3)
  • sethc.exe corpus 4 (sigma 4)
  • utilman.exe corpus 3 (sigma 3)
field:"CommandLine" kind:match

Suspicious Microsoft OneNote Child Process

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

Detects suspicious child processes of the Microsoft OneNote application. This may indicate an attempt to execute malicious embedded objects from a .one file.

Known False Positives

  • File located in the AppData folder with trusted signature

MITRE ATT&CK Coverage

TacticTechniques
Initial Access

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Suspicious Microsoft OneNote Child Process
id: c27515df-97a9-4162-8a60-dc0eeb51b775
related:
    - id: 438025f9-5856-4663-83f7-52f878a70a50 # Generic rule for suspicious office application child processes
      type: derived
status: test
description: Detects suspicious child processes of the Microsoft OneNote application. This may indicate an attempt to execute malicious embedded objects from a .one file.
references:
    - https://github.com/elastic/protections-artifacts/commit/746086721fd385d9f5c6647cada1788db4aea95f#diff-e34e43eb5666427602ddf488b2bf3b545bd9aae81af3e6f6c7949f9652abdf18
    - https://micahbabinski.medium.com/detecting-onenote-one-malware-delivery-407e9321ecf0
author: Tim Rauch (Nextron Systems), Nasreddine Bencherchali (Nextron Systems), Elastic (idea)
date: 2022-10-21
modified: 2023-02-10
tags:
    - attack.t1566
    - attack.t1566.001
    - attack.initial-access
logsource:
    category: process_creation
    product: windows
detection:
    selection_parent:
        ParentImage|endswith: '\onenote.exe'
    selection_opt_img:
        - OriginalFileName:
              - 'bitsadmin.exe'
              - 'CertOC.exe'
              - 'CertUtil.exe'
              - 'Cmd.Exe'
              - 'CMSTP.EXE'
              - 'cscript.exe'
              - 'curl.exe'
              - 'HH.exe'
              - 'IEExec.exe'
              - 'InstallUtil.exe'
              - 'javaw.exe'
              - 'Microsoft.Workflow.Compiler.exe'
              - 'msdt.exe'
              - 'MSHTA.EXE'
              - 'msiexec.exe'
              - 'Msxsl.exe'
              - 'odbcconf.exe'
              - 'pcalua.exe'
              - 'PowerShell.EXE'
              - 'RegAsm.exe'
              - 'RegSvcs.exe'
              - 'REGSVR32.exe'
              - 'RUNDLL32.exe'
              - 'schtasks.exe'
              - 'ScriptRunner.exe'
              - 'wmic.exe'
              - 'WorkFolders.exe'
              - 'wscript.exe'
        - Image|endswith:
              - '\AppVLP.exe'
              - '\bash.exe'
              - '\bitsadmin.exe'
              - '\certoc.exe'
              - '\certutil.exe'
              - '\cmd.exe'
              - '\cmstp.exe'
              - '\control.exe'
              - '\cscript.exe'
              - '\curl.exe'
              - '\forfiles.exe'
              - '\hh.exe'
              - '\ieexec.exe'
              - '\installutil.exe'
              - '\javaw.exe'
              - '\mftrace.exe'
              - '\Microsoft.Workflow.Compiler.exe'
              - '\msbuild.exe'
              - '\msdt.exe'
              - '\mshta.exe'
              - '\msidb.exe'
              - '\msiexec.exe'
              - '\msxsl.exe'
              - '\odbcconf.exe'
              - '\pcalua.exe'
              - '\powershell.exe'
              - '\pwsh.exe'
              - '\regasm.exe'
              - '\regsvcs.exe'
              - '\regsvr32.exe'
              - '\rundll32.exe'
              - '\schtasks.exe'
              - '\scrcons.exe'
              - '\scriptrunner.exe'
              - '\sh.exe'
              - '\svchost.exe'
              - '\verclsid.exe'
              - '\wmic.exe'
              - '\workfolders.exe'
              - '\wscript.exe'
    selection_opt_explorer:
        Image|endswith: '\explorer.exe'
        CommandLine|contains:
            - '.hta'
            - '.vb'
            - '.wsh'
            - '.js'
            - '.ps'
            - '.scr'
            - '.pif'
            - '.bat'
            - '.cmd'
    selection_opt_paths:
        Image|contains:
            - '\AppData\'
            - '\Users\Public\'
            - '\ProgramData\'
            - '\Windows\Tasks\'
            - '\Windows\Temp\'
            - '\Windows\System32\Tasks\'
    filter_teams:
        Image|endswith: '\AppData\Local\Microsoft\Teams\current\Teams.exe'
        CommandLine|endswith: '-Embedding'
    filter_onedrive:
        Image|contains: '\AppData\Local\Microsoft\OneDrive\'
        Image|endswith: '\FileCoAuth.exe'
        CommandLine|endswith: '-Embedding'
    condition: selection_parent and 1 of selection_opt_* and not 1 of filter_*
falsepositives:
    - File located in the AppData folder with trusted signature
level: high

Stages and Predicates

Stage 0: condition

selection_parent and 1 of selection_opt_* and not 1 of filter_*

Stage 1: selection_parent

selection_parent:
    ParentImage|endswith: '\onenote.exe'

Stage 2: selection_opt_img

selection_opt_img:
    - OriginalFileName:
          - 'bitsadmin.exe'
          - 'CertOC.exe'
          - 'CertUtil.exe'
          - 'Cmd.Exe'
          - 'CMSTP.EXE'
          - 'cscript.exe'
          - 'curl.exe'
          - 'HH.exe'
          - 'IEExec.exe'
          - 'InstallUtil.exe'
          - 'javaw.exe'
          - 'Microsoft.Workflow.Compiler.exe'
          - 'msdt.exe'
          - 'MSHTA.EXE'
          - 'msiexec.exe'
          - 'Msxsl.exe'
          - 'odbcconf.exe'
          - 'pcalua.exe'
          - 'PowerShell.EXE'
          - 'RegAsm.exe'
          - 'RegSvcs.exe'
          - 'REGSVR32.exe'
          - 'RUNDLL32.exe'
          - 'schtasks.exe'
          - 'ScriptRunner.exe'
          - 'wmic.exe'
          - 'WorkFolders.exe'
          - 'wscript.exe'
    - Image|endswith:
          - '\AppVLP.exe'
          - '\bash.exe'
          - '\bitsadmin.exe'
          - '\certoc.exe'
          - '\certutil.exe'
          - '\cmd.exe'
          - '\cmstp.exe'
          - '\control.exe'
          - '\cscript.exe'
          - '\curl.exe'
          - '\forfiles.exe'
          - '\hh.exe'
          - '\ieexec.exe'
          - '\installutil.exe'
          - '\javaw.exe'
          - '\mftrace.exe'
          - '\Microsoft.Workflow.Compiler.exe'
          - '\msbuild.exe'
          - '\msdt.exe'
          - '\mshta.exe'
          - '\msidb.exe'
          - '\msiexec.exe'
          - '\msxsl.exe'
          - '\odbcconf.exe'
          - '\pcalua.exe'
          - '\powershell.exe'
          - '\pwsh.exe'
          - '\regasm.exe'
          - '\regsvcs.exe'
          - '\regsvr32.exe'
          - '\rundll32.exe'
          - '\schtasks.exe'
          - '\scrcons.exe'
          - '\scriptrunner.exe'
          - '\sh.exe'
          - '\svchost.exe'
          - '\verclsid.exe'
          - '\wmic.exe'
          - '\workfolders.exe'
          - '\wscript.exe'

Stage 3: selection_opt_explorer

selection_opt_explorer:
    Image|endswith: '\explorer.exe'
    CommandLine|contains:
        - '.hta'
        - '.vb'
        - '.wsh'
        - '.js'
        - '.ps'
        - '.scr'
        - '.pif'
        - '.bat'
        - '.cmd'

Stage 4: selection_opt_paths

selection_opt_paths:
    Image|contains:
        - '\AppData\'
        - '\Users\Public\'
        - '\ProgramData\'
        - '\Windows\Tasks\'
        - '\Windows\Temp\'
        - '\Windows\System32\Tasks\'

Stage 5: not filter_*

filter_teams:
    Image|endswith: '\AppData\Local\Microsoft\Teams\current\Teams.exe'
    CommandLine|endswith: '-Embedding'
filter_onedrive:
    Image|contains: '\AppData\Local\Microsoft\OneDrive\'
    Image|endswith: '\FileCoAuth.exe'
    CommandLine|endswith: '-Embedding'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • .bat corpus 10 (sigma 9, elastic 1)
  • .cmd corpus 6 (sigma 5, elastic 1)
  • .hta corpus 6 (sigma 6)
  • .js corpus 9 (sigma 9)
  • .pif
  • .ps corpus 3 (sigma 3)
  • .scr corpus 5 (sigma 5)
  • .vb corpus 3 (sigma 3)
  • .wsh corpus 4 (sigma 4)
field:"CommandLine" kind:match
Imageends_with
  • \AppVLP.exe corpus 6 (sigma 6)
  • \Microsoft.Workflow.Compiler.exe corpus 3 (sigma 3)
  • \bash.exe corpus 21 (sigma 21)
  • \bitsadmin.exe corpus 29 (sigma 29)
  • \certoc.exe corpus 10 (sigma 10)
  • \certutil.exe corpus 43 (sigma 43)
  • \cmd.exe corpus 132 (sigma 130, splunk 2)
  • \cmstp.exe corpus 8 (sigma 8)
  • \control.exe corpus 5 (sigma 5)
  • \cscript.exe corpus 72 (sigma 72)
  • \curl.exe corpus 31 (sigma 31)
  • \explorer.exe corpus 13 (sigma 13)
  • \forfiles.exe corpus 11 (sigma 11)
  • \hh.exe corpus 15 (sigma 15)
  • \ieexec.exe corpus 3 (sigma 3)
  • \installutil.exe corpus 8 (sigma 8)
  • \javaw.exe corpus 2 (sigma 2)
  • \mftrace.exe corpus 6 (sigma 6)
  • \msbuild.exe corpus 9 (sigma 9)
  • \msdt.exe corpus 10 (sigma 9, splunk 1)
  • \mshta.exe corpus 67 (sigma 66, splunk 1)
  • \msidb.exe corpus 2 (sigma 2)
  • \msiexec.exe corpus 20 (sigma 20)
  • \msxsl.exe corpus 6 (sigma 6)
  • \odbcconf.exe corpus 11 (sigma 11)
  • \pcalua.exe corpus 3 (sigma 3)
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \pwsh.exe corpus 166 (sigma 166)
  • \regasm.exe corpus 9 (sigma 9)
  • \regsvcs.exe corpus 8 (sigma 8)
  • \regsvr32.exe corpus 64 (sigma 64)
  • \rundll32.exe corpus 94 (sigma 94)
  • \schtasks.exe corpus 55 (sigma 55)
  • \scrcons.exe corpus 9 (sigma 9)
  • \scriptrunner.exe corpus 12 (sigma 12)
  • \sh.exe corpus 16 (sigma 16)
  • \svchost.exe corpus 22 (sigma 22)
  • \verclsid.exe corpus 4 (sigma 4)
  • \wmic.exe corpus 62 (sigma 62)
  • \workfolders.exe corpus 2 (sigma 2)
  • \wscript.exe corpus 74 (sigma 74)
field:"Image" kind:ends_with
Imagematch
  • \AppData\ corpus 6 (sigma 6)
  • \ProgramData\ corpus 2 (sigma 2)
  • \Users\Public\ corpus 9 (sigma 9)
  • \Windows\System32\Tasks\ corpus 3 (sigma 3)
  • \Windows\Tasks\ corpus 3 (sigma 3)
  • \Windows\Temp\ corpus 8 (sigma 7, splunk 1)
field:"Image" kind:match
OriginalFileNameeq
  • CMSTP.EXE corpus 9 (sigma 5, elastic 4)
  • CertOC.exe corpus 8 (sigma 6, elastic 2)
  • CertUtil.exe corpus 26 (sigma 14, elastic 6, splunk 6)
  • Cmd.Exe corpus 75 (sigma 43, splunk 17, elastic 15)
  • HH.exe corpus 11 (sigma 5, splunk 4, elastic 2)
  • IEExec.exe corpus 5 (sigma 3, elastic 2)
  • InstallUtil.exe corpus 19 (elastic 9, sigma 6, splunk 4)
  • MSHTA.EXE corpus 40 (elastic 21, sigma 13, splunk 6)
  • Microsoft.Workflow.Compiler.exe corpus 11 (elastic 6, sigma 3, splunk 2)
  • Msxsl.exe corpus 9 (elastic 6, sigma 3)
  • PowerShell.EXE corpus 134 (sigma 86, splunk 30, elastic 18)
  • REGSVR32.exe corpus 37 (sigma 17, elastic 15, splunk 5)
  • RUNDLL32.exe corpus 72 (sigma 35, splunk 21, elastic 16)
  • RegAsm.exe corpus 13 (sigma 6, elastic 6, splunk 1)
  • RegSvcs.exe corpus 12 (elastic 6, sigma 5, splunk 1)
  • ScriptRunner.exe corpus 6 (sigma 3, elastic 3)
  • WorkFolders.exe corpus 4 (sigma 2, elastic 2)
  • bitsadmin.exe corpus 19 (sigma 9, elastic 8, splunk 2)
  • cscript.exe corpus 32 (sigma 17, elastic 15)
  • curl.exe corpus 22 (sigma 13, elastic 6, splunk 3)
  • javaw.exe corpus 4 (sigma 2, elastic 2)
  • msdt.exe corpus 7 (sigma 6, elastic 1)
  • msiexec.exe corpus 18 (elastic 9, sigma 5, splunk 4)
  • odbcconf.exe corpus 11 (sigma 9, elastic 2)
  • pcalua.exe corpus 4 (sigma 2, elastic 2)
  • schtasks.exe corpus 29 (sigma 18, elastic 7, splunk 4)
  • wmic.exe corpus 74 (sigma 38, elastic 18, splunk 18)
  • wscript.exe corpus 37 (elastic 20, sigma 17)
field:"OriginalFileName" kind:eq
ParentImageends_with
  • \onenote.exe corpus 5 (sigma 5)
field:"ParentImage" kind:ends_with value:"\onenote.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLineends_with-Embeddingexcludes:CommandLine field:"CommandLine" value:"-Embedding"
Imageends_with\AppData\Local\Microsoft\Teams\current\Teams.exeexcludes:Image field:"Image" value:"\AppData\Local\Microsoft\Teams\current\Teams.exe"
Imageends_with\FileCoAuth.exeexcludes:Image field:"Image" value:"\FileCoAuth.exe"
Imagematch\AppData\Local\Microsoft\OneDrive\excludes:Image field:"Image" value:"\AppData\Local\Microsoft\OneDrive\"

Suspicious SPN enumeration previous to Kerberoasting attack (native commands)

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

Detects scenarios where an attacker attempts to retrieve SPN using commandline and native tools.

Known False Positives

  • Administrators

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious SPN enumeration previous to Kerberoasting attack (native commands)
description: Detects scenarios where an attacker attempts to retrieve SPN using commandline and native tools.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0007-Discovery/T1087-Account%20discovery
- https://github.com/nidem/kerberoast
- https://github.com/cyberark/RiskySPN
- https://pentestlab.blog/2018/06/04/spn-discovery/
- https://adsecurity.org/?p=3458
- https://www.security.com/threat-intelligence/us-china-espionage
tags:
- attack.account_discovery
- attack.t1087.002 # Account Discovery: Domain Account
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: process_creation
detection: # full command : 'setspn -T my_domain -Q */*'
  selection:
    NewProcessName|endswith: \setspn.exe
    CommandLine|contains: # Perform query on the specified domain
      - '/Q'
      - '-Q'
  condition: selection
falsepositives:
- Administrators
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  NewProcessName|endswith: \setspn.exe
  CommandLine|contains:
    - '/Q'
    - '-Q'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -Q corpus 8 (sigma 7, splunk 1)
  • /Q corpus 10 (sigma 9, splunk 1)
field:"CommandLine" kind:match
NewProcessNameends_with
  • \setspn.exe corpus 3 (sigma 3)
field:"Image" kind:ends_with value:"\setspn.exe"

System Restore Registry Modification via CommandLine

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

Detects system restore registry modification via command line, which can be used by adversaries to disable system restore on the computer.

MITRE ATT&CK Coverage

TacticTechniques
Impact

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: System Restore Registry Modification via CommandLine
id: 7c06ab9b-b1d2-4ba9-b06e-09491ded20d9
related:
    - id: 5de03871-5d46-4539-a82d-3aa992a69a83
      type: similar
status: experimental
description: |
    Detects system restore registry modification via command line, which can be used by adversaries to disable system restore on the computer.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1490/T1490.md#atomic-test-9---disable-system-restore-through-registry
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2026-03-11
tags:
    - attack.impact
    - attack.t1490
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_action:
        CommandLine|contains:
            - ' add '
            - 'Set-ItemProperty'
            - 'New-ItemProperty'
    selection_cli_reg_root:
        CommandLine|contains:
            - '\SOFTWARE\Policies\Microsoft\Windows NT\SystemRestore'
            - '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore'
    selection_cli_reg_key:
        CommandLine|contains:
            - 'DisableConfig'
            - 'DisableSR'
    condition: all of selection_*
falsepositives:
    - Unknown
level: high
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_reg_system_restore_modification/info.yml
simulation:
    - type: atomic-red-team
      name: Disable System Restore Through Registry
      technique: T1490
      atomic_guid: 66e647d1-8741-4e43-b7c1-334760c2047f

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_action

selection_cli_action:
    CommandLine|contains:
        - ' add '
        - 'Set-ItemProperty'
        - 'New-ItemProperty'

Stage 3: selection_cli_reg_root

selection_cli_reg_root:
    CommandLine|contains:
        - '\SOFTWARE\Policies\Microsoft\Windows NT\SystemRestore'
        - '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore'

Stage 4: selection_cli_reg_key

selection_cli_reg_key:
    CommandLine|contains:
        - 'DisableConfig'
        - 'DisableSR'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • add corpus 14 (sigma 13, splunk 1)
  • DisableConfig corpus 2 (sigma 2)
  • DisableSR
  • New-ItemProperty corpus 7 (sigma 7)
  • Set-ItemProperty corpus 7 (sigma 7)
  • \SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore
  • \SOFTWARE\Policies\Microsoft\Windows NT\SystemRestore
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

UAC Bypass Abusing Winsat Path Parsing - Registry

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

Detects the pattern of UAC Bypass using a path parsing issue in winsat.exe (UACMe 52)

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: UAC Bypass Abusing Winsat Path Parsing - Registry
id: 6597be7b-ac61-4ac8-bef4-d3ec88174853
status: test
description: Detects the pattern of UAC Bypass using a path parsing issue in winsat.exe (UACMe 52)
references:
    - https://github.com/hfiref0x/UACME
author: Christian Burkard (Nextron Systems)
date: 2021-08-30
modified: 2023-08-17
tags:
    - attack.privilege-escalation
    - attack.t1548.002
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|contains: '\Root\InventoryApplicationFile\winsat.exe|'
        TargetObject|endswith: '\LowerCaseLongPath'
        Details|startswith: 'c:\users\'
        Details|endswith: '\appdata\local\temp\system32\winsat.exe'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|contains: '\Root\InventoryApplicationFile\winsat.exe|'
    TargetObject|endswith: '\LowerCaseLongPath'
    Details|startswith: 'c:\users\'
    Details|endswith: '\appdata\local\temp\system32\winsat.exe'

Indicators

These rows show field, operator, and value matches.

UAC Bypass Using DismHost

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

Detects the pattern of UAC Bypass using DismHost DLL hijacking (UACMe 63)

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: UAC Bypass Using DismHost
id: 853e74f9-9392-4935-ad3b-2e8c040dae86
status: test
description: Detects the pattern of UAC Bypass using DismHost DLL hijacking (UACMe 63)
references:
    - https://github.com/hfiref0x/UACME
author: Christian Burkard (Nextron Systems)
date: 2021-08-30
modified: 2024-12-01
tags:
    - attack.privilege-escalation
    - attack.t1548.002
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|contains|all:
            - 'C:\Users\'
            - '\AppData\Local\Temp\'
            - '\DismHost.exe'
        IntegrityLevel:
            - 'High'
            - 'System'
            - 'S-1-16-16384' # System
            - 'S-1-16-12288' # High
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ParentImage|contains|all:
        - 'C:\Users\'
        - '\AppData\Local\Temp\'
        - '\DismHost.exe'
    IntegrityLevel:
        - 'High'
        - 'System'
        - 'S-1-16-16384'
        - 'S-1-16-12288'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
IntegrityLeveleq
  • High corpus 18 (sigma 17, splunk 1)
  • S-1-16-12288 corpus 18 (sigma 17, splunk 1)
  • S-1-16-16384 corpus 31 (sigma 22, splunk 5, elastic 3, kusto 1)
  • System corpus 31 (sigma 22, splunk 5, elastic 3, kusto 1)
field:"IntegrityLevel" kind:eq
ParentImagematch
  • C:\Users\
  • \AppData\Local\Temp\ corpus 2 (sigma 2)
  • \DismHost.exe
field:"ParentImage" kind:match

UNC4841 - Download Compressed Files From Temp.sh Using Wget

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

Detects execution of "wget" to download a ".zip" or ".rar" files from "temp.sh". As seen used by UNC4841 during their Barracuda ESG zero day exploitation.

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: UNC4841 - Download Compressed Files From Temp.sh Using Wget
id: 60d050c4-e253-4d9a-b673-5ac100cfddfb
status: test
description: Detects execution of "wget" to download a ".zip" or ".rar" files from "temp.sh". As seen used by UNC4841 during their Barracuda ESG zero day exploitation.
references:
    - https://www.mandiant.com/resources/blog/barracuda-esg-exploited-globally
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-06-16
tags:
    - attack.stealth
    - attack.t1140
    - detection.emerging-threats
logsource:
    product: linux
    category: process_creation
detection:
    selection:
        Image|endswith: '/wget'
        CommandLine|contains: 'https://temp.sh/'
        CommandLine|endswith:
            - '.rar'
            - '.zip'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '/wget'
    CommandLine|contains: 'https://temp.sh/'
    CommandLine|endswith:
        - '.rar'
        - '.zip'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLineends_with
  • .rar
  • .zip corpus 2 (sigma 2)
field:"CommandLine" kind:ends_with
CommandLinematch
  • https://temp.sh/
field:"CommandLine" kind:match value:"https://temp.sh/"
Imageends_with
  • /wget corpus 14 (sigma 14)
field:"Image" kind:ends_with value:"/wget"

Using SettingSyncHost.exe as LOLBin

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

Detects using SettingSyncHost.exe to run hijacked binary

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Using SettingSyncHost.exe as LOLBin
id: b2ddd389-f676-4ac4-845a-e00781a48e5f
status: test
description: Detects using SettingSyncHost.exe to run hijacked binary
references:
    - https://www.hexacorn.com/blog/2020/02/02/settingsynchost-exe-as-a-lolbin
author: Anton Kutepov, oscd.community
date: 2020-02-05
modified: 2021-11-27
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.execution
    - attack.stealth
    - attack.t1574.008
logsource:
    category: process_creation
    product: windows
detection:
    system_utility:
        Image|startswith:
            - 'C:\Windows\System32\'
            - 'C:\Windows\SysWOW64\'
    parent_is_settingsynchost:
        ParentCommandLine|contains|all:
            - 'cmd.exe /c'
            - 'RoamDiag.cmd'
            - '-outputpath'
    condition: not system_utility and parent_is_settingsynchost
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

not system_utility and parent_is_settingsynchost

Stage 1: not system_utility

system_utility:
    Image|startswith:
        - 'C:\Windows\System32\'
        - 'C:\Windows\SysWOW64\'

Stage 2: parent_is_settingsynchost

parent_is_settingsynchost:
    ParentCommandLine|contains|all:
        - 'cmd.exe /c'
        - 'RoamDiag.cmd'
        - '-outputpath'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ParentCommandLinematch
  • -outputpath
  • RoamDiag.cmd
  • cmd.exe /c
field:"ParentCommandLine" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imagestarts_withC:\Windows\SysWOW64\excludes:Image field:"Image" value:"C:\Windows\SysWOW64\"
Imagestarts_withC:\Windows\System32\excludes:Image field:"Image" value:"C:\Windows\System32\"

VeeamBackup Database Credentials Dump Via Sqlcmd.EXE

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

Detects dump of credentials in VeeamBackup dbo

MITRE ATT&CK Coverage

TacticTechniques
Collection

Telemetry Coverage

Rule Body

title: VeeamBackup Database Credentials Dump Via Sqlcmd.EXE
id: b57ba453-b384-4ab9-9f40-1038086b4e53
status: test
description: Detects dump of credentials in VeeamBackup dbo
references:
    - https://thedfirreport.com/2021/12/13/diavol-ransomware/
    - https://forums.veeam.com/veeam-backup-replication-f2/recover-esxi-password-in-veeam-t34630.html
author: frack113
date: 2021-12-20
modified: 2023-02-13
tags:
    - attack.collection
    - attack.t1005
logsource:
    category: process_creation
    product: windows
detection:
    selection_tools:
        Image|endswith: '\sqlcmd.exe'
    selection_query:
        CommandLine|contains|all:
            - 'SELECT'
            - 'TOP'
            - '[VeeamBackup].[dbo].[Credentials]'
    condition: all of selection_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_tools

selection_tools:
    Image|endswith: '\sqlcmd.exe'

Stage 2: selection_query

selection_query:
    CommandLine|contains|all:
        - 'SELECT'
        - 'TOP'
        - '[VeeamBackup].[dbo].[Credentials]'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • SELECT corpus 4 (sigma 4)
  • TOP corpus 2 (sigma 2)
  • [VeeamBackup].[dbo].[Credentials]
field:"CommandLine" kind:match
Imageends_with
  • \sqlcmd.exe corpus 5 (sigma 5)
field:"Image" kind:ends_with value:"\sqlcmd.exe"

Back to all Sigma rules