Detection rules › Sigma

Sigma rules: 09

RuleSeverity
Active Directory honeypot used for lateral movementhigh
Computer Discovery And Export Via Get-ADComputer Cmdletmedium
HAFNIUM Exchange Exploitation Activitycritical
HTTP Logging Disabled On IIS Serverhigh
Kubernetes Unauthorized or Unauthenticated Accesslow
Modification or Deletion of an AWS RDS Clusterhigh
OilRig APT Schedule Task Persistence - Securitycritical
Onyx Sleet APT File Creation Indicatorshigh
Persistence Via Sudoers.d Filesmedium
Potential CommandLine Obfuscation Using Unicode Characters From Suspicious Imagehigh
Potential Persistence Via Disk Cleanup Handler - Registrymedium
Potential Persistence Via New AMSI Providers - Registrymedium
Potential Privilege Escalation Attempt Via .Exe.Local Techniquehigh
Potential Vcruntime140 DLL Sideloadinghigh
Potentially Suspicious EventLog Recon Activity Using Log Query Utilitiesmedium
Powershell Create Scheduled Taskmedium
PowerShell Defender Threat Severity Default Action Set to 'Allow' or 'NoAction'high
PowerShell Profile Modificationmedium
Previously Installed IIS Module Was Removedlow
Remote PowerShell Session (PS Module)high
Scheduled Task Creation Via Schtasks.EXElow
Service permissions hijacked for privileges abuse (service)high
Suspicious Invocation of Shell via AWK - Linuxhigh
Suspicious WindowsTerminal Child Processesmedium
Sysinternals PsSuspend Suspicious Executionhigh
System Integrity Protection (SIP) Disabledmedium
TanStack Supply-Chain Attack File Creation Indicators - Linuxmedium
UAC Bypass Using Windows Media Player - Filehigh
Uncommon AddinUtil.EXE CommandLine Executionmedium
Unfamiliar Sign-In Propertieshigh

Active Directory honeypot used for lateral movement

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

Detects scenarios where an attacker is using

Known False Positives

  • pentest

MITRE ATT&CK Coverage

TacticTechniques
Lateral Movement

Telemetry Coverage

Rule Body

title: Active Directory honeypot used for lateral movement
description: Detects scenarios where an attacker is using
requirements: ensure that those accounts are "attractive", documented, do not create any breach and cannot be used against your organization.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0007-Discovery/T1087-Account%20discovery
- http://www.labofapenetrationtester.com/2018/10/deploy-deception.html
- https://jblog.javelin-networks.com/blog/the-honeypot-buster/
tags:
- attack.lateral_movement
- attack.t1021
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID:
      - 4624
      - 4625
      - 4768
      - 4769
      - 4770
      - 4771
      - 5140
      - 5145
    TargetUserName: '%honeypot_account_list%'
  condition: selection
falsepositives:
- pentest
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  EventID:
    - 4624
    - 4625
    - 4768
    - 4769
    - 4770
    - 4771
    - 5140
    - 5145
  TargetUserName: '%honeypot_account_list%'

Indicators

These rows show field, operator, and value matches.

Computer Discovery And Export Via Get-ADComputer Cmdlet

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

Detects usage of the Get-ADComputer cmdlet to collect computer information and output it to a file

Known False Positives

  • Legitimate admin scripts may use the same technique, it's better to exclude specific computers or users who execute these commands or scripts often

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Computer Discovery And Export Via Get-ADComputer Cmdlet
id: 435e10e4-992a-4281-96f3-38b11106adde
related:
    - id: db885529-903f-4c5d-9864-28fe199e6370
      type: similar
status: test
description: Detects usage of the Get-ADComputer cmdlet to collect computer information and output it to a file
references:
    - http://blog.talosintelligence.com/2022/09/lazarus-three-rats.html
    - https://www.microsoft.com/en-us/security/blog/2022/10/18/defenders-beware-a-case-for-post-ransomware-investigations/
    - https://www.cisa.gov/uscert/sites/default/files/publications/aa22-320a_joint_csa_iranian_government-sponsored_apt_actors_compromise_federal%20network_deploy_crypto%20miner_credential_harvester.pdf
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-11-10
modified: 2022-11-17
tags:
    - attack.discovery
    - attack.t1033
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith:
              - '\powershell.exe'
              - '\pwsh.exe'
        - OriginalFileName:
              - 'PowerShell.EXE'
              - 'pwsh.dll'
    selection_cli:
        CommandLine|contains|all:
            - 'Get-ADComputer '
            - ' -Filter \*'
        CommandLine|contains:
            - ' > '
            - ' | Select '
            - 'Out-File'
            - 'Set-Content'
            - 'Add-Content'
    condition: all of selection_*
falsepositives:
    - Legitimate admin scripts may use the same technique, it's better to exclude specific computers or users who execute these commands or scripts often
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|all:
        - 'Get-ADComputer '
        - ' -Filter \*'
    CommandLine|contains:
        - ' > '
        - ' | Select '
        - 'Out-File'
        - 'Set-Content'
        - 'Add-Content'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -Filter \* corpus 2 (sigma 2)
  • > corpus 5 (sigma 5)
  • | Select corpus 2 (sigma 2)
  • Add-Content corpus 2 (sigma 2)
  • Get-ADComputer
  • Out-File corpus 3 (sigma 3)
  • Set-Content corpus 2 (sigma 2)
field:"CommandLine" kind:match
Imageends_with
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \pwsh.exe corpus 166 (sigma 166)
field:"Image" kind:ends_with
OriginalFileNameeq
  • PowerShell.EXE corpus 134 (sigma 86, splunk 30, elastic 18)
  • pwsh.dll corpus 115 (sigma 81, splunk 30, elastic 4)
field:"OriginalFileName" kind:eq

HAFNIUM Exchange Exploitation Activity

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

Detects activity observed by different researchers to be HAFNIUM group activity (or related) on Exchange servers

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: HAFNIUM Exchange Exploitation Activity
id: bbb2dedd-a0e3-46ab-ba6c-6c82ae7a9aa7
status: test
description: Detects activity observed by different researchers to be HAFNIUM group activity (or related) on Exchange servers
references:
    - https://blog.truesec.com/2021/03/07/exchange-zero-day-proxylogon-and-hafnium/
    - https://www.microsoft.com/security/blog/2021/03/02/hafnium-targeting-exchange-servers/
    - https://discuss.elastic.co/t/detection-and-response-for-hafnium-activity/266289/3
    - https://twitter.com/GadixCRK/status/1369313704869834753?s=20
    - https://twitter.com/BleepinComputer/status/1372218235949617161
author: Florian Roth (Nextron Systems)
date: 2021-03-09
modified: 2023-03-09
tags:
    - attack.privilege-escalation
    - attack.execution
    - attack.persistence
    - attack.t1546
    - attack.t1053
    - attack.g0125
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection_attrib:
        CommandLine|contains|all:
            - 'attrib'
            - ' +h '
            - ' +s '
            - ' +r '
            - '.aspx'
    selection_vsperfmon:
        - Image|contains: '\ProgramData\VSPerfMon\'
        - CommandLine|contains|all:
              - 'schtasks'
              - 'VSPerfMon'
    selection_opera_1:
        Image|endswith: 'Opera_browser.exe'
        ParentImage|endswith:
            - '\services.exe'
            - '\svchost.exe'
    selection_opera_2:
        Image|endswith: 'Users\Public\opera\Opera_browser.exe'
    selection_vssadmin:
        CommandLine|contains|all:
            - 'vssadmin list shadows'
            - 'Temp\__output'
    selection_makecab_1:
        Image|endswith: '\makecab.exe'
        CommandLine|contains|all:
            - 'inetpub\wwwroot\'
            - '.dmp.zip'
    selection_makecab_2:
        Image|endswith: '\makecab.exe'
        CommandLine|contains:
            - 'Microsoft\Exchange Server\'
            - 'compressionmemory'
            - '.gif'
    selection_7zip:
        CommandLine|contains|all:
            - ' -t7z '
            - 'C:\Programdata\pst'
            - '\it.zip'
    selection_rundll32:
        CommandLine|contains|all:
            - '\comsvcs.dll'
            - 'Minidump'
            - 'full '
            - '\inetpub\wwwroot'
    selection_other:
        CommandLine|contains:
            - 'Windows\Temp\xx.bat'
            - 'Windows\WwanSvcdcs'
            - 'Windows\Temp\cw.exe'
    condition: 1 of selection*
falsepositives:
    - Unlikely
level: critical

Stages and Predicates

Stage 0: condition

1 of selection*

Stage 1: selection_attrib

selection_attrib:
    CommandLine|contains|all:
        - 'attrib'
        - ' +h '
        - ' +s '
        - ' +r '
        - '.aspx'

Stage 2: selection_vsperfmon

selection_vsperfmon:
    - Image|contains: '\ProgramData\VSPerfMon\'
    - CommandLine|contains|all:
          - 'schtasks'
          - 'VSPerfMon'

Stage 3: selection_opera_1

selection_opera_1:
    Image|endswith: 'Opera_browser.exe'
    ParentImage|endswith:
        - '\services.exe'
        - '\svchost.exe'

Stage 4: selection_opera_2

selection_opera_2:
    Image|endswith: 'Users\Public\opera\Opera_browser.exe'

Stage 5: selection_vssadmin

selection_vssadmin:
    CommandLine|contains|all:
        - 'vssadmin list shadows'
        - 'Temp\__output'

Stage 6: selection_makecab_1

selection_makecab_1:
    Image|endswith: '\makecab.exe'
    CommandLine|contains|all:
        - 'inetpub\wwwroot\'
        - '.dmp.zip'

Stage 7: selection_makecab_2

selection_makecab_2:
    Image|endswith: '\makecab.exe'
    CommandLine|contains:
        - 'Microsoft\Exchange Server\'
        - 'compressionmemory'
        - '.gif'

Stage 8: selection_7zip

selection_7zip:
    CommandLine|contains|all:
        - ' -t7z '
        - 'C:\Programdata\pst'
        - '\it.zip'

Stage 9: selection_rundll32

selection_rundll32:
    CommandLine|contains|all:
        - '\comsvcs.dll'
        - 'Minidump'
        - 'full '
        - '\inetpub\wwwroot'

Stage 10: selection_other

selection_other:
    CommandLine|contains:
        - 'Windows\Temp\xx.bat'
        - 'Windows\WwanSvcdcs'
        - 'Windows\Temp\cw.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • +h corpus 2 (sigma 2)
  • +r
  • +s corpus 2 (sigma 2)
  • -t7z
  • .aspx corpus 2 (sigma 2)
  • .dmp.zip
  • .gif corpus 9 (sigma 8, elastic 1)
  • C:\Programdata\pst
  • Microsoft\Exchange Server\
  • Minidump corpus 4 (sigma 4)
  • Temp\__output
  • VSPerfMon
  • Windows\Temp\cw.exe
  • Windows\Temp\xx.bat
  • Windows\WwanSvcdcs
  • \comsvcs.dll
  • \inetpub\wwwroot
  • \it.zip
  • attrib
  • compressionmemory
  • full
  • inetpub\wwwroot\
  • schtasks corpus 5 (sigma 5)
  • vssadmin list shadows corpus 2 (sigma 2)
field:"CommandLine" kind:match
Imageends_with
  • Opera_browser.exe
  • Users\Public\opera\Opera_browser.exe
  • \makecab.exe corpus 4 (sigma 4)
field:"Image" kind:ends_with
Imagematch
  • \ProgramData\VSPerfMon\
field:"Image" kind:match value:"\ProgramData\VSPerfMon\"
ParentImageends_with
  • \services.exe corpus 8 (sigma 8)
  • \svchost.exe corpus 14 (sigma 14)
field:"ParentImage" kind:ends_with

HTTP Logging Disabled On IIS Server

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

Detects changes to of the IIS server configuration in order to disable HTTP logging for successful requests.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: HTTP Logging Disabled On IIS Server
id: e8ebd53a-30c2-45bd-81bb-74befba07bdb
status: test
description: Detects changes to of the IIS server configuration in order to disable HTTP logging for successful requests.
references:
    - https://learn.microsoft.com/en-us/iis/manage/provisioning-and-managing-iis/configure-logging-in-iis
    - https://www.microsoft.com/en-us/security/blog/2022/12/12/iis-modules-the-evolution-of-web-shells-and-how-to-detect-them/
    - https://learn.microsoft.com/en-us/iis/configuration/system.webserver/httplogging
