Detection rules › Sigma

Sigma rules: 0a

RuleSeverity
BITS Transfer Job With Uncommon Or Suspicious Remote TLDmedium
Cab File Extraction Via Wusa.EXEmedium
Capsh Shell Invocation - Linuxhigh
Credential Dumping Tools Service Execution - Systemhigh
Detected Windows Software Discovery - PowerShellmedium
Disabling Security Tools - Builtinmedium
DSInternals Suspicious PowerShell Cmdlets - ScriptBlockhigh
Forest Blizzard APT - Custom Protocol Handler Creationhigh
Github Self-Hosted Runner Executionmedium
Important Scheduled Task Deleted or Disabledhigh
Local System Accounts Discovery - Linuxlow
Okta MFA Reset or Deactivatedmedium
Outbound Network Connection To Public IP Via Winlogonmedium
Persistence Via New SIP Providermedium
Potential AS-REP Roasting via Kerberos TGT Requestsmedium
Potential BlackByte Ransomware Activityhigh
Potential COLDSTEEL Persistence Service DLL Loadhigh
Potential Compromised 3CXDesktopApp Beaconing Activity - DNShigh
Potentially Suspicious Child Process Of Regsvr32high
Potentially Suspicious GoogleUpdate Child Processhigh
Potentially Suspicious NTFS Symlink Behavior Modificationmedium
Process Memory Dump Via Dotnet-Dumpmedium
RDP shadow session configuration enabled (registry)high
Remote LSASS Process Access Through Windows Remote Managementhigh
Renamed FTP.EXE Executionmedium
Screen Capture with Import Toollow
Sudo Privilege Escalation CVE-2019-14287 - Builtincritical
Suspicious Execution From Outlook Temporary Folderhigh
Suspicious File Download From IP Via Wget.EXE - Pathshigh
Suspicious X509Enrollment - Ps Scriptmedium
Triple Cross eBPF Rootkit Default Persistencehigh
Vulnerable Driver Blocklist Registry Tampering Via CommandLinehigh
Webserver IIS module installed via GAC manipulation (PowerShell)high
Windows Terminal Profile Settings Modification By Uncommon Processmedium

BITS Transfer Job With Uncommon Or Suspicious Remote TLD

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

Detects a suspicious download using the BITS client from a FQDN that is unusual. Adversaries may abuse BITS jobs to persistently execute or clean up after malicious payloads.

Known False Positives

  • This rule doesn't exclude other known TLDs such as ".org" or ".net". It's recommended to apply additional filters for software and scripts that leverage the BITS service

MITRE ATT&CK Coverage

TacticTechniques
Execution
Persistence
Stealth

Telemetry Coverage

ProviderRecord / event type
Bits-ClientEvent ID 16403: task_016403

Rule Body

title: BITS Transfer Job With Uncommon Or Suspicious Remote TLD
id: 6d44fb93-e7d2-475c-9d3d-54c9c1e33427
status: test
description: Detects a suspicious download using the BITS client from a FQDN that is unusual. Adversaries may abuse BITS jobs to persistently execute or clean up after malicious payloads.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1197/T1197.md
    - https://twitter.com/malmoeb/status/1535142803075960832
author: Florian Roth (Nextron Systems)
date: 2022-06-10
modified: 2025-02-28
tags:
    - attack.persistence
    - attack.execution
    - attack.stealth
    - attack.t1197
logsource:
    product: windows
    service: bits-client
detection:
    selection:
        EventID: 16403
    filter_main_generic:
        RemoteName|contains:
            - '.azureedge.net/'
            - '.com/'
            - '.sfx.ms/'
            - 'download.mozilla.org/' # https://download.mozilla.org/?product=firefox-101.0.1-partial-101.0&os=win64&lang=en-US
            - 'cdn.onenote.net/'
            - 'cdn.office.net/'
            - 'tscdn.m365.static.microsoft/'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - This rule doesn't exclude other known TLDs such as ".org" or ".net". It's recommended to apply additional filters for software and scripts that leverage the BITS service
level: medium
regression_tests_path: regression_data/rules/windows/builtin/bits_client/win_bits_client_new_transfer_via_uncommon_tld/info.yml

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    EventID: 16403

Stage 2: not filter_main_generic

filter_main_generic:
    RemoteName|contains:
        - '.azureedge.net/'
        - '.com/'
        - '.sfx.ms/'
        - 'download.mozilla.org/'
        - 'cdn.onenote.net/'
        - 'cdn.office.net/'
        - 'tscdn.m365.static.microsoft/'

Exclusions

The rule actively suppresses these predicates.

Cab File Extraction Via Wusa.EXE

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

Detects execution of the "wusa.exe" (Windows Update Standalone Installer) utility to extract cab using the "/extract" argument that is no longer supported.

Known False Positives

  • The "extract" flag still works on older 'wusa.exe' versions, which could be a legitimate use (monitor the path of the cab being extracted)

MITRE ATT&CK Coverage

TacticTechniques
ExecutionNo specific technique

Telemetry Coverage

Rule Body

title: Cab File Extraction Via Wusa.EXE
id: 59b39960-5f9d-4a49-9cef-1e4d2c1d0cb9
related:
    - id: c74c0390-3e20-41fd-a69a-128f0275a5ea
      type: derived
status: test
description: |
    Detects execution of the "wusa.exe" (Windows Update Standalone Installer) utility to extract cab using the "/extract" argument that is no longer supported.
references:
    - https://web.archive.org/web/20180331144337/https://www.fireeye.com/blog/threat-research/2018/03/sanny-malware-delivery-method-updated-in-recently-observed-attacks.html
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-08-04
modified: 2024-08-15
tags:
    - attack.execution
    - detection.threat-hunting
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\wusa.exe'
        CommandLine|contains: '/extract:'
    condition: selection
falsepositives:
    - The "extract" flag still works on older 'wusa.exe' versions, which could be a legitimate use (monitor the path of the cab being extracted)
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '\wusa.exe'
    CommandLine|contains: '/extract:'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /extract: corpus 2 (sigma 2)
field:"CommandLine" kind:match value:"/extract:"
Imageends_with
  • \wusa.exe corpus 4 (sigma 4)
field:"Image" kind:ends_with value:"\wusa.exe"

Capsh Shell Invocation - Linux

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

Detects the use of the "capsh" utility to invoke a shell.

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: Capsh Shell Invocation - Linux
id: db1ac3be-f606-4e3a-89e0-9607cbe6b98a
status: test
description: |
    Detects the use of the "capsh" utility to invoke a shell.
references:
    - https://gtfobins.github.io/gtfobins/capsh/#shell
    - https://www.elastic.co/guide/en/security/current/linux-restricted-shell-breakout-via-linux-binary-s.html
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:
        Image|endswith: '/capsh'
        CommandLine|endswith: ' --'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '/capsh'
    CommandLine|endswith: ' --'

Indicators

These rows show field, operator, and value matches.

Credential Dumping Tools Service Execution - System

#
Status
test
Severity
high
Author
Florian Roth (Nextron Systems), Teymur Kheirkhabarov, Daniil Yugoslavskiy, oscd.community
Source
github.com/SigmaHQ/sigma

Detects well-known credential dumping tools execution via service execution events

Known False Positives

  • Legitimate Administrator using credential dumping tool for password recovery

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Credential Dumping Tools Service Execution - System
id: 4976aa50-8f41-45c6-8b15-ab3fc10e79ed
status: test
description: Detects well-known credential dumping tools execution via service execution events
references:
    - https://www.slideshare.net/heirhabarov/hunting-for-credentials-dumping-in-windows-environment
author: Florian Roth (Nextron Systems), Teymur Kheirkhabarov, Daniil Yugoslavskiy, oscd.community
date: 2017-03-05
modified: 2022-11-29
tags:
    - attack.credential-access
    - attack.execution
    - attack.t1003.001
    - attack.t1003.002
    - attack.t1003.004
    - attack.t1003.005
    - attack.t1003.006
    - attack.t1569.002
    - attack.s0005
logsource:
    product: windows
    service: system
detection:
    selection:
        Provider_Name: 'Service Control Manager'
        EventID: 7045
        ImagePath|contains:
            - 'cachedump'
            - 'dumpsvc'
            - 'fgexec'
            - 'gsecdump'
            - 'mimidrv'
            - 'pwdump'
            - 'servpw'
    condition: selection
falsepositives:
    - Legitimate Administrator using credential dumping tool for password recovery
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Provider_Name: 'Service Control Manager'
    EventID: 7045
    ImagePath|contains:
        - 'cachedump'
        - 'dumpsvc'
        - 'fgexec'
        - 'gsecdump'
        - 'mimidrv'
        - 'pwdump'
        - 'servpw'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ImagePathmatch
  • cachedump
  • dumpsvc
  • fgexec
  • gsecdump
  • mimidrv
  • pwdump
  • servpw
field:"ImagePath" kind:match
Provider_Nameeq
  • Service Control Manager corpus 50 (sigma 50)
field:"Provider_Name" kind:eq value:"Service Control Manager"

Detected Windows Software Discovery - PowerShell

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

Adversaries may attempt to enumerate software for a variety of reasons, such as figuring out what security measures are present or if the compromised system has a version of software that is vulnerable.

Known False Positives

  • Legitimate administration activities

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

Rule Body

title: Detected Windows Software Discovery - PowerShell
id: 2650dd1a-eb2a-412d-ac36-83f06c4f2282
status: test
description: Adversaries may attempt to enumerate software for a variety of reasons, such as figuring out what security measures are present or if the compromised system has a version of software that is vulnerable.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1518/T1518.md
    - https://github.com/harleyQu1nn/AggressorScripts # AVQuery.cna
author: Nikita Nazarov, oscd.community
date: 2020-10-16
modified: 2022-12-02
tags:
    - attack.discovery
    - attack.t1518
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains|all:
            # Example: Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table -Autosize
            - 'get-itemProperty'
            - '\software\'
            - 'select-object'
            - 'format-table'
    condition: selection
falsepositives:
    - Legitimate administration activities
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains|all:
        - 'get-itemProperty'
        - '\software\'
        - 'select-object'
        - 'format-table'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • \software\
  • format-table
  • get-itemProperty corpus 2 (sigma 2)
  • select-object
field:"ScriptBlockText" kind:match

Disabling Security Tools - Builtin

#
Status
test
Severity
medium
Author
Ömer Günal, Alejandro Ortuno, oscd.community
Source
github.com/SigmaHQ/sigma

