Detection rules › Sigma

Sigma rules: 03

RuleSeverity
Active Directory Replication from Non Machine Account - DcSync Indicatormedium
AWL Bypass with Winrm.vbs and Malicious WsmPty.xsl/WsmTxt.xsl - Filemedium
Axios NPM Compromise Indicators - Linuxhigh
Azure AD Only Single Factor Authentication Requiredlow
BaaUpdate.exe Suspicious DLL Loadhigh
Change Default File Association To Executable Via Assochigh
Clipboard Collection with Xclip Tool - Auditdlow
Denied Access To Remote Desktopmedium
Disabled guest or builtin account activated (command)high
Exploitation Attempt Of CVE-2020-1472 - Execution of ZeroLogon PoChigh
File and Directory Discovery - MacOSinformational
File Download Via Bitsadminmedium
Huawei BGP Authentication Failureslow
Imports Registry Key From an ADShigh
Massive SAM users/groups enumeration (native)informational
Mstsc.EXE Execution With Local RDP Filelow
OpenSSH Server Listening On Socketmedium
Persistence Via Hhctrl.ocxhigh
Ping Hex IPhigh
Potential Credential Dumping Via WERhigh
Potential CVE-2022-26809 Exploitation Attempthigh
Potential Defense Evasion Activity Via Emoji Usage In CommandLine - 4high
Potential Download/Upload Activity Using Type Commandmedium
Potential Keylogger Activitymedium
Potential PsExec Remote Executionhigh
Potential Signing Bypass Via Windows Developer Features - Registryhigh
Potential Winnti Dropper Activityhigh
Scripted Diagnostics Turn Off Check Enabled - Registrymedium
Sensitive File Recovery From Backup Via Wbadmin.EXEhigh
SNAKE Malware WerFault Persistence File Creationhigh
Suspicious Unsigned Dbghelp/Dbgcore DLL Loadedhigh
Sysmon Configuration Updatemedium
TeamViewer Remote Sessionmedium
UAC Bypass Using IEInstal - Processhigh
Webserver IIS module installed (PowerShell)high
Windows Defender Malware And PUA Scanning Disabledhigh

Active Directory Replication from Non Machine Account - DcSync Indicator

#
Status
test
Severity
medium
Author
Roberto Rodriguez @Cyb3rWard0g
Source
github.com/SigmaHQ/sigma

Detects potential abuse of Active Directory Replication Service (ADRS) from a non machine account to request credentials.

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

Rule Body

title: Active Directory Replication from Non Machine Account - DcSync Indicator
id: 17d619c1-e020-4347-957e-1d1207455c93
related:
    - id: 611eab06-a145-4dfa-a295-3ccc5c20f59a # Suspicious Machine Account Replication - DcSync Indicator
      type: similar
status: test
description: Detects potential abuse of Active Directory Replication Service (ADRS) from a non machine account to request credentials.
references:
    - https://threathunterplaybook.com/hunts/windows/180815-ADObjectAccessReplication/notebook.html
    - https://threathunterplaybook.com/library/windows/active_directory_replication.html
    - https://threathunterplaybook.com/hunts/windows/190101-ADModDirectoryReplication/notebook.html
author: Roberto Rodriguez @Cyb3rWard0g
date: 2019-07-26
modified: 2026-07-30
tags:
    - attack.credential-access
    - attack.t1003.006
logsource:
    product: windows
    service: security
    definition: |
        Requirements: A SACL must be configured on the domain NC root object (e.g. DC=domain,DC=com)
        to generate Event 4662. Add via ADSI Edit: navigate to the domain NC root → Properties →
        Security → Advanced → Auditing → add an ACE for Everyone, Type: Success, Applies to:
        This object only, rights: DS-Replication-Get-Changes and DS-Replication-Get-Changes-All.
        The OS audit subcategory must also be enabled:
        auditpol /set /subcategory:"Directory Service Access" /success:enable
detection:
    selection:
        EventID: 4662
        Properties|contains:
            - '1131f6ad-9c07-11d1-f79f-00c04fc2dcd2' # DS-Replication-Get-Changes-All
            - '1131f6aa-9c07-11d1-f79f-00c04fc2dcd2' # DS-Replication-Get-Changes
            - '9923a32a-3607-11d2-b9be-0000f87a36b2' # DS-Replication-Synchronize
            - '89e95b76-444d-4c62-991a-0facbeda640c' # DS-Replication-Get-Changes-In-Filtered-Set
    filter_main_machine_accounts:
        SubjectUserName|endswith: '$'
    filter_optional_subject_domain:
        SubjectDomainName: 'Window Manager'
    filter_optional_subject_usersid:
        SubjectUserName|startswith:
            - 'NT AUT'
            - 'MSOL_' # https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/reference-connect-accounts-permissions#ad-ds-connector-account
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

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

Stage 1: selection

selection:
    EventID: 4662
    Properties|contains:
        - '1131f6ad-9c07-11d1-f79f-00c04fc2dcd2'
        - '1131f6aa-9c07-11d1-f79f-00c04fc2dcd2'
        - '9923a32a-3607-11d2-b9be-0000f87a36b2'
        - '89e95b76-444d-4c62-991a-0facbeda640c'

Stage 2: not filter_main_machine_accounts

filter_main_machine_accounts:
    SubjectUserName|endswith: '$'

Stage 3: not filter_optional_*

filter_optional_subject_domain:
    SubjectDomainName: 'Window Manager'
filter_optional_subject_usersid:
    SubjectUserName|startswith:
        - 'NT AUT'
        - 'MSOL_'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Propertiesmatch
  • 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 corpus 5 (sigma 3, elastic 2)
  • 1131f6ad-9c07-11d1-f79f-00c04fc2dcd2 corpus 5 (sigma 3, elastic 2)
  • 89e95b76-444d-4c62-991a-0facbeda640c corpus 5 (sigma 3, elastic 2)
  • 9923a32a-3607-11d2-b9be-0000f87a36b2 corpus 3 (sigma 3)
field:"Properties" kind:match

Exclusions

The rule actively suppresses these predicates.

AWL Bypass with Winrm.vbs and Malicious WsmPty.xsl/WsmTxt.xsl - File

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

Detects execution of attacker-controlled WsmPty.xsl or WsmTxt.xsl via winrm.vbs and copied cscript.exe (can be renamed)

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: AWL Bypass with Winrm.vbs and Malicious WsmPty.xsl/WsmTxt.xsl - File
id: d353dac0-1b41-46c2-820c-d7d2561fc6ed
related:
    - id: 074e0ded-6ced-4ebd-8b4d-53f55908119d
      type: derived
status: test
description: Detects execution of attacker-controlled WsmPty.xsl or WsmTxt.xsl via winrm.vbs and copied cscript.exe (can be renamed)
references:
    - https://posts.specterops.io/application-whitelisting-bypass-and-arbitrary-unsigned-code-execution-technique-in-winrm-vbs-c8c24fb40404
author: Julia Fomina, oscd.community
date: 2020-10-06
modified: 2022-11-28
tags:
    - attack.stealth
    - attack.t1216
logsource:
    product: windows
    category: file_event
detection:
    system_files:
        TargetFilename|endswith:
            - 'WsmPty.xsl'
            - 'WsmTxt.xsl'
    in_system_folder:
        TargetFilename|startswith:
            - 'C:\Windows\System32\'
            - 'C:\Windows\SysWOW64\'
    condition: system_files and not in_system_folder
falsepositives:
    - Unlikely
level: medium

Stages and Predicates

Stage 0: condition

system_files and not in_system_folder

Stage 1: system_files

system_files:
    TargetFilename|endswith:
        - 'WsmPty.xsl'
        - 'WsmTxt.xsl'

Stage 2: not in_system_folder

in_system_folder:
    TargetFilename|startswith:
        - 'C:\Windows\System32\'
        - 'C:\Windows\SysWOW64\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenameends_with
  • WsmPty.xsl
  • WsmTxt.xsl
field:"TargetFilename" kind:ends_with

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
TargetFilenamestarts_withC:\Windows\SysWOW64\excludes:TargetFilename field:"TargetFilename" value:"C:\Windows\SysWOW64\"
TargetFilenamestarts_withC:\Windows\System32\excludes:TargetFilename field:"TargetFilename" value:"C:\Windows\System32\"

Axios NPM Compromise Indicators - Linux

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

Detects the Linux-specific execution chain of the plain-crypto-js malicious npm dependency by Axios NPM package, including payload download via curl and detached execution using nohup and python3. On March 30, 2026, malicious versions (1.14.1, 0.30.4) were published to npm, injecting a dependency (plain-crypto-js@4.2.1) that executed a postinstall script as a cross-platform RAT dropper. The dropper contacted a C2 server, delivered platform-specific payloads, deleted itself, and replaced package.json to evade detection.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: Axios NPM Compromise Indicators - Linux
id: 0a23a62d-c5b3-468b-a072-25064a9a8c87
status: experimental
description: |
    Detects the Linux-specific execution chain of the plain-crypto-js malicious npm dependency by Axios NPM package, including payload download via curl and detached execution using nohup and python3.
    On March 30, 2026, malicious versions (1.14.1, 0.30.4) were published to npm, injecting a dependency (plain-crypto-js@4.2.1) that executed a postinstall script as a cross-platform RAT dropper.
    The dropper contacted a C2 server, delivered platform-specific payloads, deleted itself, and replaced package.json to evade detection.
references:
    - https://www.stepsecurity.io/blog/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan
    - https://www.derp.ca/research/axios-npm-supply-chain-rat/
    - https://www.trendmicro.com/zh_hk/research/26/c/axios-npm-package-compromised.html
    - https://www.elastic.co/security-labs/axios-supply-chain-compromise-detections
    - https://www.virustotal.com/gui/file/e10b1fa84f1d6481625f741b69892780140d4e0e7769e7491e5f4d894c2e0e09
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2026-04-01
tags:
    - attack.initial-access
    - attack.t1195.002
    - attack.execution
    - attack.command-and-control
    - attack.t1059.006
    - attack.t1059.004
    - attack.t1105
    - detection.emerging-threats
logsource:
    category: process_creation
    product: linux
detection:
    selection_node_shell:
        ParentImage|endswith:
            - '/node'
            - '/bun'
        CommandLine|contains|all:
            - 'curl '
            - '/tmp/ld.py'
            - 'python3 '
            - 'nohup '
            - '6202033'
    selection_curl_download:
        Image|endswith: '/curl'
        CommandLine|contains: 'http://sfrclak.com'
    condition: 1 of selection_*
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_node_shell

selection_node_shell:
    ParentImage|endswith:
        - '/node'
        - '/bun'
    CommandLine|contains|all:
        - 'curl '
        - '/tmp/ld.py'
        - 'python3 '
        - 'nohup '
        - '6202033'

Stage 2: selection_curl_download

selection_curl_download:
    Image|endswith: '/curl'
    CommandLine|contains: 'http://sfrclak.com'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /tmp/ld.py
  • 6202033
  • curl corpus 11 (sigma 11)
  • http://sfrclak.com corpus 2 (sigma 2)
  • nohup corpus 2 (sigma 2)
  • python3
field:"CommandLine" kind:match
Imageends_with
  • /curl corpus 22 (sigma 22)
field:"Image" kind:ends_with value:"/curl"
ParentImageends_with
  • /bun corpus 2 (sigma 2)
  • /node corpus 5 (sigma 5)
field:"ParentImage" kind:ends_with

Azure AD Only Single Factor Authentication Required

#
Status
test
Severity
low
Author
MikeDuddington, '@dudders1'
Source
github.com/SigmaHQ/sigma

Detect when users are authenticating without MFA being required.

Known False Positives

  • If this was approved by System Administrator.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Azure AD Only Single Factor Authentication Required
id: 28eea407-28d7-4e42-b0be-575d5ba60b2c
status: test
description: Detect when users are authenticating without MFA being required.
references:
    - https://learn.microsoft.com/en-gb/entra/architecture/security-operations-user-accounts
author: MikeDuddington, '@dudders1'
date: 2022-07-27
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.initial-access
    - attack.credential-access
    - attack.stealth
    - attack.defense-impairment
    - attack.t1078.004
    - attack.t1556.006
logsource:
    product: azure
    service: signinlogs
detection:
    selection:
        Status: 'Success'
        AuthenticationRequirement: 'singleFactorAuthentication'
    condition: selection
falsepositives:
    - If this was approved by System Administrator.
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Status: 'Success'
    AuthenticationRequirement: 'singleFactorAuthentication'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
AuthenticationRequirementeq
  • singleFactorAuthentication corpus 7 (elastic 4, sigma 3)
field:"azure_ad::authentication_requirement" kind:eq value:"singleFactorAuthentication"
Statuseq
  • Success corpus 6 (sigma 6)
field:"Status" kind:eq value:"Success"

BaaUpdate.exe Suspicious DLL Load

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

Detects BitLocker Access Agent Update Utility (baaupdate.exe) loading DLLs from suspicious locations that are publicly writable which could indicate an attempt to lateral movement via BitLocker DCOM & COM Hijacking. This technique abuses COM Classes configured as INTERACTIVE USER to spawn processes in the context of the logged-on user's session. Specifically, it targets the BDEUILauncher Class (CLSID ab93b6f1-be76-4185-a488-a9001b105b94) which can launch BaaUpdate.exe, which is vulnerable to COM Hijacking when started with input parameters. This allows attackers to execute code in the user's context without needing to steal credentials or use additional techniques to compromise the account.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: BaaUpdate.exe Suspicious DLL Load
id: 6e8fe0a8-ba0b-4a93-8f9e-82657e7a5984
related:
    - id: 9f38c1db-e2ae-40bf-81d0-5b68f73fb512 # Suspicious BitLocker Access Agent Update Utility Execution
      type: similar
status: experimental
description: |
    Detects BitLocker Access Agent Update Utility (baaupdate.exe) loading DLLs from suspicious locations that are publicly writable which could indicate an attempt to lateral movement via BitLocker DCOM & COM Hijacking.
    This technique abuses COM Classes configured as INTERACTIVE USER to spawn processes in the context of the logged-on user's session. Specifically, it targets the BDEUILauncher Class (CLSID ab93b6f1-be76-4185-a488-a9001b105b94)
    which can launch BaaUpdate.exe, which is vulnerable to COM Hijacking when started with input parameters. This allows attackers to execute code in the user's context without needing to steal credentials or use additional techniques to compromise the account.
references:
    - https://github.com/rtecCyberSec/BitlockMove
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-10-18
tags:
    - attack.stealth
    - attack.t1218
    - attack.lateral-movement
    - attack.t1021.003
logsource:
    category: image_load
    product: windows
detection:
    selection:
        Image|endswith: '\BaaUpdate.exe'
        ImageLoaded|endswith: '.dll'
        ImageLoaded|contains:
            - ':\Perflogs\'
            - ':\Users\Default\'
            - ':\Users\Public\'
            - ':\Windows\Temp\'
            - '\AppData\Local\Temp\'
            - '\AppData\Roaming\'
            - '\Contacts\'
            - '\Favorites\'
            - '\Favourites\'
            - '\Links\'
            - '\Music\'
            - '\Pictures\'
            - '\ProgramData\'
            - '\Temporary Internet'
            - '\Videos\'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '\BaaUpdate.exe'
    ImageLoaded|endswith: '.dll'
    ImageLoaded|contains:
        - ':\Perflogs\'
        - ':\Users\Default\'
        - ':\Users\Public\'
        - ':\Windows\Temp\'
        - '\AppData\Local\Temp\'
        - '\AppData\Roaming\'
        - '\Contacts\'
        - '\Favorites\'
        - '\Favourites\'
        - '\Links\'
        - '\Music\'
        - '\Pictures\'
        - '\ProgramData\'
        - '\Temporary Internet'
        - '\Videos\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \BaaUpdate.exe
field:"Image" kind:ends_with value:"\BaaUpdate.exe"
ImageLoadedends_with
  • .dll corpus 6 (sigma 3, splunk 3)