author: frack113
date: 2024-10-06
tags:
    - attack.persistence
    - attack.defense-impairment
    - attack.t1685.001
    - attack.t1505.004
logsource:
    product: windows
    service: iis-configuration
detection:
    selection:
        EventID: 29
        Configuration: '/system.webServer/httpLogging/@dontLog'
        NewValue: 'true'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 29
    Configuration: '/system.webServer/httpLogging/@dontLog'
    NewValue: 'true'

Indicators

These rows show field, operator, and value matches.

Kubernetes Unauthorized or Unauthenticated Access

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

Detects when a request to the Kubernetes API is rejected due to lack of authorization or due to an expired authentication token being used. This may indicate an attacker attempting to leverage credentials they have obtained.

Known False Positives

  • A misconfigured RBAC policy, a mistake by a valid user, or a wider issue with authentication tokens can also generate these errors.

MITRE ATT&CK Coverage

TacticTechniques
Privilege EscalationNo specific technique

Rule Body

title: Kubernetes Unauthorized or Unauthenticated Access
id: 0d933542-1f1f-420d-97d4-21b2c3c492d9
status: test
description: |
    Detects when a request to the Kubernetes API is rejected due to lack of authorization or due to an expired authentication token being used.
    This may indicate an attacker attempting to leverage credentials they have obtained.
references:
    - https://kubernetes.io/docs/reference/config-api/apiserver-audit.v1/
    - https://www.datadoghq.com/blog/monitor-kubernetes-audit-logs/#monitor-api-authentication-issues
author: kelnage
date: 2024-04-12
tags:
    - attack.privilege-escalation
logsource:
    product: kubernetes
    service: audit
detection:
    selection:
        responseStatus.code:
            - 401 # Unauthorized
            - 403 # Forbidden
    condition: selection
falsepositives:
    - A misconfigured RBAC policy, a mistake by a valid user, or a wider issue with authentication tokens can also generate these errors.
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    responseStatus.code:
        - 401
        - 403

Indicators

These rows show field, operator, and value matches.

Modification or Deletion of an AWS RDS Cluster

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

Detects modifications to an RDS cluster or its deletion, which may indicate potential data exfiltration attempts, unauthorized access, or exposure of sensitive information.

Known False Positives

  • Verify if the modification or deletion was performed by an authorized administrator.
  • Confirm if the modification or deletion was part of a planned change or maintenance activity.

MITRE ATT&CK Coverage

TacticTechniques
Exfiltration

Telemetry Coverage

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: Modification or Deletion of an AWS RDS Cluster
id: 457cc9ac-d8e6-4d1d-8c0e-251d0f11a74c
status: experimental
description: Detects modifications to an RDS cluster or its deletion, which may indicate potential data exfiltration attempts, unauthorized access, or exposure of sensitive information.
references:
    - https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html
    - https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBCluster.html
    - https://cloud.hacktricks.xyz/pentesting-cloud/aws-security/aws-privilege-escalation/aws-rds-privesc#rds-modifydbinstance
author: Ivan Saakov
date: 2024-12-06
tags:
    - attack.exfiltration
    - attack.t1020
logsource:
    product: aws
    service: cloudtrail
detection:
    selection:
        eventSource: rds.amazonaws.com
        eventName:
            - ModifyDBCluster
            - DeleteDBCluster
    condition: selection
falsepositives:
    - Verify if the modification or deletion was performed by an authorized administrator.
    - Confirm if the modification or deletion was part of a planned change or maintenance activity.
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    eventSource: rds.amazonaws.com
    eventName:
        - ModifyDBCluster
        - DeleteDBCluster

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
eventNameeq
  • DeleteDBCluster
  • ModifyDBCluster corpus 2 (sigma 1, splunk 1)
field:"aws::eventName" kind:eq
eventSourceeq
  • rds.amazonaws.com corpus 5 (sigma 4, splunk 1)
field:"aws::eventSource" kind:eq value:"rds.amazonaws.com"

OilRig APT Schedule Task Persistence - Security

#
Status
test
Severity
critical
Author
Florian Roth (Nextron Systems), Markus Neis, Jonhnathan Ribeiro, Daniil Yugoslavskiy, oscd.community
Source
github.com/SigmaHQ/sigma

Detects OilRig schedule task persistence as reported by Nyotron in their March 2018 report

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: OilRig APT Schedule Task Persistence - Security
id: c0580559-a6bd-4ef6-b9b7-83703d98b561
related:
    - id: 53ba33fd-3a50-4468-a5ef-c583635cfa92 # System
      type: similar
    - id: 7bdf2a7c-3acc-4091-9581-0a77dad1c5b5 # Registry
      type: similar
    - id: ce6e34ca-966d-41c9-8d93-5b06c8b97a06 # ProcessCreation
      type: similar
status: test
description: Detects OilRig schedule task persistence as reported by Nyotron in their March 2018 report
references:
    - https://web.archive.org/web/20180402134442/https://nyotron.com/wp-content/uploads/2018/03/Nyotron-OilRig-Malware-Report-March-2018C.pdf
author: Florian Roth (Nextron Systems), Markus Neis, Jonhnathan Ribeiro, Daniil Yugoslavskiy, oscd.community
date: 2018-03-23
modified: 2023-03-08
tags:
    - attack.privilege-escalation
    - attack.execution
    - attack.persistence
    - attack.defense-impairment
    - attack.g0049
    - attack.t1053.005
    - attack.s0111
    - attack.t1543.003
    - attack.t1112
    - attack.command-and-control
    - attack.t1071.004
    - detection.emerging-threats
logsource:
    product: windows
    service: security
detection:
    selection_service:
        EventID: 4698
        TaskName:
            - 'SC Scheduled Scan'
            - 'UpdatMachine'
    condition: selection_service
falsepositives:
    - Unlikely
level: critical

Stages and Predicates

Stage 0: condition

selection_service

Stage 1: selection_service

selection_service:
    EventID: 4698
    TaskName:
        - 'SC Scheduled Scan'
        - 'UpdatMachine'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TaskNameeq
  • SC Scheduled Scan
  • UpdatMachine
field:"TaskName" kind:eq

Onyx Sleet APT File Creation Indicators

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

Detects file creation activity that is related to Onyx Sleet APT activity

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
ExecutionNo specific technique

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: Onyx Sleet APT File Creation Indicators
id: 2fef4fd9-7206-40d1-b4f5-ad6441d0cd9b
status: test
description: Detects file creation activity that is related to Onyx Sleet APT activity
references:
    - https://www.microsoft.com/en-us/security/blog/2023/10/18/multiple-north-korean-threat-actors-exploiting-the-teamcity-cve-2023-42793-vulnerability/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-10-24
tags:
    - attack.execution
    - detection.emerging-threats
logsource:
    category: file_event
    product: windows
detection:
    selection:
        TargetFilename|endswith: ':\Windows\ADFS\bg\inetmgr.exe'
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetFilename|endswith: ':\Windows\ADFS\bg\inetmgr.exe'

Indicators

These rows show field, operator, and value matches.

Persistence Via Sudoers.d Files

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

Detects the creation or modification of files within the "sudoers.d" directory on Linux systems. Such activity may indicate an attempt to establish or maintain privilege escalation by granting specific users elevated permissions. Unauthorized changes to sudoers files are a common technique used by attackers to persist administrative access.

Known False Positives

  • Creation of legitimate files in sudoers.d folder as part of administrator work

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 11: File created

Rule Body

title: Persistence Via Sudoers.d Files
id: ddb26b76-4447-4807-871f-1b035b2bfa5d
status: test
description: |
    Detects the creation or modification of files within the "sudoers.d" directory on Linux systems.
    Such activity may indicate an attempt to establish or maintain privilege escalation by granting specific users elevated permissions.
    Unauthorized changes to sudoers files are a common technique used by attackers to persist administrative access.
references:
    - https://github.com/h3xduck/TripleCross/blob/1f1c3e0958af8ad9f6ebe10ab442e75de33e91de/apps/deployer.sh
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-07-05
modified: 2026-03-18
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1548.003
logsource:
    product: linux
    category: file_event
detection:
    selection:
        TargetFilename|startswith: '/etc/sudoers.d/'
    filter_main_dpkg:
        Image|endswith: '/usr/bin/dpkg'
        TargetFilename: '/etc/sudoers.d/README.dpkg-new'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Creation of legitimate files in sudoers.d folder as part of administrator work
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    TargetFilename|startswith: '/etc/sudoers.d/'

Stage 2: not filter_main_dpkg

filter_main_dpkg:
    Image|endswith: '/usr/bin/dpkg'
    TargetFilename: '/etc/sudoers.d/README.dpkg-new'

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imageends_with/usr/bin/dpkgexcludes:Image field:"Image" value:"/usr/bin/dpkg"
TargetFilenameeq/etc/sudoers.d/README.dpkg-newexcludes:TargetFilename field:"TargetFilename" value:"/etc/sudoers.d/README.dpkg-new"

Potential CommandLine Obfuscation Using Unicode Characters From Suspicious Image

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

Detects potential commandline obfuscation using unicode characters. Adversaries may attempt to make an executable or file difficult to discover or analyze by encrypting, encoding, or otherwise obfuscating its contents on the system or in transit.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potential CommandLine Obfuscation Using Unicode Characters From Suspicious Image
id: 584bca0f-3608-4402-80fd-4075ff6072e3
related:
    - id: e0552b19-5a83-4222-b141-b36184bb8d79
      type: similar
    - id: ad691d92-15f2-4181-9aa4-723c74f9ddc3 # RTLO
      type: similar
    - id: 2c0d2d7b-30d6-4d14-9751-7b9113042ab9
      type: obsolete
status: test
description: |
    Detects potential commandline obfuscation using unicode characters.
    Adversaries may attempt to make an executable or file difficult to discover or analyze by encrypting, encoding, or otherwise obfuscating its contents on the system or in transit.
references:
    - https://www.wietzebeukema.nl/blog/windows-command-line-obfuscation
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1027/T1027.md#atomic-test-6---dlp-evasion-via-sensitive-data-in-vba-macro-over-http
author: frack113, Florian Roth (Nextron Systems), Josh Nickels
date: 2024-09-02
modified: 2025-05-30
tags:
    - attack.stealth
    - attack.t1027
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        Image|endswith:
            - '\cmd.exe'
            - '\cscript.exe'
            - '\powershell.exe'
            - '\powershell_ise.exe'
            - '\pwsh.exe'
            - '\wscript.exe'
        OriginalFileName:
            - 'Cmd.EXE'
            - 'cscript.exe'
            - 'PowerShell.EXE'
            - 'PowerShell_ISE.EXE'
            - 'pwsh.dll'
            - 'wscript.exe'
    selection_special_chars:
        CommandLine|contains:
            # spacing modifier letters that get auto-replaced
            - 'ˣ' # 0x02E3
            - '˪' # 0x02EA
            - 'ˢ' # 0x02E2
            # Forward slash alternatives
            - '∕' # 0x22FF
            - '⁄' # 0x206F
            # Hyphen alternatives
            - '―' # 0x2015
            - '—' # 0x2014
            # Whitespace that don't work as path separator
            - ' ' # 0x00A0
            # Other
            - '¯'
            - '®'
            - '¶'
            # Unicode whitespace characters
            - '⠀' # Braille Pattern Blank (Unicode: U+2800)
    condition: all of selection_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    Image|endswith:
        - '\cmd.exe'
        - '\cscript.exe'
        - '\powershell.exe'
        - '\powershell_ise.exe'
        - '\pwsh.exe'
        - '\wscript.exe'
    OriginalFileName:
        - 'Cmd.EXE'
        - 'cscript.exe'
        - 'PowerShell.EXE'
        - 'PowerShell_ISE.EXE'
        - 'pwsh.dll'
        - 'wscript.exe'

Stage 2: selection_special_chars