Detects disabling security tools

Known False Positives

  • Legitimate administration activities

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Rule Body

title: Disabling Security Tools - Builtin
id: 49f5dfc1-f92e-4d34-96fa-feba3f6acf36
related:
    - id: e3a8a052-111f-4606-9aee-f28ebeb76776
      type: derived
status: test
description: Detects disabling security tools
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1562.004/T1562.004.md
author: Ömer Günal, Alejandro Ortuno, oscd.community
date: 2020-06-17
modified: 2022-11-26
tags:
    - attack.defense-impairment
    - attack.t1686
logsource:
    product: linux
    service: syslog
detection:
    keywords:
        - 'stopping iptables'
        - 'stopping ip6tables'
        - 'stopping firewalld'
        - 'stopping cbdaemon'
        - 'stopping falcon-sensor'
    condition: keywords
falsepositives:
    - Legitimate administration activities
level: medium

Stages and Predicates

Stage 0: condition

keywords

Stage 1: keywords

keywords:
    - 'stopping iptables'
    - 'stopping ip6tables'
    - 'stopping firewalld'
    - 'stopping cbdaemon'
    - 'stopping falcon-sensor'

DSInternals Suspicious PowerShell Cmdlets - ScriptBlock

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

Detects execution and usage of the DSInternals PowerShell module. Which can be used to perform what might be considered as suspicious activity such as dumping DPAPI backup keys or manipulating NTDS.DIT files. The DSInternals PowerShell Module exposes several internal features of Active Directory and Azure Active Directory. These include FIDO2 and NGC key auditing, offline ntds.dit file manipulation, password auditing, DC recovery from IFM backups and password hash calculation.

Known False Positives

  • Legitimate usage of DSInternals for administration or audit purpose.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: DSInternals Suspicious PowerShell Cmdlets - ScriptBlock
id: 846c7a87-8e14-4569-9d49-ecfd4276a01c
related:
    - id: 43d91656-a9b2-4541-b7e2-6a9bd3a13f4e
      type: similar
status: test
description: |
    Detects execution and usage of the DSInternals PowerShell module. Which can be used to perform what might be considered as suspicious activity such as dumping DPAPI backup keys or manipulating NTDS.DIT files.
    The DSInternals PowerShell Module exposes several internal features of Active Directory and Azure Active Directory. These include FIDO2 and NGC key auditing, offline ntds.dit file manipulation, password auditing, DC recovery from IFM backups and password hash calculation.
references:
    - https://github.com/MichaelGrafnetter/DSInternals/blob/39ee8a69bbdc1cfd12c9afdd7513b4788c4895d4/Src/DSInternals.PowerShell/DSInternals.psd1
author: Nasreddine Bencherchali (Nextron Systems)
date: 2024-06-26
tags:
    - attack.execution
    - attack.t1059.001
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains:
            - 'Add-ADDBSidHistory'
            - 'Add-ADNgcKey'
            - 'Add-ADReplNgcKey'
            - 'ConvertFrom-ADManagedPasswordBlob'
            - 'ConvertFrom-GPPrefPassword'
            - 'ConvertFrom-ManagedPasswordBlob'
            - 'ConvertFrom-UnattendXmlPassword'
            - 'ConvertFrom-UnicodePassword'
            - 'ConvertTo-AADHash'
            - 'ConvertTo-GPPrefPassword'
            - 'ConvertTo-KerberosKey'
            - 'ConvertTo-LMHash'
            - 'ConvertTo-MsoPasswordHash'
            - 'ConvertTo-NTHash'
            - 'ConvertTo-OrgIdHash'
            - 'ConvertTo-UnicodePassword'
            - 'Disable-ADDBAccount'
            - 'Enable-ADDBAccount'
            - 'Get-ADDBAccount'
            - 'Get-ADDBBackupKey'
            - 'Get-ADDBDomainController'
            - 'Get-ADDBGroupManagedServiceAccount'
            - 'Get-ADDBKdsRootKey'
            - 'Get-ADDBSchemaAttribute'
            - 'Get-ADDBServiceAccount'
            - 'Get-ADDefaultPasswordPolicy'
            - 'Get-ADKeyCredential' # Covers 'Get-ADKeyCredentialLink'
            - 'Get-ADPasswordPolicy'
            - 'Get-ADReplAccount'
            - 'Get-ADReplBackupKey'
            - 'Get-ADReplicationAccount'
            - 'Get-ADSIAccount'
            - 'Get-AzureADUserEx'
            - 'Get-BootKey'
            - 'Get-KeyCredential'
            - 'Get-LsaBackupKey'
            - 'Get-LsaPolicy' # Covers 'Get-LsaPolicyInformation'
            - 'Get-SamPasswordPolicy'
            - 'Get-SysKey'
            - 'Get-SystemKey'
            - 'New-ADDBRestoreFromMediaScript'
            - 'New-ADKeyCredential' # Covers 'New-ADKeyCredentialLink'
            - 'New-ADNgcKey'
            - 'New-NTHashSet'
            - 'Remove-ADDBObject'
            - 'Save-DPAPIBlob'
            - 'Set-ADAccountPasswordHash'
            - 'Set-ADDBAccountPassword' # Covers 'Set-ADDBAccountPasswordHash'
            - 'Set-ADDBBootKey'
            - 'Set-ADDBDomainController'
            - 'Set-ADDBPrimaryGroup'
            - 'Set-ADDBSysKey'
            - 'Set-AzureADUserEx'
            - 'Set-LsaPolicy' # Covers 'Set-LSAPolicyInformation'
            - 'Set-SamAccountPasswordHash'
            - 'Set-WinUserPasswordHash'
            - 'Test-ADDBPasswordQuality'
            - 'Test-ADPasswordQuality'
            - 'Test-ADReplPasswordQuality'
            - 'Test-PasswordQuality'
            - 'Unlock-ADDBAccount'
            - 'Write-ADNgcKey'
            - 'Write-ADReplNgcKey'
    condition: selection
falsepositives:
    - Legitimate usage of DSInternals for administration or audit purpose.
level: high
regression_tests_path: regression_data/rules/windows/powershell/powershell_script/posh_ps_dsinternals_cmdlets/info.yml

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains:
        - 'Add-ADDBSidHistory'
        - 'Add-ADNgcKey'
        - 'Add-ADReplNgcKey'
        - 'ConvertFrom-ADManagedPasswordBlob'
        - 'ConvertFrom-GPPrefPassword'
        - 'ConvertFrom-ManagedPasswordBlob'
        - 'ConvertFrom-UnattendXmlPassword'
        - 'ConvertFrom-UnicodePassword'
        - 'ConvertTo-AADHash'
        - 'ConvertTo-GPPrefPassword'
        - 'ConvertTo-KerberosKey'
        - 'ConvertTo-LMHash'
        - 'ConvertTo-MsoPasswordHash'
        - 'ConvertTo-NTHash'
        - 'ConvertTo-OrgIdHash'
        - 'ConvertTo-UnicodePassword'
        - 'Disable-ADDBAccount'
        - 'Enable-ADDBAccount'
        - 'Get-ADDBAccount'
        - 'Get-ADDBBackupKey'
        - 'Get-ADDBDomainController'
        - 'Get-ADDBGroupManagedServiceAccount'
        - 'Get-ADDBKdsRootKey'
        - 'Get-ADDBSchemaAttribute'
        - 'Get-ADDBServiceAccount'
        - 'Get-ADDefaultPasswordPolicy'
        - 'Get-ADKeyCredential'
        - 'Get-ADPasswordPolicy'
        - 'Get-ADReplAccount'
        - 'Get-ADReplBackupKey'
        - 'Get-ADReplicationAccount'
        - 'Get-ADSIAccount'
        - 'Get-AzureADUserEx'
        - 'Get-BootKey'
        - 'Get-KeyCredential'
        - 'Get-LsaBackupKey'
        - 'Get-LsaPolicy'
        - 'Get-SamPasswordPolicy'
        - 'Get-SysKey'
        - 'Get-SystemKey'
        - 'New-ADDBRestoreFromMediaScript'
        - 'New-ADKeyCredential'
        - 'New-ADNgcKey'
        - 'New-NTHashSet'
        - 'Remove-ADDBObject'
        - 'Save-DPAPIBlob'
        - 'Set-ADAccountPasswordHash'
        - 'Set-ADDBAccountPassword'
        - 'Set-ADDBBootKey'
        - 'Set-ADDBDomainController'
        - 'Set-ADDBPrimaryGroup'
        - 'Set-ADDBSysKey'
        - 'Set-AzureADUserEx'
        - 'Set-LsaPolicy'
        - 'Set-SamAccountPasswordHash'
        - 'Set-WinUserPasswordHash'
        - 'Test-ADDBPasswordQuality'
        - 'Test-ADPasswordQuality'
        - 'Test-ADReplPasswordQuality'
        - 'Test-PasswordQuality'
        - 'Unlock-ADDBAccount'
        - 'Write-ADNgcKey'
        - 'Write-ADReplNgcKey'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • Add-ADDBSidHistory
  • Add-ADNgcKey
  • Add-ADReplNgcKey
  • ConvertFrom-ADManagedPasswordBlob
  • ConvertFrom-GPPrefPassword
  • ConvertFrom-ManagedPasswordBlob
  • ConvertFrom-UnattendXmlPassword
  • ConvertFrom-UnicodePassword
  • ConvertTo-AADHash
  • ConvertTo-GPPrefPassword
  • ConvertTo-KerberosKey
  • ConvertTo-LMHash
  • ConvertTo-MsoPasswordHash
  • ConvertTo-NTHash
  • ConvertTo-OrgIdHash
  • ConvertTo-UnicodePassword
  • Disable-ADDBAccount
  • Enable-ADDBAccount
  • Get-ADDBAccount
  • Get-ADDBBackupKey
  • Get-ADDBDomainController
  • Get-ADDBGroupManagedServiceAccount
  • Get-ADDBKdsRootKey
  • Get-ADDBSchemaAttribute
  • Get-ADDBServiceAccount
  • Get-ADDefaultPasswordPolicy
  • Get-ADKeyCredential
  • Get-ADPasswordPolicy
  • Get-ADReplAccount corpus 2 (sigma 2)
  • Get-ADReplBackupKey
  • Get-ADReplicationAccount
  • Get-ADSIAccount
  • Get-AzureADUserEx
  • Get-BootKey
  • Get-KeyCredential
  • Get-LsaBackupKey
  • Get-LsaPolicy
  • Get-SamPasswordPolicy
  • Get-SysKey
  • Get-SystemKey
  • +23 more values (see full rule source)
