Detection rules › Sigma

Sigma rules: 1i

RuleSeverity
Azure Sign-In With Axios User Agentlow
Change PowerShell Policies to an Insecure Levelmedium
Diskshadow Script Mode Executionmedium
DNS TOR Proxiesmedium
Dynamic .NET Compilation Via Csc.EXEmedium
Dynamic CSharp Compile Artefactlow
Exports Registry Key To an Alternate Data Streamhigh
Files With System DLL Name In Unsuspected Locationsmedium
HackTool - SharpImpersonation Executionhigh
macOS Network Share Accessmedium
Mimikatz driver registration (Reg via Sysmon)high
Mint Sandstorm - Log4J Wstomcat Process Executionhigh
NetSupport Manager Service Installmedium
Obfuscated IP Download Activitymedium
Okta Suspicious Activity Reported by End-userhigh
OS Architecture Discovery Via Greplow
Potential AD User Enumeration From Non-Machine Accountmedium
Potential Arbitrary DLL Load Using Winwordmedium
Potential CVE-2021-41379 Exploitation Attemptcritical
Potential RCE Exploitation Attempt In NodeJShigh
Potential SolidPDFCreator.DLL Sideloadingmedium
PowerShell Web Access Installation - PsScripthigh
Register new Logon Process by Rubeushigh
Remote Thread Created In Shell Applicationmedium
Remote Thread Creation Ttdinject.exe Proxyhigh
Split A File Into Pieceslow
Stickey key called CMD via command executionhigh
Suspicious HH.EXE Executionhigh
Suspicious Sysmon as Execution Parenthigh
Suspicious Volume Shadow Copy VSS_PS.dll Loadhigh
Suspicious Wordpad Outbound Connectionsmedium
System Disk And Volume Reconnaissance Via Wmic.EXEmedium
Tamper Windows Defender - PSClassichigh
UAC Disabledmedium
Uncommon File Creation By Mysql Daemon Processhigh
Unsigned Mfdetours.DLL Sideloadinghigh
Use of W32tm as Timerhigh
User password change without previous password known - SetNTLM (Mimikatz)high
WannaCry Ransomware Activitycritical
Windows Credential Guard Registry Tampering Via CommandLinehigh
Write Protect For Storage Disabledmedium
Writing Of Malicious Files To The Fonts Foldermedium

Azure Sign-In With Axios User Agent

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

Detects sign-in attempts in Azure/Entra ID logs where the user agent contains "axios", indicating potential use of automated credential harvesting or AiTM phishing infrastructure. Axios is a Node.js HTTP client abused to intercept and replay stolen credentials and MFA tokens. When triaging results, analysts should: - Check the sign-in risk level, MFA status, and conditional access results for signs of bypass. - Look for sign-ins from unusual locations or IPs, especially if the same IP targets multiple accounts. - Prioritize successful sign-ins over failed ones, as they may indicate a completed credential replay or AiTM attack.

Known False Positives

  • Legitimate internal or third-party applications built with Node.js that use Axios as their HTTP client for authenticating against Azure/Entra ID.

MITRE ATT&CK Coverage

TacticTechniques
Credential Access
Collection

Telemetry Coverage

Rule Body

title: Azure Sign-In With Axios User Agent
id: ea1a07f0-3dac-47a2-aeb4-86f5379ba2b4
status: experimental
description: |
    Detects sign-in attempts in Azure/Entra ID logs where the user agent contains "axios",
    indicating potential use of automated credential harvesting or AiTM phishing infrastructure.
    Axios is a Node.js HTTP client abused to intercept and replay stolen credentials and MFA tokens.
    When triaging results, analysts should:
        - Check the sign-in risk level, MFA status, and conditional access results for signs of bypass.
        - Look for sign-ins from unusual locations or IPs, especially if the same IP targets multiple accounts.
        - Prioritize successful sign-ins over failed ones, as they may indicate a completed credential replay or AiTM attack.
references:
    - https://thehackernews.com/2025/09/axios-abuse-and-salty-2fa-kits-fuel.html
    - https://www.proofpoint.com/us/blog/threat-insight/http-client-tools-exploitation-account-takeover-attacks
author: Marco Pedrinazzi (@pedrinazziM) (InTheCyber)
date: 2026-04-28
tags:
    - attack.credential-access
    - attack.collection
    - attack.t1557
    - detection.threat-hunting
logsource:
    product: azure
    service: signinlogs
detection:
    selection:
        userAgent|contains: 'axios'
    condition: selection
falsepositives:
    - Legitimate internal or third-party applications built with Node.js that use Axios as their HTTP client for authenticating against Azure/Entra ID.
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    userAgent|contains: 'axios'

Indicators

These rows show field, operator, and value matches.

Change PowerShell Policies to an Insecure Level

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

Detects changing the PowerShell script execution policy to a potentially insecure level using the "-ExecutionPolicy" flag.

Known False Positives

  • Administrator scripts

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Change PowerShell Policies to an Insecure Level
id: 87e3c4e8-a6a8-4ad9-bb4f-46e7ff99a180
related:
    - id: cf2e938e-9a3e-4fe8-a347-411642b28a9f # ProcCreation Registry
      type: similar
    - id: 61d0475c-173f-4844-86f7-f3eebae1c66b # ScriptBlock
      type: similar
    - id: fad91067-08c5-4d1a-8d8c-d96a21b37814 # Registry
      type: similar
status: test
description: Detects changing the PowerShell script execution policy to a potentially insecure level using the "-ExecutionPolicy" flag.
references:
    - https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy?view=powershell-7.4
    - https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.4
    - https://adsecurity.org/?p=2604
    - https://thedfirreport.com/2021/11/01/from-zero-to-domain-admin/
author: frack113
date: 2021-11-01
modified: 2025-10-07
tags:
    - attack.execution
    - attack.t1059.001
logsource:
    product: windows
    category: process_creation
detection:
    selection_img:
        - OriginalFileName:
              - 'powershell_ise.exe'
              - 'PowerShell.EXE'
              - 'pwsh.dll'
        - Image|endswith:
              - '\powershell_ise.exe'
              - '\powershell.exe'
              - '\pwsh.exe'
    selection_option:
        CommandLine|contains:
            - '-executionpolicy '
            - ' -ep '
            - ' -exec '
    selection_level:
        CommandLine|contains:
            - 'Bypass'
            - 'Unrestricted'
    filter_main_powershell_core:
        ParentImage:
            - 'C:\Windows\SysWOW64\msiexec.exe'
            - 'C:\Windows\System32\msiexec.exe'
        CommandLine|contains:
            - '-NoProfile -ExecutionPolicy Bypass -File "C:\Program Files\PowerShell\7\'
            - '-NoProfile -ExecutionPolicy Bypass -File "C:\Program Files (x86)\PowerShell\7\'
    filter_optional_avast:
        ParentImage|contains:
            - 'C:\Program Files\Avast Software\Avast\'
            - 'C:\Program Files (x86)\Avast Software\Avast\'
            - '\instup.exe'
        CommandLine|contains:
            - '-ExecutionPolicy ByPass -File "C:\Program Files\Avast Software\Avast'
            - '-ExecutionPolicy ByPass -File "C:\Program Files (x86)\Avast Software\Avast\'
    condition: all of selection_* and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Administrator scripts
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_powershell_set_policies_to_unsecure_level/info.yml

Stages and Predicates

Stage 0: condition

all of selection_* and not 1 of filter_main_* and not 1 of filter_optional_*

Stage 1: selection_img

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

Stage 2: selection_option

selection_option:
    CommandLine|contains:
        - '-executionpolicy '
        - ' -ep '
        - ' -exec '

Stage 3: selection_level

selection_level:
    CommandLine|contains:
        - 'Bypass'
        - 'Unrestricted'

Stage 4: not filter_main_powershell_core

filter_main_powershell_core:
    ParentImage:
        - 'C:\Windows\SysWOW64\msiexec.exe'
        - 'C:\Windows\System32\msiexec.exe'
    CommandLine|contains:
        - '-NoProfile -ExecutionPolicy Bypass -File "C:\Program Files\PowerShell\7\'
        - '-NoProfile -ExecutionPolicy Bypass -File "C:\Program Files (x86)\PowerShell\7\'

Stage 5: not filter_optional_avast

filter_optional_avast:
    ParentImage|contains:
        - 'C:\Program Files\Avast Software\Avast\'
        - 'C:\Program Files (x86)\Avast Software\Avast\'
        - '\instup.exe'
    CommandLine|contains:
        - '-ExecutionPolicy ByPass -File "C:\Program Files\Avast Software\Avast'
        - '-ExecutionPolicy ByPass -File "C:\Program Files (x86)\Avast Software\Avast\'

Indicators

These rows show field, operator, and value matches.

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

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLinematch-NoProfile -ExecutionPolicy Bypass -File "C:\Program Files (x86)\PowerShell\7\excludes:CommandLine
CommandLinematch-NoProfile -ExecutionPolicy Bypass -File "C:\Program Files\PowerShell\7\excludes:CommandLine
ParentImageeqC:\Windows\SysWOW64\msiexec.exeexcludes:ParentImage field:"ParentImage" value:"C:\Windows\SysWOW64\msiexec.exe"
ParentImageeqC:\Windows\System32\msiexec.exeexcludes:ParentImage field:"ParentImage" value:"C:\Windows\System32\msiexec.exe"
CommandLinematch-ExecutionPolicy ByPass -File "C:\Program Files (x86)\Avast Software\Avast\excludes:CommandLine
CommandLinematch-ExecutionPolicy ByPass -File "C:\Program Files\Avast Software\Avastexcludes:CommandLine
ParentImagematchC:\Program Files (x86)\Avast Software\Avast\excludes:ParentImage field:"ParentImage" value:"C:\Program Files (x86)\Avast Software\Avast\"
ParentImagematchC:\Program Files\Avast Software\Avast\excludes:ParentImage field:"ParentImage" value:"C:\Program Files\Avast Software\Avast\"
ParentImagematch\instup.exeexcludes:ParentImage field:"ParentImage" value:"\instup.exe"

Diskshadow Script Mode Execution

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

Detects execution of "Diskshadow.exe" in script mode using the "/s" flag. Attackers often abuse "diskshadow" to execute scripts that deleted the shadow copies on the systems. Investigate the content of the scripts and its location.

Known False Positives

  • Likely from legitimate backup scripts

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Diskshadow Script Mode Execution
id: 0c2f8629-7129-4a8a-9897-7e0768f13ff2
related:
    - id: fa1a7e52-3d02-435b-81b8-00da14dd66c1 # Diskshadow Script Mode - Execution From Potential Suspicious Location
      type: similar
    - id: 1dde5376-a648-492e-9e54-4241dd9b0c7f # Diskshadow Script Mode - Uncommon Script Extension Execution
      type: similar
    - id: 9f546b25-5f12-4c8d-8532-5893dcb1e4b8 # Potentially Suspicious Child Process Of DiskShadow.EXE
      type: similar
    - id: 56b1dde8-b274-435f-a73a-fb75eb81262a # Diskshadow Child Process Spawned
      type: similar
status: test
description: |
    Detects execution of "Diskshadow.exe" in script mode using the "/s" flag. Attackers often abuse "diskshadow" to execute scripts that deleted the shadow copies on the systems. Investigate the content of the scripts and its location.
references:
    - https://bohops.com/2018/03/26/diskshadow-the-return-of-vss-evasion-persistence-and-active-directory-database-extraction/
    - https://www.ired.team/offensive-security/credential-access-and-credential-dumping/ntds.dit-enumeration
    - https://medium.com/@cyberjyot/lolbin-execution-via-diskshadow-f6ff681a27a4
    - https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/diskshadow
author: Ivan Dyachkov, oscd.community
date: 2020-10-07
modified: 2024-03-13
tags:
    - attack.stealth
    - attack.t1218
    - attack.execution
    - detection.threat-hunting
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - OriginalFileName: 'diskshadow.exe'
        - Image|endswith: '\diskshadow.exe'
    selection_cli:
        CommandLine|contains|windash: '-s '
    condition: all of selection_*
falsepositives:
    - Likely from legitimate backup scripts
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli

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

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -s corpus 6 (sigma 6)
  • /s corpus 7 (sigma 6, splunk 1)
  • –s corpus 4 (sigma 4)
  • —s corpus 4 (sigma 4)
  • ―s corpus 4 (sigma 4)
field:"CommandLine" kind:match
Imageends_with
  • \diskshadow.exe corpus 5 (sigma 5)
field:"Image" kind:ends_with value:"\diskshadow.exe"
OriginalFileNameeq
  • diskshadow.exe corpus 6 (sigma 4, elastic 1, splunk 1)
field:"OriginalFileName" kind:eq value:"diskshadow.exe"

DNS TOR Proxies

#
Status
test
Severity
medium
Author
Saw Winn Naung , Azure-Sentinel
Source
github.com/SigmaHQ/sigma

Identifies IPs performing DNS lookups associated with common Tor proxies.

MITRE ATT&CK Coverage

Rule Body

title: DNS TOR Proxies
id: a8322756-015c-42e7-afb1-436e85ed3ff5
related:
    - id: b55ca2a3-7cff-4dda-8bdd-c7bfa63bf544
      type: similar
    - id: 8384bd26-bde6-4da9-8e5d-4174a7a47ca2
      type: similar
status: test
description: Identifies IPs performing DNS lookups associated with common Tor proxies.
references:
    - https://github.com/Azure/Azure-Sentinel/blob/f99542b94afe0ad2f19a82cc08262e7ac8e1428e/Detections/ASimDNS/imDNS_TorProxies.yaml
author: Saw Winn Naung , Azure-Sentinel
date: 2021-08-15
modified: 2025-09-12
tags:
    - attack.exfiltration
    - attack.t1048
logsource:
    service: dns
    product: zeek
detection:
    selection:
        query|endswith:
            - '.hiddenservice.net'
            - '.onion.ca'
            - '.onion.cab'
            - '.onion.casa'
            - '.onion.city'
            - '.onion.direct'
            - '.onion.dog'
            - '.onion.glass'
            - '.onion.gq'
            - '.onion.guide'
            - '.onion.in.net'
            - '.onion.ink'
            - '.onion.it'
            - '.onion.link'
            - '.onion.lt'
            - '.onion.lu'
            - '.onion.ly'
            - '.onion.mn'
            - '.onion.network'
            - '.onion.nu'
            - '.onion.pet'
            - '.onion.plus'
            - '.onion.pt'
            - '.onion.pw'
            - '.onion.rip'
            - '.onion.sh'
            - '.onion.si'
            - '.onion.to'
            - '.onion.top'
            - '.onion.ws'
            - '.onion'
            - '.s1.tor-gateways.de'
            - '.s2.tor-gateways.de'
            - '.s3.tor-gateways.de'
            - '.s4.tor-gateways.de'
            - '.s5.tor-gateways.de'
            - '.t2w.pw'
            - '.tor2web.ae.org'
            - '.tor2web.blutmagie.de'
            - '.tor2web.com'
            - '.tor2web.fi'
            - '.tor2web.io'
            - '.tor2web.org'
            - '.tor2web.xyz'
            - '.torlink.co'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    query|endswith:
        - '.hiddenservice.net'
        - '.onion.ca'
        - '.onion.cab'
        - '.onion.casa'
        - '.onion.city'
        - '.onion.direct'
        - '.onion.dog'
        - '.onion.glass'
        - '.onion.gq'
        - '.onion.guide'
        - '.onion.in.net'
        - '.onion.ink'
        - '.onion.it'
        - '.onion.link'
        - '.onion.lt'
        - '.onion.lu'
        - '.onion.ly'
        - '.onion.mn'
        - '.onion.network'
        - '.onion.nu'
        - '.onion.pet'
        - '.onion.plus'
        - '.onion.pt'
        - '.onion.pw'
        - '.onion.rip'
        - '.onion.sh'
        - '.onion.si'
        - '.onion.to'
        - '.onion.top'
        - '.onion.ws'
        - '.onion'
        - '.s1.tor-gateways.de'
        - '.s2.tor-gateways.de'
        - '.s3.tor-gateways.de'
        - '.s4.tor-gateways.de'
        - '.s5.tor-gateways.de'
        - '.t2w.pw'
        - '.tor2web.ae.org'
        - '.tor2web.blutmagie.de'
        - '.tor2web.com'
        - '.tor2web.fi'
        - '.tor2web.io'
        - '.tor2web.org'
        - '.tor2web.xyz'
        - '.torlink.co'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