selection_special_chars:
    CommandLine|contains:
        - 'ˣ'
        - '˪'
        - 'ˢ'
        - '∕'
        - '⁄'
        - '―'
        - '—'
        - ' '
        - '¯'
        - '®'
        - '¶'
        - '⠀'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  •   corpus 2 (sigma 2)
  • ® corpus 2 (sigma 2)
  • ¯ corpus 2 (sigma 2)
  • corpus 2 (sigma 2)
  • ˢ corpus 2 (sigma 2)
  • ˣ corpus 2 (sigma 2)
  • ˪ corpus 2 (sigma 2)
  • — corpus 2 (sigma 2)
  • ― corpus 2 (sigma 2)
  • ⁄ corpus 2 (sigma 2)
  • ∕ corpus 2 (sigma 2)
  • ⠀
field:"CommandLine" kind:match
Imageends_with
  • \cmd.exe corpus 132 (sigma 130, splunk 2)
  • \cscript.exe corpus 72 (sigma 72)
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \powershell_ise.exe corpus 41 (sigma 41)
  • \pwsh.exe corpus 166 (sigma 166)
  • \wscript.exe corpus 74 (sigma 74)
field:"Image" kind:ends_with
OriginalFileNameeq
  • Cmd.EXE corpus 75 (sigma 43, splunk 17, elastic 15)
  • PowerShell.EXE corpus 134 (sigma 86, splunk 30, elastic 18)
  • PowerShell_ISE.EXE corpus 52 (splunk 30, sigma 18, elastic 4)
  • cscript.exe corpus 32 (sigma 17, elastic 15)
  • pwsh.dll corpus 115 (sigma 81, splunk 30, elastic 4)
  • wscript.exe corpus 37 (elastic 20, sigma 17)
field:"OriginalFileName" kind:eq

Potential Persistence Via Disk Cleanup Handler - Registry

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

Detects when an attacker modifies values of the Disk Cleanup Handler in the registry to achieve persistence. The disk cleanup manager is part of the operating system. It displays the dialog box […] The user has the option of enabling or disabling individual handlers by selecting or clearing their check box in the disk cleanup manager's UI. Although Windows comes with a number of disk cleanup handlers, they aren't designed to handle files produced by other applications. Instead, the disk cleanup manager is designed to be flexible and extensible by enabling any developer to implement and register their own disk cleanup handler. Any developer can extend the available disk cleanup services by implementing and registering a disk cleanup handler.

Known False Positives

  • Legitimate new entry added by windows

MITRE ATT&CK Coverage

TacticTechniques
PersistenceNo specific technique

Telemetry Coverage

Rule Body

title: Potential Persistence Via Disk Cleanup Handler - Registry
id: d4f4e0be-cf12-439f-9e25-4e2cdcf7df5a
status: test
description: |
    Detects when an attacker modifies values of the Disk Cleanup Handler in the registry to achieve persistence.
    The disk cleanup manager is part of the operating system. It displays the dialog box […]
    The user has the option of enabling or disabling individual handlers by selecting or clearing their check box in the disk cleanup manager's UI.
    Although Windows comes with a number of disk cleanup handlers, they aren't designed to handle files produced by other applications.
    Instead, the disk cleanup manager is designed to be flexible and extensible by enabling any developer to implement and register their own disk cleanup handler.
    Any developer can extend the available disk cleanup services by implementing and registering a disk cleanup handler.
references:
    - https://persistence-info.github.io/Data/diskcleanuphandler.html
    - https://www.hexacorn.com/blog/2018/09/02/beyond-good-ol-run-key-part-86/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-07-21
modified: 2023-02-07
tags:
    - attack.persistence
logsource:
    product: windows
    category: registry_add
detection:
    selection:
        EventType: CreateKey
        TargetObject|contains: '\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\'
    filter_main_default_keys:
        # Default Keys
        TargetObject|endswith:
            - '\Active Setup Temp Folders'
            - '\BranchCache'
            - '\Content Indexer Cleaner'
            - '\D3D Shader Cache'
            - '\Delivery Optimization Files'
            - '\Device Driver Packages'
            - '\Diagnostic Data Viewer database files'
            - '\Downloaded Program Files'
            - '\DownloadsFolder'
            - '\Feedback Hub Archive log files'
            - '\Internet Cache Files'
            - '\Language Pack'
            - '\Microsoft Office Temp Files'
            - '\Offline Pages Files'
            - '\Old ChkDsk Files'
            - '\Previous Installations'
            - '\Recycle Bin'
            - '\RetailDemo Offline Content'
            - '\Setup Log Files'
            - '\System error memory dump files'
            - '\System error minidump files'
            - '\Temporary Files'
            - '\Temporary Setup Files'
            - '\Temporary Sync Files'
            - '\Thumbnail Cache'
            - '\Update Cleanup'
            - '\Upgrade Discarded Files'
            - '\User file versions'
            - '\Windows Defender'
            - '\Windows Error Reporting Files'
            - '\Windows ESD installation files'
            - '\Windows Upgrade Log Files'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Legitimate new entry added by windows
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    EventType: CreateKey
    TargetObject|contains: '\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\'

Stage 2: not filter_main_default_keys

filter_main_default_keys:
    TargetObject|endswith:
        - '\Active Setup Temp Folders'
        - '\BranchCache'
        - '\Content Indexer Cleaner'
        - '\D3D Shader Cache'
        - '\Delivery Optimization Files'
        - '\Device Driver Packages'
        - '\Diagnostic Data Viewer database files'
        - '\Downloaded Program Files'
        - '\DownloadsFolder'
        - '\Feedback Hub Archive log files'
        - '\Internet Cache Files'
        - '\Language Pack'
        - '\Microsoft Office Temp Files'
        - '\Offline Pages Files'
        - '\Old ChkDsk Files'
        - '\Previous Installations'
        - '\Recycle Bin'
        - '\RetailDemo Offline Content'
        - '\Setup Log Files'
        - '\System error memory dump files'
        - '\System error minidump files'
        - '\Temporary Files'
        - '\Temporary Setup Files'
        - '\Temporary Sync Files'
        - '\Thumbnail Cache'
        - '\Update Cleanup'
        - '\Upgrade Discarded Files'
        - '\User file versions'
        - '\Windows Defender'
        - '\Windows Error Reporting Files'
        - '\Windows ESD installation files'
        - '\Windows Upgrade Log Files'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
EventTypeeq
  • CreateKey corpus 3 (sigma 3)
field:"EventType" kind:eq value:"CreateKey"
TargetObjectmatch
  • \SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\ corpus 2 (sigma 2)
field:"TargetObject" kind:match value:"\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
TargetObjectends_with\Active Setup Temp Foldersexcludes:TargetObject field:"TargetObject" value:"\Active Setup Temp Folders"
TargetObjectends_with\BranchCacheexcludes:TargetObject field:"TargetObject" value:"\BranchCache"
TargetObjectends_with\Content Indexer Cleanerexcludes:TargetObject field:"TargetObject" value:"\Content Indexer Cleaner"
TargetObjectends_with\D3D Shader Cacheexcludes:TargetObject field:"TargetObject" value:"\D3D Shader Cache"
TargetObjectends_with\Delivery Optimization Filesexcludes:TargetObject field:"TargetObject" value:"\Delivery Optimization Files"
TargetObjectends_with\Device Driver Packagesexcludes:TargetObject field:"TargetObject" value:"\Device Driver Packages"
TargetObjectends_with\Diagnostic Data Viewer database filesexcludes:TargetObject field:"TargetObject" value:"\Diagnostic Data Viewer database files"
TargetObjectends_with\Downloaded Program Filesexcludes:TargetObject field:"TargetObject" value:"\Downloaded Program Files"
TargetObjectends_with\DownloadsFolderexcludes:TargetObject field:"TargetObject" value:"\DownloadsFolder"
TargetObjectends_with\Feedback Hub Archive log filesexcludes:TargetObject field:"TargetObject" value:"\Feedback Hub Archive log files"
TargetObjectends_with\Internet Cache Filesexcludes:TargetObject field:"TargetObject" value:"\Internet Cache Files"
TargetObjectends_with\Language Packexcludes:TargetObject field:"TargetObject" value:"\Language Pack"
TargetObjectends_with\Microsoft Office Temp Filesexcludes:TargetObject field:"TargetObject" value:"\Microsoft Office Temp Files"
TargetObjectends_with\Offline Pages Filesexcludes:TargetObject field:"TargetObject" value:"\Offline Pages Files"
TargetObjectends_with\Old ChkDsk Filesexcludes:TargetObject field:"TargetObject" value:"\Old ChkDsk Files"
TargetObjectends_with\Previous Installationsexcludes:TargetObject field:"TargetObject" value:"\Previous Installations"
TargetObjectends_with\Recycle Binexcludes:TargetObject field:"TargetObject" value:"\Recycle Bin"
TargetObjectends_with\RetailDemo Offline Contentexcludes:TargetObject field:"TargetObject" value:"\RetailDemo Offline Content"
TargetObjectends_with\Setup Log Filesexcludes:TargetObject field:"TargetObject" value:"\Setup Log Files"
TargetObjectends_with\System error memory dump filesexcludes:TargetObject field:"TargetObject" value:"\System error memory dump files"
TargetObjectends_with\System error minidump filesexcludes:TargetObject field:"TargetObject" value:"\System error minidump files"
TargetObjectends_with\Temporary Filesexcludes:TargetObject field:"TargetObject" value:"\Temporary Files"
TargetObjectends_with\Temporary Setup Filesexcludes:TargetObject field:"TargetObject" value:"\Temporary Setup Files"
TargetObjectends_with\Temporary Sync Filesexcludes:TargetObject field:"TargetObject" value:"\Temporary Sync Files"
TargetObjectends_with\Thumbnail Cacheexcludes:TargetObject field:"TargetObject" value:"\Thumbnail Cache"
TargetObjectends_with\Update Cleanupexcludes:TargetObject field:"TargetObject" value:"\Update Cleanup"
TargetObjectends_with\Upgrade Discarded Filesexcludes:TargetObject field:"TargetObject" value:"\Upgrade Discarded Files"
TargetObjectends_with\User file versionsexcludes:TargetObject field:"TargetObject" value:"\User file versions"
TargetObjectends_with\Windows Defenderexcludes:TargetObject field:"TargetObject" value:"\Windows Defender"
TargetObjectends_with\Windows ESD installation filesexcludes:TargetObject field:"TargetObject" value:"\Windows ESD installation files"
TargetObjectends_with\Windows Error Reporting Filesexcludes:TargetObject field:"TargetObject" value:"\Windows Error Reporting Files"
TargetObjectends_with\Windows Upgrade Log Filesexcludes:TargetObject field:"TargetObject" value:"\Windows Upgrade Log Files"

Potential Persistence Via New AMSI Providers - Registry

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

Detects when an attacker adds a new AMSI provider via the Windows Registry to bypass AMSI (Antimalware Scan Interface) protections. Attackers may add custom AMSI providers to persist on the system and evade detection by security software that relies on AMSI for scanning scripts and other content. This technique is often used in conjunction with fileless malware and script-based attacks to maintain persistence while avoiding detection.

Known False Positives

  • Legitimate security products adding their own AMSI providers. Filter these according to your environment.

MITRE ATT&CK Coverage

TacticTechniques
PersistenceNo specific technique

Telemetry Coverage

Rule Body

title: Potential Persistence Via New AMSI Providers - Registry
id: 33efc23c-6ea2-4503-8cfe-bdf82ce8f705
status: test
description: |
    Detects when an attacker adds a new AMSI provider via the Windows Registry to bypass AMSI (Antimalware Scan Interface) protections.
    Attackers may add custom AMSI providers to persist on the system and evade detection by security software that relies on AMSI for scanning scripts and other content.
    This technique is often used in conjunction with fileless malware and script-based attacks to maintain persistence while avoiding detection.