field:"ScriptBlockText" kind:match

Forest Blizzard APT - Custom Protocol Handler Creation

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

Detects the setting of a custom protocol handler with the name "rogue". Seen being created by Forest Blizzard APT as reported by MSFT.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Forest Blizzard APT - Custom Protocol Handler Creation
id: 5cdeb555-65de-4767-99fe-e26807465148
status: test
description: |
    Detects the setting of a custom protocol handler with the name "rogue".
    Seen being created by Forest Blizzard APT as reported by MSFT.
references:
    - https://www.microsoft.com/en-us/security/blog/2024/04/22/analyzing-forest-blizzards-custom-post-compromise-tool-for-exploiting-cve-2022-38028-to-obtain-credentials/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2024-04-23
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1547.001
    - detection.emerging-threats
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|contains: '\PROTOCOLS\\Handler\rogue\CLSID'
        Details: '{026CC6D7-34B2-33D5-B551-CA31EB6CE345}'
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|contains: '\PROTOCOLS\\Handler\rogue\CLSID'
    Details: '{026CC6D7-34B2-33D5-B551-CA31EB6CE345}'

Indicators

These rows show field, operator, and value matches.

Github Self-Hosted Runner Execution

#
Status
test
Severity
medium
Author
Daniel Koifman (KoifSec)
Source
github.com/SigmaHQ/sigma

Detects GitHub self-hosted runners executing workflows on local infrastructure that could be abused for persistence and code execution. Shai-Hulud is an npm supply chain worm targeting CI/CD environments. It installs runners on compromised systems to maintain access after credential theft, leveraging their access to secrets and internal networks.

Known False Positives

  • Legitimate GitHub self-hosted runner installations on designated CI/CD infrastructure
  • Authorized runner deployments by DevOps/Platform teams following change management
  • Scheduled runner updates or reconfigurations on existing build agents
  • Self-hosted runners that follow expected/known naming patterns
  • Installation via expected/known configuration management tools (reflected mostly as parent process name)

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Github Self-Hosted Runner Execution
id: 5bac7a56-da88-4c27-922e-c81e113b20cb
status: test
description: |
    Detects GitHub self-hosted runners executing workflows on local infrastructure that could be abused for persistence and code execution.
    Shai-Hulud is an npm supply chain worm targeting CI/CD environments.
    It installs runners on compromised systems to maintain access after credential theft, leveraging their access to secrets and internal networks.
references:
    - https://about.gitlab.com/blog/gitlab-discovers-widespread-npm-supply-chain-attack/
    - https://securitylabs.datadoghq.com/articles/shai-hulud-2.0-npm-worm/
author: Daniel Koifman (KoifSec)
date: 2025-11-29
tags:
    - attack.command-and-control
    - attack.t1102.002
    - attack.t1071
logsource:
    category: process_creation
    product: windows
detection:
    selection_worker_img:  # Example command C:\Users\Lab\actions-runner\bin\Runner.Worker.exe spawnclient 1288 1252
        - Image|endswith: '\Runner.Worker.exe'
        - OriginalFileName: 'Runner.Worker.dll'
    selection_worker_cli:
        CommandLine|contains: 'spawnclient'
    selection_listener_img: # Example command C:\Users\Lab\actions-runner\bin\Runner.Listener.exe  configure --url https://github.com/ABC/ABC --token 123123
        - Image|endswith: '\Runner.Listener.exe'
        - OriginalFileName: 'Runner.Listener.dll'
    selection_listener_cli:
        CommandLine|contains:
            - 'run'
            - 'configure'
    condition: all of selection_worker_* or all of selection_listener_*
falsepositives:
    - Legitimate GitHub self-hosted runner installations on designated CI/CD infrastructure
    - Authorized runner deployments by DevOps/Platform teams following change management
    - Scheduled runner updates or reconfigurations on existing build agents
    - Self-hosted runners that follow expected/known naming patterns
    - Installation via expected/known configuration management tools (reflected mostly as parent process name)
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_github_self_hosted_runner/info.yml

Stages and Predicates

Stage 0: condition

all of selection_worker_* or all of selection_listener_*

Stage 1: selection_worker_img

selection_worker_img:
    - Image|endswith: '\Runner.Worker.exe'
    - OriginalFileName: 'Runner.Worker.dll'

Stage 2: selection_worker_cli

selection_worker_cli:
    CommandLine|contains: 'spawnclient'

Stage 3: selection_listener_img

selection_listener_img:
    - Image|endswith: '\Runner.Listener.exe'
    - OriginalFileName: 'Runner.Listener.dll'

Stage 4: selection_listener_cli

selection_listener_cli:
    CommandLine|contains:
        - 'run'
        - 'configure'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • configure
  • run corpus 4 (sigma 3, splunk 1)
  • spawnclient
field:"CommandLine" kind:match
Imageends_with
  • \Runner.Listener.exe
  • \Runner.Worker.exe
field:"Image" kind:ends_with
OriginalFileNameeq
  • Runner.Listener.dll
  • Runner.Worker.dll
field:"OriginalFileName" kind:eq

Important Scheduled Task Deleted or Disabled

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

Detects when adversaries try to stop system services or processes by deleting or disabling their respective scheduled tasks in order to conduct data destructive activities

MITRE ATT&CK Coverage

TacticTechniques
Impact

Telemetry Coverage

Rule Body

title: Important Scheduled Task Deleted or Disabled
id: 9e3cb244-bdb8-4632-8c90-6079c8f4f16d
related:
    - id: dbc1f800-0fe0-4bc0-9c66-292c2abe3f78 # ProcCreation schtasks delete
      type: similar
    - id: 7595ba94-cf3b-4471-aa03-4f6baa9e5fad # Security-Audting Eventlog
      type: similar
    - id: 9ac94dc8-9042-493c-ba45-3b5e7c86b980 # ProcCreation schtasks disable
      type: similar
status: test
description: |
    Detects when adversaries try to stop system services or processes by deleting or disabling their respective scheduled tasks in order to conduct data destructive activities
references:
    - https://www.socinvestigation.com/most-common-windows-event-ids-to-hunt-mind-map/
author: frack113
date: 2023-01-13
modified: 2026-03-11
tags:
    - attack.impact
    - attack.t1489
logsource:
    product: windows
    service: taskscheduler
    definition: 'Requirements: The "Microsoft-Windows-TaskScheduler/Operational" is disabled by default and needs to be enabled in order for this detection to trigger'
detection:
    selection:
        EventID:
            - 141 # Task Deleted
            - 142 # Task Disabled
        TaskName|contains:
            - '\Windows\SystemRestore\SR'
            - '\Windows\Windows Defender\'
            - '\Windows\BitLocker'
            - '\Windows\WindowsBackup\'
            - '\Windows\WindowsUpdate\'
            - '\Windows\UpdateOrchestrator\'
            - '\Windows\ExploitGuard'
    filter_main_user:
        UserName|contains:
            - 'AUTHORI'
            - 'AUTORI'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown
level: high
regression_tests_path: regression_data/rules/windows/builtin/taskscheduler/win_taskscheduler_susp_schtasks_delete_or_disable/info.yml
simulation:
    - type: atomic-red-team
      name: Windows - Disable the SR scheduled task
      technique: T1490
      atomic_guid: 1c68c68d-83a4-4981-974e-8993055fa034

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    EventID:
        - 141
        - 142
    TaskName|contains:
        - '\Windows\SystemRestore\SR'
        - '\Windows\Windows Defender\'
        - '\Windows\BitLocker'
        - '\Windows\WindowsBackup\'
        - '\Windows\WindowsUpdate\'
        - '\Windows\UpdateOrchestrator\'
        - '\Windows\ExploitGuard'

Stage 2: not filter_main_user

filter_main_user:
    UserName|contains:
        - 'AUTHORI'
        - 'AUTORI'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TaskNamematch
  • \Windows\BitLocker corpus 2 (sigma 2)
  • \Windows\ExploitGuard corpus 2 (sigma 2)
  • \Windows\SystemRestore\SR corpus 2 (sigma 2)
  • \Windows\UpdateOrchestrator\
  • \Windows\Windows Defender\ corpus 2 (sigma 2)
  • \Windows\WindowsBackup\ corpus 2 (sigma 2)
  • \Windows\WindowsUpdate\ corpus 2 (sigma 2)
field:"TaskName" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
UserNamematchAUTHORIexcludes:UserName field:"UserName" value:"AUTHORI"
UserNamematchAUTORIexcludes:UserName field:"UserName" value:"AUTORI"

Local System Accounts Discovery - Linux

#
Status
test
Severity
low
Author
Alejandro Ortuno, oscd.community, CheraghiMilad
Source
github.com/SigmaHQ/sigma

Detects enumeration of local system accounts. This information can help adversaries determine which local accounts exist on a system to aid in follow-on behavior.

Known False Positives

  • Legitimate administration activities

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: Local System Accounts Discovery - Linux
id: b45e3d6f-42c6-47d8-a478-df6bd6cf534c
status: test
description: Detects enumeration of local system accounts. This information can help adversaries determine which local accounts exist on a system to aid in follow-on behavior.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1087.001/T1087.001.md
    - https://my.f5.com/manage/s/article/K589
    - https://man.freebsd.org/cgi/man.cgi?pwd_mkdb
author: Alejandro Ortuno, oscd.community, CheraghiMilad
date: 2020-10-08
modified: 2024-12-10
tags:
    - attack.discovery
    - attack.t1087.001
logsource:
    category: process_creation
    product: linux
detection:
    selection_1:
        Image|endswith: '/lastlog'
    selection_2:
        CommandLine|contains: '''x:0:'''
    selection_3:
        Image|endswith:
            - '/cat'
            - '/ed'
            - '/head'
            - '/more'
            - '/nano'
            - '/tail'
            - '/vi'
            - '/vim'
            - '/less'
            - '/emacs'
            - '/sqlite3'
            - '/makemap'
        CommandLine|contains:
            - '/etc/passwd'
            - '/etc/shadow'
            - '/etc/sudoers'
            - '/etc/spwd.db'
            - '/etc/pwd.db'
            - '/etc/master.passwd'
    selection_4:
        Image|endswith: '/id'
    selection_5:
        Image|endswith: '/lsof'
        CommandLine|contains: '-u'
    condition: 1 of selection*
falsepositives:
    - Legitimate administration activities