queryends_with
  • .hiddenservice.net
  • .onion
  • .onion.ca
  • .onion.cab
  • .onion.casa
  • .onion.city
  • .onion.direct
  • .onion.dog
  • .onion.glass
  • .onion.gq
  • .onion.guide
  • .onion.in.net
  • .onion.ink
  • .onion.it
  • .onion.link
  • .onion.lt
  • .onion.lu
  • .onion.ly
  • .onion.mn
  • .onion.network
  • .onion.nu
  • .onion.pet
  • .onion.plus
  • .onion.pt
  • .onion.pw
  • .onion.rip
  • .onion.sh
  • .onion.si
  • .onion.to
  • .onion.top
  • .onion.ws
  • .s1.tor-gateways.de
  • .s2.tor-gateways.de
  • .s3.tor-gateways.de
  • .s4.tor-gateways.de
  • .s5.tor-gateways.de
  • .t2w.pw
  • .tor2web.ae.org
  • .tor2web.blutmagie.de
  • .tor2web.com
  • .tor2web.fi
  • .tor2web.io
  • .tor2web.org
  • .tor2web.xyz
  • .torlink.co
field:"query" kind:ends_with

Dynamic .NET Compilation Via Csc.EXE

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

Detects execution of "csc.exe" to compile .NET code. Attackers often leverage this to compile code on the fly and use it in other stages.

Known False Positives

  • Legitimate software from program files - https://twitter.com/gN3mes1s/status/1206874118282448897
  • Legitimate Microsoft software - https://twitter.com/gabriele_pippi/status/1206907900268072962
  • Ansible

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Dynamic .NET Compilation Via Csc.EXE
id: dcaa3f04-70c3-427a-80b4-b870d73c94c4
status: test
description: Detects execution of "csc.exe" to compile .NET code. Attackers often leverage this to compile code on the fly and use it in other stages.
references:
    - https://securityboulevard.com/2019/08/agent-tesla-evading-edr-by-removing-api-hooks/
    - https://www.clearskysec.com/wp-content/uploads/2018/11/MuddyWater-Operations-in-Lebanon-and-Oman.pdf
    - https://app.any.run/tasks/c6993447-d1d8-414e-b856-675325e5aa09/
    - https://twitter.com/gN3mes1s/status/1206874118282448897
    - https://github.com/redcanaryco/atomic-red-team/blob/b27a3cb25025161d49ac861cb216db68c46a3537/atomics/T1027.004/T1027.004.md#atomic-test-1---compile-after-delivery-using-cscexe
author: Florian Roth (Nextron Systems), X__Junior (Nextron Systems)
date: 2019-08-24
modified: 2026-03-23
tags:
    - attack.stealth
    - attack.t1027.004
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        Image|endswith: '\csc.exe'
    selection_susp_location_1:
        CommandLine|contains:
            - ':\Perflogs\'
            - ':\Users\Public\'
            - '\AppData\Local\Temp\' # User execution
            - '\Temporary Internet'
            - '\Windows\Temp\' # Admin execution
    selection_susp_location_2:
        - CommandLine|contains|all:
              - ':\Users\'
              - '\Favorites\'
        - CommandLine|contains|all:
              - ':\Users\'
              - '\Favourites\'
        - CommandLine|contains|all:
              - ':\Users\'
              - '\Contacts\'
        - CommandLine|contains|all:
              - ':\Users\'
              - '\Pictures\'
    selection_susp_location_3:
        CommandLine|re: '(?:[Pp]rogram[Dd]ata|%(?:[Ll]ocal)?[Aa]pp[Dd]ata%|\\[Aa]pp[Dd]ata\\(?:[Ll]ocal(?:[Ll]ow)?|[Rr]oaming))\\[^\\]{1,256}$'
    filter_main_programfiles:
        # Note: this is a generic filter. You could baseline execution in your env for a more robust rule
        ParentImage|startswith:
            - 'C:\Program Files (x86)\' # https://twitter.com/gN3mes1s/status/1206874118282448897
            - 'C:\Program Files\' # https://twitter.com/gN3mes1s/status/1206874118282448897
    filter_main_sdiagnhost:
        ParentImage: 'C:\Windows\System32\sdiagnhost.exe' # https://twitter.com/gN3mes1s/status/1206874118282448897
    filter_main_w3p:
        ParentImage: 'C:\Windows\System32\inetsrv\w3wp.exe' # https://twitter.com/gabriele_pippi/status/1206907900268072962
    filter_optional_chocolatey:
        ParentImage: # Chocolatey https://chocolatey.org/
            - 'C:\ProgramData\chocolatey\choco.exe'
            - 'C:\ProgramData\chocolatey\tools\shimgen.exe'
    filter_optional_defender:
        ParentCommandLine|contains: '\ProgramData\Microsoft\Windows Defender Advanced Threat Protection'
    filter_optional_ansible:
        # Note: As ansible is widely used we exclude it with this generic filter.
        # A better option would be to filter based on script content basis or other marker while hunting
        ParentCommandLine|contains:
            # '{"failed":true,"msg":"Ansible requires PowerShell v3.0 or newer"}'
            - 'JwB7ACIAZgBhAGkAbABlAGQAIgA6AHQAcgB1AGUALAAiAG0AcwBnACIAOgAiAEEAbgBzAGkAYgBsAGUAIAByAGUAcQB1AGkAcgBlAHMAIABQAG8AdwBlAHIAUwBoAGUAbABsACAAdgAzAC4AMAAgAG8AcgAgAG4AZQB3AGUAcgAiAH0AJw'
            - 'cAewAiAGYAYQBpAGwAZQBkACIAOgB0AHIAdQBlACwAIgBtAHMAZwAiADoAIgBBAG4AcwBpAGIAbABlACAAcgBlAHEAdQBpAHIAZQBzACAAUABvAHcAZQByAFMAaABlAGwAbAAgAHYAMwAuADAAIABvAHIAIABuAGUAdwBlAHIAIgB9ACcA'
            - 'nAHsAIgBmAGEAaQBsAGUAZAAiADoAdAByAHUAZQAsACIAbQBzAGcAIgA6ACIAQQBuAHMAaQBiAGwAZQAgAHIAZQBxAHUAaQByAGUAcwAgAFAAbwB3AGUAcgBTAGgAZQBsAGwAIAB2ADMALgAwACAAbwByACAAbgBlAHcAZQByACIAfQAnA'
    condition: selection_img and 1 of selection_susp_location_* and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Legitimate software from program files - https://twitter.com/gN3mes1s/status/1206874118282448897
    - Legitimate Microsoft software - https://twitter.com/gabriele_pippi/status/1206907900268072962
    - Ansible
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_csc_susp_dynamic_compilation/info.yml

Stages and Predicates

Stage 0: condition

selection_img and 1 of selection_susp_location_* and not 1 of filter_main_* and not 1 of filter_optional_*

Stage 1: selection_img

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

Stage 2: selection_susp_location_1

selection_susp_location_1:
    CommandLine|contains:
        - ':\Perflogs\'
        - ':\Users\Public\'
        - '\AppData\Local\Temp\'
        - '\Temporary Internet'
        - '\Windows\Temp\'

Stage 3: selection_susp_location_2

selection_susp_location_2:
    - CommandLine|contains|all:
          - ':\Users\'
          - '\Favorites\'
    - CommandLine|contains|all:
          - ':\Users\'
          - '\Favourites\'
    - CommandLine|contains|all:
          - ':\Users\'
          - '\Contacts\'
    - CommandLine|contains|all:
          - ':\Users\'
          - '\Pictures\'

Stage 4: selection_susp_location_3

selection_susp_location_3:
    CommandLine|re: '(?:[Pp]rogram[Dd]ata|%(?:[Ll]ocal)?[Aa]pp[Dd]ata%|\\[Aa]pp[Dd]ata\\(?:[Ll]ocal(?:[Ll]ow)?|[Rr]oaming))\\[^\\]{1,256}$'

Stage 5: not filter_main_*

filter_main_programfiles:
    ParentImage|startswith:
        - 'C:\Program Files (x86)\'
        - 'C:\Program Files\'
filter_main_sdiagnhost:
    ParentImage: 'C:\Windows\System32\sdiagnhost.exe'
filter_main_w3p:
    ParentImage: 'C:\Windows\System32\inetsrv\w3wp.exe'

Stage 6: not filter_optional_*

filter_optional_chocolatey:
    ParentImage:
        - 'C:\ProgramData\chocolatey\choco.exe'
        - 'C:\ProgramData\chocolatey\tools\shimgen.exe'
filter_optional_defender:
    ParentCommandLine|contains: '\ProgramData\Microsoft\Windows Defender Advanced Threat Protection'
filter_optional_ansible:
    ParentCommandLine|contains:
        - 'JwB7ACIAZgBhAGkAbABlAGQAIgA6AHQAcgB1AGUALAAiAG0AcwBnACIAOgAiAEEAbgBzAGkAYgBsAGUAIAByAGUAcQB1AGkAcgBlAHMAIABQAG8AdwBlAHIAUwBoAGUAbABsACAAdgAzAC4AMAAgAG8AcgAgAG4AZQB3AGUAcgAiAH0AJw'
        - 'cAewAiAGYAYQBpAGwAZQBkACIAOgB0AHIAdQBlACwAIgBtAHMAZwAiADoAIgBBAG4AcwBpAGIAbABlACAAcgBlAHEAdQBpAHIAZQBzACAAUABvAHcAZQByAFMAaABlAGwAbAAgAHYAMwAuADAAIABvAHIAIABuAGUAdwBlAHIAIgB9ACcA'
        - 'nAHsAIgBmAGEAaQBsAGUAZAAiADoAdAByAHUAZQAsACIAbQBzAGcAIgA6ACIAQQBuAHMAaQBiAGwAZQAgAHIAZQBxAHUAaQByAGUAcwAgAFAAbwB3AGUAcgBTAGgAZQBsAGwAIAB2ADMALgAwACAAbwByACAAbgBlAHcAZQByACIAfQAnA'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • :\Perflogs\ corpus 11 (sigma 11)
  • :\Users\ corpus 6 (sigma 6)
  • :\Users\Public\ corpus 20 (sigma 18, elastic 2)
  • \AppData\Local\Temp\ corpus 28 (sigma 26, elastic 2)
  • \Contacts\ corpus 7 (sigma 7)
  • \Favorites\ corpus 7 (sigma 7)
  • \Favourites\ corpus 7 (sigma 7)
  • \Pictures\ corpus 5 (sigma 5)
  • \Temporary Internet corpus 7 (sigma 7)
  • \Windows\Temp\ corpus 13 (sigma 12, elastic 1)
field:"CommandLine" kind:match
CommandLineregex_match
  • (?:[Pp]rogram[Dd]ata|%(?:[Ll]ocal)?[Aa]pp[Dd]ata%|\[Aa]pp[Dd]ata\(?:[Ll]ocal(?:[Ll]ow)?|[Rr]oaming))\[^\]{1,256}$
field:"CommandLine" kind:regex_match value:"(?:[Pp]rogram[Dd]ata|%(?:[Ll]ocal)?[Aa]pp[Dd]ata%|\[Aa]pp[Dd]ata\(?:[Ll]ocal(?:[Ll]ow)?|[Rr]oaming))\[^\]{1,256}$"
Imageends_with
  • \csc.exe corpus 9 (sigma 9)
field:"Image" kind:ends_with value:"\csc.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ParentImageeqC:\Windows\System32\inetsrv\w3wp.exeexcludes:ParentImage field:"ParentImage" value:"C:\Windows\System32\inetsrv\w3wp.exe"
ParentImageeqC:\Windows\System32\sdiagnhost.exeexcludes:ParentImage field:"ParentImage" value:"C:\Windows\System32\sdiagnhost.exe"
ParentImagestarts_withC:\Program Files (x86)\excludes:ParentImage field:"ParentImage" value:"C:\Program Files (x86)\"
ParentImagestarts_withC:\Program Files\excludes:ParentImage field:"ParentImage" value:"C:\Program Files\"
ParentCommandLinematchJwB7ACIAZgBhAGkAbABlAGQAIgA6AHQAcgB1AGUALAAiAG0AcwBnACIAOgAiAEEAbgBzAGkAYgBsAGUAIAByAGUAcQB1AGkAcgBlAHMAIABQAG8AdwBlAHIAUwBoAGUAbABsACAAdgAzAC4AMAAgAG8AcgAgAG4AZQB3AGUAcgAiAH0AJwexcludes:ParentCommandLine field:"ParentCommandLine" value:"JwB7ACIAZgBhAGkAbABlAGQAIgA6AHQAcgB1AGUALAAiAG0AcwBnACIAOgAiAEEAbgBzAGkAYgBsAGUAIAByAGUAcQB1AGkAcgBlAHMAIABQAG8AdwBlAHIAUwBoAGUAbABsACAAdgAzAC4AMAAgAG8AcgAgAG4AZQB3AGUAcgAiAH0AJw"
ParentCommandLinematch\ProgramData\Microsoft\Windows Defender Advanced Threat Protectionexcludes:ParentCommandLine field:"ParentCommandLine" value:"\ProgramData\Microsoft\Windows Defender Advanced Threat Protection"
ParentCommandLinematchcAewAiAGYAYQBpAGwAZQBkACIAOgB0AHIAdQBlACwAIgBtAHMAZwAiADoAIgBBAG4AcwBpAGIAbABlACAAcgBlAHEAdQBpAHIAZQBzACAAUABvAHcAZQByAFMAaABlAGwAbAAgAHYAMwAuADAAIABvAHIAIABuAGUAdwBlAHIAIgB9ACcAexcludes:ParentCommandLine field:"ParentCommandLine" value:"cAewAiAGYAYQBpAGwAZQBkACIAOgB0AHIAdQBlACwAIgBtAHMAZwAiADoAIgBBAG4AcwBpAGIAbABlACAAcgBlAHEAdQBpAHIAZQBzACAAUABvAHcAZQByAFMAaABlAGwAbAAgAHYAMwAuADAAIABvAHIAIABuAGUAdwBlAHIAIgB9ACcA"
ParentCommandLinematchnAHsAIgBmAGEAaQBsAGUAZAAiADoAdAByAHUAZQAsACIAbQBzAGcAIgA6ACIAQQBuAHMAaQBiAGwAZQAgAHIAZQBxAHUAaQByAGUAcwAgAFAAbwB3AGUAcgBTAGgAZQBsAGwAIAB2ADMALgAwACAAbwByACAAbgBlAHcAZQByACIAfQAnAexcludes:ParentCommandLine field:"ParentCommandLine" value:"nAHsAIgBmAGEAaQBsAGUAZAAiADoAdAByAHUAZQAsACIAbQBzAGcAIgA6ACIAQQBuAHMAaQBiAGwAZQAgAHIAZQBxAHUAaQByAGUAcwAgAFAAbwB3AGUAcgBTAGgAZQBsAGwAIAB2ADMALgAwACAAbwByACAAbgBlAHcAZQByACIAfQAnA"
ParentImageeqC:\ProgramData\chocolatey\choco.exeexcludes:ParentImage field:"ParentImage" value:"C:\ProgramData\chocolatey\choco.exe"
ParentImageeqC:\ProgramData\chocolatey\tools\shimgen.exeexcludes:ParentImage field:"ParentImage" value:"C:\ProgramData\chocolatey\tools\shimgen.exe"