references:
    - https://persistence-info.github.io/Data/amsi.html
    - https://github.com/gtworek/PSBits/blob/8d767892f3b17eefa4d0668f5d2df78e844f01d8/FakeAMSI/FakeAMSI.c
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-07-21
modified: 2025-10-26
tags:
    - attack.persistence
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|contains:
            - '\SOFTWARE\Microsoft\AMSI\Providers\'
            - '\SOFTWARE\WOW6432Node\Microsoft\AMSI\Providers\'
    filter_optional_avast:
        Image:
            - 'C:\Program Files\Avast Software\Avast\RegSvr.exe'
            - 'C:\Program Files\Avast Software\Avast\x86\RegSvr.exe'
        TargetObject|contains: '\{FB904E4E-D2C7-4C8D-8492-B620BB9896B1}'
    filter_optional_avg:
        Image:
            - 'C:\Program Files\AVG\Antivirus\RegSvr.exe'
            - 'C:\Program Files\AVG\Antivirus\x86\RegSvr.exe'
        TargetObject|contains: '\{FB904E4E-D2C7-4C8D-8492-B620BB9896B1}'
    filter_optional_avira:
        Image: 'C:\Program Files\Avira\Endpoint Protection SDK\endpointprotection.exe'
        TargetObject|contains: '\{00000001-3DCC-4B48-A82E-E2071FE58E05}'
    condition: selection and not 1 of filter_optional_*
falsepositives:
    - Legitimate security products adding their own AMSI providers. Filter these according to your environment.
level: medium
regression_tests_path: regression_data/rules/windows/registry/registry_set/registry_set_persistence_amsi_providers/info.yml

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_optional_*

Stage 1: selection

selection:
    TargetObject|contains:
        - '\SOFTWARE\Microsoft\AMSI\Providers\'
        - '\SOFTWARE\WOW6432Node\Microsoft\AMSI\Providers\'

Stage 2: not filter_optional_*

filter_optional_avast:
    Image:
        - 'C:\Program Files\Avast Software\Avast\RegSvr.exe'
        - 'C:\Program Files\Avast Software\Avast\x86\RegSvr.exe'
    TargetObject|contains: '\{FB904E4E-D2C7-4C8D-8492-B620BB9896B1}'
filter_optional_avg:
    Image:
        - 'C:\Program Files\AVG\Antivirus\RegSvr.exe'
        - 'C:\Program Files\AVG\Antivirus\x86\RegSvr.exe'
    TargetObject|contains: '\{FB904E4E-D2C7-4C8D-8492-B620BB9896B1}'
filter_optional_avira:
    Image: 'C:\Program Files\Avira\Endpoint Protection SDK\endpointprotection.exe'
    TargetObject|contains: '\{00000001-3DCC-4B48-A82E-E2071FE58E05}'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectmatch
  • \SOFTWARE\Microsoft\AMSI\Providers\
  • \SOFTWARE\WOW6432Node\Microsoft\AMSI\Providers\
field:"TargetObject" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ImageeqC:\Program Files\AVG\Antivirus\RegSvr.exeexcludes:Image field:"Image" value:"C:\Program Files\AVG\Antivirus\RegSvr.exe"
ImageeqC:\Program Files\AVG\Antivirus\x86\RegSvr.exeexcludes:Image field:"Image" value:"C:\Program Files\AVG\Antivirus\x86\RegSvr.exe"
TargetObjectmatch\{FB904E4E-D2C7-4C8D-8492-B620BB9896B1}excludes:TargetObject field:"TargetObject" value:"\{FB904E4E-D2C7-4C8D-8492-B620BB9896B1}"
ImageeqC:\Program Files\Avast Software\Avast\RegSvr.exeexcludes:Image field:"Image" value:"C:\Program Files\Avast Software\Avast\RegSvr.exe"
ImageeqC:\Program Files\Avast Software\Avast\x86\RegSvr.exeexcludes:Image field:"Image" value:"C:\Program Files\Avast Software\Avast\x86\RegSvr.exe"
ImageeqC:\Program Files\Avira\Endpoint Protection SDK\endpointprotection.exeexcludes:Image field:"Image" value:"C:\Program Files\Avira\Endpoint Protection SDK\endpointprotection.exe"
TargetObjectmatch\{00000001-3DCC-4B48-A82E-E2071FE58E05}excludes:TargetObject field:"TargetObject" value:"\{00000001-3DCC-4B48-A82E-E2071FE58E05}"

Potential Privilege Escalation Attempt Via .Exe.Local Technique

#
Status
test
Severity
high
Author
Nasreddine Bencherchali (Nextron Systems), Subhash P (@pbssubhash)
Source
github.com/SigmaHQ/sigma

Detects potential privilege escalation attempt via the creation of the "*.Exe.Local" folder inside the "System32" directory in order to sideload "comctl32.dll"

MITRE ATT&CK Coverage

TacticTechniques
PersistenceNo specific technique
Privilege EscalationNo specific technique
StealthNo specific technique

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: Potential Privilege Escalation Attempt Via .Exe.Local Technique
id: 07a99744-56ac-40d2-97b7-2095967b0e03
status: test
description: Detects potential privilege escalation attempt via the creation of the "*.Exe.Local" folder inside the "System32" directory in order to sideload "comctl32.dll"
references:
    - https://github.com/binderlabs/DirCreate2System
    - https://github.com/sailay1996/awesome_windows_logical_bugs/blob/60cbb23a801f4c3195deac1cc46df27c225c3d07/dir_create2system.txt
author: Nasreddine Bencherchali (Nextron Systems), Subhash P (@pbssubhash)
date: 2022-12-16
modified: 2022-12-19
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.stealth
logsource:
    category: file_event
    product: windows
detection:
    selection:
        TargetFilename|startswith:
            - 'C:\Windows\System32\logonUI.exe.local'
            - 'C:\Windows\System32\werFault.exe.local'
            - 'C:\Windows\System32\consent.exe.local'
            - 'C:\Windows\System32\narrator.exe.local'
            - 'C:\Windows\System32\wermgr.exe.local'
        TargetFilename|endswith: '\comctl32.dll'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetFilename|startswith:
        - 'C:\Windows\System32\logonUI.exe.local'
        - 'C:\Windows\System32\werFault.exe.local'
        - 'C:\Windows\System32\consent.exe.local'
        - 'C:\Windows\System32\narrator.exe.local'
        - 'C:\Windows\System32\wermgr.exe.local'
    TargetFilename|endswith: '\comctl32.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenameends_with
  • \comctl32.dll corpus 2 (sigma 2)
field:"TargetFilename" kind:ends_with value:"\comctl32.dll"
TargetFilenamestarts_with
  • C:\Windows\System32\consent.exe.local
  • C:\Windows\System32\logonUI.exe.local
  • C:\Windows\System32\narrator.exe.local
  • C:\Windows\System32\werFault.exe.local
  • C:\Windows\System32\wermgr.exe.local
field:"TargetFilename" kind:starts_with

Potential Vcruntime140 DLL Sideloading

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

Detects potential DLL sideloading of vcruntime140.dll, a common C++ runtime library. Threat actors have been observed using DLL sideloading techniques to load malicious payloads under the guise of legitimate applications such as SqlWriter, SqlDumper etc. Notably, APT29 has been documented leveraging WinELOADER to sideload vcruntime140.dll for executing malicious code.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: Potential Vcruntime140 DLL Sideloading
id: d7a63acb-1284-49bc-bfea-7771146c8b1c
status: experimental
description: |
    Detects potential DLL sideloading of vcruntime140.dll, a common C++ runtime library.
    Threat actors have been observed using DLL sideloading techniques to load malicious payloads under the guise of legitimate applications such as SqlWriter, SqlDumper etc.
    Notably, APT29 has been documented leveraging WinELOADER to sideload vcruntime140.dll for executing malicious code.
references:
    - https://www.mandiant.com/resources/blog/apt29-wineloader-german-political-parties
    - https://www.zscaler.com/blogs/security-research/european-diplomats-targeted-spikedwine-wineloader
    - https://www.nextron-systems.com/2023/09/15/detecting-janelarat-with-yara-and-thor/
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2026-01-12
modified: 2026-05-18
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.execution
    - attack.stealth
    - attack.t1574.001
logsource:
    category: image_load
    product: windows
detection:
    selection:
        ImageLoaded|endswith: '\vcruntime140.dll'
    filter_main_legitimate_path:
        ImageLoaded|startswith:
            - 'C:\Windows\System32\'
            - 'C:\Windows\SysWOW64\'
            - 'C:\Program Files\'
            - 'C:\Program Files (x86)\'
    filter_main_legitimate_signer:
        Signed: true
        SignatureStatus: 'Valid'
        Description|endswith: 'C Runtime Library'
    filter_optional_onedrive:
        Image|startswith: 'C:\Users\'
        Image|contains: '\AppData\Local\Microsoft\OneDrive\'
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Unknown
level: high
regression_tests_path: regression_data/rules/windows/image_load/image_load_side_load_vcruntime140/info.yml

Stages and Predicates

Stage 0: condition

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

Stage 1: selection

selection:
    ImageLoaded|endswith: '\vcruntime140.dll'

Stage 2: not filter_main_*

filter_main_legitimate_path:
    ImageLoaded|startswith:
        - 'C:\Windows\System32\'
        - 'C:\Windows\SysWOW64\'
        - 'C:\Program Files\'
        - 'C:\Program Files (x86)\'
filter_main_legitimate_signer:
    Signed: true
    SignatureStatus: 'Valid'
    Description|endswith: 'C Runtime Library'

Stage 3: not filter_optional_onedrive

filter_optional_onedrive:
    Image|startswith: 'C:\Users\'
    Image|contains: '\AppData\Local\Microsoft\OneDrive\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ImageLoadedends_with
  • \vcruntime140.dll corpus 2 (sigma 1, splunk 1)
field:"ImageLoaded" kind:ends_with value:"\vcruntime140.dll"

Exclusions

The rule actively suppresses these predicates.

Potentially Suspicious EventLog Recon Activity Using Log Query Utilities

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

Detects execution of different log query utilities and commands to search and dump the content of specific event logs or look for specific event IDs. This technique is used by threat actors in order to extract sensitive information from events logs such as usernames, IP addresses, hostnames, etc.

Known False Positives

  • Legitimate usage of the utility by administrators to query the event log

MITRE ATT&CK Coverage

TacticTechniques
Credential Access
Discovery

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potentially Suspicious EventLog Recon Activity Using Log Query Utilities
id: beaa66d6-aa1b-4e3c-80f5-e0145369bfaf
related:
    - id: 9cd55b6c-430a-4fa9-96f4-7cadf5229e9f
      type: derived
status: test
description: |
    Detects execution of different log query utilities and commands to search and dump the content of specific event logs or look for specific event IDs.
    This technique is used by threat actors in order to extract sensitive information from events logs such as usernames, IP addresses, hostnames, etc.
references:
    - http://blog.talosintelligence.com/2022/09/lazarus-three-rats.html
    - https://thedfirreport.com/2023/10/30/netsupport-intrusion-results-in-domain-compromise/
    - https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-144a
    - https://www.group-ib.com/blog/apt41-world-tour-2021/
    - https://labs.withsecure.com/content/dam/labs/docs/f-secureLABS-tlp-white-lazarus-threat-intel-report2.pdf
    - https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.diagnostics/get-winevent?view=powershell-7.3
    - https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-eventlog?view=powershell-5.1
    - http://www.solomonson.com/posts/2010-07-09-reading-eventviewer-command-line/
    - https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/wevtutil
    - https://ptsecurity.com/research/pt-esc-threat-intelligence/striking-panda-attacks-apt31-today
    - https://www.cybertriage.com/artifact/terminalservices_remoteconnectionmanager_log/
    - https://ponderthebits.com/2018/02/windows-rdp-related-event-logs-identification-tracking-and-investigation/
author: Nasreddine Bencherchali (Nextron Systems), X__Junior (Nextron Systems)
date: 2022-09-09
modified: 2025-12-02
tags:
    - attack.credential-access
    - attack.discovery
    - attack.t1552
    - attack.t1087
logsource:
    category: process_creation
    product: windows