level: low

Stages and Predicates

Stage 0: condition

1 of selection*

Stage 1: selection_1

selection_1:
    Image|endswith: '/lastlog'

Stage 2: selection_2

selection_2:
    CommandLine|contains: '''x:0:'''

Stage 3: selection_3

selection_3:
    Image|endswith:
        - '/cat'
        - '/ed'
        - '/head'
        - '/more'
        - '/nano'
        - '/tail'
        - '/vi'
        - '/vim'
        - '/less'
        - '/emacs'
        - '/sqlite3'
        - '/makemap'
    CommandLine|contains:
        - '/etc/passwd'
        - '/etc/shadow'
        - '/etc/sudoers'
        - '/etc/spwd.db'
        - '/etc/pwd.db'
        - '/etc/master.passwd'

Stage 4: selection_4

selection_4:
    Image|endswith: '/id'

Stage 5: selection_5

selection_5:
    Image|endswith: '/lsof'
    CommandLine|contains: '-u'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • 'x:0:'
  • -u corpus 6 (sigma 5, splunk 1)
  • /etc/master.passwd
  • /etc/passwd corpus 4 (sigma 3, elastic 1)
  • /etc/pwd.db
  • /etc/shadow corpus 4 (sigma 2, elastic 2)
  • /etc/spwd.db
  • /etc/sudoers corpus 6 (sigma 3, elastic 2, splunk 1)
field:"CommandLine" kind:match
Imageends_with
  • /cat corpus 10 (sigma 10)
  • /ed corpus 3 (sigma 3)
  • /emacs corpus 3 (sigma 3)
  • /head corpus 7 (sigma 7)
  • /id corpus 3 (sigma 3)
  • /lastlog
  • /less corpus 5 (sigma 5)
  • /lsof corpus 4 (sigma 4)
  • /makemap
  • /more corpus 7 (sigma 7)
  • /nano corpus 4 (sigma 4)
  • /sqlite3
  • /tail corpus 7 (sigma 7)
  • /vi corpus 4 (sigma 4)
  • /vim corpus 4 (sigma 4)
field:"Image" kind:ends_with

Okta MFA Reset or Deactivated

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

Detects when an attempt at deactivating or resetting MFA.

Known False Positives

  • If a MFA reset or deactivated was performed by a system administrator.

MITRE ATT&CK Coverage

Telemetry Coverage

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: Okta MFA Reset or Deactivated
id: 50e068d7-1e6b-4054-87e5-0a592c40c7e0
status: test
description: Detects when an attempt at deactivating  or resetting MFA.
references:
    - https://developer.okta.com/docs/reference/api/system-log/
    - https://developer.okta.com/docs/reference/api/event-types/
author: Austin Songer @austinsonger
date: 2021-09-21
modified: 2026-04-27
tags:
    - attack.persistence
    - attack.credential-access
    - attack.defense-impairment
    - attack.t1556.006
logsource:
    product: okta
    service: okta
detection:
    selection:
        eventType:
            - user.mfa.factor.deactivate
            - user.mfa.factor.reset_all
    condition: selection
falsepositives:
    - If a MFA reset or deactivated was performed by a system administrator.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    eventType:
        - user.mfa.factor.deactivate
        - user.mfa.factor.reset_all

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
eventTypeeq
  • user.mfa.factor.deactivate
  • user.mfa.factor.reset_all
field:"eventType" kind:eq

Outbound Network Connection To Public IP Via Winlogon

#
Status
test
Severity
medium
Author
Christopher Peacock @securepeacock, SCYTHE @scythe_io
Source
github.com/SigmaHQ/sigma

Detects a "winlogon.exe" process that initiate network communications with public IP addresses

Known False Positives

  • Communication to other corporate systems that use IP addresses from public address spaces

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 3: Network connection

Rule Body

title: Outbound Network Connection To Public IP Via Winlogon
id: 7610a4ea-c06d-495f-a2ac-0a696abcfd3b
status: test
description: Detects a "winlogon.exe" process that initiate network communications with public IP addresses
references:
    - https://www.microsoft.com/en-us/security/blog/2023/04/11/guidance-for-investigating-attacks-using-cve-2022-21894-the-blacklotus-campaign/
author: Christopher Peacock @securepeacock, SCYTHE @scythe_io
date: 2023-04-28
modified: 2024-03-12
tags:
    - attack.execution
    - attack.command-and-control
    - attack.stealth
    - attack.t1218.011
logsource:
    category: network_connection
    product: windows
detection:
    selection:
        Image|endswith: '\winlogon.exe'
        Initiated: 'true'
    filter_main_local_ranges:
        DestinationIp|cidr:
            - '127.0.0.0/8'
            - '10.0.0.0/8'
            - '172.16.0.0/12'
            - '192.168.0.0/16'
            - '169.254.0.0/16'
            - '::1/128'  # IPv6 loopback
            - 'fe80::/10'  # IPv6 link-local addresses
            - 'fc00::/7'  # IPv6 private addresses
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Communication to other corporate systems that use IP addresses from public address spaces
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    Image|endswith: '\winlogon.exe'
    Initiated: 'true'

Stage 2: not filter_main_local_ranges

filter_main_local_ranges:
    DestinationIp|cidr:
        - '127.0.0.0/8'
        - '10.0.0.0/8'
        - '172.16.0.0/12'
        - '192.168.0.0/16'
        - '169.254.0.0/16'
        - '::1/128'
        - 'fe80::/10'
        - 'fc00::/7'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \winlogon.exe corpus 5 (sigma 5)
field:"Image" kind:ends_with value:"\winlogon.exe"
Initiatedeq
  • true corpus 50 (sigma 50)
field:"Initiated" kind:eq value:"true"

Exclusions

The rule actively suppresses these predicates.

Persistence Via New SIP Provider

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

Detects when an attacker register a new SIP provider for persistence and defense evasion

Known False Positives

  • Legitimate SIP being registered by the OS or different software.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Persistence Via New SIP Provider
id: 5a2b21ee-6aaa-4234-ac9d-59a59edf90a1
status: test
description: Detects when an attacker register a new SIP provider for persistence and defense evasion
references:
    - https://persistence-info.github.io/Data/codesigning.html
    - https://github.com/gtworek/PSBits/tree/master/SIP
    - https://specterops.io/assets/resources/SpecterOps_Subverting_Trust_in_Windows.pdf
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-07-21
modified: 2023-08-17
tags:
    - attack.persistence
    - attack.defense-impairment
    - attack.t1553.003
logsource:
    category: registry_set
    product: windows
detection:
    selection_root:
        TargetObject|contains:
            - '\SOFTWARE\Microsoft\Cryptography\Providers\'
            - '\SOFTWARE\Microsoft\Cryptography\OID\EncodingType'
            - '\SOFTWARE\WOW6432Node\Microsoft\Cryptography\Providers\'
            - '\SOFTWARE\WOW6432Node\Microsoft\Cryptography\OID\EncodingType'
    selection_dll:
        TargetObject|contains:
            - '\Dll'
            - '\$DLL'
    filter:
        Details:
            # Add more legitimate SIP providers according to your env
            - WINTRUST.DLL
            - mso.dll
    filter_poqexec:
        Image: 'C:\Windows\System32\poqexec.exe'
        TargetObject|contains: '\CryptSIPDll'
        Details: 'C:\Windows\System32\PsfSip.dll'
    condition: all of selection_* and not 1 of filter*
falsepositives:
    - Legitimate SIP being registered by the OS or different software.
level: medium

Stages and Predicates

Stage 0: condition

all of selection_* and not 1 of filter*

Stage 1: selection_root

selection_root:
    TargetObject|contains:
        - '\SOFTWARE\Microsoft\Cryptography\Providers\'
        - '\SOFTWARE\Microsoft\Cryptography\OID\EncodingType'
        - '\SOFTWARE\WOW6432Node\Microsoft\Cryptography\Providers\'
        - '\SOFTWARE\WOW6432Node\Microsoft\Cryptography\OID\EncodingType'

Stage 2: selection_dll

selection_dll:
    TargetObject|contains:
        - '\Dll'
        - '\$DLL'

Stage 3: not filter*

filter:
    Details:
        - WINTRUST.DLL
        - mso.dll
filter_poqexec:
    Image: 'C:\Windows\System32\poqexec.exe'
    TargetObject|contains: '\CryptSIPDll'
    Details: 'C:\Windows\System32\PsfSip.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectmatch
  • \$DLL
  • \Dll
  • \SOFTWARE\Microsoft\Cryptography\OID\EncodingType corpus 2 (sigma 2)
  • \SOFTWARE\Microsoft\Cryptography\Providers\ corpus 2 (sigma 2)
  • \SOFTWARE\WOW6432Node\Microsoft\Cryptography\OID\EncodingType corpus 2 (sigma 2)
  • \SOFTWARE\WOW6432Node\Microsoft\Cryptography\Providers\ corpus 2 (sigma 2)
field:"TargetObject" kind:match

Exclusions

The rule actively suppresses these predicates.

Potential AS-REP Roasting via Kerberos TGT Requests

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

Detects suspicious Kerberos TGT requests with pre-authentication disabled (Pre-Authentication Type = 0) and Ticket Encryption Type (0x17) i.e, RC4-HMAC. This may indicate an AS-REP Roasting attack, where attackers request AS-REP messages for accounts without pre-authentication and attempt to crack the encrypted ticket offline to recover user passwords.

Known False Positives

  • Legacy systems or applications that legitimately use RC4 encryption
  • Misconfigured accounts with pre-authentication disabled

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Potential AS-REP Roasting via Kerberos TGT Requests
id: 3e2f1b2c-4d5e-11ee-be56-0242ac120002
status: experimental
description: |
    Detects suspicious Kerberos TGT requests with pre-authentication disabled (Pre-Authentication Type = 0) and Ticket Encryption Type (0x17) i.e, RC4-HMAC.
    This may indicate an AS-REP Roasting attack, where attackers request AS-REP messages for accounts without pre-authentication and attempt to crack the encrypted ticket offline to recover user passwords.
references:
    - https://medium.com/system-weakness/detecting-as-rep-roasting-attacks-b5b3965f9714
    - https://www.picussecurity.com/resource/blog/as-rep-roasting-attack-explained-mitre-attack-t1558.004
author: ANosir
date: 2025-05-22
modified: 2025-07-04
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID: 4768
        TicketEncryptionType: '0x17'
        ServiceName: 'krbtgt'
        PreAuthType: 0
    condition: selection