field:"ImageLoaded" kind:ends_with value:".dll"
ImageLoadedmatch
  • :\Perflogs\ corpus 2 (sigma 2)
  • :\Users\Default\
  • :\Users\Public\ corpus 2 (sigma 2)
  • :\Windows\Temp\
  • \AppData\Local\Temp\
  • \AppData\Roaming\
  • \Contacts\ corpus 2 (sigma 2)
  • \Favorites\ corpus 2 (sigma 2)
  • \Favourites\ corpus 2 (sigma 2)
  • \Links\
  • \Music\
  • \Pictures\ corpus 2 (sigma 2)
  • \ProgramData\ corpus 2 (sigma 2)
  • \Temporary Internet corpus 2 (sigma 2)
  • \Videos\
field:"ImageLoaded" kind:match

Change Default File Association To Executable Via Assoc

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

Detects when a program changes the default file association of any extension to an executable. When a file is opened, the default program used to open the file (also called the file association or handler) is checked. File association selections are stored in the Windows Registry and can be edited by users, administrators, or programs that have Registry access or by administrators using the built-in assoc utility. Applications can modify the file association for a given file extension to call an arbitrary program when a file with the given extension is opened.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Change Default File Association To Executable Via Assoc
id: ae6f14e6-14de-45b0-9f44-c0986f50dc89
related:
    - id: 3d3aa6cd-6272-44d6-8afc-7e88dfef7061
      type: derived
status: test
description: |
    Detects when a program changes the default file association of any extension to an executable.
    When a file is opened, the default program used to open the file (also called the file association or handler) is checked. File association selections are stored in the Windows Registry and can be edited by users, administrators, or programs that have Registry access or by administrators using the built-in assoc utility. Applications can modify the file association for a given file extension to call an arbitrary program when a file with the given extension is opened.
references:
    - https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/assoc
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-06-28
modified: 2023-03-06
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1546.001
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\cmd.exe'
        - OriginalFileName: 'Cmd.Exe'
    selection_cli:
        CommandLine|contains|all:
            - 'assoc '
            - 'exefile'
    filter:
        CommandLine|contains: '.exe=exefile'
    condition: all of selection_* and not filter
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_* and not filter

Stage 1: selection_img

selection_img:
    - Image|endswith: '\cmd.exe'
    - OriginalFileName: 'Cmd.Exe'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|all:
        - 'assoc '
        - 'exefile'

Stage 3: not filter

filter:
    CommandLine|contains: '.exe=exefile'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • assoc
  • exefile
field:"CommandLine" kind:match
Imageends_with
  • \cmd.exe corpus 132 (sigma 130, splunk 2)
field:"Image" kind:ends_with value:"\cmd.exe"
OriginalFileNameeq
  • Cmd.Exe corpus 75 (sigma 43, splunk 17, elastic 15)
field:"OriginalFileName" kind:eq value:"Cmd.Exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLinematch.exe=exefileexcludes:CommandLine field:"CommandLine" value:".exe=exefile"

Clipboard Collection with Xclip Tool - Auditd

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

Detects attempts to collect data stored in the clipboard from users with the usage of xclip tool. Xclip has to be installed. Highly recommended using rule on servers, due to high usage of clipboard utilities on user workstations.

Known False Positives

  • Legitimate usage of xclip tools

MITRE ATT&CK Coverage

TacticTechniques
Collection

Telemetry Coverage

Rule Body

title: Clipboard Collection with Xclip Tool - Auditd
id: 214e7e6c-f21b-47ff-bb6f-551b2d143fcf
status: test
description: |
  Detects attempts to collect data stored in the clipboard from users with the usage of xclip tool.
  Xclip has to be installed.
  Highly recommended using rule on servers, due to high usage of clipboard utilities on user workstations.
references:
    - https://linux.die.net/man/1/xclip
    - https://www.cyberciti.biz/faq/xclip-linux-insert-files-command-output-intoclipboard/
author: 'Pawel Mazur'
date: 2021-09-24
modified: 2022-11-26
tags:
    - attack.collection
    - attack.t1115
logsource:
    product: linux
    service: auditd
detection:
    selection:
        type: EXECVE
        a0: xclip
        a1:
            - '-selection'
            - '-sel'
        a2:
            - clipboard
            - clip
        a3: '-o'
    condition: selection
falsepositives:
    - Legitimate usage of xclip tools
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    type: EXECVE
    a0: xclip
    a1:
        - '-selection'
        - '-sel'
    a2:
        - clipboard
        - clip
    a3: '-o'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
a0eq
  • xclip corpus 2 (sigma 2)
field:"a0" kind:eq value:"xclip"
a1eq
  • -sel corpus 2 (sigma 2)
  • -selection corpus 2 (sigma 2)
field:"a1" kind:eq
a2eq
  • clip corpus 2 (sigma 2)
  • clipboard corpus 2 (sigma 2)
field:"a2" kind:eq
a3eq
  • -o
field:"a3" kind:eq value:"-o"
typeeq
  • EXECVE corpus 37 (sigma 31, splunk 6)
field:"type" kind:eq value:"EXECVE"

Denied Access To Remote Desktop

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

This event is generated when an authenticated user who is not allowed to log on remotely attempts to connect to this computer through Remote Desktop. Often, this event can be generated by attackers when searching for available windows servers in the network.

Known False Positives

  • Valid user was not added to RDP group

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Denied Access To Remote Desktop
id: 8e5c03fa-b7f0-11ea-b242-07e0576828d9
status: test
description: |
  This event is generated when an authenticated user who is not allowed to log on remotely attempts to connect to this computer through Remote Desktop.
  Often, this event can be generated by attackers when searching for available windows servers in the network.
references:
    - https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?eventid=4825
author: Pushkarev Dmitry
date: 2020-06-27
modified: 2021-11-27
tags:
    - attack.lateral-movement
    - attack.t1021.001
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID: 4825
    condition: selection
falsepositives:
    - Valid user was not added to RDP group
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 4825

Disabled guest or builtin account activated (command)

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

Detects scenarios where an attacker enables a disabled builtin account via command line.

Known False Positives

  • None

MITRE ATT&CK Coverage

TacticTechniques
Persistence

Telemetry Coverage

Rule Body

title: Disabled guest or builtin account activated (command)
description: Detects scenarios where an attacker enables a disabled builtin account via command line.
references:
- https://thedfirreport.com/2021/11/15/exchange-exploit-leads-to-domain-wide-ransomware/
tags:
- attack.persistence
- attack.t1098
author: mdecrevoisier
logsource:
  product: windows
  category: process_creation
detection:
  selection: # Full command example: 'net user DefaultAccount /active:yes'
    EventID: 4688
    NewProcessName|endswith:
      - \net1.exe
      - \net.exe
    CommandLine|contains|all:
      - user
      - active
      - 'yes'
    CommandLine|contains:
      - Guest
      - DefaultAccount
      - support_388945a0   # Remote assistance
      - HelpAssistant      # Managed by Remote Desktop Help Session Manager service
      - WDAGUtilityAccount # Defender Application Guard
  condition: selection
falsepositives:
- None
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  EventID: 4688
  NewProcessName|endswith:
    - \net1.exe
    - \net.exe
  CommandLine|contains|all:
    - user
    - active
    - 'yes'
  CommandLine|contains:
    - Guest
    - DefaultAccount
    - support_388945a0
    - HelpAssistant
    - WDAGUtilityAccount

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • DefaultAccount
  • Guest
  • HelpAssistant
  • WDAGUtilityAccount
  • active
  • support_388945a0
  • user corpus 15 (sigma 11, splunk 4)
  • yes corpus 3 (sigma 2, splunk 1)
field:"CommandLine" kind:match
NewProcessNameends_with
  • \net.exe corpus 49 (sigma 49)
  • \net1.exe corpus 47 (sigma 47)
field:"Image" kind:ends_with

Exploitation Attempt Of CVE-2020-1472 - Execution of ZeroLogon PoC

#
Status
test
Severity
high
Author
@Kostastsale, TheDFIRReport
Source
github.com/SigmaHQ/sigma

Detects the execution of the commonly used ZeroLogon PoC executable.

MITRE ATT&CK Coverage

TacticTechniques
Lateral Movement

Telemetry Coverage

Rule Body

title: Exploitation Attempt Of CVE-2020-1472 - Execution of ZeroLogon PoC
id: dcc6a01e-9471-44a0-a699-71ea96f8ed8b
status: test
description: Detects the execution of the commonly used ZeroLogon PoC executable.
references:
    - https://thedfirreport.com/2021/11/01/from-zero-to-domain-admin/
    - https://thedfirreport.com/2022/02/21/qbot-and-zerologon-lead-to-full-domain-compromise/
author: '@Kostastsale, TheDFIRReport'
date: 2022-02-12
tags:
    - attack.execution
    - attack.lateral-movement
    - attack.t1210
    - cve.2020-1472
    - detection.emerging-threats
logsource:
    product: windows
    category: process_creation
detection:
    selection_main:
        ParentImage|endswith: '\cmd.exe'
        Image|endswith:
            - '\cool.exe'
            - '\zero.exe'
        CommandLine|contains|all:
            - 'Administrator'
            - '-c'
    selection_payloads_1:
        CommandLine|contains|all:
            - 'taskkill'
            - '/f'
            - '/im'
    selection_payloads_2:
        CommandLine|contains: 'powershell'
    condition: selection_main and 1 of selection_payloads_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection_main and 1 of selection_payloads_*

Stage 1: selection_main

selection_main:
    ParentImage|endswith: '\cmd.exe'
    Image|endswith:
        - '\cool.exe'
        - '\zero.exe'
    CommandLine|contains|all:
        - 'Administrator'
        - '-c'

Stage 2: selection_payloads_1

selection_payloads_1:
    CommandLine|contains|all:
        - 'taskkill'
        - '/f'
        - '/im'

Stage 3: selection_payloads_2

selection_payloads_2:
    CommandLine|contains: 'powershell'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -c corpus 7 (sigma 6, splunk 1)
  • /f corpus 6 (sigma 5, splunk 1)
  • /im
  • Administrator corpus 2 (sigma 2)
  • powershell corpus 24 (sigma 24)
  • taskkill corpus 3 (sigma 2, splunk 1)
field:"CommandLine" kind:match
Imageends_with
  • \cool.exe
  • \zero.exe
field:"Image" kind:ends_with
ParentImageends_with
  • \cmd.exe corpus 20 (sigma 20)
field:"ParentImage" kind:ends_with value:"\cmd.exe"

File and Directory Discovery - MacOS

#
Status
test
Severity
informational
Author
Daniil Yugoslavskiy, oscd.community
Source
github.com/SigmaHQ/sigma

Detects usage of system utilities to discover files and directories

Known False Positives

  • Legitimate activities

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

Rule Body

title: File and Directory Discovery - MacOS
id: 089dbdf6-b960-4bcc-90e3-ffc3480c20f6
status: test
description: Detects usage of system utilities to discover files and directories
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1083/T1083.md
author: Daniil Yugoslavskiy, oscd.community
date: 2020-10-19
modified: 2022-11-25
tags:
    - attack.discovery
    - attack.t1083
logsource:
    category: process_creation
    product: macos
detection:
    select_file_with_asterisk:
        Image: '/usr/bin/file'
        CommandLine|re: '(.){200,}' # execution of the 'file */* *>> /tmp/output.txt' will produce huge commandline
    select_recursive_ls:
        Image: '/bin/ls'
        CommandLine|contains: '-R'
    select_find_execution:
        Image: '/usr/bin/find'
    select_mdfind_execution:
        Image: '/usr/bin/mdfind'
    select_tree_execution|endswith:
        Image: '/tree'
    condition: 1 of select*
falsepositives:
    - Legitimate activities
level: informational

Stages and Predicates

Stage 0: condition

1 of select*

Stage 1: select_file_with_asterisk

select_file_with_asterisk:
    Image: '/usr/bin/file'
    CommandLine|re: '(.){200,}'

Stage 2: select_recursive_ls

select_recursive_ls:
    Image: '/bin/ls'
    CommandLine|contains: '-R'

Stage 3: select_find_execution

select_find_execution:
    Image: '/usr/bin/find'

Stage 4: select_mdfind_execution

select_mdfind_execution:
    Image: '/usr/bin/mdfind'

Stage 5: select_tree_execution|endswith

Image: '/tree'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -R corpus 9 (sigma 9)
field:"CommandLine" kind:match value:"-R"
CommandLineregex_match
  • (.){200,} corpus 2 (sigma 2)
field:"CommandLine" kind:regex_match value:"(.){200,}"
Imageeq
  • /bin/ls
  • /tree
  • /usr/bin/file
  • /usr/bin/find
  • /usr/bin/mdfind
field:"Image" kind:eq

File Download Via Bitsadmin

#
Status
test
Severity
medium
Author
Michael Haag, FPT.EagleEye
Source
github.com/SigmaHQ/sigma

Detects usage of bitsadmin downloading a file

Known False Positives

  • Some legitimate apps use this, but limited.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: File Download Via Bitsadmin
id: d059842b-6b9d-4ed1-b5c3-5b89143c6ede
status: test
description: Detects usage of bitsadmin downloading a file
references:
    - https://blog.netspi.com/15-ways-to-download-a-file/#bitsadmin
    - https://isc.sans.edu/diary/22264
    - https://lolbas-project.github.io/lolbas/Binaries/Bitsadmin/
author: Michael Haag, FPT.EagleEye
date: 2017-03-09
modified: 2023-02-15
tags:
    - attack.persistence
    - attack.execution
    - attack.stealth
    - attack.t1197
    - attack.s0190
    - attack.t1036.003
    - attack.command-and-control
    - attack.t1105
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\bitsadmin.exe'
        - OriginalFileName: 'bitsadmin.exe'
    selection_cmd:
        CommandLine|contains: ' /transfer '
    selection_cli_1:
        CommandLine|contains:
            - ' /create '
            - ' /addfile '
    selection_cli_2:
        CommandLine|contains: 'http'
    condition: selection_img and (selection_cmd or all of selection_cli_*)
falsepositives:
    - Some legitimate apps use this, but limited.
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_bitsadmin_download/info.yml
simulation:
    - type: atomic-red-team
      name: Windows - BITSAdmin BITS Download
      technique: T1105
      atomic_guid: a1921cd3-9a2d-47d5-a891-f1d0f2a7a31b

Stages and Predicates

Stage 0: condition

selection_img and (selection_cmd or all of selection_cli_*)

Stage 1: selection_img

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

Stage 2: selection_cmd

selection_cmd:
    CommandLine|contains: ' /transfer '

Stage 3: selection_cli_1

selection_cli_1:
    CommandLine|contains:
        - ' /create '
        - ' /addfile '

Stage 4: selection_cli_2

selection_cli_2:
    CommandLine|contains: 'http'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /addfile corpus 5 (sigma 5)
  • /create corpus 15 (sigma 15)
  • /transfer corpus 5 (sigma 5)
  • http corpus 45 (sigma 34, elastic 10, splunk 1)
field:"CommandLine" kind:match
Imageends_with
  • \bitsadmin.exe corpus 29 (sigma 29)
field:"Image" kind:ends_with value:"\bitsadmin.exe"
OriginalFileNameeq
  • bitsadmin.exe corpus 19 (sigma 9, elastic 8, splunk 2)
field:"OriginalFileName" kind:eq value:"bitsadmin.exe"

Huawei BGP Authentication Failures

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

Detects BGP failures which may be indicative of brute force attacks to manipulate routing.

Known False Positives

  • Unlikely. Except due to misconfigurations

MITRE ATT&CK Coverage

Rule Body

title: Huawei BGP Authentication Failures
id: a557ffe6-ac54-43d2-ae69-158027082350
status: test
description: Detects BGP failures which may be indicative of brute force attacks to manipulate routing.
references:
    - https://www.blackhat.com/presentations/bh-usa-03/bh-us-03-convery-franz-v3.pdf
author: Tim Brown
date: 2023-01-09
modified: 2023-01-23
tags:
    - attack.initial-access
    - attack.persistence
    - attack.privilege-escalation
    - attack.credential-access
    - attack.collection
    - attack.stealth
    - attack.t1078
    - attack.t1110
    - attack.t1557