detection:
    selection_wmi:
        CommandLine|contains|all:
            - 'Select'
            - 'Win32_NTLogEvent'
    selection_wevtutil_img:
        - Image|endswith: '\wevtutil.exe'
        - OriginalFileName: 'wevtutil.exe'
    selection_wevtutil_cli:
        CommandLine|contains:
            - ' qe '
            - ' query-events '
    selection_wmic_img:
        - Image|endswith: '\wmic.exe'
        - OriginalFileName: 'wmic.exe'
    selection_wmic_cli:
        CommandLine|contains: ' ntevent'
    selection_cmdlet:
        CommandLine|contains:
            - 'Get-WinEvent '
            - 'get-eventlog '
    selection_logs_name:
        CommandLine|contains:
            # Note: Add more event log channels that are interesting for attackers
            - 'Microsoft-Windows-PowerShell'
            - 'Microsoft-Windows-Security-Auditing'
            - 'Microsoft-Windows-TerminalServices-LocalSessionManager'
            - 'Microsoft-Windows-TerminalServices-RemoteConnectionManager'
            - 'Microsoft-Windows-Windows Defender'
            - 'PowerShellCore'
            - 'Security'
            - 'Windows PowerShell'
    selection_logs_eid:
        CommandLine|contains:
            # Note: We use the "?" to account for both a single and a double quote
            # Note: Please add additional interesting event IDs
            # Note: As this only focuses on EIDs and we know EIDs are not unique across providers. Rare FPs might occur with legit queries to EIDs from different providers.
            # This covers EID 4624 and 4628 from Security Log
            - '-InstanceId 462?'
            - '.eventid -eq 462?'
            - '.ID -eq 462?'
            - 'EventCode=?462?'
            - 'EventIdentifier=?462?'
            - 'System[EventID=462?]'
            # This covers EID 4778 from Security Log
            - '-InstanceId 4778'
            - '.eventid -eq 4778'
            - '.ID -eq 4778'
            - 'EventCode=?4778?'
            - 'EventIdentifier=?4778?'
            - 'System[EventID=4778]'
            # This covers EID 25 from Microsoft-Windows-TerminalServices-LocalSessionManager/Operational log
            - '-InstanceId 25'
            - '.eventid -eq 25'
            - '.ID -eq 25'
            - 'EventCode=?25?'
            - 'EventIdentifier=?25?'
            - 'System[EventID=25]'
            # This covers EID 1149 from Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational log
            - '-InstanceId 1149'
            - '.eventid -eq 1149'
            - '.ID -eq 1149'
            - 'EventCode=?1149?'
            - 'EventIdentifier=?1149?'
            - 'System[EventID=1149]'
            # This covers EID 21 from Microsoft-Windows-TerminalServices-LocalSessionManager/Operational log
            - '-InstanceId 21'
            - '.eventid -eq 21'
            - '.ID -eq 21'
            - 'EventCode=?21?'
            - 'EventIdentifier=?21?'
            - 'System[EventID=21]'
            # This covers EID 22 from Microsoft-Windows-TerminalServices-LocalSessionManager/Operational log
            - '-InstanceId 22'
            - '.eventid -eq 22'
            - '.ID -eq 22'
            - 'EventCode=?22?'
            - 'EventIdentifier=?22?'
            - 'System[EventID=22]'
    condition: 1 of selection_logs_* and (selection_wmi or all of selection_wevtutil_* or all of selection_wmic_* or selection_cmdlet)
falsepositives:
    - Legitimate usage of the utility by administrators to query the event log
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_susp_eventlog_content_recon/info.yml

Stages and Predicates

Stage 0: condition

1 of selection_logs_* and (selection_wmi or all of selection_wevtutil_* or all of selection_wmic_* or selection_cmdlet)

Stage 1: selection_logs_name

selection_logs_name:
    CommandLine|contains:
        - 'Microsoft-Windows-PowerShell'
        - 'Microsoft-Windows-Security-Auditing'
        - 'Microsoft-Windows-TerminalServices-LocalSessionManager'
        - 'Microsoft-Windows-TerminalServices-RemoteConnectionManager'
        - 'Microsoft-Windows-Windows Defender'
        - 'PowerShellCore'
        - 'Security'
        - 'Windows PowerShell'

Stage 2: selection_logs_eid

selection_logs_eid:
    CommandLine|contains:
        - '-InstanceId 462?'
        - '.eventid -eq 462?'
        - '.ID -eq 462?'
        - 'EventCode=?462?'
        - 'EventIdentifier=?462?'
        - 'System[EventID=462?]'
        - '-InstanceId 4778'
        - '.eventid -eq 4778'
        - '.ID -eq 4778'
        - 'EventCode=?4778?'
        - 'EventIdentifier=?4778?'
        - 'System[EventID=4778]'
        - '-InstanceId 25'
        - '.eventid -eq 25'
        - '.ID -eq 25'
        - 'EventCode=?25?'
        - 'EventIdentifier=?25?'
        - 'System[EventID=25]'
        - '-InstanceId 1149'
        - '.eventid -eq 1149'
        - '.ID -eq 1149'
        - 'EventCode=?1149?'
        - 'EventIdentifier=?1149?'
        - 'System[EventID=1149]'
        - '-InstanceId 21'
        - '.eventid -eq 21'
        - '.ID -eq 21'
        - 'EventCode=?21?'
        - 'EventIdentifier=?21?'
        - 'System[EventID=21]'
        - '-InstanceId 22'
        - '.eventid -eq 22'
        - '.ID -eq 22'
        - 'EventCode=?22?'
        - 'EventIdentifier=?22?'
        - 'System[EventID=22]'

Stage 3: selection_wmi

selection_wmi:
    CommandLine|contains|all:
        - 'Select'
        - 'Win32_NTLogEvent'

Stage 4: selection_wevtutil_img

selection_wevtutil_img:
    - Image|endswith: '\wevtutil.exe'
    - OriginalFileName: 'wevtutil.exe'

Stage 5: selection_wevtutil_cli

selection_wevtutil_cli:
    CommandLine|contains:
        - ' qe '
        - ' query-events '

Stage 6: selection_wmic_img

selection_wmic_img:
    - Image|endswith: '\wmic.exe'
    - OriginalFileName: 'wmic.exe'

Stage 7: selection_wmic_cli

selection_wmic_cli:
    CommandLine|contains: ' ntevent'

Stage 8: selection_cmdlet

selection_cmdlet:
    CommandLine|contains:
        - 'Get-WinEvent '
        - 'get-eventlog '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • ntevent corpus 2 (sigma 2)
  • qe corpus 2 (sigma 2)
  • query-events corpus 2 (sigma 2)
  • -InstanceId 1149
  • -InstanceId 21
  • -InstanceId 22
  • -InstanceId 25
  • -InstanceId 462?
  • -InstanceId 4778
  • .ID -eq 1149
  • .ID -eq 21
  • .ID -eq 22
  • .ID -eq 25
  • .ID -eq 462?
  • .ID -eq 4778
  • .eventid -eq 1149
  • .eventid -eq 21
  • .eventid -eq 22
  • .eventid -eq 25
  • .eventid -eq 462?
  • .eventid -eq 4778
  • EventCode=?1149?
  • EventCode=?21?
  • EventCode=?22?
  • EventCode=?25?
  • EventCode=?462?
  • EventCode=?4778?
  • EventIdentifier=?1149?
  • EventIdentifier=?21?
  • EventIdentifier=?22?
  • EventIdentifier=?25?
  • EventIdentifier=?462?
  • EventIdentifier=?4778?
  • Get-WinEvent corpus 2 (sigma 2)
  • Microsoft-Windows-PowerShell
  • Microsoft-Windows-Security-Auditing
  • Microsoft-Windows-TerminalServices-LocalSessionManager
  • Microsoft-Windows-TerminalServices-RemoteConnectionManager
  • Microsoft-Windows-Windows Defender
  • PowerShellCore
  • Security corpus 2 (sigma 1, elastic 1)
  • Select corpus 4 (sigma 4)
  • System[EventID=1149]
  • System[EventID=21]
  • System[EventID=22]
  • System[EventID=25]
  • System[EventID=462?]
  • System[EventID=4778]
  • Win32_NTLogEvent corpus 3 (sigma 2, splunk 1)
  • Windows PowerShell
  • get-eventlog corpus 2 (sigma 2)
field:"CommandLine" kind:match
Imageends_with
  • \wevtutil.exe corpus 9 (sigma 9)
  • \wmic.exe corpus 62 (sigma 62)
field:"Image" kind:ends_with
OriginalFileNameeq
  • wevtutil.exe corpus 7 (sigma 5, splunk 2)
  • wmic.exe corpus 74 (sigma 38, elastic 18, splunk 18)
field:"OriginalFileName" kind:eq

Powershell Create Scheduled Task

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

Adversaries may abuse the Windows Task Scheduler to perform task scheduling for initial or recurring execution of malicious code

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Powershell Create Scheduled Task
id: 363eccc0-279a-4ccf-a3ab-24c2e63b11fb
status: test
description: Adversaries may abuse the Windows Task Scheduler to perform task scheduling for initial or recurring execution of malicious code
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1053.005/T1053.005.md#atomic-test-4---powershell-cmdlet-scheduled-task
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1053.005/T1053.005.md#atomic-test-6---wmi-invoke-cimmethod-scheduled-task
author: frack113
date: 2021-12-28
modified: 2025-10-07
tags:
    - attack.privilege-escalation
    - attack.execution
    - attack.persistence
    - attack.t1053.005
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection_cmdlet:
        ScriptBlockText|contains:
            - 'New-ScheduledTaskAction'
            - 'New-ScheduledTaskTrigger'
            - 'New-ScheduledTaskPrincipal'
            - 'New-ScheduledTaskSettingsSet'
            - 'New-ScheduledTask'
            - 'Register-ScheduledTask'
    selection_cimmethod:
        ScriptBlockText|contains|all:
            - 'Invoke-CimMethod'
            - '-ClassName'
            - 'PS_ScheduledTask'
            - '-NameSpace'
            - 'Root\Microsoft\Windows\TaskScheduler'
    filter_main_legitimate_scripts:
        ScriptBlockText|contains|all:
            - 'Microsoft.PowerShell.Core\Export-ModuleMember'
            - 'Microsoft.Management.Infrastructure.CimInstance'
            - '__cmdletization_methodParameter'
    condition: 1 of selection_* and not 1 of filter_main_*
falsepositives:
    - Unknown
level: medium
regression_tests_path: regression_data/rules/windows/powershell/powershell_script/posh_ps_cmdlet_scheduled_task/info.yml

Stages and Predicates

Stage 0: condition

1 of selection_* and not 1 of filter_main_*

Stage 1: selection_cmdlet

selection_cmdlet:
    ScriptBlockText|contains:
        - 'New-ScheduledTaskAction'
        - 'New-ScheduledTaskTrigger'
        - 'New-ScheduledTaskPrincipal'
        - 'New-ScheduledTaskSettingsSet'
        - 'New-ScheduledTask'
        - 'Register-ScheduledTask'

Stage 2: selection_cimmethod

selection_cimmethod:
    ScriptBlockText|contains|all:
        - 'Invoke-CimMethod'
        - '-ClassName'
        - 'PS_ScheduledTask'
        - '-NameSpace'
        - 'Root\Microsoft\Windows\TaskScheduler'

Stage 3: not filter_main_legitimate_scripts

filter_main_legitimate_scripts:
    ScriptBlockText|contains|all:
        - 'Microsoft.PowerShell.Core\Export-ModuleMember'
        - 'Microsoft.Management.Infrastructure.CimInstance'
        - '__cmdletization_methodParameter'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • -ClassName
  • -NameSpace corpus 2 (sigma 1, splunk 1)
  • Invoke-CimMethod
  • New-ScheduledTask
  • New-ScheduledTaskAction
  • New-ScheduledTaskPrincipal
  • New-ScheduledTaskSettingsSet
  • New-ScheduledTaskTrigger
  • PS_ScheduledTask
  • Register-ScheduledTask
  • Root\Microsoft\Windows\TaskScheduler
field:"ScriptBlockText" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ScriptBlockTextmatchMicrosoft.Management.Infrastructure.CimInstanceexcludes:ScriptBlockText field:"ScriptBlockText" value:"Microsoft.Management.Infrastructure.CimInstance"
ScriptBlockTextmatchMicrosoft.PowerShell.Core\Export-ModuleMemberexcludes:ScriptBlockText field:"ScriptBlockText" value:"Microsoft.PowerShell.Core\Export-ModuleMember"
ScriptBlockTextmatch__cmdletization_methodParameterexcludes:ScriptBlockText field:"ScriptBlockText" value:"__cmdletization_methodParameter"