falsepositives:
    - Legacy systems or applications that legitimately use RC4 encryption
    - Misconfigured accounts with pre-authentication disabled
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 4768
    TicketEncryptionType: '0x17'
    ServiceName: 'krbtgt'
    PreAuthType: 0

Indicators

These rows show field, operator, and value matches.

Potential BlackByte Ransomware Activity

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

Detects command line patterns used by BlackByte ransomware in different operations

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Potential BlackByte Ransomware Activity
id: 999e8307-a775-4d5f-addc-4855632335be
status: test
description: Detects command line patterns used by BlackByte ransomware in different operations
references:
    - https://redcanary.com/blog/blackbyte-ransomware/
author: Florian Roth (Nextron Systems)
date: 2022-02-25
modified: 2023-02-08
tags:
    - attack.execution
    - attack.impact
    - attack.stealth
    - attack.t1485
    - attack.t1498
    - attack.t1059.001
    - attack.t1140
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection_1:
        Image|startswith: 'C:\Users\Public\'
        CommandLine|contains: ' -single '
    selection_2:
        CommandLine|contains:
            - 'del C:\Windows\System32\Taskmgr.exe'
            - ';Set-Service -StartupType Disabled $'
            - 'powershell -command "$x =[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String('
            - ' do start wordpad.exe /p '
    condition: 1 of selection_*
falsepositives:
    - Unknown
level: high
regression_tests_path: regression_data/rules-emerging-threats/2021/Malware/BlackByte/proc_creation_win_malware_blackbyte_ransomware/info.yml

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_1

selection_1:
    Image|startswith: 'C:\Users\Public\'
    CommandLine|contains: ' -single '

Stage 2: selection_2

selection_2:
    CommandLine|contains:
        - 'del C:\Windows\System32\Taskmgr.exe'
        - ';Set-Service -StartupType Disabled $'
        - 'powershell -command "$x =[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String('
        - ' do start wordpad.exe /p '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -single
  • do start wordpad.exe /p
  • ;Set-Service -StartupType Disabled $
  • del C:\Windows\System32\Taskmgr.exe
  • powershell -command "$x =[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String(
field:"CommandLine" kind:match
Imagestarts_with
  • C:\Users\Public\ corpus 2 (sigma 1, elastic 1)
field:"Image" kind:starts_with value:"C:\Users\Public\"

Potential COLDSTEEL Persistence Service DLL Load

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

Detects a suspicious DLL load by an "svchost" process based on location and name that might be related to ColdSteel RAT. This DLL location and name has been seen used by ColdSteel as the service DLL for its persistence mechanism

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
PersistenceNo specific technique
StealthNo specific technique

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: Potential COLDSTEEL Persistence Service DLL Load
id: 1d7a57da-02e0-4f7f-92b1-c7b486ccfed5
status: test
description: |
    Detects a suspicious DLL load by an "svchost" process based on location and name that might be related to ColdSteel RAT. This DLL location and name has been seen used by ColdSteel as the service DLL for its persistence mechanism
references:
    - https://www.ncsc.gov.uk/static-assets/documents/malware-analysis-reports/cold-steel/NCSC-MAR-Cold-Steel.pdf
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-05-02
tags:
    - attack.persistence
    - detection.emerging-threats
    - attack.stealth
logsource:
    product: windows
    category: image_load
detection:
    selection:
        Image|endswith: '\svchost.exe'
        ImageLoaded|endswith: '\AppData\Roaming\newdev.dll'
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '\svchost.exe'
    ImageLoaded|endswith: '\AppData\Roaming\newdev.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \svchost.exe corpus 22 (sigma 22)
field:"Image" kind:ends_with value:"\svchost.exe"
ImageLoadedends_with
  • \AppData\Roaming\newdev.dll
field:"ImageLoaded" kind:ends_with value:"\AppData\Roaming\newdev.dll"

Potential Compromised 3CXDesktopApp Beaconing Activity - DNS

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

Detects potential beaconing activity to domains related to 3CX 3CXDesktopApp compromise

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
Command & ControlNo specific technique

Telemetry Coverage

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

Rule Body

title: Potential Compromised 3CXDesktopApp Beaconing Activity - DNS
id: bd03a0dc-5d93-49eb-b2e8-2dfd268600f8
related:
    - id: 3c4b3bbf-36b4-470c-b6cf-f07e8b1c7e26 # Proxy C2
      type: similar
    - id: 76bc1601-9546-4b75-9419-06e0e8d10651 # Proxy GH
      type: similar
    - id: 51eecf75-d069-43c7-9ea2-63f75499edd4 # net_connection C2
      type: similar
    - id: 93bbde78-dc86-4e73-9ffc-ff8a384ca89c # ProcCreation Exec
      type: similar
    - id: 63f3605b-979f-48c2-b7cc-7f90523fed88 # ProcCreation ChildProc
      type: similar
    - id: e7581747-1e44-4d4b-85a6-0db0b4a00f2a # ProcCreation Update
      type: similar
    - id: d0b65ad3-e945-435e-a7a9-438e62dd48e9 # ImageLoad
      type: similar
status: test
description: Detects potential beaconing activity to domains related to 3CX 3CXDesktopApp compromise
references:
    - https://www.reddit.com/r/crowdstrike/comments/125r3uu/20230329_situational_awareness_crowdstrike/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-03-29
modified: 2023-03-31
tags:
    - attack.command-and-control
    - detection.emerging-threats
logsource:
    category: dns_query
    product: windows
detection:
    selection:
        QueryName|contains:
            - 'akamaicontainer.com'
            - 'akamaitechcloudservices.com'
            - 'azuredeploystore.com'
            - 'azureonlinecloud.com'
            - 'azureonlinestorage.com'
            - 'dunamistrd.com'
            - 'glcloudservice.com'
            - 'journalide.org'
            - 'msedgepackageinfo.com'
            - 'msedgeupdate.net'
            - 'msstorageazure.com'
            - 'msstorageboxes.com'
            - 'officeaddons.com'
            - 'officestoragebox.com'
            - 'pbxcloudeservices.com'
            - 'pbxphonenetwork.com'
            - 'pbxsources.com'
            - 'qwepoi123098.com'
            - 'sbmsa.wiki'
            - 'sourceslabs.com'
            - 'visualstudiofactory.com'
            - 'zacharryblogs.com'
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    QueryName|contains:
        - 'akamaicontainer.com'
        - 'akamaitechcloudservices.com'
        - 'azuredeploystore.com'
        - 'azureonlinecloud.com'
        - 'azureonlinestorage.com'
        - 'dunamistrd.com'
        - 'glcloudservice.com'
        - 'journalide.org'
        - 'msedgepackageinfo.com'
        - 'msedgeupdate.net'
        - 'msstorageazure.com'
        - 'msstorageboxes.com'
        - 'officeaddons.com'
        - 'officestoragebox.com'
        - 'pbxcloudeservices.com'
        - 'pbxphonenetwork.com'
        - 'pbxsources.com'
        - 'qwepoi123098.com'
        - 'sbmsa.wiki'
        - 'sourceslabs.com'
        - 'visualstudiofactory.com'
        - 'zacharryblogs.com'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
QueryNamematch
  • akamaicontainer.com
  • akamaitechcloudservices.com
  • azuredeploystore.com
  • azureonlinecloud.com
  • azureonlinestorage.com
  • dunamistrd.com
  • glcloudservice.com
  • journalide.org
  • msedgepackageinfo.com
  • msedgeupdate.net
  • msstorageazure.com
  • msstorageboxes.com
  • officeaddons.com
  • officestoragebox.com
  • pbxcloudeservices.com
  • pbxphonenetwork.com
  • pbxsources.com
  • qwepoi123098.com
  • sbmsa.wiki
  • sourceslabs.com
  • visualstudiofactory.com
  • zacharryblogs.com
field:"QueryName" kind:match

Potentially Suspicious Child Process Of Regsvr32

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

Detects potentially suspicious child processes of "regsvr32.exe".

Known False Positives

  • Unlikely, but can rarely occur. Apply additional filters accordingly.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Potentially Suspicious Child Process Of Regsvr32
id: 6f0947a4-1c5e-4e0d-8ac7-53159b8f23ca
related:
    - id: 8e2b24c9-4add-46a0-b4bb-0057b4e6187d
      type: obsolete
status: test
description: Detects potentially suspicious child processes of "regsvr32.exe".
references:
    - https://redcanary.com/blog/intelligence-insights-april-2022/
    - https://www.echotrail.io/insights/search/regsvr32.exe
    - https://www.ired.team/offensive-security/code-execution/t1117-regsvr32-aka-squiblydoo
author: elhoim, Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
date: 2022-05-05
modified: 2023-05-26
tags:
    - attack.stealth
    - attack.t1218.010
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: '\regsvr32.exe'
        Image|endswith:
            - '\calc.exe'
            - '\cscript.exe'
            - '\explorer.exe'
            - '\mshta.exe'
            - '\net.exe'
            - '\net1.exe'
            - '\nltest.exe'
            - '\notepad.exe'
            - '\powershell.exe'
            - '\pwsh.exe'
            - '\reg.exe'
            - '\schtasks.exe'
            - '\werfault.exe'
            - '\wscript.exe'
    filter_main_werfault:
        Image|endswith: '\werfault.exe'
        CommandLine|contains: ' -u -p '
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unlikely, but can rarely occur. Apply additional filters accordingly.
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    ParentImage|endswith: '\regsvr32.exe'
    Image|endswith:
        - '\calc.exe'
        - '\cscript.exe'
        - '\explorer.exe'
        - '\mshta.exe'
        - '\net.exe'
        - '\net1.exe'
        - '\nltest.exe'
        - '\notepad.exe'
        - '\powershell.exe'
        - '\pwsh.exe'
        - '\reg.exe'
        - '\schtasks.exe'
        - '\werfault.exe'
        - '\wscript.exe'

Stage 2: not filter_main_werfault

filter_main_werfault:
    Image|endswith: '\werfault.exe'
    CommandLine|contains: ' -u -p '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \calc.exe corpus 15 (sigma 14, splunk 1)
  • \cscript.exe corpus 72 (sigma 72)
  • \explorer.exe corpus 13 (sigma 13)
  • \mshta.exe corpus 67 (sigma 66, splunk 1)
  • \net.exe corpus 49 (sigma 49)
  • \net1.exe corpus 47 (sigma 47)
  • \nltest.exe corpus 9 (sigma 9)
  • \notepad.exe corpus 10 (sigma 10)
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \pwsh.exe corpus 166 (sigma 166)
  • \reg.exe corpus 58 (sigma 58)
  • \schtasks.exe corpus 55 (sigma 55)
  • \werfault.exe corpus 8 (sigma 8)
  • \wscript.exe corpus 74 (sigma 74)