logsource:
    product: huawei
    service: bgp
    definition: 'Requirements: huawei bgp logs need to be enabled and ingested'
detection:
    keywords_bgp_huawei:
        '|all':
            - ':179' # Protocol
            - 'BGP_AUTH_FAILED'
    condition: keywords_bgp_huawei
falsepositives:
    - Unlikely. Except due to misconfigurations
level: low

Stages and Predicates

Stage 0: condition

keywords_bgp_huawei

Stage 1: keywords_bgp_huawei

keywords_bgp_huawei:
    '|all':
        - ':179'
        - 'BGP_AUTH_FAILED'

Imports Registry Key From an ADS

#
Status
test
Severity
high
Author
Oddvar Moe, Sander Wiebing, oscd.community
Source
github.com/SigmaHQ/sigma

Detects the import of a alternate datastream to the registry with regedit.exe.

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Defense Impairment

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Imports Registry Key From an ADS
id: 0b80ade5-6997-4b1d-99a1-71701778ea61
related:
    - id: 73bba97f-a82d-42ce-b315-9182e76c57b1
      type: similar
status: test
description: Detects the import of a alternate datastream to the registry with regedit.exe.
references:
    - https://lolbas-project.github.io/lolbas/Binaries/Regedit/
    - https://gist.github.com/api0cradle/cdd2d0d0ec9abb686f0e89306e277b8f
author: Oddvar Moe, Sander Wiebing, oscd.community
date: 2020-10-12
modified: 2024-03-13
tags:
    - attack.persistence
    - attack.defense-impairment
    - attack.t1112
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\regedit.exe'
        - OriginalFileName: 'REGEDIT.EXE'
    selection_cli:
        CommandLine|contains:
            - ' /i '
            - '.reg'
        CommandLine|re: ':[^ \\]'
    filter:
        CommandLine|contains|windash:
            - ' -e '
            - ' -a '
            - ' -c '
    condition: all of selection_* and not filter
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_* and not filter

Stage 1: selection_img

selection_img:
    - Image|endswith: '\regedit.exe'
    - OriginalFileName: 'REGEDIT.EXE'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains:
        - ' /i '
        - '.reg'
    CommandLine|re: ':[^ \\]'

Stage 3: not filter

filter:
    CommandLine|contains|windash:
        - ' -e '
        - ' -a '
        - ' -c '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /i corpus 3 (sigma 3)
  • .reg corpus 4 (sigma 3, splunk 1)
field:"CommandLine" kind:match
CommandLineregex_match
  • :[^ \] corpus 2 (sigma 2)
field:"CommandLine" kind:regex_match value:":[^ \]"
Imageends_with
  • \regedit.exe corpus 8 (sigma 8)
field:"Image" kind:ends_with value:"\regedit.exe"
OriginalFileNameeq
  • REGEDIT.EXE corpus 6 (sigma 4, splunk 2)
field:"OriginalFileName" kind:eq value:"REGEDIT.EXE"

Exclusions

The rule actively suppresses these predicates.

Massive SAM users/groups enumeration (native)

#
Status
experimental
Severity
informational
Time window
15m
Author
mdecrevoisier
Source
github.com/mdecrevoisier/SIGMA-detection-rules

Detects scenarios where an attacker attempts to enumerate sensitive domain users/groups settings and membership. Correlate TargetLogonId from ID 4624 with SubjectLogonId from ID 4661 to identify the source of the enumeration.