PowerShell Defender Threat Severity Default Action Set to 'Allow' or 'NoAction'

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

Detects the use of PowerShell to execute the 'Set-MpPreference' cmdlet to configure Windows Defender's threat severity default action to 'Allow' (value '6') or 'NoAction' (value '9'). This is a highly suspicious configuration change that effectively disables Defender's ability to automatically mitigate threats of a certain severity level. An attacker might use this technique via the command line to bypass defenses before executing payloads.

Known False Positives

  • Highly unlikely

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

Rule Body

title: PowerShell Defender Threat Severity Default Action Set to 'Allow' or 'NoAction'
id: 1e8a9b4d-3c2a-4f9b-8d1e-7c6a5b4f3d2e
related:
    - id: 5a9e1b2c-8f7d-4a1e-9b3c-0f6d7e5a4b1f
      type: similar
status: experimental
description: |
    Detects the use of PowerShell to execute the 'Set-MpPreference' cmdlet to configure Windows Defender's threat severity default action to 'Allow' (value '6') or 'NoAction' (value '9').
    This is a highly suspicious configuration change that effectively disables Defender's ability to automatically mitigate threats of a certain severity level.
    An attacker might use this technique via the command line to bypass defenses before executing payloads.
references:
    - https://learn.microsoft.com/en-us/powershell/module/defender/set-mppreference
    - https://learn.microsoft.com/en-us/windows-hardware/customize/desktop/unattend/security-malware-windows-defender-threatseveritydefaultaction
    - https://research.splunk.com/endpoint/7215831c-8252-4ae3-8d43-db588e82f952
    - https://gist.github.com/Dump-GUY/8daef859f382b895ac6fd0cf094555d2
    - https://thedfirreport.com/2021/10/18/icedid-to-xinglocker-ransomware-in-24-hours/
author: 'Matt Anderson (Huntress)'
date: 2025-07-11
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    category: process_creation
    product: windows
detection:
    selection_cmdlet:
        CommandLine|contains: 'Set-MpPreference'
    selection_action:
        CommandLine|contains:
            - '-LowThreatDefaultAction'
            - '-ModerateThreatDefaultAction'
            - '-HighThreatDefaultAction'
            - '-SevereThreatDefaultAction'
            - '-ltdefac '
            - '-mtdefac '
            - '-htdefac '
            - '-stdefac '
    selection_value:
        CommandLine|contains:
            - 'Allow'
            - '6'
            - 'NoAction'
            - '9'
    condition: all of selection_*
falsepositives:
    - Highly unlikely
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_cmdlet

selection_cmdlet:
    CommandLine|contains: 'Set-MpPreference'

Stage 2: selection_action

selection_action:
    CommandLine|contains:
        - '-LowThreatDefaultAction'
        - '-ModerateThreatDefaultAction'
        - '-HighThreatDefaultAction'
        - '-SevereThreatDefaultAction'
        - '-ltdefac '
        - '-mtdefac '
        - '-htdefac '
        - '-stdefac '

Stage 3: selection_value

selection_value:
    CommandLine|contains:
        - 'Allow'
        - '6'
        - 'NoAction'
        - '9'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -HighThreatDefaultAction
  • -LowThreatDefaultAction
  • -ModerateThreatDefaultAction
  • -SevereThreatDefaultAction
  • -htdefac
  • -ltdefac
  • -mtdefac
  • -stdefac
  • 6
  • 9
  • Allow corpus 6 (sigma 4, splunk 2)
  • NoAction
  • Set-MpPreference corpus 6 (sigma 3, splunk 2, elastic 1)
field:"CommandLine" kind:match

PowerShell Profile Modification

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

Detects the creation or modification of a powershell profile which could indicate suspicious activity as the profile can be used as a mean of persistence

Known False Positives

  • System administrator creating Powershell profile manually

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: PowerShell Profile Modification
id: b5b78988-486d-4a80-b991-930eff3ff8bf
status: test
description: Detects the creation or modification of a powershell profile which could indicate suspicious activity as the profile can be used as a mean of persistence
references:
    - https://www.welivesecurity.com/2019/05/29/turla-powershell-usage/
    - https://persistence-info.github.io/Data/powershellprofile.html
author: HieuTT35, Nasreddine Bencherchali (Nextron Systems)
date: 2019-10-24
modified: 2023-10-23
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.t1546.013
logsource:
    product: windows
    category: file_event
detection:
    selection:
        TargetFilename|endswith:
            - '\Microsoft.PowerShell_profile.ps1'
            - '\PowerShell\profile.ps1'
            - '\Program Files\PowerShell\7-preview\profile.ps1'
            - '\Program Files\PowerShell\7\profile.ps1'
            - '\Windows\System32\WindowsPowerShell\v1.0\profile.ps1'
            - '\WindowsPowerShell\profile.ps1'
    condition: selection
falsepositives:
    - System administrator creating Powershell profile manually
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetFilename|endswith:
        - '\Microsoft.PowerShell_profile.ps1'
        - '\PowerShell\profile.ps1'
        - '\Program Files\PowerShell\7-preview\profile.ps1'
        - '\Program Files\PowerShell\7\profile.ps1'
        - '\Windows\System32\WindowsPowerShell\v1.0\profile.ps1'
        - '\WindowsPowerShell\profile.ps1'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenameends_with
  • \Microsoft.PowerShell_profile.ps1
  • \PowerShell\profile.ps1
  • \Program Files\PowerShell\7-preview\profile.ps1
  • \Program Files\PowerShell\7\profile.ps1
  • \WindowsPowerShell\profile.ps1
  • \Windows\System32\WindowsPowerShell\v1.0\profile.ps1
field:"TargetFilename" kind:ends_with

Previously Installed IIS Module Was Removed

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

Detects the removal of a previously installed IIS module.

Known False Positives

  • Legitimate administrator activity

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Previously Installed IIS Module Was Removed
id: 9e1a1fdf-ee58-40ce-8e15-b66ca5a80e1f
status: test
description: Detects the removal of a previously installed IIS module.
references:
    - https://learn.microsoft.com/en-us/iis/manage/provisioning-and-managing-iis/configure-logging-in-iis
    - https://www.microsoft.com/en-us/security/blog/2022/12/12/iis-modules-the-evolution-of-web-shells-and-how-to-detect-them/
    - https://www.microsoft.com/en-us/security/blog/2022/07/26/malicious-iis-extensions-quietly-open-persistent-backdoors-into-servers/
    - https://learn.microsoft.com/en-us/iis/get-started/introduction-to-iis/iis-modules-overview
author: Nasreddine Bencherchali
date: 2024-10-06
tags:
    - attack.persistence
    - attack.defense-impairment
    - attack.t1685.001
    - attack.t1505.004
logsource:
    product: windows
    service: iis-configuration
detection:
    selection:
        EventID: 29
        Configuration|contains: '/system.webServer/modules/remove'
    condition: selection
falsepositives:
    - Legitimate administrator activity
# Note: Upgrade after an initial baseline
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 29
    Configuration|contains: '/system.webServer/modules/remove'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Configurationmatch
  • /system.webServer/modules/remove
field:"Configuration" kind:match value:"/system.webServer/modules/remove"

Remote PowerShell Session (PS Module)

#
Status
test
Severity
high
Author
Roberto Rodriguez @Cyb3rWard0g, Tim Shelton
Source
github.com/SigmaHQ/sigma

Detects remote PowerShell sessions

Known False Positives

  • Legitimate use remote PowerShell sessions

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Remote PowerShell Session (PS Module)
id: 96b9f619-aa91-478f-bacb-c3e50f8df575
status: test
description: Detects remote PowerShell sessions
references:
    - https://threathunterplaybook.com/hunts/windows/190511-RemotePwshExecution/notebook.html
author: Roberto Rodriguez @Cyb3rWard0g, Tim Shelton
date: 2019-08-10
modified: 2023-01-20
tags:
    - attack.execution
    - attack.t1059.001
    - attack.lateral-movement
    - attack.t1021.006
logsource:
    product: windows
    category: ps_module
    definition: 0ad03ef1-f21b-4a79-8ce8-e6900c54b65b
detection:
    selection:
        ContextInfo|contains|all:
            - ' = ServerRemoteHost ' #  HostName: 'ServerRemoteHost'  french : Nom d’hôte =
            - 'wsmprovhost.exe'      #  HostApplication|contains: 'wsmprovhost.exe' french  Application hôte =
    filter_pwsh_archive:
        ContextInfo|contains: '\Windows\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Archive\Microsoft.PowerShell.Archive.psm1'
    condition: selection and not 1 of filter_*
falsepositives:
    - Legitimate use remote PowerShell sessions
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_*

Stage 1: selection

selection:
    ContextInfo|contains|all:
        - ' = ServerRemoteHost '
        - 'wsmprovhost.exe'

Stage 2: not filter_pwsh_archive

filter_pwsh_archive:
    ContextInfo|contains: '\Windows\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Archive\Microsoft.PowerShell.Archive.psm1'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ContextInfomatch
  • = ServerRemoteHost
  • wsmprovhost.exe
field:"ContextInfo" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ContextInfomatch\Windows\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Archive\Microsoft.PowerShell.Archive.psm1excludes:ContextInfo field:"ContextInfo" value:"\Windows\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Archive\Microsoft.PowerShell.Archive.psm1"

Scheduled Task Creation Via Schtasks.EXE

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

Detects the creation of scheduled tasks by user accounts via the "schtasks" utility.

Known False Positives

  • Administrative activity
  • Software installation

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Scheduled Task Creation Via Schtasks.EXE
id: 92626ddd-662c-49e3-ac59-f6535f12d189
status: test
description: Detects the creation of scheduled tasks by user accounts via the "schtasks" utility.
references:
    - https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/schtasks-create
author: Florian Roth (Nextron Systems)
date: 2019-01-16
modified: 2025-10-22
tags:
    - attack.execution
    - attack.persistence
    - attack.privilege-escalation
    - attack.t1053.005
    - attack.s0111
    - car.2013-08-001
    - stp.1u
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\schtasks.exe'
        CommandLine|contains: ' /create '
    filter_main_system_user:
        User|contains: # covers many language settings
            - 'AUTHORI'
            - 'AUTORI'
    filter_optional_msoffice:
        #  schtasks.exe /Create /tn "Microsoft\Office\Office Performance Monitor" /XML "C:\ProgramData\Microsoft\ClickToRun\{9AC08E99-230B-47e8-9721-4577B7F124EA}\Microsoft_Office_Office Performance Monitor.xml"
        ParentImage:
            - 'C:\Program Files\Microsoft Office\root\integration\integrator.exe'
            - 'C:\Program Files (x86)\Microsoft Office\root\integration\integrator.exe'
        Image:
            - 'C:\Windows\System32\schtasks.exe'
            - 'C:\Windows\SysWOW64\schtasks.exe'
        CommandLine|contains: 'Microsoft\Office\Office Performance Monitor'
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Administrative activity
    - Software installation
level: low

Stages and Predicates

Stage 0: condition

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

Stage 1: selection

selection:
    Image|endswith: '\schtasks.exe'
    CommandLine|contains: ' /create '

Stage 2: not filter_main_system_user

filter_main_system_user:
    User|contains:
        - 'AUTHORI'
        - 'AUTORI'

Stage 3: not filter_optional_msoffice

filter_optional_msoffice:
    ParentImage:
        - 'C:\Program Files\Microsoft Office\root\integration\integrator.exe'
        - 'C:\Program Files (x86)\Microsoft Office\root\integration\integrator.exe'
    Image:
        - 'C:\Windows\System32\schtasks.exe'
        - 'C:\Windows\SysWOW64\schtasks.exe'
    CommandLine|contains: 'Microsoft\Office\Office Performance Monitor'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /create corpus 15 (sigma 15)
field:"CommandLine" kind:match value:" /create "
Imageends_with
  • \schtasks.exe corpus 55 (sigma 55)