field:"Image" kind:ends_with
ParentImageends_with
  • \regsvr32.exe corpus 11 (sigma 11)
field:"ParentImage" kind:ends_with value:"\regsvr32.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLinematch -u -p excludes:CommandLine field:"CommandLine" value:" -u -p "
Imageends_with\werfault.exeexcludes:Image field:"Image" value:"\werfault.exe"

Potentially Suspicious GoogleUpdate Child Process

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

Detects potentially suspicious child processes of "GoogleUpdate.exe"

MITRE ATT&CK Coverage

TacticTechniques
StealthNo specific technique

Telemetry Coverage

Rule Body

title: Potentially Suspicious GoogleUpdate Child Process
id: 84b1ecf9-6eff-4004-bafb-bae5c0e251b2
related:
    - id: bdbab15a-3826-48fa-a1b7-723cd8f32fcc
      type: derived
status: test
description: Detects potentially suspicious child processes of "GoogleUpdate.exe"
references:
    - https://www.ncsc.gov.uk/static-assets/documents/malware-analysis-reports/goofy-guineapig/NCSC-MAR-Goofy-Guineapig.pdf
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-05-15
modified: 2023-05-22
tags:
    - attack.stealth
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: '\GoogleUpdate.exe'
    filter_main_known_legit:
        # Some other legit child process might exist. It's better to make a baseline before running this in production
        - Image|contains: '\Google' # Example: GoogleUpdate.exe, GoogleCrashHandler.exe, GoogleUpdateComRegisterShell64.exe
        - Image|endswith:
              - '\setup.exe'
              - 'chrome_updater.exe'
              - 'chrome_installer.exe'
    filter_main_image_null:
        Image: null
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

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

Stage 2: not filter_main_*

filter_main_known_legit:
    - Image|contains: '\Google'
    - Image|endswith:
          - '\setup.exe'
          - 'chrome_updater.exe'
          - 'chrome_installer.exe'
filter_main_image_null:
    Image: null

Indicators

These rows show field, operator, and value matches.

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

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imageends_with\setup.exeexcludes:Image field:"Image" value:"\setup.exe"
Imageends_withchrome_installer.exeexcludes:Image field:"Image" value:"chrome_installer.exe"
Imageends_withchrome_updater.exeexcludes:Image field:"Image" value:"chrome_updater.exe"
Imageis_null(no value, null check)excludes:Image
Imagematch\Googleexcludes:Image field:"Image" value:"\Google"

Potentially Suspicious NTFS Symlink Behavior Modification

#
Status
test
Severity
medium
Author
frack113, The DFIR Report
Source
github.com/SigmaHQ/sigma

Detects the modification of NTFS symbolic link behavior using fsutil, which could be used to enable remote to local or remote to remote symlinks for potential attacks.

Known False Positives

  • Legitimate usage, investigate the parent process and context to determine if benign.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potentially Suspicious NTFS Symlink Behavior Modification
id: c0b2768a-dd06-4671-8339-b16ca8d1f27f
status: test
description: |
    Detects the modification of NTFS symbolic link behavior using fsutil, which could be used to enable remote to local or remote to remote symlinks for potential attacks.
references:
    - https://www.cybereason.com/blog/cybereason-vs.-blackcat-ransomware
    - https://learn.microsoft.com/fr-fr/windows-server/administration/windows-commands/fsutil-behavior
    - https://thedfirreport.com/2025/06/30/hide-your-rdp-password-spray-leads-to-ransomhub-deployment/
author: frack113, The DFIR Report
date: 2022-03-02
modified: 2025-11-13
tags:
    - attack.execution
    - attack.defense-impairment
    - attack.t1059
    - attack.t1222.001
logsource:
    category: process_creation
    product: windows
detection:
    selection_img_proxy:
        # Note: Example command observed:  cmd.exe /c "fsutil behaviour set SymlinkEvaluation"
        - Image|endswith:
              - '\cmd.exe'
              - '\powershell.exe'
              - '\pwsh.exe'
        - OriginalFileName:
              - 'Cmd.Exe'
              - 'PowerShell.EXE'
              - 'pwsh.dll'
    selection_fsutil_cli:
        CommandLine|contains|all:
            - 'fsutil'
            - 'behavior'
            - 'set'
            - 'SymlinkEvaluation'
    selection_symlink_params:
        CommandLine|contains:
            - 'R2L:1' # Remote to Local
            - 'R2R:1' # Remote to Remote
            - 'L2L:1' # Local to Local
    condition: all of selection_*
falsepositives:
    - Legitimate usage, investigate the parent process and context to determine if benign.
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_fsutil_symlinkevaluation/info.yml

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img_proxy

selection_img_proxy:
    - Image|endswith:
          - '\cmd.exe'
          - '\powershell.exe'
          - '\pwsh.exe'
    - OriginalFileName:
          - 'Cmd.Exe'
          - 'PowerShell.EXE'
          - 'pwsh.dll'

Stage 2: selection_fsutil_cli

selection_fsutil_cli:
    CommandLine|contains|all:
        - 'fsutil'
        - 'behavior'
        - 'set'
        - 'SymlinkEvaluation'

Stage 3: selection_symlink_params

selection_symlink_params:
    CommandLine|contains:
        - 'R2L:1'
        - 'R2R:1'
        - 'L2L:1'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • L2L:1
  • R2L:1
  • R2R:1
  • SymlinkEvaluation corpus 2 (sigma 1, splunk 1)
  • behavior corpus 3 (sigma 2, splunk 1)
  • fsutil
  • set corpus 11 (sigma 10, splunk 1)
field:"CommandLine" kind:match
Imageends_with
  • \cmd.exe corpus 132 (sigma 130, splunk 2)
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \pwsh.exe corpus 166 (sigma 166)
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)
  • pwsh.dll corpus 115 (sigma 81, splunk 30, elastic 4)
field:"OriginalFileName" kind:eq

Process Memory Dump Via Dotnet-Dump

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

Detects the execution of "dotnet-dump" with the "collect" flag. The execution could indicate potential process dumping of critical processes such as LSASS.

Known False Positives

  • Process dumping is the expected behavior of the tool. So false positives are expected in legitimate usage. The PID/Process Name of the process being dumped needs to be investigated

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Process Memory Dump Via Dotnet-Dump
id: 53d8d3e1-ca33-4012-adf3-e05a4d652e34
status: test
description: |
    Detects the execution of "dotnet-dump" with the "collect" flag. The execution could indicate potential process dumping of critical processes such as LSASS.
references:
    - https://learn.microsoft.com/en-us/dotnet/core/diagnostics/dotnet-dump#dotnet-dump-collect
    - https://twitter.com/bohops/status/1635288066909966338
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-03-14
tags:
    - attack.stealth
    - attack.t1218
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\dotnet-dump.exe'
        - OriginalFileName: 'dotnet-dump.dll'
    selection_cli:
        CommandLine|contains: 'collect'
    condition: all of selection_*
falsepositives:
    - Process dumping is the expected behavior of the tool. So false positives are expected in legitimate usage. The PID/Process Name of the process being dumped needs to be investigated
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    CommandLine|contains: 'collect'

Indicators

These rows show field, operator, and value matches.

RDP shadow session configuration enabled (registry)

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

Detects scenarios where an attacker would enable shadow configuratin via registry. Note that this alert does not report the created Key and that further verification on hosts will be required to confirm the behavior.

Known False Positives

  • administrator changing RDP configuration

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: RDP shadow session configuration enabled (registry)
description: Detects scenarios where an attacker would enable shadow configuratin via registry. Note that this alert does not report the created Key and that further verification on hosts will be required to confirm the behavior.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0009-Collection/T1125-Video%20capture
- http://woshub.com/rds-shadow-how-to-connect-to-a-user-session-in-windows-server-2012-r2/
- https://www.elastic.co/guide/en/security/current/potential-remote-desktop-shadowing-activity.html
- https://bitsadm.in/blog/spying-on-users-using-rdp-shadowing
- https://swarm.ptsecurity.com/remote-desktop-services-shadowing/
- https://red.c3r3br4t3.com/red-team-operations/lateral-movement/shadowrdp
- https://blog.bitsadmin.com/spying-on-users-using-rdp-shadowing
tags:
- attack.lateral_movement
- attack.t1021.001 # remote services: RDP
- attack.collection
- attack.t1113 # screen capture
- attack.t1125 # video capture
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: registry_event
detection: # reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v Shadow /t REG_DWORD /d 4
  selection:
    TargetObject|endswith: '\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services'
  condition: selection
falsepositives:
- administrator changing RDP configuration
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  TargetObject|endswith: '\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectends_with
  • \SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
field:"TargetObject" kind:ends_with value:"\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services"

Remote LSASS Process Access Through Windows Remote Management

#
Status
stable
Severity
high
Author
Patryk Prauze - ING Tech
Source
github.com/SigmaHQ/sigma

Detects remote access to the LSASS process via WinRM. This could be a sign of credential dumping from tools like mimikatz.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 10: ProcessAccess

Rule Body

title: Remote LSASS Process Access Through Windows Remote Management
id: aa35a627-33fb-4d04-a165-d33b4afca3e8
status: stable
description: Detects remote access to the LSASS process via WinRM. This could be a sign of credential dumping from tools like mimikatz.
references:
    - https://pentestlab.blog/2018/05/15/lateral-movement-winrm/
author: Patryk Prauze - ING Tech
date: 2019-05-20
modified: 2023-11-29
tags:
    - attack.credential-access
    - attack.execution
    - attack.t1003.001
    - attack.t1059.001
    - attack.lateral-movement
    - attack.t1021.006
    - attack.s0002
logsource:
    category: process_access
    product: windows
detection:
    selection:
        TargetImage|endswith: '\lsass.exe'
        SourceImage|endswith: ':\Windows\system32\wsmprovhost.exe'
    filter_main_access:
        GrantedAccess: '0x80000000'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    TargetImage|endswith: '\lsass.exe'
    SourceImage|endswith: ':\Windows\system32\wsmprovhost.exe'

Stage 2: not filter_main_access

filter_main_access:
    GrantedAccess: '0x80000000'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