Known False Positives

  • Administrator activity

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Massive SAM users/groups enumeration (native)
name: SAM_enumeration_user_group
description: Detects scenarios where an attacker attempts to enumerate sensitive domain users/groups settings and membership. Correlate TargetLogonId from ID 4624 with SubjectLogonId from ID 4661 to identify the source of the enumeration.
requirements: extended rights auditing enabled (https://www.manageengine.com/products/active-directory-audit/active-directory-auditing-configuration-guide-configure-object-level-auditing-manually.html)
references:
  - https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0007-Discovery/T1069-Permission%20Groups%20Discovery
  - https://bitvijays.github.io/LFF-IPS-P3-Exploitation.html
tags:
  - attack.discovery
  - attack.t1069.002
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection: # net group <domain_group> /domain
  selection:
    EventID: 4661
    ProcessName|endswith: '\lsass.exe'
    ObjectServer: "Security Account Manager"
    ObjectName|startswith:
      - S-1-5-32- # refers to builtin domain local groups
      - S-1-5-21- # refers to domain users and groups
    ObjectType:
      - SAM_USER
      - SAM_GROUP
  filter:
    - SubjectUserName|endswith: "$"
    - ObjectName|endswith: # already covered in a separated rule for sensitive user & group enumeration
        - "-500" # local administrator
        - "-512" # Domain Admins
        - "-513" # Domain users (less critical)
  condition: selection and not filter
falsepositives:
  - Administrator activity
level: informational

---
title: Massive SAM users/groups enumeration (native)
status: experimental
correlation:
  type: value_count
  rules:
    - SAM_enumeration_user_group
  group-by:
    - Computer
  timespan: 15m
  condition:
    gte: 30
    field: ObjectName
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
  EventID: 4661
  ProcessName|endswith: '\lsass.exe'
  ObjectServer: "Security Account Manager"
  ObjectName|startswith:
    - S-1-5-32-
    - S-1-5-21-
  ObjectType:
    - SAM_USER
    - SAM_GROUP

Stage 2: not filter

filter:
  - SubjectUserName|endswith: "$"
  - ObjectName|endswith:
      - "-500"
      - "-512"
      - "-513"

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ObjectNamestarts_with
  • S-1-5-21- corpus 5 (sigma 5)
  • S-1-5-32- corpus 3 (sigma 3)
field:"ObjectName" kind:starts_with
ObjectServereq
  • Security Account Manager corpus 7 (sigma 7)
field:"ObjectServer" kind:eq value:"Security Account Manager"
ObjectTypeeq
  • SAM_GROUP corpus 4 (sigma 4)
  • SAM_USER corpus 5 (sigma 5)
field:"ObjectType" kind:eq
ProcessNameends_with
  • \lsass.exe corpus 7 (sigma 7)
field:"process_name" kind:ends_with value:"\lsass.exe"

Exclusions

The rule actively suppresses these predicates.

Mstsc.EXE Execution With Local RDP File

#
Status
test
Severity
low
Author
Nasreddine Bencherchali (Nextron Systems), Christopher Peacock @securepeacock
Source
github.com/SigmaHQ/sigma

Detects potential RDP connection via Mstsc using a local ".rdp" file

Known False Positives

  • Likely with legitimate usage of ".rdp" files

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Mstsc.EXE Execution With Local RDP File
id: 5fdce3ac-e7f9-4ecd-a3aa-a4d78ebbf0af
status: test
description: Detects potential RDP connection via Mstsc using a local ".rdp" file
references:
    - https://www.blackhillsinfosec.com/rogue-rdp-revisiting-initial-access-methods/
    - https://web.archive.org/web/20230726144748/https://blog.thickmints.dev/mintsights/detecting-rogue-rdp/
author: Nasreddine Bencherchali (Nextron Systems), Christopher Peacock @securepeacock
date: 2023-04-18
modified: 2023-04-30
tags:
    - attack.command-and-control
    - attack.t1219.002
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\mstsc.exe'
        - OriginalFileName: 'mstsc.exe'
    selection_cli:
        CommandLine|endswith:
            - '.rdp'
            - '.rdp"'
    filter_optional_wsl:
        ParentImage: 'C:\Windows\System32\lxss\wslhost.exe'
        CommandLine|contains: 'C:\ProgramData\Microsoft\WSL\wslg.rdp'
    condition: all of selection_* and not 1 of filter_optional_*
falsepositives:
    - Likely with legitimate usage of ".rdp" files
level: low

Stages and Predicates

Stage 0: condition

all of selection_* and not 1 of filter_optional_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    CommandLine|endswith:
        - '.rdp'
        - '.rdp"'

Stage 3: not filter_optional_wsl

filter_optional_wsl:
    ParentImage: 'C:\Windows\System32\lxss\wslhost.exe'
    CommandLine|contains: 'C:\ProgramData\Microsoft\WSL\wslg.rdp'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLineends_with
  • .rdp corpus 2 (sigma 2)
  • .rdp" corpus 2 (sigma 2)
field:"CommandLine" kind:ends_with
Imageends_with
  • \mstsc.exe corpus 6 (sigma 6)
field:"Image" kind:ends_with value:"\mstsc.exe"
OriginalFileNameeq
  • mstsc.exe corpus 5 (sigma 4, elastic 1)
field:"OriginalFileName" kind:eq value:"mstsc.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLinematchC:\ProgramData\Microsoft\WSL\wslg.rdpexcludes:CommandLine field:"CommandLine" value:"C:\ProgramData\Microsoft\WSL\wslg.rdp"
ParentImageeqC:\Windows\System32\lxss\wslhost.exeexcludes:ParentImage field:"ParentImage" value:"C:\Windows\System32\lxss\wslhost.exe"

OpenSSH Server Listening On Socket

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

Detects scenarios where an attacker enables the OpenSSH server and server starts to listening on SSH socket.

Known False Positives

  • Legitimate administrator activity

MITRE ATT&CK Coverage

TacticTechniques
Lateral Movement

Telemetry Coverage

ProviderRecord / event type
OpenSSHEvent ID 4: process: payload.

Rule Body

title: OpenSSH Server Listening On Socket
id: 3ce8e9a4-bc61-4c9b-8e69-d7e2492a8781
status: test
description: Detects scenarios where an attacker enables the OpenSSH server and server starts to listening on SSH socket.
references:
    - https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0008-Lateral%20Movement/T1021.004-Remote%20Service%20SSH
    - https://winaero.com/enable-openssh-server-windows-10/
    - https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
    - https://virtualizationreview.com/articles/2020/05/21/ssh-server-on-windows-10.aspx
    - https://medium.com/threatpunter/detecting-adversary-tradecraft-with-image-load-event-logging-and-eql-8de93338c16
author: mdecrevoisier
date: 2022-10-25
tags:
    - attack.lateral-movement
    - attack.t1021.004
logsource:
    product: windows
    service: openssh
detection:
    selection:
        EventID: 4
        process: sshd
        payload|startswith: 'Server listening on '
    condition: selection
falsepositives:
    - Legitimate administrator activity
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 4
    process: sshd
    payload|startswith: 'Server listening on '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
payloadstarts_with
  • Server listening on
field:"payload" kind:starts_with value:"Server listening on "
processeq
  • sshd corpus 2 (sigma 2)
field:"CommandLine" kind:eq value:"sshd"

Persistence Via Hhctrl.ocx

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

Detects when an attacker modifies the registry value of the "hhctrl" to point to a custom binary

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
PersistenceNo specific technique

Telemetry Coverage

Rule Body

title: Persistence Via Hhctrl.ocx
id: f10ed525-97fe-4fed-be7c-2feecca941b1
status: test
description: Detects when an attacker modifies the registry value of the "hhctrl" to point to a custom binary
references:
    - https://persistence-info.github.io/Data/hhctrl.html
    - https://www.hexacorn.com/blog/2018/04/23/beyond-good-ol-run-key-part-77/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-07-21
modified: 2023-08-17
tags:
    - attack.persistence
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|contains: '\CLSID\{52A2AAAE-085D-4187-97EA-8C30DB990436}\InprocServer32\(Default)'
    filter:
        Details: 'C:\Windows\System32\hhctrl.ocx'
    condition: selection and not filter
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
    TargetObject|contains: '\CLSID\{52A2AAAE-085D-4187-97EA-8C30DB990436}\InprocServer32\(Default)'

Stage 2: not filter

filter:
    Details: 'C:\Windows\System32\hhctrl.ocx'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectmatch
  • \CLSID\{52A2AAAE-085D-4187-97EA-8C30DB990436}\InprocServer32\(Default)
field:"TargetObject" kind:match value:"\CLSID\{52A2AAAE-085D-4187-97EA-8C30DB990436}\InprocServer32\(Default)"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
DetailseqC:\Windows\System32\hhctrl.ocxexcludes:Details field:"Details" value:"C:\Windows\System32\hhctrl.ocx"

Ping Hex IP

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

Detects a ping command that uses a hex encoded IP address

Known False Positives

  • Unlikely, because no sane admin pings IP addresses in a hexadecimal form

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Ping Hex IP
id: 1a0d4aba-7668-4365-9ce4-6d79ab088dfd
status: test
description: Detects a ping command that uses a hex encoded IP address
references:
    - https://github.com/vysecurity/Aggressor-VYSEC/blob/0d61c80387b9432dab64b8b8a9fb52d20cfef80e/ping.cna
    - https://twitter.com/vysecurity/status/977198418354491392
author: Florian Roth (Nextron Systems)
date: 2018-03-23
modified: 2025-10-17
tags:
    - attack.stealth
    - attack.t1140
    - attack.t1027
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\ping.exe'
        CommandLine|re: '0x[a-fA-F0-9]{8}'
    condition: selection
falsepositives:
    - Unlikely, because no sane admin pings IP addresses in a hexadecimal form
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '\ping.exe'
    CommandLine|re: '0x[a-fA-F0-9]{8}'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLineregex_match
  • 0x[a-fA-F0-9]{8}
field:"CommandLine" kind:regex_match value:"0x[a-fA-F0-9]{8}"
Imageends_with
  • \ping.exe corpus 6 (sigma 6)
field:"Image" kind:ends_with value:"\ping.exe"

Potential Credential Dumping Via WER

#
Status
test
Severity
high
Author
@pbssubhash , Nasreddine Bencherchali
Source
github.com/SigmaHQ/sigma

Detects potential credential dumping via Windows Error Reporting LSASS Shtinkering technique which uses the Windows Error Reporting to dump lsass

Known False Positives

  • Windows Error Reporting might produce similar behavior. In that case, check the PID associated with the "-p" parameter in the CommandLine.

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potential Credential Dumping Via WER
id: 9a4ccd1a-3526-4d99-b980-9f9c5d3a6ff3
status: test
description: Detects potential credential dumping via Windows Error Reporting LSASS Shtinkering technique which uses the Windows Error Reporting to dump lsass
references:
    - https://github.com/deepinstinct/Lsass-Shtinkering
    - https://media.defcon.org/DEF%20CON%2030/DEF%20CON%2030%20presentations/Asaf%20Gilboa%20-%20LSASS%20Shtinkering%20Abusing%20Windows%20Error%20Reporting%20to%20Dump%20LSASS.pdf
author: '@pbssubhash , Nasreddine Bencherchali'
date: 2022-12-08
modified: 2022-12-09
tags:
    - attack.credential-access
    - attack.t1003.001
logsource:
    product: windows
    category: process_creation
detection:
    selection_img:
        - Image|endswith: '\Werfault.exe'
        - OriginalFileName: 'WerFault.exe'
    selection_cli:
        ParentUser|contains: # covers many language settings
            - 'AUTHORI'
            - 'AUTORI'
        User|contains:
            - 'AUTHORI'
            - 'AUTORI'
        CommandLine|contains|all:
            # Doc: WerFault.exe -u -p <target process> -ip <source process> -s <file mapping handle>
            # Example: C:\Windows\system32\Werfault.exe -u -p 744 -ip 1112 -s 244
            # If the source process is not equal to the target process and the target process is LSASS then this is an indication of this technique
            # Example: If the "-p" points the PID of "lsass.exe" and "-ip" points to a different process than "lsass.exe" then this is a sign of malicious activity
            - ' -u -p '
            - ' -ip '
            - ' -s '
    filter_lsass:
        ParentImage: 'C:\Windows\System32\lsass.exe'
    condition: all of selection_* and not 1 of filter_*
falsepositives:
    - Windows Error Reporting might produce similar behavior. In that case, check the PID associated with the "-p" parameter in the CommandLine.
level: high

Stages and Predicates

Stage 0: condition

all of selection_* and not 1 of filter_*

Stage 1: selection_img

selection_img:
    - Image|endswith: '\Werfault.exe'
    - OriginalFileName: 'WerFault.exe'

Stage 2: selection_cli

selection_cli:
    ParentUser|contains:
        - 'AUTHORI'
        - 'AUTORI'
    User|contains:
        - 'AUTHORI'
        - 'AUTORI'
    CommandLine|contains|all:
        - ' -u -p '
        - ' -ip '
        - ' -s '

Stage 3: not filter_lsass

filter_lsass:
    ParentImage: 'C:\Windows\System32\lsass.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -ip
  • -s corpus 4 (sigma 3, splunk 1)
  • -u -p
field:"CommandLine" kind:match
Imageends_with
  • \Werfault.exe corpus 8 (sigma 8)
field:"Image" kind:ends_with value:"\Werfault.exe"
OriginalFileNameeq
  • WerFault.exe corpus 3 (sigma 2, elastic 1)
field:"OriginalFileName" kind:eq value:"WerFault.exe"
ParentUsermatch
  • AUTHORI corpus 2 (sigma 2)
  • AUTORI corpus 2 (sigma 2)
field:"ParentUser" kind:match
Usermatch
  • AUTHORI corpus 14 (sigma 14)
  • AUTORI corpus 14 (sigma 14)
field:"user" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ParentImageeqC:\Windows\System32\lsass.exeexcludes:ParentImage field:"ParentImage" value:"C:\Windows\System32\lsass.exe"

Potential CVE-2022-26809 Exploitation Attempt

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

Detects suspicious remote procedure call (RPC) service anomalies based on the spawned sub processes (long shot to detect the exploitation of vulnerabilities like CVE-2022-26809)

Known False Positives

  • Some cases in which the service spawned a werfault.exe process

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potential CVE-2022-26809 Exploitation Attempt
id: a7cd7306-df8b-4398-b711-6f3e4935cf16
status: test
description: Detects suspicious remote procedure call (RPC) service anomalies based on the spawned sub processes (long shot to detect the exploitation of vulnerabilities like CVE-2022-26809)
references:
    - https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-26809
    - https://www.bleepingcomputer.com/startups/RpcSs.exe-14544.html
    - https://twitter.com/cyb3rops/status/1514217991034097664
    - https://www.securonix.com/blog/cve-2022-26809-remote-procedure-call-runtime-remote-code-execution-vulnerability-and-coverage/
author: Florian Roth (Nextron Systems)
date: 2022-04-13
modified: 2023-02-03
tags:
    - attack.initial-access
    - attack.t1190
    - attack.execution
    - attack.t1569.002
    - cve.2022-26809
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage: 'C:\Windows\System32\svchost.exe'
        ParentCommandLine|contains: '-k RPCSS'
    condition: selection
falsepositives:
    - Unknown
    - Some cases in which the service spawned a werfault.exe process
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ParentImage: 'C:\Windows\System32\svchost.exe'
    ParentCommandLine|contains: '-k RPCSS'

Indicators

These rows show field, operator, and value matches.

Potential Defense Evasion Activity Via Emoji Usage In CommandLine - 4

#
Status
test
Severity
high
Author
@Kostastsale, TheDFIRReport
Source
github.com/SigmaHQ/sigma

Detects the usage of emojis in the command line, this could be a sign of potential defense evasion activity.

MITRE ATT&CK Coverage

TacticTechniques
StealthNo specific technique

Telemetry Coverage

Rule Body

title: Potential Defense Evasion Activity Via Emoji Usage In CommandLine - 4
id: 225274c4-8dd1-40db-9e09-71dff4f6fb3c
status: test
description: Detects the usage of emojis in the command line, this could be a sign of potential defense evasion activity.
author: '@Kostastsale, TheDFIRReport'
references:
    - Internal Research
tags:
    - attack.stealth
date: 2022-12-05
logsource:
    product: windows
    category: process_creation
detection:
    selection:
        CommandLine|contains:
            - '🔸'
            - '🔹'
            - '🔶'
            - '🔷'
            - '🔳'
            - '🔲'
            - '▪️'
            - '▫️'
            - '◾️'
            - '◽️'
            - '◼️'
            - '◻️'
            - '🟥'
            - '🟧'
            - '🟨'
            - '🟩'
            - '🟦'
            - '🟪'
            - '⬛️'
            - '⬜️'
            - '🟫'
            - '🔈'
            - '🔇'
            - '🔉'
            - '🔊'
            - '🔔'
            - '🔕'
            - '📣'
            - '📢'
            - '👁‍🗨'
            - '💬'
            - '💭'
            - '🗯'
            - '♠️'
            - '♣️'
            - '♥️'
            - '♦️'
            - '🃏'
            - '🎴'
            - '🀄️'
            - '🕐'
            - '🕑'
            - '🕒'
            - '🕓'
            - '🕔'
            - '🕕'
            - '🕖'
            - '🕗'
            - '🕘'
            - '🕙'
            - '🕚'
            - '🕛'
            - '🕜'
            - '🕝'
            - '🕞'
            - '🕟'
            - '🕠'
            - '🕡'
            - '🕢'
            - '🕣'
            - '🕤'
            - '🕥'
            - '🕦'
            - '🕧✢'
            - '✣'
            - '✤'
            - '✥'
            - '✦'
            - '✧'
            - '★'
            - '☆'
            - '✯'
            - '✡︎'
            - '✩'
            - '✪'
            - '✫'
            - '✬'
            - '✭'
            - '✮'
            - '✶'
            - '✷'
            - '✵'
            - '✸'
            - '✹'
            - '→'
            - '⇒'
            - '⟹'
            - '⇨'
            - '⇾'
            - '➾'
            - '⇢'
            - '☛'
            - '☞'
            - '➔'
            - '➜'
            - '➙'
            - '➛'
            - '➝'
            - '➞'
            - '♠︎'
            - '♣︎'
            - '♥︎'
            - '♦︎'
            - '♤'
            - '♧'
            - '♡'
            - '♢'
            - '♚'
            - '♛'
            - '♜'
            - '♝'
            - '♞'
            - '♟'
            - '♔'
            - '♕'
            - '♖'
            - '♗'
            - '♘'
            - '♙'
            - '⚀'
            - '⚁'
            - '⚂'
            - '⚃'
            - '⚄'
            - '⚅'
            - '🂠'
            - '⚈'
            - '⚉'
            - '⚆'
            - '⚇'
            - '𓀀'
            - '𓀁'
            - '𓀂'
            - '𓀃'
            - '𓀄'
            - '𓀅'
            - '𓀆'
            - '𓀇'
            - '𓀈'
            - '𓀉'
            - '𓀊'
            - '𓀋'
            - '𓀌'
            - '𓀍'
            - '𓀎'
            - '𓀏'
            - '𓀐'
            - '𓀑'
            - '𓀒'
            - '𓀓'
            - '𓀔'
            - '𓀕'
            - '𓀖'
            - '𓀗'
            - '𓀘'
            - '𓀙'
            - '𓀚'
            - '𓀛'
            - '𓀜'
            - '𓀝🏳️'
            - '🏴'
            - '🏁'
            - '🚩'
            - '🏳️‍🌈'
            - '🏳️‍⚧️'
            - '🏴‍☠️'
            - '🇦🇫'
            - '🇦🇽'
            - '🇦🇱'
            - '🇩🇿'
            - '🇦🇸'
            - '🇦🇩'
            - '🇦🇴'
            - '🇦🇮'
            - '🇦🇶'
            - '🇦🇬'
            - '🇦🇷'
            - '🇦🇲'
            - '🇦🇼'
            - '🇦🇺'
            - '🇦🇹'
            - '🇦🇿'
            - '🇧🇸'
            - '🇧🇭'
            - '🇧🇩'
            - '🇧🇧'
            - '🇧🇾'
            - '🇧🇪'
            - '🇧🇿'
            - '🇧🇯'
            - '🇧🇲'
            - '🇧🇹'
            - '🇧🇴'
            - '🇧🇦'
            - '🇧🇼'
            - '🇧🇷'
            - '🇮🇴'
            - '🇻🇬'
            - '🇧🇳'
            - '🇧🇬'
            - '🇧🇫'
            - '🇧🇮'
            - '🇰🇭'
            - '🇨🇲'
            - '🇨🇦'
            - '🇮🇨'
            - '🇨🇻'
            - '🇧🇶'
            - '🇰🇾'
            - '🇨🇫'
            - '🇹🇩'
            - '🇨🇱'
            - '🇨🇳'
            - '🇨🇽'
            - '🇨🇨'
            - '🇨🇴'
            - '🇰🇲'
            - '🇨🇬'
            - '🇨🇩'
            - '🇨🇰'
            - '🇨🇷'
            - '🇨🇮'
            - '🇭🇷'
            - '🇨🇺'
            - '🇨🇼'
            - '🇨🇾'
            - '🇨🇿'
            - '🇩🇰'
            - '🇩🇯'
            - '🇩🇲'
            - '🇩🇴'
            - '🇪🇨'
            - '🇪🇬'
            - '🇸🇻'
            - '🇬🇶'
            - '🇪🇷'
            - '🇪🇪'
            - '🇪🇹'
            - '🇪🇺'
            - '🇫🇰'
            - '🇫🇴'
            - '🇫🇯'
            - '🇫🇮'
            - '🇫🇷'
            - '🇬🇫'
            - '🇵🇫'
            - '🇹🇫'
            - '🇬🇦'
            - '🇬🇲'
            - '🇬🇪'
            - '🇩🇪'
            - '🇬🇭'
            - '🇬🇮'
            - '🇬🇷'
            - '🇬🇱'
            - '🇬🇩'
            - '🇬🇵'
            - '🇬🇺'
            - '🇬🇹'
            - '🇬🇬'
            - '🇬🇳'
            - '🇬🇼'
            - '🇬🇾'
            - '🇭🇹'
            - '🇭🇳'
            - '🇭🇰'
            - '🇭🇺'
            - '🇮🇸'
            - '🇮🇳'
            - '🇮🇩'
            - '🇮🇷'
            - '🇮🇶'
            - '🇮🇪'
            - '🇮🇲'
            - '🇮🇱'
            - '🇮🇹'
            - '🇯🇲'
            - '🇯🇵'
            - '🎌'
            - '🇯🇪'
            - '🇯🇴'
            - '🇰🇿'
            - '🇰🇪'
            - '🇰🇮'
            - '🇽🇰'
            - '🇰🇼'
            - '🇰🇬'
            - '🇱🇦'
            - '🇱🇻'
            - '🇱🇧'
            - '🇱🇸'
            - '🇱🇷'
            - '🇱🇾'
            - '🇱🇮'
            - '🇱🇹'
            - '🇱🇺'
            - '🇲🇴'
            - '🇲🇰'
            - '🇲🇬'
            - '🇲🇼'
            - '🇲🇾'
            - '🇲🇻'
            - '🇲🇱'
            - '🇲🇹'
            - '🇲🇭'
            - '🇲🇶'
            - '🇲🇷'
            - '🇲🇺'
            - '🇾🇹'
            - '🇲🇽'
            - '🇫🇲'
            - '🇲🇩'
            - '🇲🇨'
            - '🇲🇳'
            - '🇲🇪'
            - '🇲🇸'
            - '🇲🇦'
            - '🇲🇿'
            - '🇲🇲'
            - '🇳🇦'
            - '🇳🇷'
            - '🇳🇵'
            - '🇳🇱'
            - '🇳🇨'
            - '🇳🇿'
            - '🇳🇮'
            - '🇳🇪'
            - '🇳🇬'
            - '🇳🇺'
            - '🇳🇫'
            - '🇰🇵'
            - '🇲🇵'
            - '🇳🇴'
            - '🇴🇲'
            - '🇵🇰'
            - '🇵🇼'
            - '🇵🇸'
            - '🇵🇦'
            - '🇵🇬'
            - '🇵🇾'
            - '🇵🇪'
            - '🇵🇭'
            - '🇵🇳'
            - '🇵🇱'
            - '🇵🇹'
            - '🇵🇷'
            - '🇶🇦'
            - '🇷🇪'
            - '🇷🇴'
            - '🇷🇺'
            - '🇷🇼'
            - '🇼🇸'
            - '🇸🇲'
            - '🇸🇦'
            - '🇸🇳'
            - '🇷🇸'
            - '🇸🇨'
            - '🇸🇱'
            - '🇸🇬'
            - '🇸🇽'
            - '🇸🇰'
            - '🇸🇮'
            - '🇬🇸'
            - '🇸🇧'
            - '🇸🇴'
            - '🇿🇦'
            - '🇰🇷'
            - '🇸🇸'
            - '🇪🇸'
            - '🇱🇰'
            - '🇧🇱'
            - '🇸🇭'
            - '🇰🇳'
            - '🇱🇨'
            - '🇵🇲'
            - '🇻🇨'
            - '🇸🇩'
            - '🇸🇷'
            - '🇸🇿'
            - '🇸🇪'
            - '🇨🇭'
            - '🇸🇾'
            - '🇹🇼'
            - '🇹🇯'
            - '🇹🇿'
            - '🇹🇭'
            - '🇹🇱'
            - '🇹🇬'
            - '🇹🇰'
            - '🇹🇴'
            - '🇹🇹'
            - '🇹🇳'
            - '🇹🇷'
            - '🇹🇲'
            - '🇹🇨'
            - '🇹🇻'
            - '🇻🇮'
            - '🇺🇬'
            - '🇺🇦'
            - '🇦🇪'
            - '🇬🇧'
            - '🏴󠁧󠁢󠁥󠁮󠁧󠁿'
            - '🏴󠁧󠁢󠁳󠁣󠁴󠁿'
            - '🏴󠁧󠁢󠁷󠁬󠁳󠁿'
            - '🇺🇳'
            - '🇺🇸'
            - '🇺🇾'
            - '🇺🇿'
            - '🇻🇺'
            - '🇻🇦'
            - '🇻🇪'
            - '🇻🇳'
            - '🇼🇫'
            - '🇪🇭'
            - '🇾🇪'
            - '🇿🇲'
            - '🇿🇼🫠'
            - '🫢'
            - '🫣'
            - '🫡'
            - '🫥'
            - '🫤'
            - '🥹'
            - '🫱'
            - '🫱🏻'
            - '🫱🏼'
            - '🫱🏽'
            - '🫱🏾'
            - '🫱🏿'
            - '🫲'
            - '🫲🏻'
            - '🫲🏼'
            - '🫲🏽'
            - '🫲🏾'
            - '🫲🏿'
            - '🫳'
            - '🫳🏻'
            - '🫳🏼'
            - '🫳🏽'
            - '🫳🏾'
            - '🫳🏿'
            - '🫴'
            - '🫴🏻'
            - '🫴🏼'
            - '🫴🏽'
            - '🫴🏾'
            - '🫴🏿'
            - '🫰'
            - '🫰🏻'
            - '🫰🏼'
            - '🫰🏽'
            - '🫰🏾'
            - '🫰🏿'
            - '🫵'
            - '🫵🏻'
            - '🫵🏼'
            - '🫵🏽'
            - '🫵🏾'
            - '🫵🏿'
            - '🫶'
            - '🫶🏻'
            - '🫶🏼'
            - '🫶🏽'
            - '🫶🏾'
            - '🫶🏿'
            - '🤝🏻'
            - '🤝🏼'
            - '🤝🏽'
            - '🤝🏾'
            - '🤝🏿'
            - '🫱🏻‍🫲🏼'
            - '🫱🏻‍🫲🏽'
            - '🫱🏻‍🫲🏾'
            - '🫱🏻‍🫲🏿'
            - '🫱🏼‍🫲🏻'
            - '🫱🏼‍🫲🏽'
            - '🫱🏼‍🫲🏾'
            - '🫱🏼‍🫲🏿'
            - '🫱🏽‍🫲🏻'
            - '🫱🏽‍🫲🏼'
            - '🫱🏽‍🫲🏾'
            - '🫱🏽‍🫲🏿'
            - '🫱🏾‍🫲🏻'
            - '🫱🏾‍🫲🏼'
            - '🫱🏾‍🫲🏽'
            - '🫱🏾‍🫲🏿'
            - '🫱🏿‍🫲🏻'
            - '🫱🏿‍🫲🏼'
            - '🫱🏿‍🫲🏽'
            - '🫱🏿‍🫲🏾'
            - '🫦'
            - '🫅'
            - '🫅🏻'
            - '🫅🏼'
            - '🫅🏽'
            - '🫅🏾'
            - '🫅🏿'
            - '🫃'
            - '🫃🏻'
            - '🫃🏼'
            - '🫃🏽'
            - '🫃🏾'
            - '🫃🏿'
            - '🫄'
            - '🫄🏻'
            - '🫄🏼'
            - '🫄🏽'
            - '🫄🏾'
            - '🫄🏿'
            - '🧌'
            - '🪸'
            - '🪷'
            - '🪹'
            - '🪺'
            - '🫘'
            - '🫗'
            - '🫙'
            - '🛝'
            - '🛞'
            - '🛟'
            - '🪬'
            - '🪩'
            - '🪫'
            - '🩼'
            - '🩻'
            - '🫧'
            - '🪪'
            - '🟰'
            - '😮‍💨'
            - '😵‍💫'
            - '😶‍🌫️'
            - '❤️‍🔥'
            - '❤️‍🩹'
            - '🧔‍♀️'
            - '🧔🏻‍♀️'
            - '🧔🏼‍♀️'
            - '🧔🏽‍♀️'
            - '🧔🏾‍♀️'
            - '🧔🏿‍♀️'
            - '🧔‍♂️'
            - '🧔🏻‍♂️'
            - '🧔🏼‍♂️'
            - '🧔🏽‍♂️'
            - '🧔🏾‍♂️'
            - '🧔🏿‍♂️'
            - '💑🏻'
            - '💑🏼'
            - '💑🏽'
            - '💑🏾'
            - '💑🏿'
            - '💏🏻'
            - '💏🏼'
            - '💏🏽'
            - '💏🏾'
            - '💏🏿'
            - '👨🏻‍❤️‍👨🏻'
            - '👨🏻‍❤️‍👨🏼'
            - '👨🏻‍❤️‍👨🏽'
            - '👨🏻‍❤️‍👨🏾'
            - '👨🏻‍❤️‍👨🏿'
            - '👨🏼‍❤️‍👨🏻'
            - '👨🏼‍❤️‍👨🏼'
            - '👨🏼‍❤️‍👨🏽'
            - '👨🏼‍❤️‍👨🏾'
            - '👨🏼‍❤️‍👨🏿'
            - '👨🏽‍❤️‍👨🏻'
            - '👨🏽‍❤️‍👨🏼'
            - '👨🏽‍❤️‍👨🏽'
            - '👨🏽‍❤️‍👨🏾'
            - '👨🏽‍❤️‍👨🏿'
            - '👨🏾‍❤️‍👨🏻'
            - '👨🏾‍❤️‍👨🏼'
            - '👨🏾‍❤️‍👨🏽'
            - '👨🏾‍❤️‍👨🏾'
            - '👨🏾‍❤️‍👨🏿'
            - '👨🏿‍❤️‍👨🏻'
            - '👨🏿‍❤️‍👨🏼'
            - '👨🏿‍❤️‍👨🏽'
            - '👨🏿‍❤️‍👨🏾'
            - '👨🏿‍❤️‍👨🏿'
            - '👩🏻‍❤️‍👨🏻'
            - '👩🏻‍❤️‍👨🏼'
            - '👩🏻‍❤️‍👨🏽'
            - '👩🏻‍❤️‍👨🏾'
            - '👩🏻‍❤️‍👨🏿'
            - '👩🏻‍❤️‍👩🏻'
            - '👩🏻‍❤️‍👩🏼'
            - '👩🏻‍❤️‍👩🏽'
            - '👩🏻‍❤️‍👩🏾'
            - '👩🏻‍❤️‍👩🏿'
            - '👩🏼‍❤️‍👨🏻'
            - '👩🏼‍❤️‍👨🏼'
            - '👩🏼‍❤️‍👨🏽'
            - '👩🏼‍❤️‍👨🏾'
            - '👩🏼‍❤️‍👨🏿'
            - '👩🏼‍❤️‍👩🏻'
            - '👩🏼‍❤️‍👩🏼'
            - '👩🏼‍❤️‍👩🏽'
            - '👩🏼‍❤️‍👩🏾'
            - '👩🏼‍❤️‍👩🏿'
            - '👩🏽‍❤️‍👨🏻'
            - '👩🏽‍❤️‍👨🏼'
            - '👩🏽‍❤️‍👨🏽'
            - '👩🏽‍❤️‍👨🏾'
            - '👩🏽‍❤️‍👨🏿'
            - '👩🏽‍❤️‍👩🏻'
            - '👩🏽‍❤️‍👩🏼'
            - '👩🏽‍❤️‍👩🏽'
            - '👩🏽‍❤️‍👩🏾'
            - '👩🏽‍❤️‍👩🏿'
            - '👩🏾‍❤️‍👨🏻'
            - '👩🏾‍❤️‍👨🏼'
            - '👩🏾‍❤️‍👨🏽'
            - '👩🏾‍❤️‍👨🏾'
            - '👩🏾‍❤️‍👨🏿'
            - '👩🏾‍❤️‍👩🏻'
            - '👩🏾‍❤️‍👩🏼'
            - '👩🏾‍❤️‍👩🏽'
            - '👩🏾‍❤️‍👩🏾'
            - '👩🏾‍❤️‍👩🏿'
            - '👩🏿‍❤️‍👨🏻'
            - '👩🏿‍❤️‍👨🏼'
            - '👩🏿‍❤️‍👨🏽'
            - '👩🏿‍❤️‍👨🏾'
            - '👩🏿‍❤️‍👨🏿'
            - '👩🏿‍❤️‍👩🏻'
            - '👩🏿‍❤️‍👩🏼'
            - '👩🏿‍❤️‍👩🏽'
            - '👩🏿‍❤️‍👩🏾'
            - '👩🏿‍❤️‍👩🏿'
            - '🧑🏻‍❤️‍🧑🏼'
            - '🧑🏻‍❤️‍🧑🏽'
            - '🧑🏻‍❤️‍🧑🏾'
            - '🧑🏻‍❤️‍🧑🏿'
            - '🧑🏼‍❤️‍🧑🏻'
            - '🧑🏼‍❤️‍🧑🏽'
            - '🧑🏼‍❤️‍🧑🏾'
            - '🧑🏼‍❤️‍🧑🏿'
            - '🧑🏽‍❤️‍🧑🏻'
            - '🧑🏽‍❤️‍🧑🏼'
            - '🧑🏽‍❤️‍🧑🏾'
            - '🧑🏽‍❤️‍🧑🏿'
            - '🧑🏾‍❤️‍🧑🏻'
            - '🧑🏾‍❤️‍🧑🏼'
            - '🧑🏾‍❤️‍🧑🏽'
            - '🧑🏾‍❤️‍🧑🏿'
            - '🧑🏿‍❤️‍🧑🏻'
            - '🧑🏿‍❤️‍🧑🏼'
            - '🧑🏿‍❤️‍🧑🏽'
            - '🧑🏿‍❤️‍🧑🏾'
            - '👨🏻‍❤️‍💋‍👨🏻'
            - '👨🏻‍❤️‍💋‍👨🏼'
            - '👨🏻‍❤️‍💋‍👨🏽'
            - '👨🏻‍❤️‍💋‍👨🏾'
            - '👨🏻‍❤️‍💋‍👨🏿'
            - '👨🏼‍❤️‍💋‍👨🏻'
            - '👨🏼‍❤️‍💋‍👨🏼'
            - '👨🏼‍❤️‍💋‍👨🏽'
            - '👨🏼‍❤️‍💋‍👨🏾'
            - '👨🏼‍❤️‍💋‍👨🏿'
            - '👨🏽‍❤️‍💋‍👨🏻'
            - '👨🏽‍❤️‍💋‍👨🏼'
            - '👨🏽‍❤️‍💋‍👨🏽'
            - '👨🏽‍❤️‍💋‍👨🏾'
            - '👨🏽‍❤️‍💋‍👨🏿'
            - '👨🏾‍❤️‍💋‍👨🏻'
            - '👨🏾‍❤️‍💋‍👨🏼'
            - '👨🏾‍❤️‍💋‍👨🏽'
            - '👨🏾‍❤️‍💋‍👨🏾'
            - '👨🏾‍❤️‍💋‍👨🏿'
            - '👨🏿‍❤️‍💋‍👨🏻'
            - '👨🏿‍❤️‍💋‍👨🏼'
            - '👨🏿‍❤️‍💋‍👨🏽'
            - '👨🏿‍❤️‍💋‍👨🏾'
            - '👨🏿‍❤️‍💋‍👨🏿'
            - '👩🏻‍❤️‍💋‍👨🏻'
            - '👩🏻‍❤️‍💋‍👨🏼'
            - '👩🏻‍❤️‍💋‍👨🏽'
            - '👩🏻‍❤️‍💋‍👨🏾'
            - '👩🏻‍❤️‍💋‍👨🏿'
            - '👩🏻‍❤️‍💋‍👩🏻'
            - '👩🏻‍❤️‍💋‍👩🏼'
            - '👩🏻‍❤️‍💋‍👩🏽'
            - '👩🏻‍❤️‍💋‍👩🏾'
            - '👩🏻‍❤️‍💋‍👩🏿'
            - '👩🏼‍❤️‍💋‍👨🏻'
            - '👩🏼‍❤️‍💋‍👨🏼'
            - '👩🏼‍❤️‍💋‍👨🏽'
            - '👩🏼‍❤️‍💋‍👨🏾'
            - '👩🏼‍❤️‍💋‍👨🏿'
            - '👩🏼‍❤️‍💋‍👩🏻'
            - '👩🏼‍❤️‍💋‍👩🏼'
            - '👩🏼‍❤️‍💋‍👩🏽'
            - '👩🏼‍❤️‍💋‍👩🏾'
            - '👩🏼‍❤️‍💋‍👩🏿'
            - '👩🏽‍❤️‍💋‍👨🏻'
            - '👩🏽‍❤️‍💋‍👨🏼'
            - '👩🏽‍❤️‍💋‍👨🏽'
            - '👩🏽‍❤️‍💋‍👨🏾'
            - '👩🏽‍❤️‍💋‍👨🏿'
            - '👩🏽‍❤️‍💋‍👩🏻'
            - '👩🏽‍❤️‍💋‍👩🏼'
            - '👩🏽‍❤️‍💋‍👩🏽'
            - '👩🏽‍❤️‍💋‍👩🏾'
            - '👩🏽‍❤️‍💋‍👩🏿'
            - '👩🏾‍❤️‍💋‍👨🏻'
            - '👩🏾‍❤️‍💋‍👨🏼'
            - '👩🏾‍❤️‍💋‍👨🏽'
            - '👩🏾‍❤️‍💋‍👨🏾'
            - '👩🏾‍❤️‍💋‍👨🏿'
            - '👩🏾‍❤️‍💋‍👩🏻'
            - '👩🏾‍❤️‍💋‍👩🏼'
            - '👩🏾‍❤️‍💋‍👩🏽'
            - '👩🏾‍❤️‍💋‍👩🏾'
            - '👩🏾‍❤️‍💋‍👩🏿'
            - '👩🏿‍❤️‍💋‍👨🏻'
            - '👩🏿‍❤️‍💋‍👨🏼'
            - '👩🏿‍❤️‍💋‍👨🏽'
            - '👩🏿‍❤️‍💋‍👨🏾'
            - '👩🏿‍❤️‍💋‍👨🏿'
            - '👩🏿‍❤️‍💋‍👩🏻'
            - '👩🏿‍❤️‍💋‍👩🏼'
            - '👩🏿‍❤️‍💋‍👩🏽'
            - '👩🏿‍❤️‍💋‍👩🏾'
            - '👩🏿‍❤️‍💋‍👩🏿'
            - '🧑🏻‍❤️‍💋‍🧑🏼'
            - '🧑🏻‍❤️‍💋‍🧑🏽'
            - '🧑🏻‍❤️‍💋‍🧑🏾'
            - '🧑🏻‍❤️‍💋‍🧑🏿'
            - '🧑🏼‍❤️‍💋‍🧑🏻'
            - '🧑🏼‍❤️‍💋‍🧑🏽'
            - '🧑🏼‍❤️‍💋‍🧑🏾'
            - '🧑🏼‍❤️‍💋‍🧑🏿'
            - '🧑🏽‍❤️‍💋‍🧑🏻'
            - '🧑🏽‍❤️‍💋‍🧑🏼'
            - '🧑🏽‍❤️‍💋‍🧑🏾'
            - '🧑🏽‍❤️‍💋‍🧑🏿'
            - '🧑🏾‍❤️‍💋‍🧑🏻'
            - '🧑🏾‍❤️‍💋‍🧑🏼'
            - '🧑🏾‍❤️‍💋‍🧑🏽'
            - '🧑🏾‍❤️‍💋‍🧑🏿'
            - '🧑🏿‍❤️‍💋‍🧑🏻'
            - '🧑🏿‍❤️‍💋‍🧑🏼'
            - '🧑🏿‍❤️‍💋‍🧑🏽'
            - '🧑🏿‍❤️‍💋‍🧑🏾'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains:
        - '🔸'
        - '🔹'
        - '🔶'
        - '🔷'
        - '🔳'
        - '🔲'
        - '▪️'
        - '▫️'
        - '◾️'
        - '◽️'
        - '◼️'
        - '◻️'
        - '🟥'
        - '🟧'
        - '🟨'
        - '🟩'
        - '🟦'
        - '🟪'
        - '⬛️'
        - '⬜️'
        - '🟫'
        - '🔈'
        - '🔇'
        - '🔉'
        - '🔊'
        - '🔔'
        - '🔕'
        - '📣'
        - '📢'
        - '👁‍🗨'
        - '💬'
        - '💭'
        - '🗯'
        - '♠️'
        - '♣️'
        - '♥️'
        - '♦️'
        - '🃏'
        - '🎴'
        - '🀄️'
        - '🕐'
        - '🕑'
        - '🕒'
        - '🕓'
        - '🕔'
        - '🕕'
        - '🕖'
        - '🕗'
        - '🕘'
        - '🕙'
        - '🕚'
        - '🕛'
        - '🕜'
        - '🕝'
        - '🕞'
        - '🕟'
        - '🕠'
        - '🕡'
        - '🕢'
        - '🕣'
        - '🕤'
        - '🕥'
        - '🕦'
        - '🕧✢'
        - '✣'
        - '✤'
        - '✥'
        - '✦'
        - '✧'
        - '★'
        - '☆'
        - '✯'
        - '✡︎'
        - '✩'
        - '✪'
        - '✫'
        - '✬'
        - '✭'
        - '✮'
        - '✶'
        - '✷'
        - '✵'
        - '✸'
        - '✹'
        - '→'
        - '⇒'
        - '⟹'
        - '⇨'
        - '⇾'
        - '➾'
        - '⇢'
        - '☛'
        - '☞'
        - '➔'
        - '➜'
        - '➙'
        - '➛'
        - '➝'
        - '➞'
        - '♠︎'
        - '♣︎'
        - '♥︎'
        - '♦︎'
        - '♤'
        - '♧'
        - '♡'
        - '♢'
        - '♚'
        - '♛'
        - '♜'
        - '♝'
        - '♞'
        - '♟'
        - '♔'
        - '♕'
        - '♖'
        - '♗'
        - '♘'
        - '♙'
        - '⚀'
        - '⚁'
        - '⚂'
        - '⚃'
        - '⚄'
        - '⚅'
        - '🂠'
        - '⚈'
        - '⚉'
        - '⚆'
        - '⚇'
        - '𓀀'
        - '𓀁'
        - '𓀂'
        - '𓀃'
        - '𓀄'
        - '𓀅'
        - '𓀆'
        - '𓀇'
        - '𓀈'
        - '𓀉'
        - '𓀊'
        - '𓀋'
        - '𓀌'
        - '𓀍'
        - '𓀎'
        - '𓀏'
        - '𓀐'
        - '𓀑'
        - '𓀒'
        - '𓀓'
        - '𓀔'
        - '𓀕'
        - '𓀖'
        - '𓀗'
        - '𓀘'
        - '𓀙'
        - '𓀚'
        - '𓀛'
        - '𓀜'
        - '𓀝🏳️'
        - '🏴'
        - '🏁'
        - '🚩'
        - '🏳️‍🌈'
        - '🏳️‍⚧️'
        - '🏴‍☠️'
        - '🇦🇫'
        - '🇦🇽'
        - '🇦🇱'
        - '🇩🇿'
        - '🇦🇸'
        - '🇦🇩'
        - '🇦🇴'
        - '🇦🇮'
        - '🇦🇶'
        - '🇦🇬'
        - '🇦🇷'
        - '🇦🇲'
        - '🇦🇼'
        - '🇦🇺'
        - '🇦🇹'
        - '🇦🇿'
        - '🇧🇸'
        - '🇧🇭'
        - '🇧🇩'
        - '🇧🇧'
        - '🇧🇾'
        - '🇧🇪'
        - '🇧🇿'
        - '🇧🇯'
        - '🇧🇲'
        - '🇧🇹'
        - '🇧🇴'
        - '🇧🇦'
        - '🇧🇼'
        - '🇧🇷'
        - '🇮🇴'
        - '🇻🇬'
        - '🇧🇳'
        - '🇧🇬'
        - '🇧🇫'
        - '🇧🇮'
        - '🇰🇭'
        - '🇨🇲'
        - '🇨🇦'
        - '🇮🇨'
        - '🇨🇻'
        - '🇧🇶'
        - '🇰🇾'
        - '🇨🇫'
        - '🇹🇩'
        - '🇨🇱'
        - '🇨🇳'
        - '🇨🇽'
        - '🇨🇨'
        - '🇨🇴'
        - '🇰🇲'
        - '🇨🇬'
        - '🇨🇩'
        - '🇨🇰'
        - '🇨🇷'
        - '🇨🇮'
        - '🇭🇷'
        - '🇨🇺'
        - '🇨🇼'
        - '🇨🇾'
        - '🇨🇿'
        - '🇩🇰'
        - '🇩🇯'
        - '🇩🇲'
        - '🇩🇴'
        - '🇪🇨'
        - '🇪🇬'
        - '🇸🇻'
        - '🇬🇶'
        - '🇪🇷'
        - '🇪🇪'
        - '🇪🇹'
        - '🇪🇺'
        - '🇫🇰'
        - '🇫🇴'
        - '🇫🇯'
        - '🇫🇮'
        - '🇫🇷'
        - '🇬🇫'
        - '🇵🇫'
        - '🇹🇫'
        - '🇬🇦'
        - '🇬🇲'
        - '🇬🇪'
        - '🇩🇪'
        - '🇬🇭'
        - '🇬🇮'
        - '🇬🇷'
        - '🇬🇱'
        - '🇬🇩'
        - '🇬🇵'
        - '🇬🇺'
        - '🇬🇹'
        - '🇬🇬'
        - '🇬🇳'
        - '🇬🇼'
        - '🇬🇾'
        - '🇭🇹'
        - '🇭🇳'
        - '🇭🇰'
        - '🇭🇺'
        - '🇮🇸'
        - '🇮🇳'
        - '🇮🇩'
        - '🇮🇷'
        - '🇮🇶'
        - '🇮🇪'
        - '🇮🇲'
        - '🇮🇱'
        - '🇮🇹'
        - '🇯🇲'
        - '🇯🇵'
        - '🎌'
        - '🇯🇪'
        - '🇯🇴'
        - '🇰🇿'
        - '🇰🇪'
        - '🇰🇮'
        - '🇽🇰'
        - '🇰🇼'
        - '🇰🇬'
        - '🇱🇦'
        - '🇱🇻'
        - '🇱🇧'
        - '🇱🇸'
        - '🇱🇷'
        - '🇱🇾'
        - '🇱🇮'
        - '🇱🇹'
        - '🇱🇺'
        - '🇲🇴'
        - '🇲🇰'
        - '🇲🇬'
        - '🇲🇼'
        - '🇲🇾'
        - '🇲🇻'
        - '🇲🇱'
        - '🇲🇹'
        - '🇲🇭'
        - '🇲🇶'
        - '🇲🇷'
        - '🇲🇺'
        - '🇾🇹'
        - '🇲🇽'
        - '🇫🇲'
        - '🇲🇩'
        - '🇲🇨'
        - '🇲🇳'
        - '🇲🇪'
        - '🇲🇸'
        - '🇲🇦'
        - '🇲🇿'
        - '🇲🇲'
        - '🇳🇦'
        - '🇳🇷'
        - '🇳🇵'
        - '🇳🇱'
        - '🇳🇨'
        - '🇳🇿'
        - '🇳🇮'
        - '🇳🇪'
        - '🇳🇬'
        - '🇳🇺'
        - '🇳🇫'
        - '🇰🇵'
        - '🇲🇵'
        - '🇳🇴'
        - '🇴🇲'
        - '🇵🇰'
        - '🇵🇼'
        - '🇵🇸'
        - '🇵🇦'
        - '🇵🇬'
        - '🇵🇾'
        - '🇵🇪'
        - '🇵🇭'
        - '🇵🇳'
        - '🇵🇱'
        - '🇵🇹'
        - '🇵🇷'
        - '🇶🇦'
        - '🇷🇪'
        - '🇷🇴'
        - '🇷🇺'
        - '🇷🇼'
        - '🇼🇸'
        - '🇸🇲'
        - '🇸🇦'
        - '🇸🇳'
        - '🇷🇸'
        - '🇸🇨'
        - '🇸🇱'
        - '🇸🇬'
        - '🇸🇽'
        - '🇸🇰'
        - '🇸🇮'
        - '🇬🇸'
        - '🇸🇧'
        - '🇸🇴'
        - '🇿🇦'
        - '🇰🇷'
        - '🇸🇸'
        - '🇪🇸'
        - '🇱🇰'
        - '🇧🇱'
        - '🇸🇭'
        - '🇰🇳'
        - '🇱🇨'
        - '🇵🇲'
        - '🇻🇨'
        - '🇸🇩'
        - '🇸🇷'
        - '🇸🇿'
        - '🇸🇪'
        - '🇨🇭'
        - '🇸🇾'
        - '🇹🇼'
        - '🇹🇯'
        - '🇹🇿'
        - '🇹🇭'
        - '🇹🇱'
        - '🇹🇬'
        - '🇹🇰'
        - '🇹🇴'
        - '🇹🇹'
        - '🇹🇳'
        - '🇹🇷'
        - '🇹🇲'
        - '🇹🇨'
        - '🇹🇻'
        - '🇻🇮'
        - '🇺🇬'
        - '🇺🇦'
        - '🇦🇪'
        - '🇬🇧'
        - '🏴󠁧󠁢󠁥󠁮󠁧󠁿'
        - '🏴󠁧󠁢󠁳󠁣󠁴󠁿'
        - '🏴󠁧󠁢󠁷󠁬󠁳󠁿'
        - '🇺🇳'
        - '🇺🇸'
        - '🇺🇾'
        - '🇺🇿'
        - '🇻🇺'
        - '🇻🇦'
        - '🇻🇪'
        - '🇻🇳'
        - '🇼🇫'
        - '🇪🇭'
        - '🇾🇪'
        - '🇿🇲'
        - '🇿🇼🫠'
        - '🫢'
        - '🫣'
        - '🫡'
        - '🫥'
        - '🫤'
        - '🥹'
        - '🫱'
        - '🫱🏻'
        - '🫱🏼'
        - '🫱🏽'
        - '🫱🏾'
        - '🫱🏿'
        - '🫲'
        - '🫲🏻'
        - '🫲🏼'
        - '🫲🏽'
        - '🫲🏾'
        - '🫲🏿'
        - '🫳'
        - '🫳🏻'
        - '🫳🏼'
        - '🫳🏽'
        - '🫳🏾'
        - '🫳🏿'
        - '🫴'
        - '🫴🏻'
        - '🫴🏼'
        - '🫴🏽'
        - '🫴🏾'
        - '🫴🏿'
        - '🫰'
        - '🫰🏻'
        - '🫰🏼'
        - '🫰🏽'
        - '🫰🏾'
        - '🫰🏿'
        - '🫵'
        - '🫵🏻'
        - '🫵🏼'
        - '🫵🏽'
        - '🫵🏾'
        - '🫵🏿'
        - '🫶'
        - '🫶🏻'
        - '🫶🏼'
        - '🫶🏽'
        - '🫶🏾'
        - '🫶🏿'
        - '🤝🏻'
        - '🤝🏼'
        - '🤝🏽'
        - '🤝🏾'
        - '🤝🏿'
        - '🫱🏻‍🫲🏼'
        - '🫱🏻‍🫲🏽'
        - '🫱🏻‍🫲🏾'
        - '🫱🏻‍🫲🏿'
        - '🫱🏼‍🫲🏻'
        - '🫱🏼‍🫲🏽'
        - '🫱🏼‍🫲🏾'
        - '🫱🏼‍🫲🏿'
        - '🫱🏽‍🫲🏻'
        - '🫱🏽‍🫲🏼'
        - '🫱🏽‍🫲🏾'
        - '🫱🏽‍🫲🏿'
        - '🫱🏾‍🫲🏻'
        - '🫱🏾‍🫲🏼'
        - '🫱🏾‍🫲🏽'
        - '🫱🏾‍🫲🏿'
        - '🫱🏿‍🫲🏻'
        - '🫱🏿‍🫲🏼'
        - '🫱🏿‍🫲🏽'
        - '🫱🏿‍🫲🏾'
        - '🫦'
        - '🫅'
        - '🫅🏻'
        - '🫅🏼'
        - '🫅🏽'
        - '🫅🏾'
        - '🫅🏿'
        - '🫃'
        - '🫃🏻'
        - '🫃🏼'
        - '🫃🏽'
        - '🫃🏾'
        - '🫃🏿'
        - '🫄'
        - '🫄🏻'
        - '🫄🏼'
        - '🫄🏽'
        - '🫄🏾'
        - '🫄🏿'
        - '🧌'
        - '🪸'
        - '🪷'
        - '🪹'
        - '🪺'
        - '🫘'
        - '🫗'
        - '🫙'
        - '🛝'
        - '🛞'
        - '🛟'
        - '🪬'
        - '🪩'
        - '🪫'
        - '🩼'
        - '🩻'
        - '🫧'
        - '🪪'
        - '🟰'
        - '😮‍💨'
        - '😵‍💫'
        - '😶‍🌫️'
        - '❤️‍🔥'
        - '❤️‍🩹'
        - '🧔‍♀️'
        - '🧔🏻‍♀️'
        - '🧔🏼‍♀️'
        - '🧔🏽‍♀️'
        - '🧔🏾‍♀️'
        - '🧔🏿‍♀️'
        - '🧔‍♂️'
        - '🧔🏻‍♂️'
        - '🧔🏼‍♂️'
        - '🧔🏽‍♂️'
        - '🧔🏾‍♂️'
        - '🧔🏿‍♂️'
        - '💑🏻'
        - '💑🏼'
        - '💑🏽'
        - '💑🏾'
        - '💑🏿'
        - '💏🏻'
        - '💏🏼'
        - '💏🏽'
        - '💏🏾'
        - '💏🏿'
        - '👨🏻‍❤️‍👨🏻'
        - '👨🏻‍❤️‍👨🏼'
        - '👨🏻‍❤️‍👨🏽'
        - '👨🏻‍❤️‍👨🏾'
        - '👨🏻‍❤️‍👨🏿'
        - '👨🏼‍❤️‍👨🏻'
        - '👨🏼‍❤️‍👨🏼'
        - '👨🏼‍❤️‍👨🏽'
        - '👨🏼‍❤️‍👨🏾'
        - '👨🏼‍❤️‍👨🏿'
        - '👨🏽‍❤️‍👨🏻'
        - '👨🏽‍❤️‍👨🏼'
        - '👨🏽‍❤️‍👨🏽'
        - '👨🏽‍❤️‍👨🏾'
        - '👨🏽‍❤️‍👨🏿'
        - '👨🏾‍❤️‍👨🏻'
        - '👨🏾‍❤️‍👨🏼'
        - '👨🏾‍❤️‍👨🏽'
        - '👨🏾‍❤️‍👨🏾'
        - '👨🏾‍❤️‍👨🏿'
        - '👨🏿‍❤️‍👨🏻'
        - '👨🏿‍❤️‍👨🏼'
        - '👨🏿‍❤️‍👨🏽'
        - '👨🏿‍❤️‍👨🏾'
        - '👨🏿‍❤️‍👨🏿'
        - '👩🏻‍❤️‍👨🏻'
        - '👩🏻‍❤️‍👨🏼'
        - '👩🏻‍❤️‍👨🏽'
        - '👩🏻‍❤️‍👨🏾'
        - '👩🏻‍❤️‍👨🏿'
        - '👩🏻‍❤️‍👩🏻'
        - '👩🏻‍❤️‍👩🏼'
        - '👩🏻‍❤️‍👩🏽'
        - '👩🏻‍❤️‍👩🏾'
        - '👩🏻‍❤️‍👩🏿'
        - '👩🏼‍❤️‍👨🏻'
        - '👩🏼‍❤️‍👨🏼'
        - '👩🏼‍❤️‍👨🏽'
        - '👩🏼‍❤️‍👨🏾'
        - '👩🏼‍❤️‍👨🏿'
        - '👩🏼‍❤️‍👩🏻'
        - '👩🏼‍❤️‍👩🏼'
        - '👩🏼‍❤️‍👩🏽'
        - '👩🏼‍❤️‍👩🏾'
        - '👩🏼‍❤️‍👩🏿'
        - '👩🏽‍❤️‍👨🏻'
        - '👩🏽‍❤️‍👨🏼'
        - '👩🏽‍❤️‍👨🏽'
        - '👩🏽‍❤️‍👨🏾'
        - '👩🏽‍❤️‍👨🏿'
        - '👩🏽‍❤️‍👩🏻'
        - '👩🏽‍❤️‍👩🏼'
        - '👩🏽‍❤️‍👩🏽'
        - '👩🏽‍❤️‍👩🏾'
        - '👩🏽‍❤️‍👩🏿'
        - '👩🏾‍❤️‍👨🏻'
        - '👩🏾‍❤️‍👨🏼'
        - '👩🏾‍❤️‍👨🏽'
        - '👩🏾‍❤️‍👨🏾'
        - '👩🏾‍❤️‍👨🏿'
        - '👩🏾‍❤️‍👩🏻'
        - '👩🏾‍❤️‍👩🏼'
        - '👩🏾‍❤️‍👩🏽'
        - '👩🏾‍❤️‍👩🏾'
        - '👩🏾‍❤️‍👩🏿'
        - '👩🏿‍❤️‍👨🏻'
        - '👩🏿‍❤️‍👨🏼'
        - '👩🏿‍❤️‍👨🏽'
        - '👩🏿‍❤️‍👨🏾'
        - '👩🏿‍❤️‍👨🏿'
        - '👩🏿‍❤️‍👩🏻'
        - '👩🏿‍❤️‍👩🏼'
        - '👩🏿‍❤️‍👩🏽'
        - '👩🏿‍❤️‍👩🏾'
        - '👩🏿‍❤️‍👩🏿'
        - '🧑🏻‍❤️‍🧑🏼'
        - '🧑🏻‍❤️‍🧑🏽'
        - '🧑🏻‍❤️‍🧑🏾'
        - '🧑🏻‍❤️‍🧑🏿'
        - '🧑🏼‍❤️‍🧑🏻'
        - '🧑🏼‍❤️‍🧑🏽'
        - '🧑🏼‍❤️‍🧑🏾'
        - '🧑🏼‍❤️‍🧑🏿'
        - '🧑🏽‍❤️‍🧑🏻'
        - '🧑🏽‍❤️‍🧑🏼'
        - '🧑🏽‍❤️‍🧑🏾'
        - '🧑🏽‍❤️‍🧑🏿'
        - '🧑🏾‍❤️‍🧑🏻'
        - '🧑🏾‍❤️‍🧑🏼'
        - '🧑🏾‍❤️‍🧑🏽'
        - '🧑🏾‍❤️‍🧑🏿'
        - '🧑🏿‍❤️‍🧑🏻'
        - '🧑🏿‍❤️‍🧑🏼'
        - '🧑🏿‍❤️‍🧑🏽'
        - '🧑🏿‍❤️‍🧑🏾'
        - '👨🏻‍❤️‍💋‍👨🏻'
        - '👨🏻‍❤️‍💋‍👨🏼'
        - '👨🏻‍❤️‍💋‍👨🏽'
        - '👨🏻‍❤️‍💋‍👨🏾'
        - '👨🏻‍❤️‍💋‍👨🏿'
        - '👨🏼‍❤️‍💋‍👨🏻'
        - '👨🏼‍❤️‍💋‍👨🏼'
        - '👨🏼‍❤️‍💋‍👨🏽'
        - '👨🏼‍❤️‍💋‍👨🏾'
        - '👨🏼‍❤️‍💋‍👨🏿'
        - '👨🏽‍❤️‍💋‍👨🏻'
        - '👨🏽‍❤️‍💋‍👨🏼'
        - '👨🏽‍❤️‍💋‍👨🏽'
        - '👨🏽‍❤️‍💋‍👨🏾'
        - '👨🏽‍❤️‍💋‍👨🏿'
        - '👨🏾‍❤️‍💋‍👨🏻'
        - '👨🏾‍❤️‍💋‍👨🏼'
        - '👨🏾‍❤️‍💋‍👨🏽'
        - '👨🏾‍❤️‍💋‍👨🏾'
        - '👨🏾‍❤️‍💋‍👨🏿'
        - '👨🏿‍❤️‍💋‍👨🏻'
        - '👨🏿‍❤️‍💋‍👨🏼'
        - '👨🏿‍❤️‍💋‍👨🏽'
        - '👨🏿‍❤️‍💋‍👨🏾'
        - '👨🏿‍❤️‍💋‍👨🏿'
        - '👩🏻‍❤️‍💋‍👨🏻'
        - '👩🏻‍❤️‍💋‍👨🏼'
        - '👩🏻‍❤️‍💋‍👨🏽'
        - '👩🏻‍❤️‍💋‍👨🏾'
        - '👩🏻‍❤️‍💋‍👨🏿'
        - '👩🏻‍❤️‍💋‍👩🏻'
        - '👩🏻‍❤️‍💋‍👩🏼'
        - '👩🏻‍❤️‍💋‍👩🏽'
        - '👩🏻‍❤️‍💋‍👩🏾'
        - '👩🏻‍❤️‍💋‍👩🏿'
        - '👩🏼‍❤️‍💋‍👨🏻'
        - '👩🏼‍❤️‍💋‍👨🏼'
        - '👩🏼‍❤️‍💋‍👨🏽'
        - '👩🏼‍❤️‍💋‍👨🏾'
        - '👩🏼‍❤️‍💋‍👨🏿'
        - '👩🏼‍❤️‍💋‍👩🏻'
        - '👩🏼‍❤️‍💋‍👩🏼'
        - '👩🏼‍❤️‍💋‍👩🏽'
        - '👩🏼‍❤️‍💋‍👩🏾'
        - '👩🏼‍❤️‍💋‍👩🏿'
        - '👩🏽‍❤️‍💋‍👨🏻'
        - '👩🏽‍❤️‍💋‍👨🏼'
        - '👩🏽‍❤️‍💋‍👨🏽'
        - '👩🏽‍❤️‍💋‍👨🏾'
        - '👩🏽‍❤️‍💋‍👨🏿'
        - '👩🏽‍❤️‍💋‍👩🏻'
        - '👩🏽‍❤️‍💋‍👩🏼'
        - '👩🏽‍❤️‍💋‍👩🏽'
        - '👩🏽‍❤️‍💋‍👩🏾'
        - '👩🏽‍❤️‍💋‍👩🏿'
        - '👩🏾‍❤️‍💋‍👨🏻'
        - '👩🏾‍❤️‍💋‍👨🏼'
        - '👩🏾‍❤️‍💋‍👨🏽'
        - '👩🏾‍❤️‍💋‍👨🏾'
        - '👩🏾‍❤️‍💋‍👨🏿'
        - '👩🏾‍❤️‍💋‍👩🏻'
        - '👩🏾‍❤️‍💋‍👩🏼'
        - '👩🏾‍❤️‍💋‍👩🏽'
        - '👩🏾‍❤️‍💋‍👩🏾'
        - '👩🏾‍❤️‍💋‍👩🏿'
        - '👩🏿‍❤️‍💋‍👨🏻'
        - '👩🏿‍❤️‍💋‍👨🏼'
        - '👩🏿‍❤️‍💋‍👨🏽'
        - '👩🏿‍❤️‍💋‍👨🏾'
        - '👩🏿‍❤️‍💋‍👨🏿'
        - '👩🏿‍❤️‍💋‍👩🏻'
        - '👩🏿‍❤️‍💋‍👩🏼'
        - '👩🏿‍❤️‍💋‍👩🏽'
        - '👩🏿‍❤️‍💋‍👩🏾'
        - '👩🏿‍❤️‍💋‍👩🏿'
        - '🧑🏻‍❤️‍💋‍🧑🏼'
        - '🧑🏻‍❤️‍💋‍🧑🏽'
        - '🧑🏻‍❤️‍💋‍🧑🏾'
        - '🧑🏻‍❤️‍💋‍🧑🏿'
        - '🧑🏼‍❤️‍💋‍🧑🏻'
        - '🧑🏼‍❤️‍💋‍🧑🏽'
        - '🧑🏼‍❤️‍💋‍🧑🏾'
        - '🧑🏼‍❤️‍💋‍🧑🏿'
        - '🧑🏽‍❤️‍💋‍🧑🏻'
        - '🧑🏽‍❤️‍💋‍🧑🏼'
        - '🧑🏽‍❤️‍💋‍🧑🏾'
        - '🧑🏽‍❤️‍💋‍🧑🏿'
        - '🧑🏾‍❤️‍💋‍🧑🏻'
        - '🧑🏾‍❤️‍💋‍🧑🏼'
        - '🧑🏾‍❤️‍💋‍🧑🏽'
        - '🧑🏾‍❤️‍💋‍🧑🏿'
        - '🧑🏿‍❤️‍💋‍🧑🏻'
        - '🧑🏿‍❤️‍💋‍🧑🏼'
        - '🧑🏿‍❤️‍💋‍🧑🏽'
        - '🧑🏿‍❤️‍💋‍🧑🏾'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • →
  • ⇒
  • ⇢
  • ⇨
  • ⇾
  • ▪️
  • ▫️
  • ◻️
  • ◼️
  • ◽️
  • ◾️
  • ★
  • ☆
  • ☛
  • ☞
  • ♔
  • ♕
  • ♖
  • ♗
  • ♘
  • ♙
  • ♚
  • ♛
  • ♜
  • ♝
  • ♞
  • ♟ corpus 2 (sigma 2)
  • ♠︎
  • ♠️
  • ♡
  • ♢
  • ♣︎
  • ♣️
  • ♤
  • ♥︎
  • ♥️
  • ♦︎
  • ♦️
  • ♧
  • ⚀
  • +705 more values (see full rule source)
field:"CommandLine" kind:match

Potential Download/Upload Activity Using Type Command

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

Detects usage of the "type" command to download/upload data from WebDAV server

MITRE ATT&CK Coverage

TacticTechniques
Command & Control

Telemetry Coverage

Rule Body

title: Potential Download/Upload Activity Using Type Command
id: aa0b3a82-eacc-4ec3-9150-b5a9a3e3f82f
status: test
description: Detects usage of the "type" command to download/upload data from WebDAV server
references:
    - https://mr0range.com/a-new-lolbin-using-the-windows-type-command-to-upload-download-files-81d7b6179e22
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-12-14
tags:
    - attack.command-and-control
    - attack.t1105
logsource:
    product: windows
    category: process_creation
detection:
    # Note that since built in CMD commands do not trigger a process creation. This would be detected only if used in a "/c" command
    selection_upload:
        CommandLine|contains|all:
            - 'type '
            - ' > \\\\'
    selection_download:
        CommandLine|contains|all:
            - 'type \\\\'
            - ' > ' # Space are added to increase atom length and speed up matching. If your backend can handle this remove the space
    condition: 1 of selection_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_upload

selection_upload:
    CommandLine|contains|all:
        - 'type '
        - ' > \\\\'

Stage 2: selection_download

selection_download:
    CommandLine|contains|all:
        - 'type \\\\'
        - ' > '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • > corpus 5 (sigma 5)
  • > \\\\
  • type corpus 6 (sigma 6)
  • type \\\\
field:"CommandLine" kind:match

Potential Keylogger Activity

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

Detects PowerShell scripts that contains reference to keystroke capturing functions

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Potential Keylogger Activity
id: 965e2db9-eddb-4cf6-a986-7a967df651e4
status: test
description: Detects PowerShell scripts that contains reference to keystroke capturing functions
references:
    - https://twitter.com/ScumBots/status/1610626724257046529
    - https://www.virustotal.com/gui/file/d4486b63512755316625230e0c9c81655093be93876e0d80732e7eeaf7d83476/content
    - https://www.virustotal.com/gui/file/720a7ee9f2178c70501d7e3f4bcc28a4f456e200486dbd401b25af6da3b4da62/content
    - https://learn.microsoft.com/en-us/dotnet/api/system.windows.input.keyboard.iskeydown?view=windowsdesktop-7.0
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-01-04
tags:
    - attack.collection
    - attack.credential-access
    - attack.t1056.001
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains: '[Windows.Input.Keyboard]::IsKeyDown([System.Windows.Input.Key]::'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains: '[Windows.Input.Keyboard]::IsKeyDown([System.Windows.Input.Key]::'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • [Windows.Input.Keyboard]::IsKeyDown([System.Windows.Input.Key]::
field:"ScriptBlockText" kind:match value:"[Windows.Input.Keyboard]::IsKeyDown([System.Windows.Input.Key]::"

Potential PsExec Remote Execution

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

Detects potential psexec command that initiate execution on a remote systems via common commandline flags used by the utility

MITRE ATT&CK Coverage

TacticTechniques
Resource Development

Telemetry Coverage

Rule Body

title: Potential PsExec Remote Execution
id: ea011323-7045-460b-b2d7-0f7442ea6b38
status: test
description: Detects potential psexec command that initiate execution on a remote systems via common commandline flags used by the utility
references:
    - https://learn.microsoft.com/en-us/sysinternals/downloads/psexec
    - https://www.poweradmin.com/paexec/
    - https://www.fireeye.com/blog/threat-research/2020/10/kegtap-and-singlemalt-with-a-ransomware-chaser.html
author: Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
date: 2023-02-28
modified: 2025-09-01
tags:
    - attack.resource-development
    - attack.t1587.001
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        # Accepting EULA in commandline - often used in automated attacks
        CommandLine|contains|all:
            - 'accepteula'
            - ' -u '
            - ' -p '
            - ' \\\\'
    filter_main_localhost:
        CommandLine|contains:
            - '\\\\localhost'
            - '\\\\127.'
    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:
    CommandLine|contains|all:
        - 'accepteula'
        - ' -u '
        - ' -p '
        - ' \\\\'

Stage 2: not filter_main_localhost

filter_main_localhost:
    CommandLine|contains:
        - '\\\\localhost'
        - '\\\\127.'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -p corpus 12 (sigma 8, splunk 4)
  • -u corpus 6 (sigma 5, splunk 1)
  • \\\\ corpus 8 (sigma 8)
  • accepteula corpus 4 (sigma 3, splunk 1)
field:"CommandLine" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLinematch\\\\127.excludes:CommandLine field:"CommandLine" value:"\\\\127."
CommandLinematch\\\\localhostexcludes:CommandLine field:"CommandLine" value:"\\\\localhost"

Potential Signing Bypass Via Windows Developer Features - Registry

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

Detects when the enablement of developer features such as "Developer Mode" or "Application Sideloading". Which allows the user to install untrusted packages.

MITRE ATT&CK Coverage

TacticTechniques
StealthNo specific technique

Telemetry Coverage

Rule Body

title: Potential Signing Bypass Via Windows Developer Features - Registry
id: b110ebaf-697f-4da1-afd5-b536fa27a2c1
related:
    - id: a383dec4-deec-4e6e-913b-ed9249670848
      type: similar
status: test
description: Detects when the enablement of developer features such as "Developer Mode" or "Application Sideloading". Which allows the user to install untrusted packages.
references:
    - https://twitter.com/malmoeb/status/1560536653709598721
    - https://www.sentinelone.com/labs/inside-malicious-windows-apps-for-malware-deployment/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-01-12
modified: 2023-08-17
tags:
    - attack.stealth
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|contains:
            - '\Microsoft\Windows\CurrentVersion\AppModelUnlock'
            - '\Policies\Microsoft\Windows\Appx\'
        TargetObject|endswith:
            - '\AllowAllTrustedApps'
            - '\AllowDevelopmentWithoutDevLicense'
        Details: 'DWORD (0x00000001)'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|contains:
        - '\Microsoft\Windows\CurrentVersion\AppModelUnlock'
        - '\Policies\Microsoft\Windows\Appx\'
    TargetObject|endswith:
        - '\AllowAllTrustedApps'
        - '\AllowDevelopmentWithoutDevLicense'
    Details: 'DWORD (0x00000001)'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Detailseq
  • DWORD (0x00000001) corpus 36 (sigma 36)
field:"Details" kind:eq value:"DWORD (0x00000001)"
TargetObjectends_with
  • \AllowAllTrustedApps
  • \AllowDevelopmentWithoutDevLicense
field:"TargetObject" kind:ends_with
TargetObjectmatch
  • \Microsoft\Windows\CurrentVersion\AppModelUnlock
  • \Policies\Microsoft\Windows\Appx\
field:"TargetObject" kind:match

Potential Winnti Dropper Activity

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

Detects files dropped by Winnti as described in RedMimicry Winnti playbook

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: Potential Winnti Dropper Activity
id: 130c9e58-28ac-4f83-8574-0a4cc913b97e
status: test
description: Detects files dropped by Winnti as described in RedMimicry Winnti playbook
references:
    - https://redmimicry.com/posts/redmimicry-winnti/#dropper
author: Alexander Rausch
date: 2020-06-24
modified: 2023-01-05
tags:
    - attack.stealth
    - attack.t1027
logsource:
    product: windows
    category: file_event
detection:
    selection:
        TargetFilename|endswith:
            - '\gthread-3.6.dll'
            - '\sigcmm-2.4.dll'
            - '\Windows\Temp\tmp.bat'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetFilename|endswith:
        - '\gthread-3.6.dll'
        - '\sigcmm-2.4.dll'
        - '\Windows\Temp\tmp.bat'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenameends_with
  • \Windows\Temp\tmp.bat
  • \gthread-3.6.dll
  • \sigcmm-2.4.dll
field:"TargetFilename" kind:ends_with

Scripted Diagnostics Turn Off Check Enabled - Registry

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

Detects enabling TurnOffCheck which can be used to bypass defense of MSDT Follina vulnerability

Known False Positives

  • Administrator actions

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

Rule Body

title: Scripted Diagnostics Turn Off Check Enabled - Registry
id: 7d995e63-ec83-4aa3-89d5-8a17b5c87c86
status: test
description: Detects enabling TurnOffCheck which can be used to bypass defense of MSDT Follina vulnerability
references:
    - https://twitter.com/wdormann/status/1537075968568877057?s=20&t=0lr18OAnmAGoGpma6grLUw
author: 'Christopher Peacock @securepeacock, SCYTHE @scythe_io'
date: 2022-06-15
modified: 2023-08-17
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    product: windows
    category: registry_set
detection:
    selection:
        TargetObject|endswith: '\Policies\Microsoft\Windows\ScriptedDiagnostics\TurnOffCheck'
        Details: 'DWORD (0x00000001)'
    condition: selection
falsepositives:
    - Administrator actions
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|endswith: '\Policies\Microsoft\Windows\ScriptedDiagnostics\TurnOffCheck'
    Details: 'DWORD (0x00000001)'

Indicators

These rows show field, operator, and value matches.

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

Sensitive File Recovery From Backup Via Wbadmin.EXE

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

Detects the dump of highly sensitive files such as "NTDS.DIT" and "SECURITY" hive. Attackers can leverage the "wbadmin" utility in order to dump sensitive files that might contain credential or sensitive information.

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Sensitive File Recovery From Backup Via Wbadmin.EXE
id: 84972c80-251c-4c3a-9079-4f00aad93938
related:
    - id: 6fe4aa1e-0531-4510-8be2-782154b73b48
      type: derived
status: test
description: |
    Detects the dump of highly sensitive files such as "NTDS.DIT" and "SECURITY" hive.
    Attackers can leverage the "wbadmin" utility in order to dump sensitive files that might contain credential or sensitive information.
references:
    - https://github.com/LOLBAS-Project/LOLBAS/blob/2cc01b01132b5c304027a658c698ae09dd6a92bf/yml/OSBinaries/Wbadmin.yml
    - https://lolbas-project.github.io/lolbas/Binaries/Wbadmin/
    - https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/wbadmin-start-recovery
    - https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/wbadmin-start-backup
author: Nasreddine Bencherchali (Nextron Systems), frack113
date: 2024-05-10
tags:
    - attack.credential-access
    - attack.t1003.003
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\wbadmin.exe'
        - OriginalFileName: 'WBADMIN.EXE'
    selection_backup:
        CommandLine|contains|all:
            - ' recovery'
            - 'recoveryTarget'
            - 'itemtype:File'
        CommandLine|contains:
            - '\config\SAM'
            - '\config\SECURITY'
            - '\config\SYSTEM'
            - '\Windows\NTDS\NTDS.dit'
    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: '\wbadmin.exe'
    - OriginalFileName: 'WBADMIN.EXE'

Stage 2: selection_backup

selection_backup:
    CommandLine|contains|all:
        - ' recovery'
        - 'recoveryTarget'
        - 'itemtype:File'
    CommandLine|contains:
        - '\config\SAM'
        - '\config\SECURITY'
        - '\config\SYSTEM'
        - '\Windows\NTDS\NTDS.dit'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • recovery corpus 2 (sigma 2)
  • \Windows\NTDS\NTDS.dit corpus 5 (sigma 5)
  • \config\SAM corpus 4 (sigma 4)
  • \config\SECURITY corpus 4 (sigma 4)
  • \config\SYSTEM corpus 3 (sigma 3)
  • itemtype:File corpus 3 (sigma 2, splunk 1)
  • recoveryTarget corpus 2 (sigma 2)
field:"CommandLine" kind:match
Imageends_with
  • \wbadmin.exe corpus 7 (sigma 7)
field:"Image" kind:ends_with value:"\wbadmin.exe"
OriginalFileNameeq
  • WBADMIN.EXE corpus 16 (elastic 8, sigma 6, splunk 2)
field:"OriginalFileName" kind:eq value:"WBADMIN.EXE"

SNAKE Malware WerFault Persistence File Creation

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

Detects the creation of a file named "WerFault.exe" in the WinSxS directory by a non-system process, which can be indicative of potential SNAKE malware activity

MITRE ATT&CK Coverage

TacticTechniques
ExecutionNo specific technique

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: SNAKE Malware WerFault Persistence File Creation
id: 64827580-e4c3-4c64-97eb-c72325d45399
status: test
description: Detects the creation of a file named "WerFault.exe" in the WinSxS directory by a non-system process, which can be indicative of potential SNAKE malware activity
references:
    - https://media.defense.gov/2023/May/09/2003218554/-1/-1/0/JOINT_CSA_HUNTING_RU_INTEL_SNAKE_MALWARE_20230509.PDF
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-05-10
modified: 2023-05-18
tags:
    - attack.execution
    - detection.emerging-threats
logsource:
    category: file_event
    product: windows
detection:
    selection:
        TargetFilename|startswith: 'C:\Windows\WinSxS\'
        TargetFilename|endswith: '\WerFault.exe'
    filter_main_system_location:
        Image|startswith:
            - 'C:\Windows\System32\'
            - 'C:\Windows\SysWOW64\'
            - 'C:\Windows\WinSxS\'
    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:
    TargetFilename|startswith: 'C:\Windows\WinSxS\'
    TargetFilename|endswith: '\WerFault.exe'

Stage 2: not filter_main_system_location

filter_main_system_location:
    Image|startswith:
        - 'C:\Windows\System32\'
        - 'C:\Windows\SysWOW64\'
        - 'C:\Windows\WinSxS\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenameends_with
  • \WerFault.exe corpus 3 (sigma 3)
field:"TargetFilename" kind:ends_with value:"\WerFault.exe"
TargetFilenamestarts_with
  • C:\Windows\WinSxS\ corpus 2 (sigma 2)
field:"TargetFilename" kind:starts_with value:"C:\Windows\WinSxS\"

Exclusions

The rule actively suppresses these predicates.

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

Suspicious Unsigned Dbghelp/Dbgcore DLL Loaded

#
Status
test
Severity
high
Author
Perez Diego (@darkquassar), oscd.community, Ecco
Source
github.com/SigmaHQ/sigma

Detects the load of dbghelp/dbgcore DLL (used to make memory dumps) by suspicious processes. Tools like ProcessHacker and some attacker tradecract use MiniDumpWriteDump API found in dbghelp.dll or dbgcore.dll. As an example, SilentTrynity C2 Framework has a module that leverages this API to dump the contents of Lsass.exe and transfer it over the network back to the attacker's machine.

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: Suspicious Unsigned Dbghelp/Dbgcore DLL Loaded
id: bdc64095-d59a-42a2-8588-71fd9c9d9abc
related:
    - id: 0e277796-5f23-4e49-a490-483131d4f6e1 # Suspicious Loading
      type: similar
status: test
description: |
    Detects the load of dbghelp/dbgcore DLL (used to make memory dumps) by suspicious processes.
    Tools like ProcessHacker and some attacker tradecract use MiniDumpWriteDump API found in dbghelp.dll or dbgcore.dll.
    As an example, SilentTrynity C2 Framework has a module that leverages this API to dump the contents of Lsass.exe and transfer it over the network back to the attacker's machine.
references:
    - https://learn.microsoft.com/en-us/windows/win32/api/minidumpapiset/nf-minidumpapiset-minidumpwritedump
    - https://www.pinvoke.net/default.aspx/dbghelp/MiniDumpWriteDump.html
    - https://medium.com/@fsx30/bypass-edrs-memory-protection-introduction-to-hooking-2efb21acffd6
author: Perez Diego (@darkquassar), oscd.community, Ecco
date: 2019-10-27
modified: 2022-12-09
tags:
    - attack.credential-access
    - attack.t1003.001
logsource:
    category: image_load
    product: windows
detection:
    selection:
        ImageLoaded|endswith:
            - '\dbghelp.dll'
            - '\dbgcore.dll'
        Signed: 'false'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ImageLoaded|endswith:
        - '\dbghelp.dll'
        - '\dbgcore.dll'
    Signed: 'false'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ImageLoadedends_with
  • \dbgcore.dll corpus 6 (sigma 6)
  • \dbghelp.dll corpus 6 (sigma 6)
field:"ImageLoaded" kind:ends_with
Signedeq
  • false corpus 9 (splunk 5, sigma 4)
field:"Signed" kind:eq value:"false"

Sysmon Configuration Update

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

Detects updates to Sysmon's configuration. Attackers might update or replace the Sysmon configuration with a bare bone one to avoid monitoring without shutting down the service completely

Known False Positives

  • Legitimate administrators might use this command to update Sysmon configuration.

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Sysmon Configuration Update
id: 87911521-7098-470b-a459-9a57fc80bdfd
status: test
description: Detects updates to Sysmon's configuration. Attackers might update or replace the Sysmon configuration with a bare bone one to avoid monitoring without shutting down the service completely
references:
    - https://learn.microsoft.com/en-us/sysinternals/downloads/sysmon
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-03-09
modified: 2026-06-29
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    category: process_creation
    product: windows
detection:
    selection_pe:
        - Image|endswith:
              - \Sysmon64.exe
              - \Sysmon64a.exe
              - \Sysmon.exe
        - Description: 'System activity monitor'
    selection_cli:
        CommandLine|contains|windash: '-c'
    condition: all of selection_*
falsepositives:
    - Legitimate administrators might use this command to update Sysmon configuration.
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_pe

selection_pe:
    - Image|endswith:
          - \Sysmon64.exe
          - \Sysmon64a.exe
          - \Sysmon.exe
    - Description: 'System activity monitor'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|windash: '-c'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -c corpus 7 (sigma 6, splunk 1)
  • /c corpus 16 (sigma 14, splunk 2)
  • –c
  • —c
  • ―c
field:"CommandLine" kind:match
Descriptioneq
  • System activity monitor corpus 2 (sigma 2)
field:"Description" kind:eq value:"System activity monitor"
Imageends_with
  • \Sysmon.exe corpus 3 (sigma 3)
  • \Sysmon64.exe corpus 3 (sigma 3)
  • \Sysmon64a.exe corpus 3 (sigma 3)
field:"Image" kind:ends_with

TeamViewer Remote Session

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

Detects the creation of log files during a TeamViewer remote session

Known False Positives

  • Legitimate uses of TeamViewer in an organisation

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: TeamViewer Remote Session
id: 162ab1e4-6874-4564-853c-53ec3ab8be01
status: test
description: Detects the creation of log files during a TeamViewer remote session
references:
    - https://www.teamviewer.com/en-us/
author: Florian Roth (Nextron Systems)
date: 2022-01-30
tags:
    - attack.command-and-control
    - attack.t1219.002
logsource:
    product: windows
    category: file_event
detection:
    selection1:
        TargetFilename|endswith:
            - '\TeamViewer\RemotePrinting\tvprint.db'
            - '\TeamViewer\TVNetwork.log'
    selection2:
        TargetFilename|contains|all:
            - '\TeamViewer'
            - '_Logfile.log'
    condition: 1 of selection*
falsepositives:
    - Legitimate uses of TeamViewer in an organisation
level: medium

Stages and Predicates

Stage 0: condition

1 of selection*

Stage 1: selection1

selection1:
    TargetFilename|endswith:
        - '\TeamViewer\RemotePrinting\tvprint.db'
        - '\TeamViewer\TVNetwork.log'

Stage 2: selection2

selection2:
    TargetFilename|contains|all:
        - '\TeamViewer'
        - '_Logfile.log'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenameends_with
  • \TeamViewer\RemotePrinting\tvprint.db
  • \TeamViewer\TVNetwork.log
field:"TargetFilename" kind:ends_with
TargetFilenamematch
  • \TeamViewer
  • _Logfile.log
field:"TargetFilename" kind:match

UAC Bypass Using IEInstal - Process

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

Detects the pattern of UAC Bypass using IEInstal.exe (UACMe 64)

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: UAC Bypass Using IEInstal - Process
id: 80fc36aa-945e-4181-89f2-2f907ab6775d
status: test
description: Detects the pattern of UAC Bypass using IEInstal.exe (UACMe 64)
references:
    - https://github.com/hfiref0x/UACME
author: Christian Burkard (Nextron Systems)
date: 2021-08-30
modified: 2024-12-01
tags:
    - attack.privilege-escalation
    - attack.t1548.002
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        IntegrityLevel:
            - 'High'
            - 'System'
            - 'S-1-16-16384' # System
            - 'S-1-16-12288' # High
        ParentImage|endswith: '\ieinstal.exe'
        Image|contains: '\AppData\Local\Temp\'
        Image|endswith: 'consent.exe'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    IntegrityLevel:
        - 'High'
        - 'System'
        - 'S-1-16-16384'
        - 'S-1-16-12288'
    ParentImage|endswith: '\ieinstal.exe'
    Image|contains: '\AppData\Local\Temp\'
    Image|endswith: 'consent.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • consent.exe
field:"Image" kind:ends_with value:"consent.exe"
Imagematch
  • \AppData\Local\Temp\ corpus 11 (sigma 10, splunk 1)
field:"Image" kind:match value:"\AppData\Local\Temp\"
IntegrityLeveleq
  • High corpus 18 (sigma 17, splunk 1)
  • S-1-16-12288 corpus 18 (sigma 17, splunk 1)
  • S-1-16-16384 corpus 31 (sigma 22, splunk 5, elastic 3, kusto 1)
  • System corpus 31 (sigma 22, splunk 5, elastic 3, kusto 1)
field:"IntegrityLevel" kind:eq
ParentImageends_with
  • \ieinstal.exe
field:"ParentImage" kind:ends_with value:"\ieinstal.exe"

Webserver IIS module installed (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 PowerShell.

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 (PowerShell)
description: Detects scenarios where an attacker attempts to deploy an IIS module via PowerShell.
references:
- https://www.splunk.com/en_us/blog/security/fantastic-iis-modules-and-how-to-find-them.html
- https://learn.microsoft.com/en-us/powershell/module/webadministration/new-webglobalmodule?view=windowsserver2022-ps
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:
      - 'New-WebGlobalModule'
      - '-Image'
      - '.dll'

  selection_powershell_modern:
    EventID: 4103
    Payload|contains|all:
      - 'New-WebGlobalModule'
      - '-Image'
      - '.dll'

  selection_powershell_block:
    EventID: 4104
    ScriptBlockText|contains|all:
      - 'New-WebGlobalModule'
      - '-Image'
      - '.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:
    - 'New-WebGlobalModule'
    - '-Image'
    - '.dll'

Stage 2: selection_powershell_modern

selection_powershell_modern:
  EventID: 4103
  Payload|contains|all:
    - 'New-WebGlobalModule'
    - '-Image'
    - '.dll'

Stage 3: selection_powershell_block

selection_powershell_block:
  EventID: 4104
  ScriptBlockText|contains|all:
    - 'New-WebGlobalModule'
    - '-Image'
    - '.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
EventDatamatch
  • -Image
  • .dll corpus 3 (sigma 3)
  • New-WebGlobalModule
field:"EventData" kind:match
Payloadmatch
  • -Image
  • .dll corpus 3 (sigma 3)
  • New-WebGlobalModule
field:"Payload" kind:match
ScriptBlockTextmatch
  • -Image
  • .dll corpus 3 (sigma 3)
  • New-WebGlobalModule
field:"ScriptBlockText" kind:match

Windows Defender Malware And PUA Scanning Disabled

#
Status
stable
Severity
high
Author
Ján Trenčanský, frack113
Source
github.com/SigmaHQ/sigma

Detects disabling of the Windows Defender feature of scanning for malware and other potentially unwanted software

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

Rule Body

title: Windows Defender Malware And PUA Scanning Disabled
id: bc275be9-0bec-4d77-8c8f-281a2df6710f
related:
    - id: fe34868f-6e0e-4882-81f6-c43aa8f15b62
      type: obsolete
status: stable
description: Detects disabling of the Windows Defender feature of scanning for malware and other potentially unwanted software
references:
    - https://learn.microsoft.com/en-us/defender-endpoint/troubleshoot-microsoft-defender-antivirus?view=o365-worldwide#event-id-5010
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1562.001/T1562.001.md
    - https://craigclouditpro.wordpress.com/2020/03/04/hunting-malicious-windows-defender-activity/
author: Ján Trenčanský, frack113
date: 2020-07-28
modified: 2023-11-22
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    product: windows
    service: windefend
detection:
    selection:
        EventID: 5010 # Scanning for malware and other potentially unwanted software is disabled.
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 5010

Back to all Sigma rules