Dynamic CSharp Compile Artefact

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

When C# is compiled dynamically, a .cmdline file will be created as a part of the process. Certain processes are not typically observed compiling C# code, but can do so without touching disk. This can be used to unpack a payload for execution

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: Dynamic CSharp Compile Artefact
id: e4a74e34-ecde-4aab-b2fb-9112dd01aed0
status: test
description: |
    When C# is compiled dynamically, a .cmdline file will be created as a part of the process.
    Certain processes are not typically observed compiling C# code, but can do so without touching disk.
    This can be used to unpack a payload for execution
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1027.004/T1027.004.md#atomic-test-2---dynamic-c-compile
author: frack113
date: 2022-01-09
modified: 2023-02-17
tags:
    - attack.stealth
    - attack.t1027.004
logsource:
    product: windows
    category: file_event
detection:
    selection:
        TargetFilename|endswith: '.cmdline'
    condition: selection
falsepositives:
    - Unknown
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetFilename|endswith: '.cmdline'

Indicators

These rows show field, operator, and value matches.

Exports Registry Key To an Alternate Data Stream

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

Exports the target Registry key and hides it in the specified alternate data stream.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 15: FileCreateStreamHash

Rule Body

title: Exports Registry Key To an Alternate Data Stream
id: 0d7a9363-af70-4e7b-a3b7-1a176b7fbe84
status: test
description: Exports the target Registry key and hides it in the specified alternate data stream.
references:
    - https://lolbas-project.github.io/lolbas/Binaries/Regedit/
    - https://gist.github.com/api0cradle/cdd2d0d0ec9abb686f0e89306e277b8f
author: Oddvar Moe, Sander Wiebing, oscd.community
date: 2020-10-07
modified: 2021-11-27
tags:
    - attack.stealth
    - attack.t1564.004
logsource:
    product: windows
    category: create_stream_hash
detection:
    selection:
        Image|endswith: '\regedit.exe'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '\regedit.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \regedit.exe corpus 8 (sigma 8)
field:"Image" kind:ends_with value:"\regedit.exe"

Files With System DLL Name In Unsuspected Locations

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

Detects the creation of a file with the ".dll" extension that has the name of a System DLL in uncommon or unsuspected locations. (Outisde of "System32", "SysWOW64", etc.). It is highly recommended to perform an initial baseline before using this rule in production.

Known False Positives

  • Third party software might bundle specific versions of system DLLs.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: Files With System DLL Name In Unsuspected Locations
id: 13c02350-4177-4e45-ac17-cf7ca628ff5e
status: test
description: |
    Detects the creation of a file with the ".dll" extension that has the name of a System DLL in uncommon or unsuspected locations. (Outisde of "System32", "SysWOW64", etc.).
    It is highly recommended to perform an initial baseline before using this rule in production.
references:
    - Internal Research
author: Nasreddine Bencherchali (Nextron Systems)
date: 2024-06-24
tags:
    - attack.stealth
    - attack.t1036.005
logsource:
    category: file_event
    product: windows
detection:
    selection:
        TargetFilename|endswith:
            # Note: Add more System DLL that can be abused for DLL sideloading to increase coverage
            - '\secur32.dll'
            - '\tdh.dll'
    filter_main_generic:
        # Note: It is recommended to use a more robust filter instead of this generic one, to avoid false negatives.
        TargetFilename|contains:
            # - '\SystemRoot\System32\'
            - 'C:\$WINDOWS.~BT\'
            - 'C:\$WinREAgent\'
            - 'C:\Windows\SoftwareDistribution\'
            - 'C:\Windows\System32\'
            - 'C:\Windows\SysWOW64\'
            - 'C:\Windows\WinSxS\'
            - 'C:\Windows\uus\'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Third party software might bundle specific versions of system DLLs.
# Note: Upgrade to high after an initial baseline to your environement.
level: medium
regression_tests_path: regression_data/rules/windows/file/file_event/file_event_win_creation_system_dll_files/info.yml

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    TargetFilename|endswith:
        - '\secur32.dll'
        - '\tdh.dll'

Stage 2: not filter_main_generic

filter_main_generic:
    TargetFilename|contains:
        - 'C:\$WINDOWS.~BT\'
        - 'C:\$WinREAgent\'
        - 'C:\Windows\SoftwareDistribution\'
        - 'C:\Windows\System32\'
        - 'C:\Windows\SysWOW64\'
        - 'C:\Windows\WinSxS\'
        - 'C:\Windows\uus\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenameends_with
  • \secur32.dll
  • \tdh.dll
field:"TargetFilename" kind:ends_with

Exclusions

The rule actively suppresses these predicates.

HackTool - SharpImpersonation Execution