SourceImageends_with
  • :\Windows\system32\wsmprovhost.exe
field:"SourceImage" kind:ends_with value:":\Windows\system32\wsmprovhost.exe"
TargetImageends_with
  • \lsass.exe corpus 17 (sigma 16, splunk 1)
field:"TargetImage" kind:ends_with value:"\lsass.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
GrantedAccesseq0x80000000excludes:GrantedAccess field:"GrantedAccess" value:"0x80000000"

Renamed FTP.EXE Execution

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

Detects the execution of a renamed "ftp.exe" binary based on the PE metadata fields

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Renamed FTP.EXE Execution
id: 277a4393-446c-449a-b0ed-7fdc7795244c
status: test
description: Detects the execution of a renamed "ftp.exe" binary based on the PE metadata fields
references:
    - https://lolbas-project.github.io/lolbas/Binaries/Ftp/
author: Victor Sergeev, oscd.community
date: 2020-10-09
modified: 2023-02-03
tags:
    - attack.execution
    - attack.stealth
    - attack.t1059
    - attack.t1202
logsource:
    category: process_creation
    product: windows
detection:
    selection_original:
        OriginalFileName: 'ftp.exe'
    filter_img:
        Image|endswith: '\ftp.exe'
    condition: selection_original and not filter_img
falsepositives:
    - Unknown
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_renamed_ftp/info.yml

Stages and Predicates

Stage 0: condition

selection_original and not filter_img

Stage 1: selection_original

selection_original:
    OriginalFileName: 'ftp.exe'

Stage 2: not filter_img

filter_img:
    Image|endswith: '\ftp.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
OriginalFileNameeq
  • ftp.exe corpus 2 (sigma 2)
field:"OriginalFileName" kind:eq value:"ftp.exe"

Exclusions

The rule actively suppresses these predicates.

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

Screen Capture with Import Tool

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

Detects adversary creating screen capture of a desktop with Import Tool. Highly recommended using rule on servers, due to high usage of screenshot utilities on user workstations. ImageMagick must be installed.

Known False Positives

  • Legitimate use of screenshot utility

MITRE ATT&CK Coverage

TacticTechniques
Collection

Telemetry Coverage

Rule Body

title: Screen Capture with Import Tool
id: dbe4b9c5-c254-4258-9688-d6af0b7967fd
status: test
description: |
  Detects adversary creating screen capture of a desktop with Import Tool.
  Highly recommended using rule on servers, due to high usage of screenshot utilities on user workstations.
  ImageMagick must be installed.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1113/T1113.md
    - https://linux.die.net/man/1/import
    - https://imagemagick.org/
author: 'Pawel Mazur'
date: 2021-09-21
modified: 2022-10-09
tags:
    - attack.collection
    - attack.t1113
logsource:
    product: linux
    service: auditd
detection:
    import:
        type: EXECVE
        a0: import
    import_window_root:
        a1: '-window'
        a2: 'root'
        a3|endswith:
            - '.png'
            - '.jpg'
            - '.jpeg'
    import_no_window_root:
        a1|endswith:
            - '.png'
            - '.jpg'
            - '.jpeg'
    condition: import and (import_window_root or import_no_window_root)
falsepositives:
    - Legitimate use of screenshot utility
level: low

Stages and Predicates

Stage 0: condition

import and (import_window_root or import_no_window_root)

Stage 1: import

import:
    type: EXECVE
    a0: import

Stage 2: import_window_root

import_window_root:
    a1: '-window'
    a2: 'root'
    a3|endswith:
        - '.png'
        - '.jpg'
        - '.jpeg'

Stage 3: import_no_window_root

import_no_window_root:
    a1|endswith:
        - '.png'
        - '.jpg'
        - '.jpeg'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
a0eq
  • import
field:"a0" kind:eq value:"import"
a1ends_with
  • .jpeg
  • .jpg corpus 3 (sigma 3)
  • .png corpus 3 (sigma 3)
field:"a1" kind:ends_with
a1eq
  • -window
field:"a1" kind:eq value:"-window"
a2eq
  • root
field:"a2" kind:eq value:"root"
a3ends_with
  • .jpeg
  • .jpg corpus 2 (sigma 2)
  • .png corpus 2 (sigma 2)
field:"a3" kind:ends_with
typeeq
  • EXECVE corpus 37 (sigma 31, splunk 6)
field:"type" kind:eq value:"EXECVE"

Sudo Privilege Escalation CVE-2019-14287 - Builtin

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

Detects users trying to exploit sudo vulnerability reported in CVE-2019-14287

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Rule Body

title: Sudo Privilege Escalation CVE-2019-14287 - Builtin
id: 7fcc54cb-f27d-4684-84b7-436af096f858
related:
    - id: f74107df-b6c6-4e80-bf00-4170b658162b
      type: derived
status: test
description: Detects users trying to exploit sudo vulnerability reported in CVE-2019-14287
references:
    - https://www.openwall.com/lists/oss-security/2019/10/14/1
    - https://access.redhat.com/security/cve/cve-2019-14287
    - https://twitter.com/matthieugarin/status/1183970598210412546
author: Florian Roth (Nextron Systems)
date: 2019-10-15
modified: 2022-11-26
tags:
    - attack.privilege-escalation
    - attack.t1068
    - attack.t1548.003
    - cve.2019-14287
    - detection.emerging-threats
logsource:
    product: linux
    service: sudo
detection:
    selection_user:
        USER:
            - '#-*'
            - '#*4294967295'
    condition: selection_user
falsepositives:
    - Unlikely
level: critical

Stages and Predicates

Stage 0: condition

selection_user

Stage 1: selection_user

selection_user:
    USER:
        - '#-*'
        - '#*4294967295'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
USERwildcard
  • #*4294967295
  • #-*
field:"USER" kind:wildcard

Suspicious Execution From Outlook Temporary Folder

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

Detects a suspicious program execution in Outlook temp folder

MITRE ATT&CK Coverage

TacticTechniques
Initial Access

Telemetry Coverage

Rule Body

title: Suspicious Execution From Outlook Temporary Folder
id: a018fdc3-46a3-44e5-9afb-2cd4af1d4b39
status: test
description: Detects a suspicious program execution in Outlook temp folder
author: Florian Roth (Nextron Systems)
references:
    - Internal Research
date: 2019-10-01
modified: 2022-10-09
tags:
    - attack.initial-access
    - attack.t1566.001
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|contains: '\Temporary Internet Files\Content.Outlook\'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|contains: '\Temporary Internet Files\Content.Outlook\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imagematch
  • \Temporary Internet Files\Content.Outlook\ corpus 2 (sigma 2)
field:"Image" kind:match value:"\Temporary Internet Files\Content.Outlook\"

Suspicious File Download From IP Via Wget.EXE - Paths

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

Detects potentially suspicious file downloads directly from IP addresses and stored in suspicious locations using Wget.exe

MITRE ATT&CK Coverage

TacticTechniques
ExecutionNo specific technique

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Suspicious File Download From IP Via Wget.EXE - Paths
id: 40aa399c-7b02-4715-8e5f-73572b493f33
status: test
description: Detects potentially suspicious file downloads directly from IP addresses and stored in suspicious locations using Wget.exe
references:
    - https://www.gnu.org/software/wget/manual/wget.html
author: Nasreddine Bencherchali (Nextron Systems)
date: 2024-02-23
tags:
    - attack.execution
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\wget.exe'
        - OriginalFileName: 'wget.exe'
    selection_ip:
        CommandLine|re: '://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
    selection_http:
        CommandLine|contains: 'http'
    selection_flag:
        - CommandLine|re: '\s-O\s'
        - CommandLine|contains: '--output-document'
    selection_paths:
        - CommandLine|contains:
              - ':\PerfLogs\'
              - ':\Temp\'
              - ':\Users\Public\'
              - ':\Windows\Help\'
              - ':\Windows\Temp\'
              - '\Temporary Internet'
        - CommandLine|contains|all:
              - ':\Users\'
              - '\Favorites\'
        - CommandLine|contains|all:
              - ':\Users\'
              - '\Favourites\'
        - CommandLine|contains|all:
              - ':\Users\'
              - '\Contacts\'
        - CommandLine|contains|all:
              - ':\Users\'
              - '\Pictures\'
    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: '\wget.exe'
    - OriginalFileName: 'wget.exe'

Stage 2: selection_ip

selection_ip:
    CommandLine|re: '://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'

Stage 3: selection_http

selection_http:
    CommandLine|contains: 'http'

Stage 4: selection_flag

selection_flag:
    - CommandLine|re: '\s-O\s'
    - CommandLine|contains: '--output-document'

Stage 5: selection_paths

selection_paths:
    - CommandLine|contains:
          - ':\PerfLogs\'
          - ':\Temp\'
          - ':\Users\Public\'
          - ':\Windows\Help\'
          - ':\Windows\Temp\'
          - '\Temporary Internet'
    - CommandLine|contains|all:
          - ':\Users\'
          - '\Favorites\'
    - CommandLine|contains|all:
          - ':\Users\'
          - '\Favourites\'
    - CommandLine|contains|all:
          - ':\Users\'
          - '\Contacts\'
    - CommandLine|contains|all:
          - ':\Users\'
          - '\Pictures\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • --output-document corpus 4 (sigma 4)
  • :\PerfLogs\ corpus 11 (sigma 11)
  • :\Temp\ corpus 14 (sigma 14)
  • :\Users\ corpus 6 (sigma 6)
  • :\Users\Public\ corpus 20 (sigma 18, elastic 2)
  • :\Windows\Help\ corpus 2 (sigma 2)
  • :\Windows\Temp\ corpus 16 (sigma 16)
  • \Contacts\ corpus 7 (sigma 7)
  • \Favorites\ corpus 7 (sigma 7)
  • \Favourites\ corpus 7 (sigma 7)
  • \Pictures\ corpus 5 (sigma 5)
  • \Temporary Internet corpus 7 (sigma 7)
  • http corpus 45 (sigma 34, elastic 10, splunk 1)
field:"CommandLine" kind:match
CommandLineregex_match
  • ://[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3} corpus 5 (sigma 5)
  • \s-O\s corpus 4 (sigma 4)
field:"CommandLine" kind:regex_match
Imageends_with
  • \wget.exe corpus 9 (sigma 9)
field:"Image" kind:ends_with value:"\wget.exe"
OriginalFileNameeq
  • wget.exe corpus 4 (sigma 3, elastic 1)
field:"OriginalFileName" kind:eq value:"wget.exe"