field:"Image" kind:ends_with value:"\schtasks.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
UsermatchAUTHORIexcludes:User field:"User" value:"AUTHORI"
UsermatchAUTORIexcludes:User field:"User" value:"AUTORI"
ImageeqC:\Windows\SysWOW64\schtasks.exeexcludes:Image field:"Image" value:"C:\Windows\SysWOW64\schtasks.exe"
ImageeqC:\Windows\System32\schtasks.exeexcludes:Image field:"Image" value:"C:\Windows\System32\schtasks.exe"
ParentImageeqC:\Program Files (x86)\Microsoft Office\root\integration\integrator.exeexcludes:ParentImage field:"ParentImage" value:"C:\Program Files (x86)\Microsoft Office\root\integration\integrator.exe"
ParentImageeqC:\Program Files\Microsoft Office\root\integration\integrator.exeexcludes:ParentImage field:"ParentImage" value:"C:\Program Files\Microsoft Office\root\integration\integrator.exe"
CommandLinematchMicrosoft\Office\Office Performance Monitorexcludes:CommandLine field:"CommandLine" value:"Microsoft\Office\Office Performance Monitor"

Service permissions hijacked for privileges abuse (service)

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

Detects scenarios where an attacker modify the permissions of a service in order to abuse its privileges

Known False Positives

  • administrator reconfiguring service

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Service permissions hijacked for privileges abuse (service)
description: Detects scenarios where an attacker modify the permissions of a service in order to abuse its privileges
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0003-Persistence/T1543.003-Create%20or%20Modify%20System%20Process-Windows%20Service
- http://woshub.com/set-permissions-on-windows-service/
- https://www.winhelponline.com/blog/view-edit-service-permissions-windows/
- https://decoder.cloud/2019/02/07/demystifying-windows-service-permissions-configuration/
- https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/set-service?view=powershell-7.1
- https://medium.com/r3d-buck3t/abuse-service-registry-acls-windows-privesc-f88079140509
- https://github.com/rohnedwards/PowerShellAccessControl
tags:
- attack.persistence
- attack.t1543.003
- attack.t1574.010
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: process_creation
detection:
  selection_sdset: # full command (native commmand): "sc sdset XblGameSave "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)"
    NewProcessName|endswith: '\sc.exe'
    CommandLine|contains: sdset

  selection_subinACL: # full command (3rd party tool): subinacl.exe /service Spooler /grant=contoso\tuser=PTO
    CommandLine|contains|all:
      #- subinacl # not considered as executable name can be changed
      - 'service'
      - 'grant='

  selection_setACL: # full command (3rd party tool): SetACL.exe -on "schedule" -ot srv -actn list
    CommandLine|contains|all:
      #- setacl # not considered as executable name can be changed
      - 'on'   # object name
      - 'srv'  # object type
      - 'actn' # action

  condition: selection_sdset OR selection_subinACL OR selection_setACL
falsepositives:
- administrator reconfiguring service
level: high

Stages and Predicates

Stage 0: condition

selection_sdset OR selection_subinACL OR selection_setACL

Stage 1: selection_sdset

selection_sdset:
  NewProcessName|endswith: '\sc.exe'
  CommandLine|contains: sdset

Stage 2: selection_subinACL

selection_subinACL:
  CommandLine|contains|all:
    - 'service'
    - 'grant='

Stage 3: selection_setACL

selection_setACL:
  CommandLine|contains|all:
    - 'on'
    - 'srv'
    - 'actn'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • actn
  • grant=
  • on
  • sdset corpus 5 (sigma 5)
  • service corpus 5 (sigma 4, splunk 1)
  • srv
field:"CommandLine" kind:match
NewProcessNameends_with
  • \sc.exe corpus 30 (sigma 30)
field:"Image" kind:ends_with value:"\sc.exe"

Suspicious Invocation of Shell via AWK - Linux

#
Status
test
Severity
high
Author
Li Ling, Andy Parkidomo, Robert Rakowski, Blake Hartstein (Bloomberg L.P.)
Source
github.com/SigmaHQ/sigma

Detects the execution of "awk" or it's sibling commands, to invoke a shell using the system() function. This behavior is commonly associated with attempts to execute arbitrary commands or escalate privileges, potentially leading to unauthorized access or further exploitation.

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: Suspicious Invocation of Shell via AWK - Linux
id: 8c1a5675-cb85-452f-a298-b01b22a51856
status: test
description: |
    Detects the execution of "awk" or it's sibling commands, to invoke a shell using the system() function.
    This behavior is commonly associated with attempts to execute arbitrary commands or escalate privileges, potentially leading to unauthorized access or further exploitation.
references:
    - https://gtfobins.github.io/gtfobins/awk/#shell
    - https://gtfobins.github.io/gtfobins/gawk/#shell
    - https://gtfobins.github.io/gtfobins/nawk/#shell
    - https://gtfobins.github.io/gtfobins/mawk/#shell
author: Li Ling, Andy Parkidomo, Robert Rakowski, Blake Hartstein (Bloomberg L.P.)
date: 2024-09-02
tags:
    - attack.execution
    - attack.t1059
logsource:
    category: process_creation
    product: linux