#
Status
test
Severity
high
Author
Sai Prashanth Pulisetti @pulisettis, Nasreddine Bencherchali (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects execution of the SharpImpersonation tool. Which can be used to manipulate tokens on a Windows computers remotely (PsExec/WmiExec) or interactively

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: HackTool - SharpImpersonation Execution
id: f89b08d0-77ad-4728-817b-9b16c5a69c7a
related:
    - id: cf0c254b-22f1-4b2b-8221-e137b3c0af94
      type: similar
status: test
description: Detects execution of the SharpImpersonation tool. Which can be used to manipulate tokens on a Windows computers remotely (PsExec/WmiExec) or interactively
references:
    - https://s3cur3th1ssh1t.github.io/SharpImpersonation-Introduction/
    - https://github.com/S3cur3Th1sSh1t/SharpImpersonation
author: Sai Prashanth Pulisetti @pulisettis, Nasreddine Bencherchali (Nextron Systems)
date: 2022-12-27
modified: 2023-02-13
tags:
    - attack.privilege-escalation
    - attack.stealth
    - attack.t1134.001
    - attack.t1134.003
logsource:
    product: windows
    category: process_creation
detection:
    selection_img:
        - Image|endswith: '\SharpImpersonation.exe'
        - OriginalFileName: 'SharpImpersonation.exe'
    selection_cli:
        - CommandLine|contains|all:
              - ' user:'
              - ' binary:'
        - CommandLine|contains|all:
              - ' user:'
              - ' shellcode:'
        - CommandLine|contains:
              - ' technique:CreateProcessAsUserW'
              - ' technique:ImpersonateLoggedOnuser'
    condition: 1 of selection_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    - CommandLine|contains|all:
          - ' user:'
          - ' binary:'
    - CommandLine|contains|all:
          - ' user:'
          - ' shellcode:'
    - CommandLine|contains:
          - ' technique:CreateProcessAsUserW'
          - ' technique:ImpersonateLoggedOnuser'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • binary:
  • shellcode:
  • technique:CreateProcessAsUserW
  • technique:ImpersonateLoggedOnuser
  • user:
field:"CommandLine" kind:match
Imageends_with
  • \SharpImpersonation.exe
field:"Image" kind:ends_with value:"\SharpImpersonation.exe"
OriginalFileNameeq
  • SharpImpersonation.exe
field:"OriginalFileName" kind:eq value:"SharpImpersonation.exe"

macOS Network Share Access

#
Status
experimental
Severity
medium
Author
Eric Brown - Nebulock, Inc.
Source
github.com/Nebulock-Inc/macos-coresigma

Detects mounting of network shares (SMB, AFP, NFS) which may indicate lateral movement attempts or access to shared resources on other systems. Adversaries may mount network shares to access files or move laterally.

Known False Positives

  • Legitimate network share access for file sharing
  • Automated backup systems accessing network storage
  • Enterprise applications using network file systems

MITRE ATT&CK Coverage

Rule Body

title: macOS Network Share Access
id: 7e7b928d-44fa-405e-a33d-29e6b09628f0
status: experimental
description: 'Detects mounting of network shares (SMB, AFP, NFS) which may indicate
  lateral

  movement attempts or access to shared resources on other systems. Adversaries

  may mount network shares to access files or move laterally.

  '
author: Eric Brown - Nebulock, Inc.
date: 2025/10/31
modified: 2025/10/31
references:
- https://attack.mitre.org/techniques/T1021/002/
- https://attack.mitre.org/techniques/T1039/
logsource:
  product: macos
  service: endpointsecurity
detection:
  selection_event:
    esf.event_type: 9
    event.action: exec
  selection_process:
    Image|endswith:
    - /mount
    - /mount_smbfs
    - /mount_afp
    - /mount_nfs
  condition: selection_event and selection_process
falsepositives:
- Legitimate network share access for file sharing
- Automated backup systems accessing network storage
- Enterprise applications using network file systems
fields:
- Image
- CommandLine
- ProcessId
- ParentProcessId
- User
tags:
- attack.lateral_movement
- attack.t1021.002
- attack.t1039
level: medium

Stages and Predicates

Stage 0: condition

selection_event and selection_process

Stage 1: selection_event

selection_event:
  esf.event_type: 9
  event.action: exec

Stage 2: selection_process

selection_process:
  Image|endswith:
  - /mount
  - /mount_smbfs
  - /mount_afp
  - /mount_nfs

Indicators

These rows show field, operator, and value matches.

Mimikatz driver registration (Reg via Sysmon)

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

Detects scenarios where an attacker installs the Mimikatz driver to bypass the LSA protected mode (RunAsPPL) and dump LSASS process content.

Known False Positives

  • None

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Mimikatz driver registration (Reg via Sysmon)
description: Detects scenarios where an attacker installs the Mimikatz driver to bypass the LSA protected mode (RunAsPPL) and dump LSASS process content.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0003-Persistence/T1543.003-Create%20or%20Modify%20System%20Process-Windows%20Service
- https://posts.specterops.io/mimidrv-in-depth-4d273d19e148?gi=a5033fbeb71d
- https://gorkemkaradeniz.medium.com/defeating-runasppl-utilizing-vulnerable-drivers-to-read-lsass-with-mimikatz-28f4b50b1de5
tags:
- attack.privilege_escalation
- attack.t1543.003
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: registry_event
detection:
  selection:
    TargetObject|startswith: 'HKLM\System\CurrentControlSet\Services\mimidrv'
  condition: selection
falsepositives:
- None
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  TargetObject|startswith: 'HKLM\System\CurrentControlSet\Services\mimidrv'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectstarts_with
  • HKLM\System\CurrentControlSet\Services\mimidrv
field:"TargetObject" kind:starts_with value:"HKLM\System\CurrentControlSet\Services\mimidrv"

Mint Sandstorm - Log4J Wstomcat Process Execution

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

Detects Log4J Wstomcat process execution as seen in Mint Sandstorm activity

MITRE ATT&CK Coverage

TacticTechniques
ExecutionNo specific technique

Telemetry Coverage

Rule Body

title: Mint Sandstorm - Log4J Wstomcat Process Execution
id: 7c97c625-0350-4f0a-8943-f6cadc88125e
status: test
description: Detects Log4J Wstomcat process execution as seen in Mint Sandstorm activity
references:
    - https://www.microsoft.com/en-us/security/blog/2023/04/18/nation-state-threat-actor-mint-sandstorm-refines-tradecraft-to-attack-high-value-targets/
author: Nasreddine Bencherchali (Nextron Systems), MSTIC (idea)
date: 2023-04-20
modified: 2023-11-29
tags:
    - attack.execution
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: '\ws_tomcatservice.exe'
    filter_main_repadmin:
        Image|endswith: '\repadmin.exe'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

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

Stage 2: not filter_main_repadmin

filter_main_repadmin:
    Image|endswith: '\repadmin.exe'

Indicators

These rows show field, operator, and value matches.

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

Exclusions

The rule actively suppresses these predicates.

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

NetSupport Manager Service Install

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

Detects NetSupport Manager service installation on the target system.

Known False Positives

  • Legitimate use of the tool

MITRE ATT&CK Coverage

TacticTechniques
PersistenceNo specific technique

Telemetry Coverage

Rule Body

title: NetSupport Manager Service Install
id: 2d510d8d-912b-45c5-b1df-36faa3d8c3f4
status: test
description: Detects NetSupport Manager service installation on the target system.
references:
    - http://resources.netsupportsoftware.com/resources/manualpdfs/nsm_manual_uk.pdf
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-10-31
tags:
    - attack.persistence
logsource:
    product: windows
    service: system
detection:
    # Example:
    #   <EventData>
    #       <Data Name="ServiceName">Client32</Data>
    #       <Data Name="ImagePath">"C:\Program Files (x86)\NetSupport\NetSupport Manager\client32.exe" /* *</Data>
    #       <Data Name="ServiceType">user mode service</Data>
    #       <Data Name="StartType">auto start</Data>
    #       <Data Name="AccountName">LocalSystem</Data>
    #   </EventData>
    selection_root:
        Provider_Name: 'Service Control Manager'
        EventID: 7045
    selection_service:
        - ImagePath|contains: '\NetSupport Manager\client32.exe'
        - ServiceName: 'Client32'
    condition: all of selection_*
falsepositives:
    - Legitimate use of the tool
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_root

selection_root:
    Provider_Name: 'Service Control Manager'
    EventID: 7045

Stage 2: selection_service

selection_service:
    - ImagePath|contains: '\NetSupport Manager\client32.exe'
    - ServiceName: 'Client32'

Indicators

These rows show field, operator, and value matches.

Obfuscated IP Download Activity

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

Detects use of an encoded/obfuscated version of an IP address (hex, octal...) in an URL combined with a download command

MITRE ATT&CK Coverage

TacticTechniques
DiscoveryNo specific technique

Telemetry Coverage

Rule Body

title: Obfuscated IP Download Activity
id: cb5a2333-56cf-4562-8fcb-22ba1bca728d
status: test
description: Detects use of an encoded/obfuscated version of an IP address (hex, octal...) in an URL combined with a download command
references:
    - https://h.43z.one/ipconverter/
    - https://twitter.com/Yasser_Elsnbary/status/1553804135354564608
    - https://twitter.com/fr0s7_/status/1712780207105404948
author: Florian Roth (Nextron Systems), X__Junior (Nextron Systems)
date: 2022-08-03
modified: 2026-03-16
tags:
    - attack.discovery
logsource:
    category: process_creation
    product: windows
detection:
    selection_command:
        CommandLine|contains:
            - 'Invoke-WebRequest'
            - 'iwr '
            - 'Invoke-RestMethod'
            - 'irm '
            - 'wget '
            - 'curl '
            - 'DownloadFile'
            - 'DownloadString'
    selection_ip_1:
        CommandLine|contains:
            - ' 0x'
            - '//0x'
            - '.0x'
            - '.00x'
    selection_ip_2:
        CommandLine|contains|all:
            - 'http://%'
            - '%2e'
    selection_ip_3:
        # http://81.4.31754
        - CommandLine|re: 'https?://[0-9]{1,3}\.[0-9]{1,3}\.0[0-9]{3,4}'
        # http://81.293898
        - CommandLine|re: 'https?://[0-9]{1,3}\.0[0-9]{3,7}'
        # http://1359248394
        - CommandLine|re: 'https?://0[0-9]{3,11}'
        # http://0121.04.0174.012
        - CommandLine|re: 'https?://(?:0[0-9]{1,11}\.){3}0[0-9]{1,11}'
        # http://012101076012
        - CommandLine|re: 'https?://0[0-9]{1,11}'
        # For octal format
        - CommandLine|re: ' [0-7]{7,13}'
    filter_main_valid_ip:
        CommandLine|re: 'https?://(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)(?:\.|\b)){4}'
    condition: selection_command and 1 of selection_ip_* and not 1 of filter_main_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection_command and 1 of selection_ip_* and not 1 of filter_main_*

Stage 1: selection_command

selection_command:
    CommandLine|contains:
        - 'Invoke-WebRequest'
        - 'iwr '
        - 'Invoke-RestMethod'
        - 'irm '
        - 'wget '
        - 'curl '
        - 'DownloadFile'
        - 'DownloadString'

Stage 2: selection_ip_1

selection_ip_1:
    CommandLine|contains:
        - ' 0x'
        - '//0x'
        - '.0x'
        - '.00x'

Stage 3: selection_ip_2

selection_ip_2:
    CommandLine|contains|all:
        - 'http://%'
        - '%2e'

Stage 4: selection_ip_3

selection_ip_3:
    - CommandLine|re: 'https?://[0-9]{1,3}\.[0-9]{1,3}\.0[0-9]{3,4}'
    - CommandLine|re: 'https?://[0-9]{1,3}\.0[0-9]{3,7}'
    - CommandLine|re: 'https?://0[0-9]{3,11}'
    - CommandLine|re: 'https?://(?:0[0-9]{1,11}\.){3}0[0-9]{1,11}'
    - CommandLine|re: 'https?://0[0-9]{1,11}'
    - CommandLine|re: ' [0-7]{7,13}'

Stage 5: not filter_main_valid_ip

filter_main_valid_ip:
    CommandLine|re: 'https?://(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)(?:\.|\b)){4}'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • 0x corpus 2 (sigma 2)
  • %2e corpus 2 (sigma 2)
  • .00x corpus 2 (sigma 2)
  • .0x corpus 2 (sigma 2)
  • //0x corpus 2 (sigma 2)
  • DownloadFile corpus 5 (sigma 4, elastic 1)
  • DownloadString corpus 8 (sigma 7, elastic 1)
  • Invoke-RestMethod corpus 5 (sigma 5)
  • Invoke-WebRequest corpus 13 (sigma 10, elastic 3)
  • curl corpus 11 (sigma 11)
  • http://% corpus 2 (sigma 2)
  • irm corpus 5 (sigma 5)
  • iwr corpus 11 (sigma 11)
  • wget corpus 7 (sigma 7)
field:"CommandLine" kind:match
CommandLineregex_match
  • [0-7]{7,13} corpus 2 (sigma 2)
  • https?://(?:0[0-9]{1,11}.){3}0[0-9]{1,11} corpus 2 (sigma 2)
  • https?://0[0-9]{1,11} corpus 2 (sigma 2)
  • https?://0[0-9]{3,11} corpus 2 (sigma 2)
  • https?://[0-9]{1,3}.0[0-9]{3,7} corpus 2 (sigma 2)
  • https?://[0-9]{1,3}.[0-9]{1,3}.0[0-9]{3,4} corpus 2 (sigma 2)
field:"CommandLine" kind:regex_match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLineregex_matchhttps?://(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)(?:.|\b)){4}excludes:CommandLine field:"CommandLine" value:"https?://(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)(?:.|\b)){4}"

Okta Suspicious Activity Reported by End-user

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

Detects when an Okta end-user reports activity by their account as being potentially suspicious.

Known False Positives

  • If an end-user incorrectly identifies normal activity as suspicious.

MITRE ATT&CK Coverage

TacticTechniques
Resource Development

Telemetry Coverage

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: Okta Suspicious Activity Reported by End-user
id: 07e97cc6-aed1-43ae-9081-b3470d2367f1
status: test
description: Detects when an Okta end-user reports activity by their account as being potentially suspicious.
references:
    - https://developer.okta.com/docs/reference/api/system-log/
    - https://github.com/okta/workflows-templates/blob/1164f0eb71ce47c9ddc7d850e9ab87b5a2b42333/workflows/suspicious_activity_reported/readme.md
author: kelnage
date: 2023-09-07
modified: 2026-04-27
tags:
    - attack.resource-development
    - attack.t1586.003
logsource:
    product: okta
    service: okta
detection:
    selection:
        eventType: 'user.account.report_suspicious_activity_by_enduser'
    condition: selection
falsepositives:
    - If an end-user incorrectly identifies normal activity as suspicious.
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    eventType: 'user.account.report_suspicious_activity_by_enduser'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
eventTypeeq
  • user.account.report_suspicious_activity_by_enduser corpus 2 (sigma 1, splunk 1)
field:"eventType" kind:eq value:"user.account.report_suspicious_activity_by_enduser"

OS Architecture Discovery Via Grep

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

Detects the use of grep to identify information about the operating system architecture. Often combined beforehand with the execution of "uname" or "cat /proc/cpuinfo"

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: OS Architecture Discovery Via Grep
id: d27ab432-2199-483f-a297-03633c05bae6
status: test
description: |
    Detects the use of grep to identify information about the operating system architecture. Often combined beforehand with the execution of "uname" or "cat /proc/cpuinfo"
references:
    - https://blogs.jpcert.or.jp/en/2023/05/gobrat.html
    - https://jstnk9.github.io/jstnk9/research/GobRAT-Malware/
    - https://www.virustotal.com/gui/file/60bcd645450e4c846238cf0e7226dc40c84c96eba99f6b2cffcd0ab4a391c8b3/detection
    - https://www.virustotal.com/gui/file/3e44c807a25a56f4068b5b8186eee5002eed6f26d665a8b791c472ad154585d1/detection
author: Joseliyo Sanchez, @Joseliyo_Jstnk
date: 2023-06-02
tags:
    - attack.discovery
    - attack.t1082
logsource:
    category: process_creation
    product: linux
detection:
    selection_process:
        Image|endswith: '/grep'
    selection_architecture:
        CommandLine|endswith:
            - 'aarch64'
            - 'arm'
            - 'i386'
            - 'i686'
            - 'mips'
            - 'x86_64'
    condition: all of selection_*
falsepositives:
    - Unknown
level: low

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_process

selection_process:
    Image|endswith: '/grep'

Stage 2: selection_architecture

selection_architecture:
    CommandLine|endswith:
        - 'aarch64'
        - 'arm'
        - 'i386'
        - 'i686'
        - 'mips'
        - 'x86_64'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLineends_with
  • aarch64
  • arm
  • i386
  • i686
  • mips
  • x86_64
field:"CommandLine" kind:ends_with
Imageends_with
  • /grep corpus 7 (sigma 7)
field:"Image" kind:ends_with value:"/grep"

Potential AD User Enumeration From Non-Machine Account

#
Status
test
Severity
medium
Author
Maxime Thiebaut (@0xThiebaut)
Source
github.com/SigmaHQ/sigma

Detects read access to a domain user from a non-machine account

Known False Positives

  • Administrators configuring new users.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Potential AD User Enumeration From Non-Machine Account
id: ab6bffca-beff-4baa-af11-6733f296d57a
status: test
description: Detects read access to a domain user from a non-machine account
references:
    - https://www.specterops.io/assets/resources/an_ace_up_the_sleeve.pdf
    - http://www.stuffithoughtiknew.com/2019/02/detecting-bloodhound.html
    - https://learn.microsoft.com/en-us/windows/win32/adschema/attributes-all # For further investigation of the accessed properties
    - https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-4662
author: Maxime Thiebaut (@0xThiebaut)
date: 2020-03-30
modified: 2022-11-08
tags:
    - attack.discovery
    - attack.t1087.002
logsource:
    product: windows
    service: security
    definition: 'Requirements: The "Read all properties" permission on the user object needs to be audited for the "Everyone" principal'
detection:
    selection:
        EventID: 4662
        # Using contains as the data commonly is structured as "%{bf967aba-0de6-11d0-a285-00aa003049e2}"
        # The user class (https://learn.microsoft.com/en-us/windows/win32/adschema/c-user)
        ObjectType|contains: 'bf967aba-0de6-11d0-a285-00aa003049e2'
        AccessMask|endswith:
            # Note: Since the Access Mask can have more than once permission we need to add all permutations that include the READ property
            - '1?' # This covers all access masks that are 1 bytes or shorter and the "Read Property" itself
            - '3?' # Read Property + Write Property
            - '4?' # Read Property + Delete Tree
            - '7?' # Read Property + Write Property + Delete Tree
            - '9?' # Read Property + List Object
            - 'B?' # Read Property + Write Property + List Object
            - 'D?' # Read Property + Delete Tree + List Object
            - 'F?' # Covers usage of all possible 2 bytes permissions with any or none of the single byte permissions
    filter_main_machine_accounts:
        SubjectUserName|endswith: '$' # Exclude machine accounts
    filter_main_msql:
        SubjectUserName|startswith: 'MSOL_' # https://learn.microsoft.com/en-us/azure/active-directory/hybrid/reference-connect-accounts-permissions#ad-ds-connector-account
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Administrators configuring new users.
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    EventID: 4662
    ObjectType|contains: 'bf967aba-0de6-11d0-a285-00aa003049e2'
    AccessMask|endswith:
        - '1?'
        - '3?'
        - '4?'
        - '7?'
        - '9?'
        - 'B?'
        - 'D?'
        - 'F?'

Stage 2: not filter_main_*

filter_main_machine_accounts:
    SubjectUserName|endswith: '$'
filter_main_msql:
    SubjectUserName|startswith: 'MSOL_'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
AccessMaskends_with
  • 1?
  • 3?
  • 4?
  • 7?
  • 9?
  • B?
  • D?
  • F?
field:"AccessMask" kind:ends_with
ObjectTypematch
  • bf967aba-0de6-11d0-a285-00aa003049e2
field:"ObjectType" kind:match value:"bf967aba-0de6-11d0-a285-00aa003049e2"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
SubjectUserNameends_with$excludes:SubjectUserName field:"SubjectUserName" value:"$"
SubjectUserNamestarts_withMSOL_excludes:SubjectUserName field:"SubjectUserName" value:"MSOL_"

Potential Arbitrary DLL Load Using Winword

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

Detects potential DLL sideloading using the Microsoft Office winword process via the '/l' flag.

MITRE ATT&CK Coverage

TacticTechniques
Stealth

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potential Arbitrary DLL Load Using Winword
id: f7375e28-5c14-432f-b8d1-1db26c832df3
related:
    - id: 2621b3a6-3840-4810-ac14-a02426086171
      type: obsolete
status: test
description: Detects potential DLL sideloading using the Microsoft Office winword process via the '/l' flag.
references:
    - https://github.com/D4Vinci/One-Lin3r/blob/9fdfa5f0b9c698dfbd4cdfe7d2473192777ae1c6/one_lin3r/core/liners/windows/cmd/dll_loader_word.py
author: Victor Sergeev, oscd.community
date: 2020-10-09
modified: 2023-03-29
tags:
    - attack.stealth
    - attack.t1202
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\WINWORD.exe'
        - OriginalFileName: 'WinWord.exe'
    selection_dll:
        CommandLine|contains|all:
            - '/l '
            - '.dll'
    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: '\WINWORD.exe'
    - OriginalFileName: 'WinWord.exe'

Stage 2: selection_dll

selection_dll:
    CommandLine|contains|all:
        - '/l '
        - '.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • .dll corpus 16 (sigma 16)
  • /l
field:"CommandLine" kind:match
Imageends_with
  • \WINWORD.exe corpus 17 (sigma 17)
field:"Image" kind:ends_with value:"\WINWORD.exe"
OriginalFileNameeq
  • WinWord.exe corpus 6 (sigma 4, elastic 2)
field:"OriginalFileName" kind:eq value:"WinWord.exe"

Potential CVE-2021-41379 Exploitation Attempt

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

Detects potential exploitation attempts of CVE-2021-41379 (InstallerFileTakeOver), a local privilege escalation (LPE) vulnerability where the attacker spawns a "cmd.exe" process as a child of Microsoft Edge elevation service "elevation_service" with "LOCAL_SYSTEM" rights

MITRE ATT&CK Coverage

TacticTechniques
Privilege Escalation

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potential CVE-2021-41379 Exploitation Attempt
id: af8bbce4-f751-46b4-8d91-82a33a736f61
status: test
description: Detects potential exploitation attempts of CVE-2021-41379 (InstallerFileTakeOver), a local privilege escalation (LPE) vulnerability where the attacker spawns a "cmd.exe" process as a child of Microsoft Edge elevation service "elevation_service" with "LOCAL_SYSTEM" rights
references:
    - https://web.archive.org/web/20220421061949/https://github.com/klinix5/InstallerFileTakeOver
    - https://www.bleepingcomputer.com/news/microsoft/new-windows-zero-day-with-public-exploit-lets-you-become-an-admin/
    - https://www.zerodayinitiative.com/advisories/ZDI-21-1308/
    - https://www.logpoint.com/en/blog/detecting-privilege-escalation-zero-day-cve-2021-41379/
author: Florian Roth (Nextron Systems)
date: 2021-11-22
modified: 2024-12-01
tags:
    - attack.privilege-escalation
    - attack.t1068
    - cve.2021-41379
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith:
              - '\cmd.exe'
              - '\powershell.exe'
              - '\pwsh.exe'
        - OriginalFileName:
              - 'Cmd.Exe'
              - 'PowerShell.EXE'
              - 'pwsh.dll'
    selection_parent:
        ParentImage|endswith: '\elevation_service.exe'
        IntegrityLevel:
            - 'System'
            - 'S-1-16-16384' # System
    condition: all of selection_*
falsepositives:
    - Unknown
level: critical

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_parent

selection_parent:
    ParentImage|endswith: '\elevation_service.exe'
    IntegrityLevel:
        - 'System'
        - 'S-1-16-16384'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \cmd.exe corpus 132 (sigma 130, splunk 2)
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \pwsh.exe corpus 166 (sigma 166)
field:"Image" kind:ends_with
IntegrityLeveleq
  • S-1-16-16384 corpus 31 (sigma 22, splunk 5, elastic 3, kusto 1)
  • System corpus 31 (sigma 22, splunk 5, elastic 3, kusto 1)
field:"IntegrityLevel" kind:eq
OriginalFileNameeq
  • Cmd.Exe corpus 75 (sigma 43, splunk 17, elastic 15)
  • PowerShell.EXE corpus 134 (sigma 86, splunk 30, elastic 18)
  • pwsh.dll corpus 115 (sigma 81, splunk 30, elastic 4)
field:"OriginalFileName" kind:eq
ParentImageends_with
  • \elevation_service.exe
field:"ParentImage" kind:ends_with value:"\elevation_service.exe"

Potential RCE Exploitation Attempt In NodeJS

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

Detects process execution related errors in NodeJS. If the exceptions are caused due to user input then they may suggest an RCE vulnerability.

Known False Positives

  • Puppeteer invocation exceptions often contain child_process related errors, that doesn't necessarily mean that the app is vulnerable.

MITRE ATT&CK Coverage

TacticTechniques
Initial Access

Rule Body

title: Potential RCE Exploitation Attempt In NodeJS
id: 97661d9d-2beb-4630-b423-68985291a8af
status: test
description: Detects process execution related errors in NodeJS. If the exceptions are caused due to user input then they may suggest an RCE vulnerability.
references:
    - https://www.wix.engineering/post/threat-and-vulnerability-hunting-with-application-server-error-logs
author: Moti Harmats
date: 2023-02-11
tags:
    - attack.initial-access
    - attack.t1190
logsource:
    category: application
    product: nodejs
    definition: 'Requirements: application error logs must be collected (with LOG_LEVEL=ERROR and above)'
detection:
    keywords:
        - 'node:child_process'
    condition: keywords
falsepositives:
    - Puppeteer invocation exceptions often contain child_process related errors, that doesn't necessarily mean that the app is vulnerable.
level: high

Stages and Predicates

Stage 0: condition

keywords

Stage 1: keywords

keywords:
    - 'node:child_process'

Potential SolidPDFCreator.DLL Sideloading

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

Detects potential DLL sideloading of "SolidPDFCreator.dll"

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: Potential SolidPDFCreator.DLL Sideloading
id: a2edbce1-95c8-4291-8676-0d45146862b3
status: test
description: Detects potential DLL sideloading of "SolidPDFCreator.dll"
references:
    - https://lab52.io/blog/new-mustang-pandas-campaing-against-australia/
author: X__Junior (Nextron Systems)
date: 2023-05-07
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.execution
    - attack.stealth
    - attack.t1574.001
logsource:
    category: image_load
    product: windows
detection:
    selection:
        ImageLoaded|endswith: '\SolidPDFCreator.dll'
    filter_main_path:
        Image|endswith: '\SolidPDFCreator.exe'
        ImageLoaded|startswith:
            - 'C:\Program Files (x86)\SolidDocuments\SolidPDFCreator\'
            - 'C:\Program Files\SolidDocuments\SolidPDFCreator\'
    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:
    ImageLoaded|endswith: '\SolidPDFCreator.dll'

Stage 2: not filter_main_path

filter_main_path:
    Image|endswith: '\SolidPDFCreator.exe'
    ImageLoaded|startswith:
        - 'C:\Program Files (x86)\SolidDocuments\SolidPDFCreator\'
        - 'C:\Program Files\SolidDocuments\SolidPDFCreator\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ImageLoadedends_with
  • \SolidPDFCreator.dll
field:"ImageLoaded" kind:ends_with value:"\SolidPDFCreator.dll"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ImageLoadedstarts_withC:\Program Files (x86)\SolidDocuments\SolidPDFCreator\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files (x86)\SolidDocuments\SolidPDFCreator\"
ImageLoadedstarts_withC:\Program Files\SolidDocuments\SolidPDFCreator\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Program Files\SolidDocuments\SolidPDFCreator\"
Imageends_with\SolidPDFCreator.exeexcludes:Image field:"Image" value:"\SolidPDFCreator.exe"

PowerShell Web Access Installation - PsScript

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

Detects the installation and configuration of PowerShell Web Access, which could be used for remote access and potential abuse

Known False Positives

  • Legitimate PowerShell Web Access installations by administrators

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: PowerShell Web Access Installation - PsScript
id: 5f9c7f1a-7c21-4c39-b2f3-8d8006e0e51f
status: test
description: Detects the installation and configuration of PowerShell Web Access, which could be used for remote access and potential abuse
references:
    - https://docs.microsoft.com/en-us/powershell/module/powershellwebaccess/install-pswawebapplication
    - https://www.cisa.gov/news-events/cybersecurity-advisories/aa24-241a
    - https://gist.github.com/MHaggis/7e67b659af9148fa593cf2402edebb41
author: Michael Haag
date: 2024-09-03
tags:
    - attack.persistence
    - attack.execution
    - attack.t1059.001
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection_install:
        ScriptBlockText|contains: 'Install-WindowsFeature WindowsPowerShellWebAccess'
    selection_config:
        ScriptBlockText|contains: 'Install-PswaWebApplication'
    selection_auth:
        ScriptBlockText|contains|all:
            - 'Add-PswaAuthorizationRule'
            - '-UserName *'
            - '-ComputerName *'
    condition: 1 of selection_*
falsepositives:
    - Legitimate PowerShell Web Access installations by administrators
level: high

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_install

selection_install:
    ScriptBlockText|contains: 'Install-WindowsFeature WindowsPowerShellWebAccess'

Stage 2: selection_config

selection_config:
    ScriptBlockText|contains: 'Install-PswaWebApplication'

Stage 3: selection_auth

selection_auth:
    ScriptBlockText|contains|all:
        - 'Add-PswaAuthorizationRule'
        - '-UserName *'
        - '-ComputerName *'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • -ComputerName * corpus 3 (sigma 3)
  • -UserName *
  • Add-PswaAuthorizationRule
  • Install-PswaWebApplication
  • Install-WindowsFeature WindowsPowerShellWebAccess
field:"ScriptBlockText" kind:match

Register new Logon Process by Rubeus

#
Status
test
Severity
high
Author
Roberto Rodriguez (source), Ilyas Ochkov (rule), oscd.community
Source
github.com/SigmaHQ/sigma

Detects potential use of Rubeus via registered new trusted logon process

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Register new Logon Process by Rubeus
id: 12e6d621-194f-4f59-90cc-1959e21e69f7
status: test
description: Detects potential use of Rubeus via registered new trusted logon process
references:
    - https://posts.specterops.io/hunting-in-active-directory-unconstrained-delegation-forests-trusts-71f2b33688e1
author: Roberto Rodriguez (source), Ilyas Ochkov (rule), oscd.community
date: 2019-10-24
modified: 2022-10-09
tags:
    - attack.lateral-movement
    - attack.privilege-escalation
    - attack.credential-access
    - attack.t1558.003
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID: 4611
        LogonProcessName: 'User32LogonProcesss'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 4611
    LogonProcessName: 'User32LogonProcesss'

Indicators

These rows show field, operator, and value matches.

Remote Thread Created In Shell Application

#
Status
test
Severity
medium
Author
Splunk Research Team
Source
github.com/SigmaHQ/sigma

Detects remote thread creation in command shell applications, such as "Cmd.EXE" and "PowerShell.EXE". It is a common technique used by malware, such as IcedID, to inject malicious code and execute it within legitimate processes.

MITRE ATT&CK Coverage

TacticTechniques
Privilege Escalation
Stealth

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 8: CreateRemoteThread

Rule Body

title: Remote Thread Created In Shell Application
id: a9d4d3fa-8fc0-41bc-80b1-30b9fda79d6f
status: test
description: |
    Detects remote thread creation in command shell applications, such as "Cmd.EXE" and "PowerShell.EXE".
    It is a common technique used by malware, such as IcedID, to inject malicious code and execute it within legitimate processes.
references:
    - https://research.splunk.com/endpoint/10399c1e-f51e-11eb-b920-acde48001122/
    - https://www.binarydefense.com/resources/blog/icedid-gziploader-analysis/
author: Splunk Research Team
date: 2024-07-29
modified: 2025-07-04
tags:
    - attack.privilege-escalation
    - attack.stealth
    - attack.t1055
    - detection.threat-hunting
logsource:
    product: windows
    category: create_remote_thread
detection:
    selection:
        TargetImage|endswith:
            - '\cmd.exe'
            - '\powershell.exe'
            - '\pwsh.exe'
    filter_main_system:
        SourceImage|startswith:
            - 'C:\Windows\System32\'
            - 'C:\Windows\SysWOW64\'
            - 'C:\Program Files (x86)\'
            - 'C:\Program Files\'
    filter_optional_defender:
        SourceImage|endswith: '\MsMpEng.exe'
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

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

Stage 1: selection

selection:
    TargetImage|endswith:
        - '\cmd.exe'
        - '\powershell.exe'
        - '\pwsh.exe'

Stage 2: not filter_main_system

filter_main_system:
    SourceImage|startswith:
        - 'C:\Windows\System32\'
        - 'C:\Windows\SysWOW64\'
        - 'C:\Program Files (x86)\'
        - 'C:\Program Files\'

Stage 3: not filter_optional_defender

filter_optional_defender:
    SourceImage|endswith: '\MsMpEng.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetImageends_with
  • \cmd.exe
  • \powershell.exe
  • \pwsh.exe
field:"TargetImage" kind:ends_with

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
SourceImagestarts_withC:\Program Files (x86)\excludes:SourceImage field:"SourceImage" value:"C:\Program Files (x86)\"
SourceImagestarts_withC:\Program Files\excludes:SourceImage field:"SourceImage" value:"C:\Program Files\"
SourceImagestarts_withC:\Windows\SysWOW64\excludes:SourceImage field:"SourceImage" value:"C:\Windows\SysWOW64\"
SourceImagestarts_withC:\Windows\System32\excludes:SourceImage field:"SourceImage" value:"C:\Windows\System32\"
SourceImageends_with\MsMpEng.exeexcludes:SourceImage field:"SourceImage" value:"\MsMpEng.exe"

Remote Thread Creation Ttdinject.exe Proxy

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

Detects a remote thread creation of Ttdinject.exe used as proxy

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 8: CreateRemoteThread

Rule Body

title: Remote Thread Creation Ttdinject.exe Proxy
id: c15e99a3-c474-48ab-b9a7-84549a7a9d16
status: test
description: Detects a remote thread creation of Ttdinject.exe used as proxy
references:
    - https://lolbas-project.github.io/lolbas/Binaries/Ttdinject/
author: frack113
date: 2022-05-16
modified: 2022-06-02
tags:
    - attack.execution
    - attack.stealth
    - attack.t1127
logsource:
    product: windows
    category: create_remote_thread
detection:
    selection:
        SourceImage|endswith: '\ttdinject.exe'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    SourceImage|endswith: '\ttdinject.exe'

Indicators

These rows show field, operator, and value matches.

Split A File Into Pieces

#
Status
test
Severity
low
Author
Igor Fits, Mikhail Larin, oscd.community
Source
github.com/SigmaHQ/sigma

Detection use of the command "split" to split files into parts and possible transfer.

Known False Positives

  • Legitimate administrative activity

MITRE ATT&CK Coverage

TacticTechniques
Exfiltration

Telemetry Coverage

Rule Body

title: Split A File Into Pieces
id: 7f2bb9d5-6395-4de5-969c-70c11fbe6b12
status: test
description: Detection use of the command "split" to split files into parts and possible transfer.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1030/T1030.md
author: 'Igor Fits, Mikhail Larin, oscd.community'
date: 2020-10-15
modified: 2021-11-27
tags:
    - attack.exfiltration
    - attack.t1030
logsource:
    product: macos
    category: process_creation
detection:
    selection:
        Image|endswith: '/split'
    condition: selection
falsepositives:
    - Legitimate administrative activity
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '/split'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • /split
field:"Image" kind:ends_with value:"/split"

Stickey key called CMD via command execution

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

Detects scenarios where an attacker calls the stickey key and execute CMD.

Known False Positives

  • None

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Stickey key called CMD via command execution
description: Detects scenarios where an attacker calls the stickey key and execute CMD.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0004-Privilege%20Escalation/T1546-Image%20File%20Execution%20Options%20Injection
- https://blogs.technet.microsoft.com/jonathantrull/2016/10/03/detecting-sticky-key-backdoors/
- https://www.mandiant.com/resources/apt29-domain-frontin
- https://www.clearskysec.com/wp-content/uploads/2020/02/ClearSky-Fox-Kitten-Campaign-v1.pdf
- https://blog.talosintelligence.com/2022/08/recent-cyber-attack.html?m=1
tags:
- attack.privilege_escalation
- attack.t1546.008
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: process_creation
detection:
  selection_process:
    EventID: 4688
    Version: 2  # parent process name is available starting Windows 10 / Server 2016 and higher
    ParentProcessName|endswith: \winlogon.exe

  selection_sysmon:
    EventID: 1
    ParentImage|endswith: \winlogon.exe

  selection_command_line:
    CommandLine|contains: cmd
    CommandLine|contains:
      - sethc.exe
      - utilman.exe
      - osk.exe
      - Magnify.exe
      - Narrator.exe
      - DisplaySwitch.exe
  condition: (selection_process or selection_sysmon) and selection_command_line
falsepositives:
- None
level: high

Stages and Predicates

Stage 0: condition

(selection_process or selection_sysmon) and selection_command_line

Stage 1: selection_process

selection_process:
  EventID: 4688
  Version: 2
  ParentProcessName|endswith: \winlogon.exe

Stage 2: selection_sysmon

selection_sysmon:
  EventID: 1
  ParentImage|endswith: \winlogon.exe

Stage 3: selection_command_line

selection_command_line:
  CommandLine|contains: cmd
  CommandLine|contains:
    - sethc.exe
    - utilman.exe
    - osk.exe
    - Magnify.exe
    - Narrator.exe
    - DisplaySwitch.exe

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • DisplaySwitch.exe corpus 3 (sigma 3)
  • Magnify.exe corpus 3 (sigma 3)
  • Narrator.exe corpus 3 (sigma 3)
  • osk.exe corpus 3 (sigma 3)
  • sethc.exe corpus 4 (sigma 4)
  • utilman.exe corpus 3 (sigma 3)
field:"CommandLine" kind:match
ParentImageends_with
  • \winlogon.exe corpus 5 (sigma 5)
field:"ParentImage" kind:ends_with value:"\winlogon.exe"
ParentProcessNameends_with
  • \winlogon.exe
field:"parent_process_name" kind:ends_with value:"\winlogon.exe"
Versioneq
  • 2 corpus 7 (sigma 7)
field:"Version" kind:eq value:"2"

Suspicious HH.EXE Execution

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

Detects a suspicious execution of a Microsoft HTML Help (HH.exe)

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Suspicious HH.EXE Execution
id: e8a95b5e-c891-46e2-b33a-93937d3abc31
status: test
description: Detects a suspicious execution of a Microsoft HTML Help (HH.exe)
references:
    - https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/chm-badness-delivers-a-banking-trojan/
    - https://github.com/elastic/protections-artifacts/commit/746086721fd385d9f5c6647cada1788db4aea95f#diff-27939090904026cc396b0b629c8e4314acd6f5dac40a676edbc87f4567b47eb7
    - https://www.ptsecurity.com/ww-en/analytics/pt-esc-threat-intelligence/higaisa-or-winnti-apt-41-backdoors-old-and-new/
    - https://www.zscaler.com/blogs/security-research/unintentional-leak-glimpse-attack-vectors-apt37
author: Maxim Pavlunin
date: 2020-04-01
modified: 2023-04-12
tags:
    - attack.execution
    - attack.initial-access
    - attack.stealth
    - attack.t1047
    - attack.t1059.001
    - attack.t1059.003
    - attack.t1059.005
    - attack.t1059.007
    - attack.t1218
    - attack.t1218.001
    - attack.t1218.010
    - attack.t1218.011
    - attack.t1566
    - attack.t1566.001
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - OriginalFileName: 'HH.exe'
        - Image|endswith: '\hh.exe'
    selection_paths:
        CommandLine|contains:
            - '.application'
            - '\AppData\Local\Temp\'
            - '\Content.Outlook\'
            - '\Downloads\'
            - '\Users\Public\'
            - '\Windows\Temp\'
            # - '\AppData\Local\Temp\Temp?_'
            # - '\AppData\Local\Temp\Rar$'
            # - '\AppData\Local\Temp\7z'
            # - '\AppData\Local\Temp\wz'
            # - '\AppData\Local\Temp\peazip-tmp'
    condition: all of selection_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    - OriginalFileName: 'HH.exe'
    - Image|endswith: '\hh.exe'

Stage 2: selection_paths

selection_paths:
    CommandLine|contains:
        - '.application'
        - '\AppData\Local\Temp\'
        - '\Content.Outlook\'
        - '\Downloads\'
        - '\Users\Public\'
        - '\Windows\Temp\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • .application
  • \AppData\Local\Temp\ corpus 28 (sigma 26, elastic 2)
  • \Content.Outlook\
  • \Downloads\ corpus 15 (sigma 14, elastic 1)
  • \Users\Public\ corpus 18 (sigma 17, elastic 1)
  • \Windows\Temp\ corpus 13 (sigma 12, elastic 1)
field:"CommandLine" kind:match
Imageends_with
  • \hh.exe corpus 15 (sigma 15)
field:"Image" kind:ends_with value:"\hh.exe"
OriginalFileNameeq
  • HH.exe corpus 11 (sigma 5, splunk 4, elastic 2)
field:"OriginalFileName" kind:eq value:"HH.exe"

Suspicious Sysmon as Execution Parent

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

Detects suspicious process executions in which Sysmon itself is the parent of a process, which could be a sign of exploitation (e.g. CVE-2022-41120)

MITRE ATT&CK Coverage

TacticTechniques
Privilege Escalation

Telemetry Coverage

Rule Body

title: Suspicious Sysmon as Execution Parent
id: 6d1058a4-407e-4f3a-a144-1968c11dc5c3
status: test
description: Detects suspicious process executions in which Sysmon itself is the parent of a process, which could be a sign of exploitation (e.g. CVE-2022-41120)
references:
    - https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-41120
    - https://twitter.com/filip_dragovic/status/1590052248260055041
    - https://twitter.com/filip_dragovic/status/1590104354727436290
author: Florian Roth (Nextron Systems), Tim Shelton (fp werfault)
date: 2022-11-10
modified: 2025-07-04
tags:
    - attack.privilege-escalation
    - attack.t1068
    - cve.2022-41120
    - detection.emerging-threats
logsource:
    product: windows
    category: process_creation
detection:
    selection:
        ParentImage|endswith:
            - '\Sysmon.exe'
            - '\Sysmon64.exe'
    filter_main_temp_sysmon:
        # C:\Users\ADMINI~1\AppData\Local\Temp\2\Sysmon.exe
        Image|startswith: 'C:\Users\'
        Image|contains: '\AppData\Local\Temp\'
        Image|endswith:
            - '\Sysmon.exe'
            - '\Sysmon64.exe'
    filter_main_generic:
        Image|contains:
            - ':\Windows\Sysmon.exe'
            - ':\Windows\Sysmon64.exe'
            - ':\Windows\System32\conhost.exe'
            - ':\Windows\System32\WerFault.exe' # When Sysmon crashes
            - ':\Windows\System32\WerFaultSecure.exe' # When Sysmon crashes
            - ':\Windows\System32\wevtutil.exe'
            - ':\Windows\SysWOW64\wevtutil.exe'
    filter_main_null:
        Image: null
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    ParentImage|endswith:
        - '\Sysmon.exe'
        - '\Sysmon64.exe'

Stage 2: not filter_main_*

filter_main_temp_sysmon:
    Image|startswith: 'C:\Users\'
    Image|contains: '\AppData\Local\Temp\'
    Image|endswith:
        - '\Sysmon.exe'
        - '\Sysmon64.exe'
filter_main_generic:
    Image|contains:
        - ':\Windows\Sysmon.exe'
        - ':\Windows\Sysmon64.exe'
        - ':\Windows\System32\conhost.exe'
        - ':\Windows\System32\WerFault.exe'
        - ':\Windows\System32\WerFaultSecure.exe'
        - ':\Windows\System32\wevtutil.exe'
        - ':\Windows\SysWOW64\wevtutil.exe'
filter_main_null:
    Image: null

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ParentImageends_with
  • \Sysmon.exe
  • \Sysmon64.exe
field:"ParentImage" kind:ends_with

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imageends_with\Sysmon.exeexcludes:Image field:"Image" value:"\Sysmon.exe"
Imageends_with\Sysmon64.exeexcludes:Image field:"Image" value:"\Sysmon64.exe"
Imagematch\AppData\Local\Temp\excludes:Image field:"Image" value:"\AppData\Local\Temp\"
Imagestarts_withC:\Users\excludes:Image field:"Image" value:"C:\Users\"
Imageis_null(no value, null check)excludes:Image
Imagematch:\Windows\SysWOW64\wevtutil.exeexcludes:Image field:"Image" value:":\Windows\SysWOW64\wevtutil.exe"
Imagematch:\Windows\Sysmon.exeexcludes:Image field:"Image" value:":\Windows\Sysmon.exe"
Imagematch:\Windows\Sysmon64.exeexcludes:Image field:"Image" value:":\Windows\Sysmon64.exe"
Imagematch:\Windows\System32\WerFault.exeexcludes:Image field:"Image" value:":\Windows\System32\WerFault.exe"
Imagematch:\Windows\System32\WerFaultSecure.exeexcludes:Image field:"Image" value:":\Windows\System32\WerFaultSecure.exe"
Imagematch:\Windows\System32\conhost.exeexcludes:Image field:"Image" value:":\Windows\System32\conhost.exe"
Imagematch:\Windows\System32\wevtutil.exeexcludes:Image field:"Image" value:":\Windows\System32\wevtutil.exe"

Suspicious Volume Shadow Copy VSS_PS.dll Load

#
Status
test
Severity
high
Author
Markus Neis, @markus_neis
Source
github.com/SigmaHQ/sigma

Detects the image load of vss_ps.dll by uncommon executables. This DLL is used by the Volume Shadow Copy Service (VSS) to manage shadow copies of files and volumes. It is often abused by attackers to delete or manipulate shadow copies, which can hinder forensic investigations and data recovery efforts. The fact that it is loaded by processes that are not typically associated with VSS operations can indicate suspicious activity.

MITRE ATT&CK Coverage

TacticTechniques
Impact

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: Suspicious Volume Shadow Copy VSS_PS.dll Load
id: 333cdbe8-27bb-4246-bf82-b41a0dca4b70
related:
    - id: 48bfd177-7cf2-412b-ad77-baf923489e82 # vsstrace.dll
      type: similar
    - id: 37774c23-25a1-4adb-bb6d-8bb9fd59c0f8 # vssapi.dll
      type: similar
status: test
description: |
    Detects the image load of vss_ps.dll by uncommon executables. This DLL is used by the Volume Shadow Copy Service (VSS) to manage shadow copies of files and volumes.
    It is often abused by attackers to delete or manipulate shadow copies, which can hinder forensic investigations and data recovery efforts.
    The fact that it is loaded by processes that are not typically associated with VSS operations can indicate suspicious activity.
references:
    - https://www.virustotal.com/gui/file/ba88ca45589fae0139a40ca27738a8fc2dfbe1be5a64a9558f4e0f52b35c5add
    - https://twitter.com/am0nsec/status/1412232114980982787
author: Markus Neis, @markus_neis
date: 2021-07-07
modified: 2025-07-11
tags:
    - attack.impact
    - attack.t1490
logsource:
    category: image_load
    product: windows
detection:
    selection:
        ImageLoaded|endswith: '\vss_ps.dll'
    filter_main_legit:
        Image|startswith: 'C:\Windows\'
        Image|endswith:
            - '\clussvc.exe'
            - '\dismhost.exe'
            - '\dllhost.exe'
            - '\inetsrv\appcmd.exe'
            - '\inetsrv\iissetup.exe'
            - '\msiexec.exe'
            - '\rundll32.exe'
            - '\searchindexer.exe'
            - '\srtasks.exe'
            - '\svchost.exe'
            - '\System32\SystemPropertiesAdvanced.exe'
            - '\taskhostw.exe'
            - '\thor.exe'
            - '\thor64.exe'
            - '\tiworker.exe'
            - '\vssvc.exe'
            - '\vssadmin.exe'
            - '\WmiPrvSE.exe'
            - '\wsmprovhost.exe'
    filter_main_update:
        CommandLine|startswith: 'C:\$WinREAgent\Scratch\'
        CommandLine|contains: '\dismhost.exe {'
    filter_main_image_null:
        Image: null
    filter_optional_programfiles:
        # When using this rule in your environment replace the "Program Files" folder by the exact applications you know use this. Examples would be software such as backup solutions
        Image|startswith:
            - 'C:\Program Files\'
            - 'C:\Program Files (x86)\'
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

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

Stage 1: selection

selection:
    ImageLoaded|endswith: '\vss_ps.dll'

Stage 2: not filter_main_*

filter_main_legit:
    Image|startswith: 'C:\Windows\'
    Image|endswith:
        - '\clussvc.exe'
        - '\dismhost.exe'
        - '\dllhost.exe'
        - '\inetsrv\appcmd.exe'
        - '\inetsrv\iissetup.exe'
        - '\msiexec.exe'
        - '\rundll32.exe'
        - '\searchindexer.exe'
        - '\srtasks.exe'
        - '\svchost.exe'
        - '\System32\SystemPropertiesAdvanced.exe'
        - '\taskhostw.exe'
        - '\thor.exe'
        - '\thor64.exe'
        - '\tiworker.exe'
        - '\vssvc.exe'
        - '\vssadmin.exe'
        - '\WmiPrvSE.exe'
        - '\wsmprovhost.exe'
filter_main_update:
    CommandLine|startswith: 'C:\$WinREAgent\Scratch\'
    CommandLine|contains: '\dismhost.exe {'
filter_main_image_null:
    Image: null

Stage 3: not filter_optional_programfiles

filter_optional_programfiles:
    Image|startswith:
        - 'C:\Program Files\'
        - 'C:\Program Files (x86)\'

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imageends_with\System32\SystemPropertiesAdvanced.exeexcludes:Image field:"Image" value:"\System32\SystemPropertiesAdvanced.exe"
Imageends_with\WmiPrvSE.exeexcludes:Image field:"Image" value:"\WmiPrvSE.exe"
Imageends_with\clussvc.exeexcludes:Image field:"Image" value:"\clussvc.exe"
Imageends_with\dismhost.exeexcludes:Image field:"Image" value:"\dismhost.exe"
Imageends_with\dllhost.exeexcludes:Image field:"Image" value:"\dllhost.exe"
Imageends_with\inetsrv\appcmd.exeexcludes:Image field:"Image" value:"\inetsrv\appcmd.exe"
Imageends_with\inetsrv\iissetup.exeexcludes:Image field:"Image" value:"\inetsrv\iissetup.exe"
Imageends_with\msiexec.exeexcludes:Image field:"Image" value:"\msiexec.exe"
Imageends_with\rundll32.exeexcludes:Image field:"Image" value:"\rundll32.exe"
Imageends_with\searchindexer.exeexcludes:Image field:"Image" value:"\searchindexer.exe"
Imageends_with\srtasks.exeexcludes:Image field:"Image" value:"\srtasks.exe"
Imageends_with\svchost.exeexcludes:Image field:"Image" value:"\svchost.exe"
Imageends_with\taskhostw.exeexcludes:Image field:"Image" value:"\taskhostw.exe"
Imageends_with\thor.exeexcludes:Image field:"Image" value:"\thor.exe"
Imageends_with\thor64.exeexcludes:Image field:"Image" value:"\thor64.exe"
Imageends_with\tiworker.exeexcludes:Image field:"Image" value:"\tiworker.exe"
Imageends_with\vssadmin.exeexcludes:Image field:"Image" value:"\vssadmin.exe"
Imageends_with\vssvc.exeexcludes:Image field:"Image" value:"\vssvc.exe"
Imageends_with\wsmprovhost.exeexcludes:Image field:"Image" value:"\wsmprovhost.exe"
Imagestarts_withC:\Windows\excludes:Image field:"Image" value:"C:\Windows\"
CommandLinematch\dismhost.exe {excludes:CommandLine field:"CommandLine" value:"\dismhost.exe {"
CommandLinestarts_withC:\$WinREAgent\Scratch\excludes:CommandLine field:"CommandLine" value:"C:\$WinREAgent\Scratch\"
Imageis_null(no value, null check)excludes:Image
Imagestarts_withC:\Program Files (x86)\excludes:Image field:"Image" value:"C:\Program Files (x86)\"
Imagestarts_withC:\Program Files\excludes:Image field:"Image" value:"C:\Program Files\"

Suspicious Wordpad Outbound Connections

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

Detects a network connection initiated by "wordpad.exe" over uncommon destination ports. This might indicate potential process injection activity from a beacon or similar mechanisms.

Known False Positives

  • Other ports can be used, apply additional filters accordingly

MITRE ATT&CK Coverage

TacticTechniques
StealthNo specific technique
Command & ControlNo specific technique

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 3: Network connection

Rule Body

title: Suspicious Wordpad Outbound Connections
id: 786cdae8-fefb-4eb2-9227-04e34060db01
status: test
description: |
    Detects a network connection initiated by "wordpad.exe" over uncommon destination ports.
    This might indicate potential process injection activity from a beacon or similar mechanisms.
references:
    - https://blogs.blackberry.com/en/2023/07/romcom-targets-ukraine-nato-membership-talks-at-nato-summit
author: X__Junior (Nextron Systems)
date: 2023-07-12
modified: 2023-12-15
tags:
    - attack.command-and-control
    - attack.stealth
logsource:
    category: network_connection
    product: windows
detection:
    selection:
        Initiated: 'true'
        Image|endswith: '\wordpad.exe'
    filter_main_ports:
        DestinationPort:
            - 80
            - 139
            - 443
            - 445
            - 465
            - 587
            - 993
            - 995
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Other ports can be used, apply additional filters accordingly
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

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

Stage 2: not filter_main_ports

filter_main_ports:
    DestinationPort:
        - 80
        - 139
        - 443
        - 445
        - 465
        - 587
        - 993
        - 995

Indicators

These rows show field, operator, and value matches.

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

Exclusions

The rule actively suppresses these predicates.

System Disk And Volume Reconnaissance Via Wmic.EXE

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

An adversary might use WMI to discover information about the system, such as the volume name, size, free space, and other disk information. This can be done using the 'wmic' command-line utility and has been observed being used by threat actors such as Volt Typhoon.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: System Disk And Volume Reconnaissance Via Wmic.EXE
id: c79da740-5030-45ec-a2e0-479e824a562c
related:
    - id: d85ecdd7-b855-4e6e-af59-d9c78b5b861e
      type: similar
status: test
description: |
    An adversary might use WMI to discover information about the system, such as the volume name, size,
    free space, and other disk information. This can be done using the 'wmic' command-line utility and has been
    observed being used by threat actors such as Volt Typhoon.
references:
    - https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-144a
    - https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/wmic
author: Stephen Lincoln '@slincoln-aiq' (AttackIQ)
date: 2024-02-02
modified: 2025-10-20
tags:
    - attack.execution
    - attack.discovery
    - attack.t1047
    - attack.t1082
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\WMIC.exe'
        - OriginalFileName: 'wmic.exe'
    selection_cli:
        - CommandLine|contains:
              - ' volumename'
              - ' logicaldisk'
        - CommandLine|contains|all:
              - 'path'
              - 'win32_logicaldisk'
        - CommandLine|contains|all:
              - ' volume'
              - ' list '
    condition: all of selection_*
falsepositives:
    - Unknown
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_wmic_recon_volume/info.yml

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    - CommandLine|contains:
          - ' volumename'
          - ' logicaldisk'
    - CommandLine|contains|all:
          - 'path'
          - 'win32_logicaldisk'
    - CommandLine|contains|all:
          - ' volume'
          - ' list '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • list corpus 2 (sigma 2)
  • logicaldisk
  • volume
  • volumename
  • path corpus 3 (sigma 3)
  • win32_logicaldisk
field:"CommandLine" kind:match
Imageends_with
  • \WMIC.exe corpus 62 (sigma 62)
field:"Image" kind:ends_with value:"\WMIC.exe"
OriginalFileNameeq
  • wmic.exe corpus 74 (sigma 38, elastic 18, splunk 18)
field:"OriginalFileName" kind:eq value:"wmic.exe"

Tamper Windows Defender - PSClassic

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

Attempting to disable scheduled scanning and other parts of Windows Defender ATP or set default actions to allow.

Known False Positives

  • Legitimate PowerShell scripts that disable Windows Defender for troubleshooting purposes. Must be investigated.

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

ProviderRecord / event type
PowerShellEvent ID 600

Rule Body

title: Tamper Windows Defender - PSClassic
id: ec19ebab-72dc-40e1-9728-4c0b805d722c
related:
    - id: 14c71865-6cd3-44ae-adaa-1db923fae5f2
      type: similar
status: test
description: Attempting to disable scheduled scanning and other parts of Windows Defender ATP or set default actions to allow.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1562.001/T1562.001.md
author: frack113, Nasreddine Bencherchali (Nextron Systems)
date: 2021-06-07
modified: 2024-01-02
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    product: windows
    category: ps_classic_provider_start
detection:
    selection_set_mppreference:
        Data|contains: 'Set-MpPreference'
    selection_options_bool_allow:
        Data|contains:
            - '-dbaf $true'
            - '-dbaf 1'
            - '-dbm $true'
            - '-dbm 1'
            - '-dips $true'
            - '-dips 1'
            - '-DisableArchiveScanning $true'
            - '-DisableArchiveScanning 1'
            - '-DisableBehaviorMonitoring $true'
            - '-DisableBehaviorMonitoring 1'
            - '-DisableBlockAtFirstSeen $true'
            - '-DisableBlockAtFirstSeen 1'
            - '-DisableCatchupFullScan $true'
            - '-DisableCatchupFullScan 1'
            - '-DisableCatchupQuickScan $true'
            - '-DisableCatchupQuickScan 1'
            - '-DisableIntrusionPreventionSystem $true'
            - '-DisableIntrusionPreventionSystem 1'
            - '-DisableIOAVProtection $true'
            - '-DisableIOAVProtection 1'
            - '-DisableRealtimeMonitoring $true'
            - '-DisableRealtimeMonitoring 1'
            - '-DisableRemovableDriveScanning $true'
            - '-DisableRemovableDriveScanning 1'
            - '-DisableScanningMappedNetworkDrivesForFullScan $true'
            - '-DisableScanningMappedNetworkDrivesForFullScan 1'
            - '-DisableScanningNetworkFiles $true'
            - '-DisableScanningNetworkFiles 1'
            - '-DisableScriptScanning $true'
            - '-DisableScriptScanning 1'
            - '-MAPSReporting $false'
            - '-MAPSReporting 0'
            - '-drdsc $true'
            - '-drdsc 1'
            - '-drtm $true'
            - '-drtm 1'
            - '-dscrptsc $true'
            - '-dscrptsc 1'
            - '-dsmndf $true'
            - '-dsmndf 1'
            - '-dsnf $true'
            - '-dsnf 1'
            - '-dss $true'
            - '-dss 1'
    selection_options_actions_func:
        Data|contains:
            - 'HighThreatDefaultAction Allow'
            - 'htdefac Allow'
            - 'LowThreatDefaultAction Allow'
            - 'ltdefac Allow'
            - 'ModerateThreatDefaultAction Allow'
            - 'mtdefac Allow'
            - 'SevereThreatDefaultAction Allow'
            - 'stdefac Allow'
    condition: selection_set_mppreference and 1 of selection_options_*
falsepositives:
    - Legitimate PowerShell scripts that disable Windows Defender for troubleshooting purposes. Must be investigated.
level: high

Stages and Predicates

Stage 0: condition

selection_set_mppreference and 1 of selection_options_*

Stage 1: selection_set_mppreference

selection_set_mppreference:
    Data|contains: 'Set-MpPreference'

Stage 2: selection_options_bool_allow

selection_options_bool_allow:
    Data|contains:
        - '-dbaf $true'
        - '-dbaf 1'
        - '-dbm $true'
        - '-dbm 1'
        - '-dips $true'
        - '-dips 1'
        - '-DisableArchiveScanning $true'
        - '-DisableArchiveScanning 1'
        - '-DisableBehaviorMonitoring $true'
        - '-DisableBehaviorMonitoring 1'
        - '-DisableBlockAtFirstSeen $true'
        - '-DisableBlockAtFirstSeen 1'
        - '-DisableCatchupFullScan $true'
        - '-DisableCatchupFullScan 1'
        - '-DisableCatchupQuickScan $true'
        - '-DisableCatchupQuickScan 1'
        - '-DisableIntrusionPreventionSystem $true'
        - '-DisableIntrusionPreventionSystem 1'
        - '-DisableIOAVProtection $true'
        - '-DisableIOAVProtection 1'
        - '-DisableRealtimeMonitoring $true'
        - '-DisableRealtimeMonitoring 1'
        - '-DisableRemovableDriveScanning $true'
        - '-DisableRemovableDriveScanning 1'
        - '-DisableScanningMappedNetworkDrivesForFullScan $true'
        - '-DisableScanningMappedNetworkDrivesForFullScan 1'
        - '-DisableScanningNetworkFiles $true'
        - '-DisableScanningNetworkFiles 1'
        - '-DisableScriptScanning $true'
        - '-DisableScriptScanning 1'
        - '-MAPSReporting $false'
        - '-MAPSReporting 0'
        - '-drdsc $true'
        - '-drdsc 1'
        - '-drtm $true'
        - '-drtm 1'
        - '-dscrptsc $true'
        - '-dscrptsc 1'
        - '-dsmndf $true'
        - '-dsmndf 1'
        - '-dsnf $true'
        - '-dsnf 1'
        - '-dss $true'
        - '-dss 1'

Stage 3: selection_options_actions_func

selection_options_actions_func:
    Data|contains:
        - 'HighThreatDefaultAction Allow'
        - 'htdefac Allow'
        - 'LowThreatDefaultAction Allow'
        - 'ltdefac Allow'
        - 'ModerateThreatDefaultAction Allow'
        - 'mtdefac Allow'
        - 'SevereThreatDefaultAction Allow'
        - 'stdefac Allow'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Datamatch
  • -DisableArchiveScanning $true
  • -DisableArchiveScanning 1
  • -DisableBehaviorMonitoring $true
  • -DisableBehaviorMonitoring 1
  • -DisableBlockAtFirstSeen $true
  • -DisableBlockAtFirstSeen 1
  • -DisableCatchupFullScan $true
  • -DisableCatchupFullScan 1
  • -DisableCatchupQuickScan $true
  • -DisableCatchupQuickScan 1
  • -DisableIOAVProtection $true
  • -DisableIOAVProtection 1
  • -DisableIntrusionPreventionSystem $true
  • -DisableIntrusionPreventionSystem 1
  • -DisableRealtimeMonitoring $true
  • -DisableRealtimeMonitoring 1
  • -DisableRemovableDriveScanning $true
  • -DisableRemovableDriveScanning 1
  • -DisableScanningMappedNetworkDrivesForFullScan $true
  • -DisableScanningMappedNetworkDrivesForFullScan 1
  • -DisableScanningNetworkFiles $true
  • -DisableScanningNetworkFiles 1
  • -DisableScriptScanning $true
  • -DisableScriptScanning 1
  • -MAPSReporting $false
  • -MAPSReporting 0
  • -dbaf $true
  • -dbaf 1
  • -dbm $true
  • -dbm 1
  • -dips $true
  • -dips 1
  • -drdsc $true
  • -drdsc 1
  • -drtm $true
  • -drtm 1
  • -dscrptsc $true
  • -dscrptsc 1
  • -dsmndf $true
  • -dsmndf 1
  • -dsnf $true
  • -dsnf 1
  • -dss $true
  • -dss 1
  • HighThreatDefaultAction Allow
  • LowThreatDefaultAction Allow
  • ModerateThreatDefaultAction Allow
  • Set-MpPreference
  • SevereThreatDefaultAction Allow
  • htdefac Allow
  • ltdefac Allow
  • mtdefac Allow
  • stdefac Allow
field:"Data" kind:match

UAC Disabled

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

Detects when an attacker tries to disable User Account Control (UAC) by setting the registry value "EnableLUA" to 0.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: UAC Disabled
id: 48437c39-9e5f-47fb-af95-3d663c3f2919
related:
    - id: c5f6a85d-b647-40f7-bbad-c10b66bab038
      type: similar
    - id: 0d7ceeef-3539-4392-8953-3dc664912714
      type: similar
status: stable
description: |
    Detects when an attacker tries to disable User Account Control (UAC) by setting the registry value "EnableLUA" to 0.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/7e11e9b79583545f208a6dc3fa062f2ed443d999/atomics/T1548.002/T1548.002.md
author: frack113
date: 2022-01-05
modified: 2024-05-10
tags:
    - attack.privilege-escalation
    - attack.t1548.002
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|contains: '\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA'
        Details: 'DWORD (0x00000000)'
    condition: selection
falsepositives:
    - Unknown
level: medium
simulation:
    - type: atomic-red-team
      name: Disable UAC using reg.exe
      technique: T1548.002
      atomic_guid: 9e8af564-53ec-407e-aaa8-3cb20c3af7f9

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|contains: '\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA'
    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)"
TargetObjectmatch
  • \Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA
field:"TargetObject" kind:match value:"\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA"

Uncommon File Creation By Mysql Daemon Process

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

Detects the creation of files with scripting or executable extensions by Mysql daemon. Which could be an indicator of "User Defined Functions" abuse to download malware.

MITRE ATT&CK Coverage

TacticTechniques
StealthNo specific technique

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: Uncommon File Creation By Mysql Daemon Process
id: c61daa90-3c1e-4f18-af62-8f288b5c9aaf
status: test
description: |
    Detects the creation of files with scripting or executable extensions by Mysql daemon.
    Which could be an indicator of "User Defined Functions" abuse to download malware.
references:
    - https://asec.ahnlab.com/en/58878/
    - https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/honeypot-recon-mysql-malware-infection-via-user-defined-functions-udf/
author: Joseph Kamau
date: 2024-05-27
tags:
    - attack.stealth
logsource:
    product: windows
    category: file_event
detection:
    selection:
        Image|endswith:
            - \mysqld.exe
            - \mysqld-nt.exe
        TargetFilename|endswith:
            - '.bat'
            - '.dat'
            - '.dll'
            - '.exe'
            - '.ps1'
            - '.psm1'
            - '.vbe'
            - '.vbs'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith:
        - \mysqld.exe
        - \mysqld-nt.exe
    TargetFilename|endswith:
        - '.bat'
        - '.dat'
        - '.dll'
        - '.exe'
        - '.ps1'
        - '.psm1'
        - '.vbe'
        - '.vbs'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \mysqld-nt.exe
  • \mysqld.exe
field:"Image" kind:ends_with
TargetFilenameends_with
  • .bat corpus 17 (sigma 17)
  • .dat corpus 4 (sigma 3, splunk 1)
  • .dll corpus 24 (sigma 24)
  • .exe corpus 21 (sigma 20, splunk 1)
  • .ps1 corpus 17 (sigma 17)
  • .psm1 corpus 4 (sigma 4)
  • .vbe corpus 16 (sigma 16)
  • .vbs corpus 18 (sigma 18)
field:"TargetFilename" kind:ends_with

Unsigned Mfdetours.DLL Sideloading

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

Detects DLL sideloading of unsigned "mfdetours.dll". Executing "mftrace.exe" can be abused to attach to an arbitrary process and force load any DLL named "mfdetours.dll" from the current directory of execution.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: Unsigned Mfdetours.DLL Sideloading
id: 948a0953-f287-4806-bbcb-3b2e396df89f
related:
    - id: d2605a99-2218-4894-8fd3-2afb7946514d
      type: similar
status: test
description: Detects DLL sideloading of unsigned "mfdetours.dll". Executing "mftrace.exe" can be abused to attach to an arbitrary process and force load any DLL named "mfdetours.dll" from the current directory of execution.
references:
    - Internal Research
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-08-11
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.execution
    - attack.stealth
    - attack.t1574.001
logsource:
    category: image_load
    product: windows
detection:
    selection:
        ImageLoaded|endswith: '\mfdetours.dll'
    filter_main_legit_path:
        ImageLoaded|contains: ':\Program Files (x86)\Windows Kits\10\bin\'
        SignatureStatus: 'Valid'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    ImageLoaded|endswith: '\mfdetours.dll'

Stage 2: not filter_main_legit_path

filter_main_legit_path:
    ImageLoaded|contains: ':\Program Files (x86)\Windows Kits\10\bin\'
    SignatureStatus: 'Valid'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ImageLoadedends_with
  • \mfdetours.dll corpus 2 (sigma 2)
field:"ImageLoaded" kind:ends_with value:"\mfdetours.dll"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ImageLoadedmatch:\Program Files (x86)\Windows Kits\10\bin\excludes:ImageLoaded field:"ImageLoaded" value:":\Program Files (x86)\Windows Kits\10\bin\"
SignatureStatuseqValidexcludes:SignatureStatus field:"SignatureStatus" value:"Valid"

Use of W32tm as Timer

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

When configured with suitable command line arguments, w32tm can act as a delay mechanism

Known False Positives

  • Legitimate use

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Use of W32tm as Timer
id: 6da2c9f5-7c53-401b-aacb-92c040ce1215
status: test
description: When configured with suitable command line arguments, w32tm can act as a delay mechanism
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/d0dad62dbcae9c60c519368e82c196a3db577055/atomics/T1124/T1124.md
    - https://blogs.blackberry.com/en/2022/05/dirty-deeds-done-dirt-cheap-russian-rat-offers-backdoor-bargains
author: frack113
date: 2022-09-25
tags:
    - attack.discovery
    - attack.t1124
logsource:
    category: process_creation
    product: windows
detection:
    selection_w32tm:
        - Image|endswith: '\w32tm.exe'
        - OriginalFileName: 'w32time.dll'
    selection_cmd:
        CommandLine|contains|all:
            - '/stripchart'
            - '/computer:'
            - '/period:'
            - '/dataonly'
            - '/samples:'
    condition: all of selection_*
falsepositives:
    - Legitimate use
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_w32tm

selection_w32tm:
    - Image|endswith: '\w32tm.exe'
    - OriginalFileName: 'w32time.dll'

Stage 2: selection_cmd

selection_cmd:
    CommandLine|contains|all:
        - '/stripchart'
        - '/computer:'
        - '/period:'
        - '/dataonly'
        - '/samples:'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /computer: corpus 2 (sigma 1, splunk 1)
  • /dataonly
  • /period:
  • /samples:
  • /stripchart
field:"CommandLine" kind:match
Imageends_with
  • \w32tm.exe corpus 2 (sigma 2)
field:"Image" kind:ends_with value:"\w32tm.exe"
OriginalFileNameeq
  • w32time.dll
field:"OriginalFileName" kind:eq value:"w32time.dll"

User password change without previous password known - SetNTLM (Mimikatz)

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

Detects scenarios where an attacker perform a password reset event. This does not require any knowledge of a user’s current password, but it does require to have the "Reset Password" right. Correlate the event ID 4724, 4624 and 5145 using the "SubjectLogonId" field to identify the source of the reset.

Known False Positives

  • None

MITRE ATT&CK Coverage

TacticTechniques
Persistence

Telemetry Coverage

Rule Body

title: User password change without previous password known - SetNTLM (Mimikatz)
description: Detects scenarios where an attacker perform a password reset event. This does not require any knowledge of a user’s current password, but it does require to have the "Reset Password" right. Correlate the event ID 4724, 4624 and 5145 using the "SubjectLogonId" field to identify the source of the reset.
references:
  - https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0003-Persistence/T1098.xxx-Account%20manipulation
  - https://stealthbits.com/blog/manipulating-user-passwords-with-mimikatz/
  - https://www.trustedsec.com/blog/azure-account-hijacking-using-mimikatzs-lsadumpsetntlm/
  - https://www.trustedsec.com/blog/manipulating-user-passwords-without-mimikatz/
tags:
  - attack.persistence
  - attack.t1098
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection_reset:
    EventID: 4724 # Non self password reset
    TargetSid|startswith: S-1-5-21-
    SubjectUserSid|startswith: S-1-5-21-

  selection_share:
    EventID: 5145
    ShareName: \\*\IPC$
    RelativeTargetName: samr

  selection_login:
    EventID: 4624
    AuthenticationPackageName: NTLM

  filter:
    IpAddress:
      - "127.0.0.1"
      - "::1"

  condition: (selection_reset and selection_share and selection_login) and not filter
falsepositives:
  - None
level: high

Stages and Predicates

Stage 0: condition

(selection_reset and selection_share and selection_login) and not filter

Stage 1: selection_reset

selection_reset:
  EventID: 4724
  TargetSid|startswith: S-1-5-21-
  SubjectUserSid|startswith: S-1-5-21-

Stage 2: selection_share

selection_share:
  EventID: 5145
  ShareName: \\*\IPC$
  RelativeTargetName: samr

Stage 3: selection_login

selection_login:
  EventID: 4624
  AuthenticationPackageName: NTLM

Stage 4: not filter

filter:
  IpAddress:
    - "127.0.0.1"
    - "::1"

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

WannaCry Ransomware Activity

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

Detects WannaCry ransomware activity

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: WannaCry Ransomware Activity
id: 41d40bff-377a-43e2-8e1b-2e543069e079
status: test
description: Detects WannaCry ransomware activity
references:
    - https://www.hybrid-analysis.com/sample/ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa?environmentId=100
    - https://x.com/nas_bench/status/1868639048484425963
author: Florian Roth (Nextron Systems), Tom U. @c_APT_ure (collection), oscd.community, Jonhnathan Ribeiro
date: 2019-01-16
modified: 2025-10-18
tags:
    - attack.lateral-movement
    - attack.defense-impairment
    - attack.t1210
    - attack.discovery
    - attack.t1083
    - attack.t1222.001
    - attack.impact
    - attack.t1486
    - attack.t1490
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith:
              - '\tasksche.exe'
              - '\mssecsvc.exe'
              - '\taskdl.exe'
              - '\taskhsvc.exe'
              - '\taskse.exe'
              - '\111.exe'
              - '\lhdfrgui.exe'
              # - '\diskpart.exe'  # cannot be used in a rule of level critical
              - '\linuxnew.exe'
              - '\wannacry.exe'
        - Image|contains: 'WanaDecryptor'
    selection_cmd:
        CommandLine|contains: '@Please_Read_Me@.txt'
    condition: 1 of selection_*
falsepositives:
    - Unknown
level: critical

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_img

selection_img:
    - Image|endswith:
          - '\tasksche.exe'
          - '\mssecsvc.exe'
          - '\taskdl.exe'
          - '\taskhsvc.exe'
          - '\taskse.exe'
          - '\111.exe'
          - '\lhdfrgui.exe'
          - '\linuxnew.exe'
          - '\wannacry.exe'
    - Image|contains: 'WanaDecryptor'

Stage 2: selection_cmd

selection_cmd:
    CommandLine|contains: '@Please_Read_Me@.txt'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • @Please_Read_Me@.txt
field:"CommandLine" kind:match value:"@Please_Read_Me@.txt"
Imageends_with
  • \111.exe
  • \lhdfrgui.exe
  • \linuxnew.exe
  • \mssecsvc.exe
  • \taskdl.exe
  • \taskhsvc.exe
  • \tasksche.exe
  • \taskse.exe
  • \wannacry.exe
field:"Image" kind:ends_with
Imagematch
  • WanaDecryptor
field:"Image" kind:match value:"WanaDecryptor"

Windows Credential Guard Registry Tampering Via CommandLine

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

Detects attempts to add, modify, or delete Windows Credential Guard related registry keys or values via command line tools such as Reg.exe or PowerShell. Credential Guard uses virtualization-based security to isolate secrets so that only privileged system software can access them. Adversaries may disable Credential Guard to gain access to sensitive credentials stored in the system, such as NTLM hashes and Kerberos tickets, which can be used for lateral movement and privilege escalation. The rule matches suspicious command lines that target DeviceGuard or LSA registry paths and manipulate keys like EnableVirtualizationBasedSecurity, RequirePlatformSecurityFeatures, or LsaCfgFlags. Such activity may indicate an attempt to disable or tamper with Credential Guard, potentially exposing sensitive credentials for misuse.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Windows Credential Guard Registry Tampering Via CommandLine
id: c17d47b7-dcd6-4109-87eb-d1817bd4cbc9
related:
    - id: 73921b9c-cafd-4446-b0c6-fdb0ace42bc0
      type: similar
    - id: d645ef86-2396-48a1-a2b6-b629ca3f57ff
      type: similar
status: experimental
description: |
    Detects attempts to add, modify, or delete Windows Credential Guard related registry keys or values via command line tools such as Reg.exe or PowerShell.
    Credential Guard uses virtualization-based security to isolate secrets so that only privileged system software can access them.
    Adversaries may disable Credential Guard to gain access to sensitive credentials stored in the system, such as NTLM hashes and Kerberos tickets, which can be used for lateral movement and privilege escalation.
    The rule matches suspicious command lines that target DeviceGuard or LSA registry paths and manipulate keys like EnableVirtualizationBasedSecurity, RequirePlatformSecurityFeatures, or LsaCfgFlags.
    Such activity may indicate an attempt to disable or tamper with Credential Guard, potentially exposing sensitive credentials for misuse.
references:
    - https://woshub.com/disable-credential-guard-windows/
    - https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-deviceguard
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-12-26
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith:
              - '\powershell.exe'
              - '\pwsh.exe'
              - '\reg.exe'
        - OriginalFileName:
              - 'PowerShell.EXE'
              - 'pwsh.dll'
              - 'reg.exe'
    selection_cli:
        CommandLine|contains:
            # add/modify
            - 'add '
            - 'New-ItemProperty '
            - 'Set-ItemProperty '
            - 'si '  # SetItem Alias
            # delete
            - 'delete '
            - 'del '
            - 'Remove-ItemProperty '
            - 'rp '
    selection_key_base:
        CommandLine|contains:
            - '\Control\DeviceGuard'
            - '\Control\LSA'
            - 'Software\Policies\Microsoft\Windows\DeviceGuard'
    selection_key_specific:
        CommandLine|contains:
            - 'EnableVirtualizationBasedSecurity'
            - 'RequirePlatformSecurityFeatures'
            - 'LsaCfgFlags'
    condition: all of selection_*
falsepositives:
    - Unlikely
level: high
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_credential_guard_registry_tampering/info.yml

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    CommandLine|contains:
        - 'add '
        - 'New-ItemProperty '
        - 'Set-ItemProperty '
        - 'si '
        - 'delete '
        - 'del '
        - 'Remove-ItemProperty '
        - 'rp '

Stage 3: selection_key_base

selection_key_base:
    CommandLine|contains:
        - '\Control\DeviceGuard'
        - '\Control\LSA'
        - 'Software\Policies\Microsoft\Windows\DeviceGuard'

Stage 4: selection_key_specific

selection_key_specific:
    CommandLine|contains:
        - 'EnableVirtualizationBasedSecurity'
        - 'RequirePlatformSecurityFeatures'
        - 'LsaCfgFlags'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • EnableVirtualizationBasedSecurity corpus 2 (sigma 2)
  • LsaCfgFlags
  • New-ItemProperty corpus 3 (sigma 3)
  • Remove-ItemProperty
  • RequirePlatformSecurityFeatures
  • Set-ItemProperty corpus 3 (sigma 3)
  • Software\Policies\Microsoft\Windows\DeviceGuard
  • \Control\DeviceGuard
  • \Control\LSA corpus 2 (sigma 2)
  • add corpus 12 (sigma 12)
  • del corpus 5 (sigma 5)
  • delete corpus 4 (sigma 4)
  • rp
  • si corpus 5 (sigma 5)
field:"CommandLine" kind:match
Imageends_with
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \pwsh.exe corpus 166 (sigma 166)
  • \reg.exe corpus 58 (sigma 58)
field:"Image" kind:ends_with
OriginalFileNameeq
  • PowerShell.EXE corpus 134 (sigma 86, splunk 30, elastic 18)
  • pwsh.dll corpus 115 (sigma 81, splunk 30, elastic 4)
  • reg.exe corpus 41 (sigma 32, splunk 8, elastic 1)
field:"OriginalFileName" kind:eq

Write Protect For Storage Disabled

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

Detects applications trying to modify the registry in order to disable any write-protect property for storage devices. This could be a precursor to a ransomware attack and has been an observed technique used by cypherpunk group.

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

Rule Body

title: Write Protect For Storage Disabled
id: 75f7a0e2-7154-4c4d-9eae-5cdb4e0a5c13
status: test
description: |
    Detects applications trying to modify the registry in order to disable any write-protect property for storage devices.
    This could be a precursor to a ransomware attack and has been an observed technique used by cypherpunk group.
references:
    - https://www.manageengine.com/products/desktop-central/os-imaging-deployment/media-is-write-protected.html
author: Sreeman
date: 2021-06-11
modified: 2024-01-18
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    product: windows
    category: process_creation
detection:
    selection:
        CommandLine|contains|all:
            - '\System\CurrentControlSet\Control'
            - 'Write Protection'
            - '0'
            - 'storage'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains|all:
        - '\System\CurrentControlSet\Control'
        - 'Write Protection'
        - '0'
        - 'storage'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • 0 corpus 6 (sigma 6)
  • Write Protection
  • \System\CurrentControlSet\Control
  • storage corpus 2 (sigma 2)
field:"CommandLine" kind:match

Writing Of Malicious Files To The Fonts Folder

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

Monitors for the hiding possible malicious files in the C:\Windows\Fonts\ location. This folder doesn't require admin privillege to be written and executed from.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Writing Of Malicious Files To The Fonts Folder
id: ae9b0bd7-8888-4606-b444-0ed7410cb728
status: test
description: Monitors for the hiding possible malicious files in the C:\Windows\Fonts\ location. This folder doesn't require admin privillege to be written and executed from.
references:
    - https://thedfirreport.com/2020/04/20/sqlserver-or-the-miner-in-the-basement/
author: Sreeman
date: 2020-04-21
modified: 2022-03-08
tags:
    - attack.stealth
    - attack.t1211
    - attack.t1059
    - attack.persistence
    - attack.execution
logsource:
    product: windows
    category: process_creation
detection:
    selection_1:
        CommandLine|contains:
            - 'echo'
            - 'copy'
            - 'type'
            - 'file createnew'
            - 'cacls'
    selection_2:
        CommandLine|contains: 'C:\Windows\Fonts\'
    selection_3:
        CommandLine|contains:
            - '.sh'
            - '.exe'
            - '.dll'
            - '.bin'
            - '.bat'
            - '.cmd'
            - '.js'
            - '.msh'
            - '.reg'
            - '.scr'
            - '.ps'
            - '.vb'
            - '.jar'
            - '.pl'
            - '.inf'
            - '.cpl'
            - '.hta'
            - '.msi'
            - '.vbs'
    condition: all of selection_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_1

selection_1:
    CommandLine|contains:
        - 'echo'
        - 'copy'
        - 'type'
        - 'file createnew'
        - 'cacls'

Stage 2: selection_2

selection_2:
    CommandLine|contains: 'C:\Windows\Fonts\'

Stage 3: selection_3

selection_3:
    CommandLine|contains:
        - '.sh'
        - '.exe'
        - '.dll'
        - '.bin'
        - '.bat'
        - '.cmd'
        - '.js'
        - '.msh'
        - '.reg'
        - '.scr'
        - '.ps'
        - '.vb'
        - '.jar'
        - '.pl'
        - '.inf'
        - '.cpl'
        - '.hta'
        - '.msi'
        - '.vbs'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • .bat corpus 10 (sigma 9, elastic 1)
  • .bin
  • .cmd corpus 6 (sigma 5, elastic 1)
  • .cpl corpus 3 (sigma 3)
  • .dll corpus 16 (sigma 16)
  • .exe corpus 5 (sigma 5)
  • .hta corpus 6 (sigma 6)
  • .inf corpus 4 (sigma 3, elastic 1)
  • .jar corpus 2 (sigma 2)
  • .js corpus 9 (sigma 9)
  • .msh
  • .msi
  • .pl corpus 2 (sigma 2)
  • .ps corpus 3 (sigma 3)
  • .reg corpus 4 (sigma 3, splunk 1)
  • .scr corpus 5 (sigma 5)
  • .sh corpus 2 (sigma 2)
  • .vb corpus 3 (sigma 3)
  • .vbs corpus 7 (sigma 7)
  • C:\Windows\Fonts\
  • cacls
  • copy corpus 4 (sigma 4)
  • echo corpus 8 (sigma 4, splunk 4)
  • file createnew corpus 2 (sigma 2)
  • type corpus 3 (sigma 2, splunk 1)
field:"CommandLine" kind:match

Back to all Sigma rules