Suspicious X509Enrollment - Ps Script

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

Detect use of X509Enrollment

Known False Positives

  • Legitimate administrative script

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious X509Enrollment - Ps Script
id: 504d63cb-0dba-4d02-8531-e72981aace2c
related:
    - id: 114de787-4eb2-48cc-abdb-c0b449f93ea4
      type: similar
status: test
description: Detect use of X509Enrollment
references:
    - https://speakerdeck.com/heirhabarov/hunting-for-powershell-abuse?slide=42
    - https://speakerdeck.com/heirhabarov/hunting-for-powershell-abuse?slide=41
    - https://learn.microsoft.com/en-us/dotnet/api/microsoft.hpc.scheduler.store.cx509enrollmentwebclassfactoryclass?view=hpc-sdk-5.1.6115
author: frack113
date: 2022-12-23
tags:
    - attack.defense-impairment
    - attack.t1553.004
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains:
            - 'X509Enrollment.CBinaryConverter'
            - '884e2002-217d-11da-b2a4-000e7bbb2b09'
    condition: selection
falsepositives:
    - Legitimate administrative script
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains:
        - 'X509Enrollment.CBinaryConverter'
        - '884e2002-217d-11da-b2a4-000e7bbb2b09'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • 884e2002-217d-11da-b2a4-000e7bbb2b09
  • X509Enrollment.CBinaryConverter
field:"ScriptBlockText" kind:match

Triple Cross eBPF Rootkit Default Persistence

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

Detects the creation of "ebpfbackdoor" files in both "cron.d" and "sudoers.d" directories. Which both are related to the TripleCross persistence method

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 11: File created

Rule Body

title: Triple Cross eBPF Rootkit Default Persistence
id: 1a2ea919-d11d-4d1e-8535-06cda13be20f
status: test
description: Detects the creation of "ebpfbackdoor" files in both "cron.d" and "sudoers.d" directories. Which both are related to the TripleCross persistence method
references:
    - https://github.com/h3xduck/TripleCross/blob/12629558b8b0a27a5488a0b98f1ea7042e76f8ab/apps/deployer.sh
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-07-05
modified: 2022-12-31
tags:
    - attack.privilege-escalation
    - attack.execution
    - attack.persistence
    - attack.t1053.003
logsource:
    product: linux
    category: file_event
detection:
    selection:
        TargetFilename|endswith: 'ebpfbackdoor'
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetFilename|endswith: 'ebpfbackdoor'

Indicators

These rows show field, operator, and value matches.

Vulnerable Driver Blocklist Registry Tampering Via CommandLine

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

Detects tampering of the Vulnerable Driver Blocklist registry via command line tools such as PowerShell or REG.EXE. The Vulnerable Driver Blocklist is a security feature that helps prevent the loading of known vulnerable drivers. Disabling this feature may indicate an attempt to bypass security controls, often targeted by threat actors to facilitate the installation of malicious or vulnerable drivers, particularly in scenarios involving Endpoint Detection and Response

Known False Positives

  • It is very unlikely for legitimate activities to disable the Vulnerable Driver Blocklist via command line tools; thus it is recommended to investigate promptly.

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Vulnerable Driver Blocklist Registry Tampering Via CommandLine
id: 22154f0e-5132-4a54-aa78-cc62f6def531
related:
    - id: d526c60a-e236-4011-b165-831ffa52ab70
      type: similar
status: experimental
description: |
    Detects tampering of the Vulnerable Driver Blocklist registry via command line tools such as PowerShell or REG.EXE.
    The Vulnerable Driver Blocklist is a security feature that helps prevent the loading of known vulnerable drivers.
    Disabling this feature may indicate an attempt to bypass security controls, often targeted by threat actors
    to facilitate the installation of malicious or vulnerable drivers, particularly in scenarios involving Endpoint Detection and Response
references:
    - https://www.sophos.com/en-us/blog/sharpening-the-knife-gold-blades-strategic-evolution
    - https://learn.microsoft.com/en-us/windows/security/application-security/application-control/app-control-for-business/design/microsoft-recommended-driver-block-rules
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2026-01-26
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith:
              - '\powershell.exe'
              - '\pwsh.exe'
              - '\reg.exe'
        - OriginalFileName:
              - 'PowerShell.EXE'
              - 'pwsh.dll'
              - 'reg.exe'
    selection_cli_1:
        CommandLine|contains:
            - 'add '
            - 'New-ItemProperty '
            - 'Set-ItemProperty '
            - 'si '  # SetItem Alias
    selection_cli_2:
        CommandLine|contains|all:
            - '\Control\CI\Config'
            - 'VulnerableDriverBlocklistEnable'
    condition: all of selection_*
falsepositives:
    - It is very unlikely for legitimate activities to disable the Vulnerable Driver Blocklist via command line tools; thus it is recommended to investigate promptly.
level: high
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_vulnerable_driver_blocklist_registry_tampering/info.yml

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli_1

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

Stage 3: selection_cli_2

selection_cli_2:
    CommandLine|contains|all:
        - '\Control\CI\Config'
        - 'VulnerableDriverBlocklistEnable'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • New-ItemProperty corpus 3 (sigma 3)
  • Set-ItemProperty corpus 3 (sigma 3)
  • VulnerableDriverBlocklistEnable
  • \Control\CI\Config
  • add corpus 12 (sigma 12)
  • si corpus 5 (sigma 5)
field:"CommandLine" kind:match
Imageends_with
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \pwsh.exe corpus 166 (sigma 166)
  • \reg.exe corpus 58 (sigma 58)
field:"Image" kind:ends_with
OriginalFileNameeq
  • PowerShell.EXE corpus 134 (sigma 86, splunk 30, elastic 18)
  • pwsh.dll corpus 115 (sigma 81, splunk 30, elastic 4)
  • reg.exe corpus 41 (sigma 32, splunk 8, elastic 1)
field:"OriginalFileName" kind:eq

Webserver IIS module installed via GAC manipulation (PowerShell)

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

Detects scenarios where an attacker attempts to deploy an IIS module via Global Assembly cache (GAC) manipulation.

Known False Positives

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

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Webserver IIS module installed via GAC manipulation (PowerShell)
description: Detects scenarios where an attacker attempts to deploy an IIS module via Global Assembly cache (GAC) manipulation.
references:
- https://www.microsoft.com/security/blog/2022/07/26/malicious-iis-extensions-quietly-open-persistent-backdoors-into-servers/
- https://docs.microsoft.com/fr-fr/iis/get-started/introduction-to-iis/iis-modules-overview
- https://github.com/LTruijens/powershell-gac
tags:
- attack.persistence
- attack.t1505.004
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category:
    - ps_module
    - ps_classic_script
    - ps_script
detection:
  selection_powershell_native:
    EventID: 800
    EventData|contains|all:
      - 'System.Reflection.Assembly'
      - 'GacInstall'
      - '.dll'

  selection_powershell_modern:
    EventID: 4103
    Payload|contains|all:
      - 'System.Reflection.Assembly'
      - 'GacInstall'
      - '.dll'

  selection_powershell_block:
    EventID: 4104
    ScriptBlockText|contains|all:
      - 'System.Reflection.Assembly'
      - 'GacInstall'
      - '.dll'

  condition: 1 of selection*
falsepositives:
- New modules deployed on IIS Web servers, but also Exchange and ADCS servers
level: high

Stages and Predicates

Stage 0: condition

1 of selection*

Stage 1: selection_powershell_native

selection_powershell_native:
  EventID: 800
  EventData|contains|all:
    - 'System.Reflection.Assembly'
    - 'GacInstall'
    - '.dll'

Stage 2: selection_powershell_modern

selection_powershell_modern:
  EventID: 4103
  Payload|contains|all:
    - 'System.Reflection.Assembly'
    - 'GacInstall'
    - '.dll'

Stage 3: selection_powershell_block

selection_powershell_block:
  EventID: 4104
  ScriptBlockText|contains|all:
    - 'System.Reflection.Assembly'
    - 'GacInstall'
    - '.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
EventDatamatch
  • .dll corpus 3 (sigma 3)
  • GacInstall
  • System.Reflection.Assembly
field:"EventData" kind:match
Payloadmatch
  • .dll corpus 3 (sigma 3)
  • GacInstall
  • System.Reflection.Assembly
field:"Payload" kind:match
ScriptBlockTextmatch
  • .dll corpus 3 (sigma 3)
  • GacInstall
  • System.Reflection.Assembly
field:"ScriptBlockText" kind:match

Windows Terminal Profile Settings Modification By Uncommon Process

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

Detects the creation or modification of the Windows Terminal Profile settings file "settings.json" by an uncommon process.

Known False Positives

  • Some false positives may occur with admin scripts that set WT settings.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: Windows Terminal Profile Settings Modification By Uncommon Process
id: 9b64de98-9db3-4033-bd7a-f51430105f00
status: test
description: Detects the creation or modification of the Windows Terminal Profile settings file "settings.json" by an uncommon process.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/74438b0237d141ee9c99747976447dc884cb1a39/atomics/T1547.015/T1547.015.md#atomic-test-1---persistence-by-modifying-windows-terminal-profile
    - https://twitter.com/nas_bench/status/1550836225652686848
author: frack113, Nasreddine Bencherchali (Nextron Systems)
date: 2023-07-22
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1547.015
logsource:
    product: windows
    category: file_event
detection:
    selection:
        Image|endswith:
            # Note: Add other potential common applications
            - '\cmd.exe'
            - '\cscript.exe'
            - '\mshta.exe'
            - '\powershell.exe'
            - '\pwsh.exe'
            - '\wscript.exe'
        TargetFilename|endswith: '\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json'
    condition: selection
falsepositives:
    - Some false positives may occur with admin scripts that set WT settings.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith:
        - '\cmd.exe'
        - '\cscript.exe'
        - '\mshta.exe'
        - '\powershell.exe'
        - '\pwsh.exe'
        - '\wscript.exe'
    TargetFilename|endswith: '\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \cmd.exe corpus 132 (sigma 130, splunk 2)
  • \cscript.exe corpus 72 (sigma 72)
  • \mshta.exe corpus 67 (sigma 66, splunk 1)
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \pwsh.exe corpus 166 (sigma 166)
  • \wscript.exe corpus 74 (sigma 74)
field:"Image" kind:ends_with
TargetFilenameends_with
  • \AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
field:"TargetFilename" kind:ends_with value:"\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json"

Back to all Sigma rules