detection:
    selection_img:
        Image|endswith:
            - '/awk'
            - '/gawk'
            - '/mawk'
            - '/nawk'
        CommandLine|contains: 'BEGIN {system'
    selection_cli:
        CommandLine|contains:
            - '/bin/bash'
            - '/bin/dash'
            - '/bin/fish'
            - '/bin/sh'
            - '/bin/zsh'
    condition: all of selection_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    Image|endswith:
        - '/awk'
        - '/gawk'
        - '/mawk'
        - '/nawk'
    CommandLine|contains: 'BEGIN {system'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains:
        - '/bin/bash'
        - '/bin/dash'
        - '/bin/fish'
        - '/bin/sh'
        - '/bin/zsh'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /bin/bash corpus 8 (sigma 8)
  • /bin/dash corpus 7 (sigma 7)
  • /bin/fish corpus 7 (sigma 7)
  • /bin/sh corpus 12 (sigma 12)
  • /bin/zsh corpus 8 (sigma 8)
  • BEGIN {system
field:"CommandLine" kind:match
Imageends_with
  • /awk corpus 3 (sigma 3)
  • /gawk
  • /mawk
  • /nawk
field:"Image" kind:ends_with

Suspicious WindowsTerminal Child Processes

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

Detects suspicious children spawned via the Windows Terminal application which could be a sign of persistence via WindowsTerminal (see references section)

Known False Positives

  • Other legitimate "Windows Terminal" profiles

MITRE ATT&CK Coverage

TacticTechniques
ExecutionNo specific technique
PersistenceNo specific technique

Telemetry Coverage

Rule Body

title: Suspicious WindowsTerminal Child Processes
id: 8de89e52-f6e1-4b5b-afd1-41ecfa300d48
status: test
description: Detects suspicious children spawned via the Windows Terminal application which could be a sign of persistence via WindowsTerminal (see references section)
references:
    - https://persistence-info.github.io/Data/windowsterminalprofile.html
    - https://twitter.com/nas_bench/status/1550836225652686848
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-07-25
modified: 2023-02-14
tags:
    - attack.execution
    - attack.persistence
logsource:
    category: process_creation
    product: windows
detection:
    selection_parent:
        ParentImage|endswith:
            - '\WindowsTerminal.exe'
            - '\wt.exe'
    selection_susp:
        - Image|endswith:
              # Add more LOLBINS
              - '\rundll32.exe'
              - '\regsvr32.exe'
              - '\certutil.exe'
              - '\cscript.exe'
              - '\wscript.exe'
              - '\csc.exe'
        - Image|contains:
              # Add more suspicious paths
              - 'C:\Users\Public\'
              - '\Downloads\'
              - '\Desktop\'
              - '\AppData\Local\Temp\'
              - '\Windows\TEMP\'
        - CommandLine|contains:
              # Add more suspicious commandline
              - ' iex '
              - ' icm'
              - 'Invoke-'
              - 'Import-Module '
              - 'ipmo '
              - 'DownloadString('
              - ' /c '
              - ' /k '
              - ' /r '
    filter_builtin_visual_studio_shell:
        CommandLine|contains|all:
            - 'Import-Module'
            - 'Microsoft.VisualStudio.DevShell.dll'
            - 'Enter-VsDevShell'
    filter_open_settings:
        CommandLine|contains|all:
            - '\AppData\Local\Packages\Microsoft.WindowsTerminal_'
            - '\LocalState\settings.json'
    filter_vsdevcmd:
        CommandLine|contains|all:
            - 'C:\Program Files\Microsoft Visual Studio\'
            - '\Common7\Tools\VsDevCmd.bat'
    condition: all of selection_* and not 1 of filter_*
falsepositives:
    - Other legitimate "Windows Terminal" profiles
level: medium

Stages and Predicates

Stage 0: condition

all of selection_* and not 1 of filter_*

Stage 1: selection_parent

selection_parent:
    ParentImage|endswith:
        - '\WindowsTerminal.exe'
        - '\wt.exe'

Stage 2: selection_susp

selection_susp:
    - Image|endswith:
          - '\rundll32.exe'
          - '\regsvr32.exe'
          - '\certutil.exe'
          - '\cscript.exe'
          - '\wscript.exe'
          - '\csc.exe'
    - Image|contains:
          - 'C:\Users\Public\'
          - '\Downloads\'
          - '\Desktop\'
          - '\AppData\Local\Temp\'
          - '\Windows\TEMP\'
    - CommandLine|contains:
          - ' iex '
          - ' icm'
          - 'Invoke-'
          - 'Import-Module '
          - 'ipmo '
          - 'DownloadString('
          - ' /c '
          - ' /k '
          - ' /r '

Stage 3: not filter_*

filter_builtin_visual_studio_shell:
    CommandLine|contains|all:
        - 'Import-Module'
        - 'Microsoft.VisualStudio.DevShell.dll'
        - 'Enter-VsDevShell'
filter_open_settings:
    CommandLine|contains|all:
        - '\AppData\Local\Packages\Microsoft.WindowsTerminal_'
        - '\LocalState\settings.json'
filter_vsdevcmd:
    CommandLine|contains|all:
        - 'C:\Program Files\Microsoft Visual Studio\'
        - '\Common7\Tools\VsDevCmd.bat'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /c corpus 7 (sigma 6, splunk 1)
  • /k
  • /r corpus 2 (sigma 2)
  • icm
  • iex
  • DownloadString(
  • Import-Module corpus 3 (sigma 3)
  • Invoke- corpus 6 (sigma 6)
  • ipmo corpus 3 (sigma 3)
field:"CommandLine" kind:match
Imageends_with
  • \certutil.exe corpus 43 (sigma 43)
  • \csc.exe corpus 9 (sigma 9)
  • \cscript.exe corpus 72 (sigma 72)
  • \regsvr32.exe corpus 64 (sigma 64)
  • \rundll32.exe corpus 94 (sigma 94)
  • \wscript.exe corpus 74 (sigma 74)
field:"Image" kind:ends_with
Imagematch
  • C:\Users\Public\ corpus 2 (sigma 2)
  • \AppData\Local\Temp\ corpus 11 (sigma 10, splunk 1)
  • \Desktop\ corpus 6 (sigma 6)
  • \Downloads\ corpus 9 (sigma 9)
  • \Windows\TEMP\ corpus 8 (sigma 7, splunk 1)
field:"Image" kind:match
ParentImageends_with
  • \WindowsTerminal.exe
  • \wt.exe
field:"ParentImage" kind:ends_with

Exclusions

The rule actively suppresses these predicates.

Sysinternals PsSuspend Suspicious Execution

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

Detects suspicious execution of Sysinternals PsSuspend, where the utility is used to suspend critical processes such as AV or EDR to bypass defenses

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Sysinternals PsSuspend Suspicious Execution
id: 4beb6ae0-f85b-41e2-8f18-8668abc8af78
related:
    - id: 48bbc537-b652-4b4e-bd1d-281172df448f # Basic Execution
      type: similar
status: test
description: Detects suspicious execution of Sysinternals PsSuspend, where the utility is used to suspend critical processes such as AV or EDR to bypass defenses
references:
    - https://learn.microsoft.com/en-us/sysinternals/downloads/pssuspend
    - https://twitter.com/0gtweet/status/1638069413717975046
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-03-23
modified: 2026-06-29
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - OriginalFileName: 'pssuspend.exe'
        - Image|endswith:
              - '\pssuspend.exe'
              - '\pssuspend64.exe'
              - '\pssuspend64a.exe'
    selection_cli:
        # Add more interesting/critical processes
        CommandLine|contains: 'msmpeng.exe'
    condition: all of selection_*
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    - OriginalFileName: 'pssuspend.exe'
    - Image|endswith:
          - '\pssuspend.exe'
          - '\pssuspend64.exe'
          - '\pssuspend64a.exe'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains: 'msmpeng.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • msmpeng.exe
field:"CommandLine" kind:match value:"msmpeng.exe"
Imageends_with
  • \pssuspend.exe corpus 3 (sigma 3)
  • \pssuspend64.exe corpus 3 (sigma 3)
  • \pssuspend64a.exe corpus 3 (sigma 3)
field:"Image" kind:ends_with
OriginalFileNameeq
  • pssuspend.exe corpus 2 (sigma 2)
field:"OriginalFileName" kind:eq value:"pssuspend.exe"

System Integrity Protection (SIP) Disabled

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

Detects the use of csrutil to disable the Configure System Integrity Protection (SIP). This technique is used in post-exploit scenarios.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: System Integrity Protection (SIP) Disabled
id: 3603f18a-ec15-43a1-9af2-d196c8a7fec6
status: test
description: |
    Detects the use of csrutil to disable the Configure System Integrity Protection (SIP). This technique is used in post-exploit scenarios.
references:
    - https://ss64.com/osx/csrutil.html
    - https://objective-see.org/blog/blog_0x6D.html
    - https://www.welivesecurity.com/2017/10/20/osx-proton-supply-chain-attack-elmedia/
    - https://www.virustotal.com/gui/file/05a2adb266ec6c0ba9ed176d87d8530e71e845348c13caf9f60049760c312cd3/behavior
author: Joseliyo Sanchez, @Joseliyo_Jstnk
date: 2024-01-02
tags:
    - attack.discovery
    - attack.t1518.001
logsource:
    product: macos
    category: process_creation
detection:
    # VT Query: behavior_processes:"csrutil status" p:5+ type:mac
    selection:
        Image|endswith: '/csrutil'
        CommandLine|contains: 'disable'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '/csrutil'
    CommandLine|contains: 'disable'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • disable corpus 13 (sigma 10, splunk 3)
field:"CommandLine" kind:match value:"disable"
Imageends_with
  • /csrutil corpus 2 (sigma 2)
field:"Image" kind:ends_with value:"/csrutil"

TanStack Supply-Chain Attack File Creation Indicators - Linux

#
Status
experimental
Severity
medium
Author
Leonardo Gasparini
Source
github.com/SigmaHQ/sigma

Detects file creation indicators associated with the Mini Shai-Hulud supply-chain campaign targeting TanStack npm packages and others such as mistralai and uipath reported on early May 2026.

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 11: File created

Rule Body

title: TanStack Supply-Chain Attack File Creation Indicators - Linux
id: 2b5e4d3f-7c9a-4fab-a8d1-3e6f5a7b8c9d
status: experimental
description: Detects file creation indicators associated with the Mini Shai-Hulud supply-chain campaign targeting TanStack npm packages and others such as mistralai and uipath reported on early May 2026.
references:
    - https://www.netskope.com/blog/shai-hulud-style-npm-worm-hits-tanstack
    - https://socket.dev/blog/tanstack-npm-packages-compromised-mini-shai-hulud-supply-chain-attack
    - https://socket.dev/supply-chain-attacks/mini-shai-hulud
    - https://safedep.io/mass-npm-supply-chain-attack-tanstack-mistral/
author: Leonardo Gasparini
date: 2026-05-12
tags:
    - attack.initial-access
    - attack.t1195.002
    - attack.execution
    - attack.t1059.007
    - attack.persistence
    - attack.privilege-escalation
    - attack.t1547.004
    - detection.emerging-threats
logsource:
    category: file_event
    product: linux
detection:
    selection_malware_files:
        TargetFilename|endswith:
            - '/router_init.js'
            - '/tanstack_runner.js'
    selection_persistence_claude_vscode:
        TargetFilename|endswith:
            - '/.claude/router_runtime.js'
            - '/.vscode/router_runtime.js'
    selection_pypi_payload:
        TargetFilename: '/tmp/transformers.pyz'
    condition: 1 of selection_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_malware_files

selection_malware_files:
    TargetFilename|endswith:
        - '/router_init.js'
        - '/tanstack_runner.js'

Stage 2: selection_persistence_claude_vscode

selection_persistence_claude_vscode:
    TargetFilename|endswith:
        - '/.claude/router_runtime.js'
        - '/.vscode/router_runtime.js'

Stage 3: selection_pypi_payload

selection_pypi_payload:
    TargetFilename: '/tmp/transformers.pyz'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenameends_with
  • /.claude/router_runtime.js
  • /.vscode/router_runtime.js
  • /router_init.js
  • /tanstack_runner.js
field:"TargetFilename" kind:ends_with
TargetFilenameeq
  • /tmp/transformers.pyz
field:"TargetFilename" kind:eq value:"/tmp/transformers.pyz"

UAC Bypass Using Windows Media Player - File

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

Detects the pattern of UAC Bypass using Windows Media Player osksupport.dll (UACMe 32)

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: UAC Bypass Using Windows Media Player - File
id: 68578b43-65df-4f81-9a9b-92f32711a951
status: test
description: Detects the pattern of UAC Bypass using Windows Media Player osksupport.dll (UACMe 32)
references:
    - https://github.com/hfiref0x/UACME
author: Christian Burkard (Nextron Systems)
date: 2021-08-23
modified: 2022-10-09
tags:
    - attack.privilege-escalation
    - attack.t1548.002
logsource:
    category: file_event
    product: windows
detection:
    selection1:
        TargetFilename|startswith: 'C:\Users\'
        TargetFilename|endswith: '\AppData\Local\Temp\OskSupport.dll'
    selection2:
        Image: 'C:\Windows\system32\DllHost.exe'
        TargetFilename: 'C:\Program Files\Windows Media Player\osk.exe'
    condition: 1 of selection*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

1 of selection*

Stage 1: selection1

selection1:
    TargetFilename|startswith: 'C:\Users\'
    TargetFilename|endswith: '\AppData\Local\Temp\OskSupport.dll'

Stage 2: selection2

selection2:
    Image: 'C:\Windows\system32\DllHost.exe'
    TargetFilename: 'C:\Program Files\Windows Media Player\osk.exe'

Indicators

These rows show field, operator, and value matches.

Uncommon AddinUtil.EXE CommandLine Execution

#
Status
test
Severity
medium
Author
Michael McKinley (@McKinleyMike), Tony Latteri (@TheLatteri)
Source
github.com/SigmaHQ/sigma

Detects execution of the Add-In deployment cache updating utility (AddInutil.exe) with uncommon Addinroot or Pipelineroot paths. An adversary may execute AddinUtil.exe with uncommon Addinroot/Pipelineroot paths that point to the adversaries Addins.Store payload.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Uncommon AddinUtil.EXE CommandLine Execution
id: 4f2cd9b6-4a17-440f-bb2a-687abb65993a
status: test
description: |
    Detects execution of the Add-In deployment cache updating utility (AddInutil.exe) with uncommon Addinroot or Pipelineroot paths. An adversary may execute AddinUtil.exe with uncommon Addinroot/Pipelineroot paths that point to the adversaries Addins.Store payload.
references:
    - https://www.blue-prints.blog/content/blog/posts/lolbin/addinutil-lolbas.html
author: Michael McKinley (@McKinleyMike), Tony Latteri (@TheLatteri)
date: 2023-09-18
tags:
    - attack.stealth
    - attack.t1218
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\addinutil.exe'
        - OriginalFileName: 'AddInUtil.exe'
    selection_cli:
        CommandLine|contains:
            - '-AddInRoot:'
            - '-PipelineRoot:'
    filter_main_addinroot:
        CommandLine|contains:
            - '-AddInRoot:"C:\Program Files (x86)\Common Files\Microsoft Shared\VSTA'
            - '-AddInRoot:C:\Program Files (x86)\Common Files\Microsoft Shared\VSTA'
            - '-PipelineRoot:"C:\Program Files (x86)\Common Files\Microsoft Shared\VSTA'
            - '-PipelineRoot:C:\Program Files (x86)\Common Files\Microsoft Shared\VSTA'
    condition: all of selection_* and not 1 of filter_main_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

all of selection_* and not 1 of filter_main_*

Stage 1: selection_img

selection_img:
    - Image|endswith: '\addinutil.exe'
    - OriginalFileName: 'AddInUtil.exe'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains:
        - '-AddInRoot:'
        - '-PipelineRoot:'

Stage 3: not filter_main_addinroot

filter_main_addinroot:
    CommandLine|contains:
        - '-AddInRoot:"C:\Program Files (x86)\Common Files\Microsoft Shared\VSTA'
        - '-AddInRoot:C:\Program Files (x86)\Common Files\Microsoft Shared\VSTA'
        - '-PipelineRoot:"C:\Program Files (x86)\Common Files\Microsoft Shared\VSTA'
        - '-PipelineRoot:C:\Program Files (x86)\Common Files\Microsoft Shared\VSTA'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -AddInRoot: corpus 2 (sigma 2)
  • -PipelineRoot: corpus 2 (sigma 2)
field:"CommandLine" kind:match
Imageends_with
  • \addinutil.exe corpus 4 (sigma 4)
field:"Image" kind:ends_with value:"\addinutil.exe"
OriginalFileNameeq
  • AddInUtil.exe corpus 4 (sigma 3, elastic 1)
field:"OriginalFileName" kind:eq value:"AddInUtil.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLinematch-AddInRoot:C:\Program Files (x86)\Common Files\Microsoft Shared\VSTAexcludes:CommandLine field:"CommandLine" value:"-AddInRoot:C:\Program Files (x86)\Common Files\Microsoft Shared\VSTA"
CommandLinematch-AddInRoot:"C:\Program Files (x86)\Common Files\Microsoft Shared\VSTAexcludes:CommandLine
CommandLinematch-PipelineRoot:C:\Program Files (x86)\Common Files\Microsoft Shared\VSTAexcludes:CommandLine field:"CommandLine" value:"-PipelineRoot:C:\Program Files (x86)\Common Files\Microsoft Shared\VSTA"
CommandLinematch-PipelineRoot:"C:\Program Files (x86)\Common Files\Microsoft Shared\VSTAexcludes:CommandLine

Unfamiliar Sign-In Properties

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

Detects sign-in with properties that are unfamiliar to the user. The detection considers past sign-in history to look for anomalous sign-ins.

Known False Positives

  • User changing to a new device, location, browser, etc.

MITRE ATT&CK Coverage

TacticTechniques
Initial Access
Persistence
Privilege Escalation
Stealth

Rule Body

title: Unfamiliar Sign-In Properties
id: 128faeef-79dd-44ca-b43c-a9e236a60f49
status: test
description: Detects sign-in with properties that are unfamiliar to the user. The detection considers past sign-in history to look for anomalous sign-ins.
references:
    - https://learn.microsoft.com/en-us/entra/id-protection/concept-identity-protection-risks#unfamiliar-sign-in-properties
    - https://learn.microsoft.com/en-us/entra/architecture/security-operations-user-accounts#unusual-sign-ins
author: Mark Morowczynski '@markmorow', Gloria Lee, '@gleeiamglo'
date: 2023-09-03
tags:
    - attack.stealth
    - attack.t1078
    - attack.persistence
    - attack.privilege-escalation
    - attack.initial-access
logsource:
    product: azure
    service: riskdetection
detection:
    selection:
        riskEventType: 'unfamiliarFeatures'
    condition: selection
falsepositives:
    - User changing to a new device, location, browser, etc.
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    riskEventType: 'unfamiliarFeatures'

Indicators

These rows show field, operator, and value matches.

Back to all Sigma rules