Detection rules › Sigma

Sigma rules: 06

RuleSeverity
A New Trust Was Created To A Domainmedium
Abusable DLL Potential Sideloading From Suspicious Locationhigh
Add Insecure Download Source To Wingethigh
DNS Query To Devtunnels Domainmedium
Dump Ntds.dit To Suspicious Locationmedium
Event log clear attempt (PowerShell)high
Exploited CVE-2020-10189 Zoho ManageEnginehigh
File and Directory Discovery - Linuxinformational
FortiGate - New Firewall Policy Addedmedium
Impossible Travelhigh
Invoke-Obfuscation STDIN+ Launcherhigh
Invoke-Obfuscation Via Stdin - PowerShell Modulehigh
macOS Configuration Profile Installationmedium
Microsoft 365 - Unusual Volume of File Deletionmedium
Okta Policy Rule Modified or Deletedmedium
Periodic Backup For System Registry Hives Enabledmedium
Potential MOVEit Transfer CVE-2023-34362 Exploitation - Dynamic Compilation Via Csc.EXEmedium
Potential Netcat Reverse Shell Executionhigh
Potential Process Injection Via Msra.EXEhigh
Potential Suspicious PowerShell Module File Createdmedium
Potential Vivaldi_elf.DLL Sideloadingmedium
Potentially Suspicious Child Process of KeyScrambler.exemedium
PowerShell Downgrade Attack - PowerShellmedium
Powershell Keyloggingmedium
RDP BlueeKeep connection closed (CVE-2019-0708)high
Renamed AutoIt Executionhigh
SharePoint ToolShell CVE-2025-53770 Exploitation - Web IISmedium
Suspicious Persistence Via VMwareToolBoxCmd.EXE VM State Change Scripthigh
Suspicious PowerShell Invocations - Generichigh
Suspicious PrinterPorts Creation (CVE-2020-1048)high
Suspicious Process Access to LSASS with Dbgcore/Dbghelp DLLshigh
Suspicious Splwow64 Without Paramshigh
SyncAppvPublishingServer Execute Arbitrary PowerShell Codemedium
System Owner or User Discovery - Linuxlow
Uncommon Sigverif.EXE Child Processmedium
WinAPI Function Calls Via PowerShell Scriptsmedium

A New Trust Was Created To A Domain

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

Addition of domains is seldom and should be verified for legitimacy.

Known False Positives

  • Legitimate extension of domain structure

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Privilege Escalation

Telemetry Coverage

Rule Body

title: A New Trust Was Created To A Domain
id: 0255a820-e564-4e40-af2b-6ac61160335c
status: stable
description: Addition of domains is seldom and should be verified for legitimacy.
references:
    - https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-4706
author: Thomas Patzke
date: 2019-12-03
modified: 2024-01-16
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1098
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID: 4706
    condition: selection
falsepositives:
    - Legitimate extension of domain structure
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 4706

Abusable DLL Potential Sideloading From Suspicious Location

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

Detects potential DLL sideloading of DLLs that are known to be abused from suspicious locations

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: Abusable DLL Potential Sideloading From Suspicious Location
id: 799a5f48-0ac1-4e0f-9152-71d137d48c2a
status: test
description: Detects potential DLL sideloading of DLLs that are known to be abused from suspicious locations
references:
    - https://www.trendmicro.com/en_us/research/23/f/behind-the-scenes-unveiling-the-hidden-workings-of-earth-preta.html
    - https://research.checkpoint.com/2023/beyond-the-horizon-traveling-the-world-on-camaro-dragons-usb-flash-drives/
author: X__Junior (Nextron Systems)
date: 2023-07-11
tags:
    - attack.execution
    - attack.t1059
logsource:
    category: image_load
    product: windows
detection:
    selection_dll:
        ImageLoaded|endswith:
            # Note: Add more generic DLLs that cannot be pin-pointed to a single application
            - '\coreclr.dll'
            - '\facesdk.dll'
            - '\HPCustPartUI.dll'
            - '\libcef.dll'
            - '\ZIPDLL.dll'
    selection_folders_1:
        ImageLoaded|contains:
            - ':\Perflogs\'
            - ':\Users\Public\'
            - '\Temporary Internet'
            - '\Windows\Temp\'
    selection_folders_2:
        - ImageLoaded|contains|all:
              - ':\Users\'
              - '\Favorites\'
        - ImageLoaded|contains|all:
              - ':\Users\'
              - '\Favourites\'
        - ImageLoaded|contains|all:
              - ':\Users\'
              - '\Contacts\'
        - ImageLoaded|contains|all:
              - ':\Users\'
              - '\Pictures\'
    condition: selection_dll and 1 of selection_folders_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection_dll and 1 of selection_folders_*

Stage 1: selection_dll

selection_dll:
    ImageLoaded|endswith:
        - '\coreclr.dll'
        - '\facesdk.dll'
        - '\HPCustPartUI.dll'
        - '\libcef.dll'
        - '\ZIPDLL.dll'

Stage 2: selection_folders_1

selection_folders_1:
    ImageLoaded|contains:
        - ':\Perflogs\'
        - ':\Users\Public\'
        - '\Temporary Internet'
        - '\Windows\Temp\'

Stage 3: selection_folders_2

selection_folders_2:
    - ImageLoaded|contains|all:
          - ':\Users\'
          - '\Favorites\'
    - ImageLoaded|contains|all:
          - ':\Users\'
          - '\Favourites\'
    - ImageLoaded|contains|all:
          - ':\Users\'
          - '\Contacts\'
    - ImageLoaded|contains|all:
          - ':\Users\'
          - '\Pictures\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ImageLoadedends_with
  • \HPCustPartUI.dll
  • \ZIPDLL.dll
  • \coreclr.dll
  • \facesdk.dll
  • \libcef.dll
field:"ImageLoaded" kind:ends_with
ImageLoadedmatch
  • :\Perflogs\ corpus 2 (sigma 2)
  • :\Users\
  • :\Users\Public\ corpus 2 (sigma 2)
  • \Contacts\ corpus 2 (sigma 2)
  • \Favorites\ corpus 2 (sigma 2)
  • \Favourites\ corpus 2 (sigma 2)
  • \Pictures\ corpus 2 (sigma 2)
  • \Temporary Internet corpus 2 (sigma 2)
  • \Windows\Temp\ corpus 2 (sigma 2)
field:"ImageLoaded" kind:match

Add Insecure Download Source To Winget

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

Detects usage of winget to add a new insecure (http) download source. Winget will not allow the addition of insecure sources, hence this could indicate potential suspicious activity (or typos)

Known False Positives

  • False positives might occur if the users are unaware of such control checks

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Add Insecure Download Source To Winget
id: 81a0ecb5-0a41-4ba1-b2ba-c944eb92bfa2
related:
    - id: 05ebafc8-7aa2-4bcd-a269-2aec93f9e842
      type: similar
    - id: c15a46a0-07d4-4c87-b4b6-89207835a83b
      type: similar
status: test
description: |
    Detects usage of winget to add a new insecure (http) download source.
    Winget will not allow the addition of insecure sources, hence this could indicate potential suspicious activity (or typos)
references:
    - https://learn.microsoft.com/en-us/windows/package-manager/winget/source
    - https://github.com/nasbench/Misc-Research/tree/b9596e8109dcdb16ec353f316678927e507a5b8d/LOLBINs/Winget
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-04-17
tags:
    - attack.execution
    - attack.t1059
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\winget.exe'
        - OriginalFileName: 'winget.exe'
    selection_cli:
        CommandLine|contains|all:
            - 'source '
            - 'add '
            - 'http://'
    condition: all of selection_*
falsepositives:
    - False positives might occur if the users are unaware of such control checks
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|all:
        - 'source '
        - 'add '
        - 'http://'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • add corpus 12 (sigma 12)
  • http:// corpus 20 (sigma 18, elastic 1, splunk 1)
  • source corpus 3 (sigma 3)
field:"CommandLine" kind:match
Imageends_with
  • \winget.exe corpus 5 (sigma 5)
field:"Image" kind:ends_with value:"\winget.exe"
OriginalFileNameeq
  • winget.exe corpus 4 (sigma 4)
field:"OriginalFileName" kind:eq value:"winget.exe"

DNS Query To Devtunnels Domain

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

Detects DNS query requests to Devtunnels domains. Attackers can abuse that feature to establish a reverse shell or persistence on a machine.

Known False Positives

  • Legitimate use of Devtunnels will also trigger this.

MITRE ATT&CK Coverage

Telemetry Coverage

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

Rule Body

title: DNS Query To Devtunnels Domain
id: 1cb0c6ce-3d00-44fc-ab9c-6d6d577bf20b
related:
    - id: 9501f8e6-8e3d-48fc-a8a6-1089dd5d7ef4 # Net Connection DevTunnels
      type: similar
    - id: 4b657234-038e-4ad5-997c-4be42340bce4 # Net Connection VsCode
      type: similar
    - id: b3e6418f-7c7a-4fad-993a-93b65027a9f1 # DNS VsCode
      type: similar
status: test
description: |
    Detects DNS query requests to Devtunnels domains. Attackers can abuse that feature to establish a reverse shell or persistence on a machine.
references:
    - https://blueteamops.medium.com/detecting-dev-tunnels-16f0994dc3e2
    - https://learn.microsoft.com/en-us/azure/developer/dev-tunnels/security
    - https://cydefops.com/devtunnels-unleashed
author: citron_ninja
date: 2023-10-25
modified: 2023-11-20
tags:
    - attack.command-and-control
    - attack.t1071.001
    - attack.t1572
logsource:
    category: dns_query
    product: windows
detection:
    selection:
        QueryName|endswith: '.devtunnels.ms'
    condition: selection
falsepositives:
    - Legitimate use of Devtunnels will also trigger this.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    QueryName|endswith: '.devtunnels.ms'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
QueryNameends_with
  • .devtunnels.ms
field:"QueryName" kind:ends_with value:".devtunnels.ms"

Dump Ntds.dit To Suspicious Location

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

Detects potential abuse of ntdsutil to dump ntds.dit database to a suspicious location

Known False Positives

  • Legitimate backup operation/creating shadow copies

MITRE ATT&CK Coverage

TacticTechniques
ExecutionNo specific technique

Telemetry Coverage

ProviderRecord / event type
ESENTEvent ID 325

Rule Body

title: Dump Ntds.dit To Suspicious Location
id: 94dc4390-6b7c-4784-8ffc-335334404650
status: test
description: Detects potential abuse of ntdsutil to dump ntds.dit database to a suspicious location
references:
    - https://twitter.com/mgreen27/status/1558223256704122882
    - https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/jj574207(v=ws.11)
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-08-14
modified: 2023-10-23
tags:
    - attack.execution
logsource:
    product: windows
    service: application
    # warning: The 'data' field used in the detection section is the container for the event data as a whole. You may have to adapt the rule for your backend accordingly
detection:
    selection_root:
        Provider_Name: 'ESENT'
        EventID: 325 # New Database Created
        Data|contains: 'ntds.dit'
    selection_paths:
        Data|contains:
            # Add more locations that you don't use in your env or that are just suspicious
            - ':\ntds.dit'
            - '\Appdata\'
            - '\Desktop\'
            - '\Downloads\'
            - '\Perflogs\'
            - '\Temp\'
            - '\Users\Public\'
    condition: all of selection_*
falsepositives:
    - Legitimate backup operation/creating shadow copies
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_root

selection_root:
    Provider_Name: 'ESENT'
    EventID: 325
    Data|contains: 'ntds.dit'

Stage 2: selection_paths

selection_paths:
    Data|contains:
        - ':\ntds.dit'
        - '\Appdata\'
        - '\Desktop\'
        - '\Downloads\'
        - '\Perflogs\'
        - '\Temp\'
        - '\Users\Public\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Datamatch
  • :\ntds.dit
  • \Appdata\
  • \Desktop\ corpus 2 (sigma 2)
  • \Downloads\
  • \Perflogs\ corpus 2 (sigma 2)
  • \Temp\
  • \Users\Public\ corpus 2 (sigma 2)
  • ntds.dit corpus 2 (sigma 2)
field:"Data" kind:match
Provider_Nameeq
  • ESENT corpus 2 (sigma 2)
field:"Provider_Name" kind:eq value:"ESENT"

Event log clear attempt (PowerShell)

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

Detects scenarios where an attacker attempts to clear the event logs.

Known False Positives

  • None

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Event log clear attempt (PowerShell)
description: Detects scenarios where an attacker attempts to clear the event logs.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0005-Defense%20Evasion/T1070.001-Clear%20Windows%20event%20logs
- https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/clear-eventlog?view=powershell-5.1
tags:
- attack.defense_evasion
- attack.t1070.001
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category:
    - ps_module
    - ps_classic_script
    - ps_script
detection: # full command: "Clear-EventLog -LogName application, system"
  selection_powershell_native:
    EventID: 800
    EventData|contains|all:
      - Clear-EventLog
      - LogName

  selection_powershell_modern:
    EventID: 4103
    Payload|contains|all:
      - Clear-EventLog
      - LogName

  selection_powershell_block:
    EventID: 4104
    ScriptBlockText|contains|all:
      - Clear-EventLog
      - LogName

  condition: selection_powershell_native or selection_powershell_modern or selection_powershell_block
falsepositives:
- None
level: high

Stages and Predicates

Stage 0: condition

selection_powershell_native or selection_powershell_modern or selection_powershell_block

Stage 1: selection_powershell_native

selection_powershell_native:
  EventID: 800
  EventData|contains|all:
    - Clear-EventLog
    - LogName

Stage 2: selection_powershell_modern

selection_powershell_modern:
  EventID: 4103
  Payload|contains|all:
    - Clear-EventLog
    - LogName

Stage 3: selection_powershell_block

selection_powershell_block:
  EventID: 4104
  ScriptBlockText|contains|all:
    - Clear-EventLog
    - LogName

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
EventDatamatch
  • Clear-EventLog
  • LogName
field:"EventData" kind:match
Payloadmatch
  • Clear-EventLog
  • LogName
field:"Payload" kind:match
ScriptBlockTextmatch
  • Clear-EventLog
  • LogName
field:"ScriptBlockText" kind:match

Exploited CVE-2020-10189 Zoho ManageEngine

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

Detects the exploitation of Zoho ManageEngine Desktop Central Java Deserialization vulnerability reported as CVE-2020-10189

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Exploited CVE-2020-10189 Zoho ManageEngine
id: 846b866e-2a57-46ee-8e16-85fa92759be7
status: test
description: Detects the exploitation of Zoho ManageEngine Desktop Central Java Deserialization vulnerability reported as CVE-2020-10189
references:
    - https://www.fireeye.com/blog/threat-research/2020/03/apt41-initiates-global-intrusion-campaign-using-multiple-exploits.html
    - https://vulmon.com/exploitdetails?qidtp=exploitdb&qid=48224
author: Florian Roth (Nextron Systems)
date: 2020-03-25
modified: 2023-01-21
tags:
    - attack.initial-access
    - attack.t1190
    - attack.execution
    - attack.t1059.001
    - attack.t1059.003
    - attack.s0190
    - cve.2020-10189
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: 'DesktopCentral_Server\jre\bin\java.exe'
        Image|endswith:
            - '\cmd.exe'
            - '\powershell.exe'
            - '\pwsh.exe'
            - '\bitsadmin.exe'
            - '\systeminfo.exe'
            - '\net.exe'
            - '\net1.exe'
            - '\reg.exe'
            - '\query.exe'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ParentImage|endswith: 'DesktopCentral_Server\jre\bin\java.exe'
    Image|endswith:
        - '\cmd.exe'
        - '\powershell.exe'
        - '\pwsh.exe'
        - '\bitsadmin.exe'
        - '\systeminfo.exe'
        - '\net.exe'
        - '\net1.exe'
        - '\reg.exe'
        - '\query.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \bitsadmin.exe corpus 29 (sigma 29)
  • \cmd.exe corpus 132 (sigma 130, splunk 2)
  • \net.exe corpus 49 (sigma 49)
  • \net1.exe corpus 47 (sigma 47)
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \pwsh.exe corpus 166 (sigma 166)
  • \query.exe corpus 6 (sigma 6)
  • \reg.exe corpus 58 (sigma 58)
  • \systeminfo.exe corpus 11 (sigma 11)
field:"Image" kind:ends_with
ParentImageends_with
  • DesktopCentral_Server\jre\bin\java.exe
field:"ParentImage" kind:ends_with value:"DesktopCentral_Server\jre\bin\java.exe"

File and Directory Discovery - Linux

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

Detects usage of system utilities such as "find", "tree", "findmnt", etc, to discover files, directories and network shares.

Known False Positives

  • Legitimate activities

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: File and Directory Discovery - Linux
id: d3feb4ee-ff1d-4d3d-bd10-5b28a238cc72
status: test
description: |
    Detects usage of system utilities such as "find", "tree", "findmnt", etc, to discover files, directories and network shares.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1083/T1083.md
author: Daniil Yugoslavskiy, oscd.community, CheraghiMilad
date: 2020-10-19
modified: 2024-12-01
tags:
    - attack.discovery
    - attack.t1083
logsource:
    category: process_creation
    product: linux
detection:
    selection_file_with_asterisk:
        Image|endswith: '/file'
        CommandLine|re: '(.){200,}' # execution of the 'file */* *>> /tmp/output.txt' will produce huge commandline
    selection_recursive_ls:
        Image|endswith: '/ls'
        CommandLine|contains: '-R'
    selection_find_execution:
        Image|endswith: '/find'
    selection_tree_execution:
        Image|endswith: '/tree'
    selection_findmnt_execution:
        Image|endswith: '/findmnt'
    selection_locate_execution:
        Image|endswith: '/mlocate'
    condition: 1 of selection_*
falsepositives:
    - Legitimate activities
level: informational

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_file_with_asterisk

selection_file_with_asterisk:
    Image|endswith: '/file'
    CommandLine|re: '(.){200,}'

Stage 2: selection_recursive_ls

selection_recursive_ls:
    Image|endswith: '/ls'
    CommandLine|contains: '-R'

Stage 3: selection_find_execution

selection_find_execution:
    Image|endswith: '/find'

Stage 4: selection_tree_execution

selection_tree_execution:
    Image|endswith: '/tree'

Stage 5: selection_findmnt_execution

selection_findmnt_execution:
    Image|endswith: '/findmnt'

Stage 6: selection_locate_execution

selection_locate_execution:
    Image|endswith: '/mlocate'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -R corpus 9 (sigma 9)
field:"CommandLine" kind:match value:"-R"
CommandLineregex_match
  • (.){200,} corpus 2 (sigma 2)
field:"CommandLine" kind:regex_match value:"(.){200,}"
Imageends_with
  • /file
  • /find corpus 5 (sigma 5)
  • /findmnt
  • /ls corpus 4 (sigma 4)
  • /mlocate
  • /tree
field:"Image" kind:ends_with

FortiGate - New Firewall Policy Added

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

Detects the addition of a new firewall policy on a Fortinet FortiGate Firewall.

Known False Positives

  • A firewall policy can be added for legitimate purposes.

MITRE ATT&CK Coverage

Rule Body

title: FortiGate - New Firewall Policy Added
id: f24ab7a8-f09a-4319-82c1-915586aa642b
status: experimental
description: Detects the addition of a new firewall policy on a Fortinet FortiGate Firewall.
references:
    - https://www.fortiguard.com/psirt/FG-IR-24-535
    - https://docs.fortinet.com/document/fortigate/7.6.4/fortios-log-message-reference/398/event
    - https://docs.fortinet.com/document/fortigate/7.6.4/cli-reference/333889629/config-firewall-policy
    - https://docs.fortinet.com/document/fortigate/7.6.4/fortios-log-message-reference/44547/44547-logid-event-config-objattr
author: Marco Pedrinazzi (@pedrinazziM) (InTheCyber)
date: 2025-11-01
modified: 2026-05-04
tags:
    - attack.defense-impairment
    - attack.t1686.002
logsource:
    product: fortigate
    service: event
detection:
    selection:
        action: 'Add'
        cfgpath: 'firewall.policy'
    condition: selection
falsepositives:
    - A firewall policy can be added for legitimate purposes.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    action: 'Add'
    cfgpath: 'firewall.policy'

Indicators

These rows show field, operator, and value matches.

Impossible Travel

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

Identifies user activities originating from geographically distant locations within a time period shorter than the time it takes to travel from the first location to the second.

Known False Positives

  • Connecting to a VPN, performing activity and then dropping and performing additional activity.

MITRE ATT&CK Coverage

TacticTechniques
Initial Access
Persistence
Privilege Escalation
Stealth

Rule Body

title: Impossible Travel
id: b2572bf9-e20a-4594-b528-40bde666525a
status: test
description: Identifies user activities originating from geographically distant locations within a time period shorter than the time it takes to travel from the first location to the second.
references:
    - https://learn.microsoft.com/en-us/entra/id-protection/concept-identity-protection-risks#impossible-travel
    - https://learn.microsoft.com/en-us/entra/architecture/security-operations-user-accounts#unusual-sign-ins
author: Mark Morowczynski '@markmorow', Gloria Lee, '@gleeiamglo'
date: 2023-09-03
tags:
    - attack.stealth
    - attack.t1078
    - attack.persistence
    - attack.privilege-escalation
    - attack.initial-access
logsource:
    product: azure
    service: riskdetection
detection:
    selection:
        riskEventType: 'impossibleTravel'
    condition: selection
falsepositives:
    - Connecting to a VPN, performing activity and then dropping and performing additional activity.
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    riskEventType: 'impossibleTravel'

Indicators

These rows show field, operator, and value matches.

Invoke-Obfuscation STDIN+ Launcher

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

Detects Obfuscated use of stdin to execute PowerShell

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Invoke-Obfuscation STDIN+ Launcher
id: 6c96fc76-0eb1-11eb-adc1-0242ac120002
status: test
description: Detects Obfuscated use of stdin to execute PowerShell
references:
    - https://github.com/SigmaHQ/sigma/issues/1009  # (Task 25)
author: Jonathan Cheong, oscd.community
date: 2020-10-15
modified: 2024-04-15
tags:
    - attack.stealth
    - attack.t1027
    - attack.execution
    - attack.t1059.001
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        # Example 1: c:\windows\sYstEm32\CmD.eXE /C"echO\Invoke-Expression (New-Object Net.WebClient).DownloadString | POwersHELl -NoEXiT -"
        # Example 2: c:\WiNDOws\sysTEm32\cmd.EXe /C " ECHo Invoke-Expression (New-Object Net.WebClient).DownloadString | POwersHELl -nol ${EXEcUtIONCONTeXT}.INvOkEComMANd.InvOKEScRIPt( $InpUt )"
        CommandLine|re: 'cmd.{0,5}(?:/c|/r).+powershell.+(?:\$\{?input\}?|noexit).+\"'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|re: 'cmd.{0,5}(?:/c|/r).+powershell.+(?:\$\{?input\}?|noexit).+\"'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLineregex_match
  • cmd.{0,5}(?:/c|/r).+powershell.+(?:${?input}?|noexit).+\"
field:"CommandLine" kind:regex_match

Invoke-Obfuscation Via Stdin - PowerShell Module

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

Detects Obfuscated Powershell via Stdin in Scripts

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Invoke-Obfuscation Via Stdin - PowerShell Module
id: c72aca44-8d52-45ad-8f81-f96c4d3c755e
related:
    - id: 86b896ba-ffa1-4fea-83e3-ee28a4c915c7
      type: derived
status: test
description: Detects Obfuscated Powershell via Stdin in Scripts
references:
    - https://github.com/SigmaHQ/sigma/issues/1009  # (Task28)
author: Nikita Nazarov, oscd.community
date: 2020-10-12
modified: 2024-04-05
tags:
    - attack.stealth
    - attack.t1027
    - attack.execution
    - attack.t1059.001
logsource:
    product: windows
    category: ps_module
    definition: 0ad03ef1-f21b-4a79-8ce8-e6900c54b65b
detection:
    selection_4103:
        Payload|re: '(?i)(set).*&&\s?set.*(environment|invoke|\$?\{?input).*&&.*"'
    condition: selection_4103
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection_4103

Stage 1: selection_4103

selection_4103:
    Payload|re: '(?i)(set).*&&\s?set.*(environment|invoke|\$?\{?input).*&&.*"'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Payloadregex_match
  • (?i)(set).*&&\s?set.*(environment|invoke|$?{?input).*&&.*"
field:"Payload" kind:regex_match

macOS Configuration Profile Installation

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

Detects installation of configuration profiles which can be used for persistence, privilege escalation, or to modify system security settings. Malicious profiles can disable security features, install certificates, or configure system settings.

Known False Positives

  • MDM (Mobile Device Management) profile installations
  • IT-managed configuration profiles
  • Legitimate user-installed profiles
  • VPN and network configuration profiles

MITRE ATT&CK Coverage

Rule Body

title: macOS Configuration Profile Installation
id: e429564d-e697-4ecc-8996-504474e414f4
status: experimental
description: 'Detects installation of configuration profiles which can be used for
  persistence,

  privilege escalation, or to modify system security settings. Malicious profiles

  can disable security features, install certificates, or configure system settings.

  '
author: Eric Brown - Nebulock, Inc.
date: 2025/10/31
modified: 2025/10/31
references:
- https://attack.mitre.org/techniques/T1547/
- https://attack.mitre.org/techniques/T1556/
logsource:
  product: macos
  service: endpointsecurity
detection:
  selection_event:
    esf.event_type:
    - 126  # ES_EVENT_TYPE_NOTIFY_PROFILE_ADD
    - 127  # ES_EVENT_TYPE_NOTIFY_PROFILE_REMOVE
  selection_root:
    UserId: 0
  condition: selection_event and not selection_root
falsepositives:
- MDM (Mobile Device Management) profile installations
- IT-managed configuration profiles
- Legitimate user-installed profiles
- VPN and network configuration profiles
fields:
- event_type
- event_name
- User
- profile_identifier
- profile_uuid
tags:
- attack.persistence
- attack.t1547
- attack.t1556
level: medium

Stages and Predicates

Stage 0: condition

selection_event and not selection_root

Stage 1: selection_event

selection_event:
  esf.event_type:
  - 126
  - 127

Stage 2: not selection_root

selection_root:
  UserId: 0

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
UserIdeq0excludes:UserId field:"UserId" value:"0"

Microsoft 365 - Unusual Volume of File Deletion

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

Detects when a Microsoft Cloud App Security reported a user has deleted a unusual a large volume of files.

MITRE ATT&CK Coverage

TacticTechniques
Impact

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: Microsoft 365 - Unusual Volume of File Deletion
id: 78a34b67-3c39-4886-8fb4-61c46dc18ecd
status: test
description: Detects when a Microsoft Cloud App Security reported a user has deleted a unusual a large volume of files.
references:
    - https://learn.microsoft.com/en-us/defender-cloud-apps/anomaly-detection-policy
    - https://learn.microsoft.com/en-us/defender-cloud-apps/policy-template-reference
author: austinsonger
date: 2021-08-19
modified: 2022-10-09
tags:
    - attack.impact
    - attack.t1485
logsource:
    service: threat_management
    product: m365
detection:
    selection:
        eventSource: SecurityComplianceCenter
        eventName: 'Unusual volume of file deletion'
        status: success
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    eventSource: SecurityComplianceCenter
    eventName: 'Unusual volume of file deletion'
    status: success

Indicators

These rows show field, operator, and value matches.

Okta Policy Rule Modified or Deleted

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

Detects when an Policy Rule is Modified or Deleted.

MITRE ATT&CK Coverage

TacticTechniques
ImpactNo specific technique

Telemetry Coverage

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: Okta Policy Rule Modified or Deleted
id: 0c97c1d3-4057-45c9-b148-1de94b631931
status: test
description: Detects when an Policy Rule is Modified or Deleted.
references:
    - https://developer.okta.com/docs/reference/api/system-log/
    - https://developer.okta.com/docs/reference/api/event-types/
author: Austin Songer @austinsonger
date: 2021-09-12
modified: 2026-04-27
tags:
    - attack.impact
logsource:
    product: okta
    service: okta
detection:
    selection:
        eventType:
            - policy.rule.update
            - policy.rule.delete
    condition: selection
falsepositives:
    - Unknown

level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    eventType:
        - policy.rule.update
        - policy.rule.delete

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
eventTypeeq
  • policy.rule.delete
  • policy.rule.update
field:"eventType" kind:eq

Periodic Backup For System Registry Hives Enabled

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

Detects the enabling of the "EnablePeriodicBackup" registry value. Once enabled, The OS will backup System registry hives on restarts to the "C:\Windows\System32\config\RegBack" folder. Windows creates a "RegIdleBackup" task to manage subsequent backups. Registry backup was a default behavior on Windows and was disabled as of "Windows 10, version 1803".

Known False Positives

  • Legitimate need for RegBack feature by administrators.

MITRE ATT&CK Coverage

TacticTechniques
Collection

Telemetry Coverage

Rule Body

title: Periodic Backup For System Registry Hives Enabled
id: 973ef012-8f1a-4c40-93b4-7e659a5cd17f
status: test
description: |
    Detects the enabling of the "EnablePeriodicBackup" registry value. Once enabled, The OS will backup System registry hives on restarts to the "C:\Windows\System32\config\RegBack" folder. Windows creates a "RegIdleBackup" task to manage subsequent backups.
    Registry backup was a default behavior on Windows and was disabled as of "Windows 10, version 1803".
references:
    - https://learn.microsoft.com/en-us/troubleshoot/windows-client/installing-updates-features-roles/system-registry-no-backed-up-regback-folder
author: Nasreddine Bencherchali (Nextron Systems)
date: 2024-07-01
tags:
    - attack.collection
    - attack.t1113
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|endswith: '\Control\Session Manager\Configuration Manager\EnablePeriodicBackup'
        Details: 'DWORD (0x00000001)'
    condition: selection
falsepositives:
    - Legitimate need for RegBack feature by administrators.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|endswith: '\Control\Session Manager\Configuration Manager\EnablePeriodicBackup'
    Details: 'DWORD (0x00000001)'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Detailseq
  • DWORD (0x00000001) corpus 36 (sigma 36)
field:"Details" kind:eq value:"DWORD (0x00000001)"
TargetObjectends_with
  • \Control\Session Manager\Configuration Manager\EnablePeriodicBackup
field:"TargetObject" kind:ends_with value:"\Control\Session Manager\Configuration Manager\EnablePeriodicBackup"

Potential MOVEit Transfer CVE-2023-34362 Exploitation - Dynamic Compilation Via Csc.EXE

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

Detects the execution of "csc.exe" via "w3wp.exe" process. MOVEit affected hosts execute "csc.exe" via the "w3wp.exe" process to dynamically compile malicious DLL files. MOVEit is affected by a critical vulnerability. Exploited hosts show evidence of dynamically compiling a DLL and writing it under C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\([a-z0-9]{5,12})\([a-z0-9]{5,12})\App_Web_[a-z0-9]{5,12}.dll. Hunting Opportunity Events from IIS dynamically compiling binaries via the csc.exe on behalf of the MOVEit application, especially since May 27th should be investigated.

Known False Positives

  • Initial software installation and software updates.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potential MOVEit Transfer CVE-2023-34362 Exploitation - Dynamic Compilation Via Csc.EXE
id: 39ac1fb0-07f1-474b-b97e-c5c0eace0d79
status: test
description: |
    Detects the execution of "csc.exe" via "w3wp.exe" process. MOVEit affected hosts execute "csc.exe" via the "w3wp.exe" process to dynamically compile malicious DLL files.

    MOVEit is affected by a critical vulnerability. Exploited hosts show evidence of dynamically compiling a DLL and writing it under C:\\Windows\\Microsoft\.NET\\Framework64\\v4\.0\.30319\\Temporary ASP\.NET Files\\root\\([a-z0-9]{5,12})\\([a-z0-9]{5,12})\\App_Web_[a-z0-9]{5,12}\.dll.

    Hunting Opportunity

    Events from IIS dynamically compiling binaries via the csc.exe on behalf of the MOVEit application, especially since May 27th should be investigated.
references:
    - https://www.huntress.com/blog/moveit-transfer-critical-vulnerability-rapid-response
    - https://www.trustedsec.com/blog/critical-vulnerability-in-progress-moveit-transfer-technical-analysis-and-recommendations/
author: '@kostastsale'
date: 2023-06-01
tags:
    - attack.execution
    - attack.t1059
    - cve.2023-34362
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: '\w3wp.exe'
        ParentCommandLine|contains: 'moveitdmz pool'
        Image|endswith: '\csc.exe'
    condition: selection
falsepositives:
    - Initial software installation and software updates.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ParentImage|endswith: '\w3wp.exe'
    ParentCommandLine|contains: 'moveitdmz pool'
    Image|endswith: '\csc.exe'

Indicators

These rows show field, operator, and value matches.

Potential Netcat Reverse Shell Execution

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

Detects execution of netcat with the "-e" flag followed by common shells. This could be a sign of a potential reverse shell setup.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: Potential Netcat Reverse Shell Execution
id: 7f734ed0-4f47-46c0-837f-6ee62505abd9
status: test
description: Detects execution of netcat with the "-e" flag followed by common shells. This could be a sign of a potential reverse shell setup.
references:
    - https://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet
    - https://www.revshells.com/
    - https://www.hackingtutorials.org/networking/hacking-netcat-part-2-bind-reverse-shells/
    - https://www.infosecademy.com/netcat-reverse-shells/
    - https://man7.org/linux/man-pages/man1/ncat.1.html
author: '@d4ns4n_, Nasreddine Bencherchali (Nextron Systems)'
date: 2023-04-07
tags:
    - attack.execution
    - attack.t1059
logsource:
    category: process_creation
    product: linux
detection:
    selection_nc:
        Image|endswith:
            - '/nc'
            - '/ncat'
    selection_flags:
        CommandLine|contains:
            - ' -c '
            - ' -e '
    selection_shell:
        CommandLine|contains:
            - ' ash'
            - ' bash'
            - ' bsh'
            - ' csh'
            - ' ksh'
            - ' pdksh'
            - ' sh'
            - ' tcsh'
            - '/bin/ash'
            - '/bin/bash'
            - '/bin/bsh'
            - '/bin/csh'
            - '/bin/ksh'
            - '/bin/pdksh'
            - '/bin/sh'
            - '/bin/tcsh'
            - '/bin/zsh'
            - '$IFSash'
            - '$IFSbash'
            - '$IFSbsh'
            - '$IFScsh'
            - '$IFSksh'
            - '$IFSpdksh'
            - '$IFSsh'
            - '$IFStcsh'
            - '$IFSzsh'
    condition: all of selection_*
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_nc

selection_nc:
    Image|endswith:
        - '/nc'
        - '/ncat'

Stage 2: selection_flags

selection_flags:
    CommandLine|contains:
        - ' -c '
        - ' -e '

Stage 3: selection_shell

selection_shell:
    CommandLine|contains:
        - ' ash'
        - ' bash'
        - ' bsh'
        - ' csh'
        - ' ksh'
        - ' pdksh'
        - ' sh'
        - ' tcsh'
        - '/bin/ash'
        - '/bin/bash'
        - '/bin/bsh'
        - '/bin/csh'
        - '/bin/ksh'
        - '/bin/pdksh'
        - '/bin/sh'
        - '/bin/tcsh'
        - '/bin/zsh'
        - '$IFSash'
        - '$IFSbash'
        - '$IFSbsh'
        - '$IFScsh'
        - '$IFSksh'
        - '$IFSpdksh'
        - '$IFSsh'
        - '$IFStcsh'
        - '$IFSzsh'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -c corpus 13 (sigma 13)
  • -e corpus 17 (sigma 14, elastic 3)
  • ash corpus 2 (sigma 2)
  • bash corpus 2 (sigma 2)
  • bsh corpus 2 (sigma 2)
  • csh corpus 2 (sigma 2)
  • ksh corpus 2 (sigma 2)
  • pdksh corpus 2 (sigma 2)
  • sh corpus 2 (sigma 2)
  • tcsh corpus 2 (sigma 2)
  • $IFSash
  • $IFSbash
  • $IFSbsh
  • $IFScsh
  • $IFSksh
  • $IFSpdksh
  • $IFSsh
  • $IFStcsh
  • $IFSzsh
  • /bin/ash
  • /bin/bash corpus 8 (sigma 8)
  • /bin/bsh
  • /bin/csh corpus 2 (sigma 2)
  • /bin/ksh corpus 2 (sigma 2)
  • /bin/pdksh
  • /bin/sh corpus 12 (sigma 12)
  • /bin/tcsh
  • /bin/zsh corpus 8 (sigma 8)
field:"CommandLine" kind:match
Imageends_with
  • /nc corpus 7 (sigma 7)
  • /ncat corpus 6 (sigma 6)
field:"Image" kind:ends_with

Potential Process Injection Via Msra.EXE

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

Detects potential process injection via Microsoft Remote Asssistance (Msra.exe) by looking at suspicious child processes spawned from the aforementioned process. It has been a target used by many threat actors and used for discovery and persistence tactics

Known False Positives

  • Legitimate use of Msra.exe

MITRE ATT&CK Coverage

TacticTechniques
Privilege Escalation
Stealth

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potential Process Injection Via Msra.EXE
id: 744a188b-0415-4792-896f-11ddb0588dbc
status: test
description: Detects potential process injection via Microsoft Remote Asssistance (Msra.exe) by looking at suspicious child processes spawned from the aforementioned process. It has been a target used by many threat actors and used for discovery and persistence tactics
references:
    - https://www.microsoft.com/security/blog/2021/12/09/a-closer-look-at-qakbots-latest-building-blocks-and-how-to-knock-them-down/
    - https://www.fortinet.com/content/dam/fortinet/assets/analyst-reports/ar-qakbot.pdf
author: Alexander McDonald
date: 2022-06-24
modified: 2023-02-03
tags:
    - attack.privilege-escalation
    - attack.stealth
    - attack.t1055
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: '\msra.exe'
        ParentCommandLine|endswith: 'msra.exe'
        Image|endswith:
            - '\arp.exe'
            - '\cmd.exe'
            - '\net.exe'
            - '\netstat.exe'
            - '\nslookup.exe'
            - '\route.exe'
            - '\schtasks.exe'
            - '\whoami.exe'
    condition: selection
falsepositives:
    - Legitimate use of Msra.exe
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ParentImage|endswith: '\msra.exe'
    ParentCommandLine|endswith: 'msra.exe'
    Image|endswith:
        - '\arp.exe'
        - '\cmd.exe'
        - '\net.exe'
        - '\netstat.exe'
        - '\nslookup.exe'
        - '\route.exe'
        - '\schtasks.exe'
        - '\whoami.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \arp.exe corpus 3 (sigma 3)
  • \cmd.exe corpus 132 (sigma 130, splunk 2)
  • \net.exe corpus 49 (sigma 49)
  • \netstat.exe corpus 5 (sigma 5)
  • \nslookup.exe corpus 5 (sigma 5)
  • \route.exe corpus 3 (sigma 3)
  • \schtasks.exe corpus 55 (sigma 55)
  • \whoami.exe corpus 19 (sigma 19)
field:"Image" kind:ends_with
ParentCommandLineends_with
  • msra.exe
field:"ParentCommandLine" kind:ends_with value:"msra.exe"
ParentImageends_with
  • \msra.exe
field:"ParentImage" kind:ends_with value:"\msra.exe"

Potential Suspicious PowerShell Module File Created

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

Detects the creation of a new PowerShell module in the first folder of the module directory structure "\WindowsPowerShell\Modules\malware\malware.psm1". This is somewhat an uncommon practice as legitimate modules often includes a version folder.

Known False Positives

  • False positive rate will vary depending on the environments. Additional filters might be required to make this logic usable in production.

MITRE ATT&CK Coverage

TacticTechniques
PersistenceNo specific technique

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: Potential Suspicious PowerShell Module File Created
id: e8a52bbd-bced-459f-bd93-64db45ce7657
status: test
description: Detects the creation of a new PowerShell module in the first folder of the module directory structure "\WindowsPowerShell\Modules\malware\malware.psm1". This is somewhat an uncommon practice as legitimate modules often includes a version folder.
references:
    - Internal Research
    - https://learn.microsoft.com/en-us/powershell/scripting/developer/module/understanding-a-windows-powershell-module?view=powershell-7.3
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-05-09
tags:
    - attack.persistence
logsource:
    category: file_event
    product: windows
detection:
    selection:
        TargetFilename|endswith:
            # Note: Don't include PowerShell 7 as it has default modules that don't follow this logic
            - '\\WindowsPowerShell\\Modules\\*\.ps'
            - '\\WindowsPowerShell\\Modules\\*\.dll'
    condition: selection
falsepositives:
    - False positive rate will vary depending on the environments. Additional filters might be required to make this logic usable in production.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetFilename|endswith:
        - '\\WindowsPowerShell\\Modules\\*\.ps'
        - '\\WindowsPowerShell\\Modules\\*\.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenameends_with
  • \\WindowsPowerShell\\Modules\\*\.dll
  • \\WindowsPowerShell\\Modules\\*\.ps
field:"TargetFilename" kind:ends_with

Potential Vivaldi_elf.DLL Sideloading

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

Detects potential DLL sideloading of "vivaldi_elf.dll"

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: Potential Vivaldi_elf.DLL Sideloading
id: 2092cacb-d77b-4f98-ab0d-32b32f99a054
status: test
description: Detects potential DLL sideloading of "vivaldi_elf.dll"
references:
    - https://research.checkpoint.com/2023/beyond-the-horizon-traveling-the-world-on-camaro-dragons-usb-flash-drives/
author: X__Junior (Nextron Systems)
date: 2023-08-03
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.execution
    - attack.stealth
    - attack.t1574.001
logsource:
    category: image_load
    product: windows
detection:
    selection:
        ImageLoaded|endswith: '\vivaldi_elf.dll'
    filter_main_legit_path:
        Image|endswith: '\Vivaldi\Application\vivaldi.exe'
        ImageLoaded|contains: '\Vivaldi\Application\'
    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: '\vivaldi_elf.dll'

Stage 2: not filter_main_legit_path

filter_main_legit_path:
    Image|endswith: '\Vivaldi\Application\vivaldi.exe'
    ImageLoaded|contains: '\Vivaldi\Application\'

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imageends_with\Vivaldi\Application\vivaldi.exeexcludes:Image field:"Image" value:"\Vivaldi\Application\vivaldi.exe"
ImageLoadedmatch\Vivaldi\Application\excludes:ImageLoaded field:"ImageLoaded" value:"\Vivaldi\Application\"

Potentially Suspicious Child Process of KeyScrambler.exe

#
Status
test
Severity
medium
Author
Swachchhanda Shrawan Poudel
Source
github.com/SigmaHQ/sigma

Detects potentially suspicious child processes of KeyScrambler.exe

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potentially Suspicious Child Process of KeyScrambler.exe
id: ca5583e9-8f80-46ac-ab91-7f314d13b984
related:
    - id: d2451be2-b582-4e15-8701-4196ac180260
      type: similar
status: test
description: Detects potentially suspicious child processes of KeyScrambler.exe
references:
    - https://twitter.com/DTCERT/status/1712785421845790799
author: Swachchhanda Shrawan Poudel
date: 2024-05-13
tags:
    - attack.persistence
    - attack.execution
    - attack.privilege-escalation
    - attack.stealth
    - attack.t1203
    - attack.t1574.001
logsource:
    category: process_creation
    product: windows
detection:
    selection_parent:
        ParentImage|endswith: '\KeyScrambler.exe'
    selection_binaries:
        # Note: add additional binaries that the attacker might use
        - Image|endswith:
              - '\cmd.exe'
              - '\cscript.exe'
              - '\mshta.exe'
              - '\powershell.exe'
              - '\pwsh.exe'
              - '\regsvr32.exe'
              - '\rundll32.exe'
              - '\wscript.exe'
        - OriginalFileName:
              - 'Cmd.Exe'
              - 'cscript.exe'
              - 'mshta.exe'
              - 'PowerShell.EXE'
              - 'pwsh.dll'
              - 'regsvr32.exe'
              - 'RUNDLL32.EXE'
              - 'wscript.exe'
    condition: all of selection_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_parent

selection_parent:
    ParentImage|endswith: '\KeyScrambler.exe'

Stage 2: selection_binaries

selection_binaries:
    - Image|endswith:
          - '\cmd.exe'
          - '\cscript.exe'
          - '\mshta.exe'
          - '\powershell.exe'
          - '\pwsh.exe'
          - '\regsvr32.exe'
          - '\rundll32.exe'
          - '\wscript.exe'
    - OriginalFileName:
          - 'Cmd.Exe'
          - 'cscript.exe'
          - 'mshta.exe'
          - 'PowerShell.EXE'
          - 'pwsh.dll'
          - 'regsvr32.exe'
          - 'RUNDLL32.EXE'
          - 'wscript.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \cmd.exe corpus 132 (sigma 130, splunk 2)
  • \cscript.exe corpus 72 (sigma 72)
  • \mshta.exe corpus 67 (sigma 66, splunk 1)
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \pwsh.exe corpus 166 (sigma 166)
  • \regsvr32.exe corpus 64 (sigma 64)
  • \rundll32.exe corpus 94 (sigma 94)
  • \wscript.exe corpus 74 (sigma 74)
field:"Image" kind:ends_with
OriginalFileNameeq
  • Cmd.Exe corpus 75 (sigma 43, splunk 17, elastic 15)
  • PowerShell.EXE corpus 134 (sigma 86, splunk 30, elastic 18)
  • RUNDLL32.EXE corpus 72 (sigma 35, splunk 21, elastic 16)
  • cscript.exe corpus 32 (sigma 17, elastic 15)
  • mshta.exe corpus 40 (elastic 21, sigma 13, splunk 6)
  • pwsh.dll corpus 115 (sigma 81, splunk 30, elastic 4)
  • regsvr32.exe corpus 37 (sigma 17, elastic 15, splunk 5)
  • wscript.exe corpus 37 (elastic 20, sigma 17)
field:"OriginalFileName" kind:eq
ParentImageends_with
  • \KeyScrambler.exe
field:"ParentImage" kind:ends_with value:"\KeyScrambler.exe"

PowerShell Downgrade Attack - PowerShell

#
Status
test
Severity
medium
Author
Florian Roth (Nextron Systems), Lee Holmes (idea), Harish Segar (improvements)
Source
github.com/SigmaHQ/sigma

Detects PowerShell downgrade attack by comparing the host versions with the actually used engine version 2.0

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
PowerShellEvent ID 400

Rule Body

title: PowerShell Downgrade Attack - PowerShell
id: 6331d09b-4785-4c13-980f-f96661356249
status: test
description: Detects PowerShell downgrade attack by comparing the host versions with the actually used engine version 2.0
references:
    - http://www.leeholmes.com/blog/2017/03/17/detecting-and-preventing-powershell-downgrade-attacks/
author: Florian Roth (Nextron Systems), Lee Holmes (idea), Harish Segar (improvements)
date: 2017-03-22
modified: 2023-10-27
tags:
    - attack.execution
    - attack.t1059.001
logsource:
    product: windows
    category: ps_classic_start
detection:
    selection:
        Data|contains: 'EngineVersion=2.'
    filter_main:
        Data|contains: 'HostVersion=2.'
    condition: selection and not filter_main
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection and not filter_main

Stage 1: selection

selection:
    Data|contains: 'EngineVersion=2.'

Stage 2: not filter_main

filter_main:
    Data|contains: 'HostVersion=2.'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Datamatch
  • EngineVersion=2. corpus 2 (sigma 2)
field:"Data" kind:match value:"EngineVersion=2."

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
DatamatchHostVersion=2.excludes:Data field:"Data" value:"HostVersion=2."

Powershell Keylogging

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

Adversaries may log user keystrokes to intercept credentials as the user types them.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Powershell Keylogging
id: 34f90d3c-c297-49e9-b26d-911b05a4866c
status: test
description: Adversaries may log user keystrokes to intercept credentials as the user types them.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1218/T1218.md
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1056.001/src/Get-Keystrokes.ps1
author: frack113
date: 2021-07-30
modified: 2022-07-11
tags:
    - attack.credential-access
    - attack.collection
    - attack.t1056.001
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection_basic:
        ScriptBlockText|contains: 'Get-Keystrokes'
    selection_high: # want to run in background and keyboard
        ScriptBlockText|contains|all:
            - 'Get-ProcAddress user32.dll GetAsyncKeyState'
            - 'Get-ProcAddress user32.dll GetForegroundWindow'
    condition: 1 of selection_*
falsepositives:
    - Unknown
level: medium
regression_tests_path: regression_data/rules/windows/powershell/powershell_script/posh_ps_keylogging/info.yml

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_basic

selection_basic:
    ScriptBlockText|contains: 'Get-Keystrokes'

Stage 2: selection_high

selection_high:
    ScriptBlockText|contains|all:
        - 'Get-ProcAddress user32.dll GetAsyncKeyState'
        - 'Get-ProcAddress user32.dll GetForegroundWindow'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • Get-Keystrokes corpus 2 (sigma 2)
  • Get-ProcAddress user32.dll GetAsyncKeyState
  • Get-ProcAddress user32.dll GetForegroundWindow
field:"ScriptBlockText" kind:match

RDP BlueeKeep connection closed (CVE-2019-0708)

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

Detects scenarios where an attacker attempts to exploit the BlueKeep vulnerability.

Known False Positives

  • none

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: RDP BlueeKeep connection closed (CVE-2019-0708)
description: Detects scenarios where an attacker attempts to exploit the BlueKeep vulnerability.
references:
- https://github.com/sbousseaden/Slides/blob/master/Windows%20DFIR%20Events.pdf
- https://corelight.com/blog/2019/05/23/how-to-use-corelight-and-zeek-logs-to-mitigate-rds-rdp-vulnerabilities
- https://www.cyberark.com/resources/threat-research-blog/explain-like-i-m-5-remote-desktop-protocol-rdp
tags:
- attack.lateral_movement
- attack.t1021.001 # remote services: RDP
- attack.privilege_escalation
- attack.t1021.001 # exploit for privilege escalation
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: rdp
detection:
  selection:
    EventID: 148 # Channel X has been closed between the server and the client on transport tunnel: Y.
    Channel: Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational
    ChannelName: "ms_t120"
  condition: selection
falsepositives:
- none
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  EventID: 148
  Channel: Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational
  ChannelName: "ms_t120"

Indicators

These rows show field, operator, and value matches.

Renamed AutoIt Execution

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

Detects the execution of a renamed AutoIt2.exe or AutoIt3.exe. AutoIt is a scripting language and automation tool for Windows systems. While primarily used for legitimate automation tasks, it can be misused in cyber attacks. Attackers can leverage AutoIt to create and distribute malware, including keyloggers, spyware, and botnets. A renamed AutoIt executable is particularly suspicious.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Renamed AutoIt Execution
id: f4264e47-f522-4c38-a420-04525d5b880f
status: test
description: |
    Detects the execution of a renamed AutoIt2.exe or AutoIt3.exe.
    AutoIt is a scripting language and automation tool for Windows systems. While primarily used for legitimate automation tasks, it can be misused in cyber attacks.
    Attackers can leverage AutoIt to create and distribute malware, including keyloggers, spyware, and botnets. A renamed AutoIt executable is particularly suspicious.
references:
    - https://twitter.com/malmoeb/status/1665463817130725378?s=12&t=C0_T_re0wRP_NfKa27Xw9w
    - https://www.autoitscript.com/site/
author: Florian Roth (Nextron Systems)
date: 2023-06-04
modified: 2024-11-23
tags:
    - attack.stealth
    - attack.t1027
logsource:
    category: process_creation
    product: windows
detection:
    selection_1:
        CommandLine|contains:
            - ' /AutoIt3ExecuteScript'
            - ' /ErrorStdOut'
    selection_2:
        Hashes|contains:
            - 'IMPHASH=FDC554B3A8683918D731685855683DDF'  # AutoIt v2 - doesn't cover all binaries
            - 'IMPHASH=CD30A61B60B3D60CECDB034C8C83C290'  # AutoIt v2 - doesn't cover all binaries
            - 'IMPHASH=F8A00C72F2D667D2EDBB234D0C0AE000'  # AutoIt v3 - doesn't cover all binaries
    selection_3:
        OriginalFileName:
            - 'AutoIt3.exe'
            - 'AutoIt2.exe'
            - 'AutoIt.exe'
    filter_main_legit_name:
        Image|endswith:
            - '\AutoIt.exe'
            - '\AutoIt2.exe'
            - '\AutoIt3_x64.exe'
            - '\AutoIt3.exe'
    condition: 1 of selection_* and not 1 of filter_main_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

1 of selection_* and not 1 of filter_main_*

Stage 1: selection_1

selection_1:
    CommandLine|contains:
        - ' /AutoIt3ExecuteScript'
        - ' /ErrorStdOut'

Stage 2: selection_2

selection_2:
    Hashes|contains:
        - 'IMPHASH=FDC554B3A8683918D731685855683DDF'
        - 'IMPHASH=CD30A61B60B3D60CECDB034C8C83C290'
        - 'IMPHASH=F8A00C72F2D667D2EDBB234D0C0AE000'

Stage 3: selection_3

selection_3:
    OriginalFileName:
        - 'AutoIt3.exe'
        - 'AutoIt2.exe'
        - 'AutoIt.exe'

Stage 4: not filter_main_legit_name

filter_main_legit_name:
    Image|endswith:
        - '\AutoIt.exe'
        - '\AutoIt2.exe'
        - '\AutoIt3_x64.exe'
        - '\AutoIt3.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /AutoIt3ExecuteScript
  • /ErrorStdOut
field:"CommandLine" kind:match
Hashesmatch
  • IMPHASH=CD30A61B60B3D60CECDB034C8C83C290
  • IMPHASH=F8A00C72F2D667D2EDBB234D0C0AE000
  • IMPHASH=FDC554B3A8683918D731685855683DDF
field:"Hashes" kind:match
OriginalFileNameeq
  • AutoIt.exe
  • AutoIt2.exe
  • AutoIt3.exe corpus 2 (sigma 2)
field:"OriginalFileName" kind:eq

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imageends_with\AutoIt.exeexcludes:Image field:"Image" value:"\AutoIt.exe"
Imageends_with\AutoIt2.exeexcludes:Image field:"Image" value:"\AutoIt2.exe"
Imageends_with\AutoIt3.exeexcludes:Image field:"Image" value:"\AutoIt3.exe"
Imageends_with\AutoIt3_x64.exeexcludes:Image field:"Image" value:"\AutoIt3_x64.exe"

SharePoint ToolShell CVE-2025-53770 Exploitation - Web IIS

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

Detects access to vulnerable SharePoint components potentially being exploited in CVE-2025-53770 through IIS web server logs. CVE-2025-53770 is a zero-day vulnerability in SharePoint that allows remote code execution.

MITRE ATT&CK Coverage

TacticTechniques
Initial Access

Rule Body

title: SharePoint ToolShell CVE-2025-53770 Exploitation - Web IIS
id: 48d053db-6a56-4866-b60d-0975647050ed
status: experimental
description: |
    Detects access to vulnerable SharePoint components potentially being exploited in CVE-2025-53770 through IIS web server logs.
    CVE-2025-53770 is a zero-day vulnerability in SharePoint that allows remote code execution.
references:
    - https://www.linkedin.com/posts/mauricefielenbach_sharepoint-incidentresponse-windowssecurity-activity-7352653907363303425-bL2f
    - https://research.eye.security/sharepoint-under-siege/
    - https://msrc.microsoft.com/blog/2025/07/customer-guidance-for-sharepoint-vulnerability-cve-2025-53770/
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-07-21
tags:
    - attack.initial-access
    - attack.t1190
    - cve.2025-53770
    - detection.emerging-threats
logsource:
    category: webserver # IIS web server logs
detection:
    selection_exploit_post:
        cs-method: 'POST'
        cs-uri-stem|contains: '/_layouts/15/ToolPane.aspx'
        cs-uri-query|contains: 'DisplayMode=Edit&a=/ToolPane.aspx'
    selection_exploit_get:
        cs-method: 'GET'
        cs-uri-stem|contains: '/_layouts/15/spinstall0.aspx'
    selection_referer:
        cs-referer|contains: '/_layouts/SignOut.aspx'
    condition: 1 of selection_exploit_* and selection_referer
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

1 of selection_exploit_* and selection_referer

Stage 1: selection_exploit_post

selection_exploit_post:
    cs-method: 'POST'
    cs-uri-stem|contains: '/_layouts/15/ToolPane.aspx'
    cs-uri-query|contains: 'DisplayMode=Edit&a=/ToolPane.aspx'

Stage 2: selection_exploit_get

selection_exploit_get:
    cs-method: 'GET'
    cs-uri-stem|contains: '/_layouts/15/spinstall0.aspx'

Stage 3: selection_referer

selection_referer:
    cs-referer|contains: '/_layouts/SignOut.aspx'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
cs-methodeq
  • GET
  • POST
field:"cs-method" kind:eq
cs-referermatch
  • /_layouts/SignOut.aspx
field:"cs-referer" kind:match value:"/_layouts/SignOut.aspx"
cs-uri-querymatch
  • DisplayMode=Edit&a=/ToolPane.aspx
field:"cs-uri-query" kind:match value:"DisplayMode=Edit&a=/ToolPane.aspx"
cs-uri-stemmatch
  • /_layouts/15/ToolPane.aspx
  • /_layouts/15/spinstall0.aspx
field:"cs-uri-stem" kind:match

Suspicious Persistence Via VMwareToolBoxCmd.EXE VM State Change Script

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

Detects execution of the "VMwareToolBoxCmd.exe" with the "script" and "set" flag to setup a specific script that's located in a potentially suspicious location to run for a specific VM state

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Suspicious Persistence Via VMwareToolBoxCmd.EXE VM State Change Script
id: 236d8e89-ed95-4789-a982-36f4643738ba
related:
    - id: 7aa4e81a-a65c-4e10-9f81-b200eb229d7d
      type: derived
status: test
description: Detects execution of the "VMwareToolBoxCmd.exe" with the "script" and "set" flag to setup a specific script that's located in a potentially suspicious location to run for a specific VM state
references:
    - https://bohops.com/2021/10/08/analyzing-and-detecting-a-vmtools-persistence-technique/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-06-14
tags:
    - attack.execution
    - attack.persistence
    - attack.t1059
logsource:
    category: process_creation
    product: windows
detection:
    selection_bin_img:
        - Image|endswith: '\VMwareToolBoxCmd.exe'
        - OriginalFileName: 'toolbox-cmd.exe'
    selection_bin_cli:
        CommandLine|contains|all:
            - ' script '
            - ' set '
    selection_susp_paths:
        CommandLine|contains:
            - ':\PerfLogs\'
            - ':\Temp\'
            - ':\Windows\System32\Tasks\'
            - ':\Windows\Tasks\'
            - ':\Windows\Temp\'
            - '\AppData\Local\Temp'
    condition: all of selection_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_bin_img

selection_bin_img:
    - Image|endswith: '\VMwareToolBoxCmd.exe'
    - OriginalFileName: 'toolbox-cmd.exe'

Stage 2: selection_bin_cli

selection_bin_cli:
    CommandLine|contains|all:
        - ' script '
        - ' set '

Stage 3: selection_susp_paths

selection_susp_paths:
    CommandLine|contains:
        - ':\PerfLogs\'
        - ':\Temp\'
        - ':\Windows\System32\Tasks\'
        - ':\Windows\Tasks\'
        - ':\Windows\Temp\'
        - '\AppData\Local\Temp'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • script corpus 2 (sigma 2)
  • set corpus 4 (sigma 4)
  • :\PerfLogs\ corpus 11 (sigma 11)
  • :\Temp\ corpus 14 (sigma 14)
  • :\Windows\System32\Tasks\ corpus 4 (sigma 4)
  • :\Windows\Tasks\ corpus 6 (sigma 6)
  • :\Windows\Temp\ corpus 16 (sigma 16)
  • \AppData\Local\Temp corpus 8 (sigma 8)
field:"CommandLine" kind:match
Imageends_with
  • \VMwareToolBoxCmd.exe corpus 2 (sigma 2)
field:"Image" kind:ends_with value:"\VMwareToolBoxCmd.exe"
OriginalFileNameeq
  • toolbox-cmd.exe corpus 2 (sigma 2)
field:"OriginalFileName" kind:eq value:"toolbox-cmd.exe"

Suspicious PowerShell Invocations - Generic

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

Detects suspicious PowerShell invocation command parameters

Known False Positives

  • Very special / sneaky PowerShell scripts

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious PowerShell Invocations - Generic
id: ed965133-513f-41d9-a441-e38076a0798f
related:
    - id: 3d304fda-78aa-43ed-975c-d740798a49c1
      type: derived
    - id: bbb80e91-5746-4fbe-8898-122e2cafdbf4
      type: similar
status: test
description: Detects suspicious PowerShell invocation command parameters
references:
    - Internal Research
author: Florian Roth (Nextron Systems)
date: 2017-03-12
modified: 2023-01-03
tags:
    - attack.execution
    - attack.t1059.001
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection_encoded:
        ScriptBlockText|contains:
            - ' -enc '
            - ' -EncodedCommand '
            - ' -ec '
    selection_hidden:
        ScriptBlockText|contains:
            - ' -w hidden '
            - ' -window hidden '
            - ' -windowstyle hidden '
            - ' -w 1 '
    selection_noninteractive:
        ScriptBlockText|contains:
            - ' -noni '
            - ' -noninteractive '
    condition: all of selection*
falsepositives:
    - Very special / sneaky PowerShell scripts
level: high

Stages and Predicates

Stage 0: condition

all of selection*

Stage 1: selection_encoded

selection_encoded:
    ScriptBlockText|contains:
        - ' -enc '
        - ' -EncodedCommand '
        - ' -ec '

Stage 2: selection_hidden

selection_hidden:
    ScriptBlockText|contains:
        - ' -w hidden '
        - ' -window hidden '
        - ' -windowstyle hidden '
        - ' -w 1 '

Stage 3: selection_noninteractive

selection_noninteractive:
    ScriptBlockText|contains:
        - ' -noni '
        - ' -noninteractive '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • -EncodedCommand
  • -ec
  • -enc
  • -noni
  • -noninteractive
  • -w 1
  • -w hidden
  • -window hidden
  • -windowstyle hidden
field:"ScriptBlockText" kind:match

Suspicious PrinterPorts Creation (CVE-2020-1048)

#
Status
test
Severity
high
Author
EagleEye Team, Florian Roth
Source
github.com/SigmaHQ/sigma

Detects new commands that add new printer port which point to suspicious file

Known False Positives

  • New printer port install on host

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious PrinterPorts Creation (CVE-2020-1048)
id: cc08d590-8b90-413a-aff6-31d1a99678d7
status: test
description: Detects new commands that add new printer port which point to suspicious file
references:
    - https://windows-internals.com/printdemon-cve-2020-1048/
author: EagleEye Team, Florian Roth
date: 2020-05-13
modified: 2021-11-27
tags:
    - attack.persistence
    - attack.execution
    - attack.t1059.001
    - cve.2020-1048
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection1:
        CommandLine|contains: 'Add-PrinterPort -Name'
    selection2:
        CommandLine|contains:
            - '.exe'
            - '.dll'
            - '.bat'
    selection3:
        CommandLine|contains: 'Generic / Text Only'
    condition: (selection1 and selection2) or selection3
falsepositives:
    - New printer port install on host
level: high

Stages and Predicates

Stage 0: condition

(selection1 and selection2) or selection3

Stage 1: selection1

selection1:
    CommandLine|contains: 'Add-PrinterPort -Name'

Stage 2: selection2

selection2:
    CommandLine|contains:
        - '.exe'
        - '.dll'
        - '.bat'

Stage 3: selection3

selection3:
    CommandLine|contains: 'Generic / Text Only'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • .bat corpus 10 (sigma 9, elastic 1)
  • .dll corpus 16 (sigma 16)
  • .exe corpus 5 (sigma 5)
  • Add-PrinterPort -Name
  • Generic / Text Only
field:"CommandLine" kind:match

Suspicious Process Access to LSASS with Dbgcore/Dbghelp DLLs

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

Detects suspicious process access to LSASS.exe from processes located in uncommon locations with dbgcore.dll or dbghelp.dll in the call trace. These DLLs contain functions like MiniDumpWriteDump that can be abused for credential dumping purposes. While modern tools like Mimikatz have moved to using ntdll.dll, dbgcore.dll and dbghelp.dll are still used by basic credential dumping utilities and legacy tools for LSASS memory access and process suspension techniques.

Known False Positives

  • Possibly during software installation or update processes

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment
Credential Access

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 10: ProcessAccess

Rule Body

title: Suspicious Process Access to LSASS with Dbgcore/Dbghelp DLLs
id: 9f5c1d59-33be-4e60-bcab-85d2f566effd
related:
    - id: 416bc4a2-7217-4519-8dc7-c3271817f1d5
      type: similar
status: experimental
description: |
    Detects suspicious process access to LSASS.exe from processes located in uncommon locations with dbgcore.dll or dbghelp.dll in the call trace.
    These DLLs contain functions like MiniDumpWriteDump that can be abused for credential dumping purposes. While modern tools like Mimikatz have moved to using ntdll.dll,
    dbgcore.dll and dbghelp.dll are still used by basic credential dumping utilities and legacy tools for LSASS memory access and process suspension techniques.
references:
    - https://www.splunk.com/en_us/blog/security/you-bet-your-lsass-hunting-lsass-access.html
    - https://docs.microsoft.com/en-us/windows/win32/api/minidumpapiset/nf-minidumpwritedump
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-11-27
tags:
    - attack.credential-access
    - attack.defense-impairment
    - attack.t1003.001
    - attack.t1685
logsource:
    category: process_access
    product: windows
detection:
    selection_lsass_calltrace:
        TargetImage|endswith: '\lsass.exe'
        CallTrace|contains:
            - 'dbgcore.dll'
            - 'dbghelp.dll'
    # The following selection is commented out and not enabled by default because any access to LSASS with dbgcore.dll or dbghelp.dll in the call trace from uncommon locations is assumed to be suspicious,
    # but it may reduce false positives if the rule is too noisy. These GrantedAccess bits are commonly used for dumping LSASS memory.
    # Uncomment if you observe false positives with the default rule.
    # selection_granted_access:
    #     GrantedAccess|contains:
    #         - '0x1fffff'
    #         - '0x10'
    #         - '0x1010'
    #         - '0x1410'
    #         - '0x1438'
    selection_susp_location:
        SourceImage|contains:
            - ':\Perflogs\'
            - ':\Temp\'
            - ':\Users\Public\'
            - '\$Recycle.Bin\'
            - '\AppData\Roaming\'
            - '\Contacts\'
            - '\Desktop\'
            - '\Documents\'
            - '\Downloads\'
            - '\Favorites\'
            - '\Favourites\'
            - '\inetpub\wwwroot\'
            - '\Music\'
            - '\Pictures\'
            - '\Start Menu\Programs\Startup\'
            - '\Users\Default\'
            - '\Videos\'
            - '\Windows\Temp\'
    condition: all of selection_*
falsepositives:
    - Possibly during software installation or update processes
level: high
regression_tests_path: regression_data/rules/windows/process_access/proc_access_win_susp_dbgcore_dbghelp_load/info.yml

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_lsass_calltrace

selection_lsass_calltrace:
    TargetImage|endswith: '\lsass.exe'
    CallTrace|contains:
        - 'dbgcore.dll'
        - 'dbghelp.dll'

Stage 2: selection_susp_location

selection_susp_location:
    SourceImage|contains:
        - ':\Perflogs\'
        - ':\Temp\'
        - ':\Users\Public\'
        - '\$Recycle.Bin\'
        - '\AppData\Roaming\'
        - '\Contacts\'
        - '\Desktop\'
        - '\Documents\'
        - '\Downloads\'
        - '\Favorites\'
        - '\Favourites\'
        - '\inetpub\wwwroot\'
        - '\Music\'
        - '\Pictures\'
        - '\Start Menu\Programs\Startup\'
        - '\Users\Default\'
        - '\Videos\'
        - '\Windows\Temp\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CallTracematch
  • dbgcore.dll corpus 3 (sigma 2, splunk 1)
  • dbghelp.dll corpus 3 (sigma 2, splunk 1)
field:"CallTrace" kind:match
SourceImagematch
  • :\Perflogs\
  • :\Temp\ corpus 2 (sigma 2)
  • :\Users\Public\ corpus 2 (sigma 2)
  • \$Recycle.Bin\
  • \AppData\Roaming\
  • \Contacts\
  • \Desktop\
  • \Documents\
  • \Downloads\
  • \Favorites\
  • \Favourites\
  • \Music\
  • \Pictures\
  • \Start Menu\Programs\Startup\
  • \Users\Default\
  • \Videos\
  • \Windows\Temp\
  • \inetpub\wwwroot\
field:"SourceImage" kind:match
TargetImageends_with
  • \lsass.exe corpus 17 (sigma 16, splunk 1)
field:"TargetImage" kind:ends_with value:"\lsass.exe"

Suspicious Splwow64 Without Params

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

Detects suspicious Splwow64.exe process without any command line parameters

MITRE ATT&CK Coverage

TacticTechniques
Stealth

Telemetry Coverage

Rule Body

title: Suspicious Splwow64 Without Params
id: 1f1a8509-2cbb-44f5-8751-8e1571518ce2
status: test
description: Detects suspicious Splwow64.exe process without any command line parameters
references:
    - https://twitter.com/sbousseaden/status/1429401053229891590?s=12
author: Florian Roth (Nextron Systems)
date: 2021-08-23
modified: 2022-12-25
tags:
    - attack.stealth
    - attack.t1202
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\splwow64.exe'
        CommandLine|endswith: 'splwow64.exe'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '\splwow64.exe'
    CommandLine|endswith: 'splwow64.exe'

Indicators

These rows show field, operator, and value matches.

SyncAppvPublishingServer Execute Arbitrary PowerShell Code

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

Executes arbitrary PowerShell code using SyncAppvPublishingServer.exe.

Known False Positives

  • App-V clients

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: SyncAppvPublishingServer Execute Arbitrary PowerShell Code
id: fbd7c32d-db2a-4418-b92c-566eb8911133
related:
    - id: fde7929d-8beb-4a4c-b922-be9974671667
      type: obsolete
status: test
description: Executes arbitrary PowerShell code using SyncAppvPublishingServer.exe.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1218/T1218.md
    - https://lolbas-project.github.io/lolbas/Binaries/Syncappvpublishingserver/
author: frack113
date: 2021-07-12
modified: 2022-10-04
tags:
    - attack.stealth
    - attack.t1218
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\SyncAppvPublishingServer.exe'
        - OriginalFileName: 'syncappvpublishingserver.exe'
    selection_cli:
        CommandLine|contains: '"n; '
    condition: all of selection_*
falsepositives:
    - App-V clients
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    - Image|endswith: '\SyncAppvPublishingServer.exe'
    - OriginalFileName: 'syncappvpublishingserver.exe'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains: '"n; '

Indicators

These rows show field, operator, and value matches.

System Owner or User Discovery - Linux

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

Detects the execution of host or user discovery utilities such as "whoami", "hostname", "id", etc. Adversaries may use the information from System Owner/User Discovery during automated discovery to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions.

Known False Positives

  • Admin activity

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

Rule Body

title: System Owner or User Discovery - Linux
id: 9a0d8ca0-2385-4020-b6c6-cb6153ca56f3
status: test
description: |
    Detects the execution of host or user discovery utilities such as "whoami", "hostname", "id", etc.
    Adversaries may use the information from System Owner/User Discovery during automated discovery to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1033/T1033.md
author: Timur Zinniatullin, oscd.community
date: 2019-10-21
modified: 2025-06-04
tags:
    - attack.discovery
    - attack.t1033
logsource:
    product: linux
    service: auditd
detection:
    selection:
        type: 'EXECVE'
        a0:
            - 'hostname'
            - 'id'
            - 'last'
            - 'uname'
            - 'users'
            - 'w'
            - 'who'
            - 'whoami'
    condition: selection
falsepositives:
    - Admin activity
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    type: 'EXECVE'
    a0:
        - 'hostname'
        - 'id'
        - 'last'
        - 'uname'
        - 'users'
        - 'w'
        - 'who'
        - 'whoami'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
a0eq
  • hostname corpus 2 (sigma 2)
  • id
  • last
  • uname corpus 2 (sigma 2)
  • users
  • w
  • who
  • whoami
field:"a0" kind:eq
typeeq
  • EXECVE corpus 37 (sigma 31, splunk 6)
field:"type" kind:eq value:"EXECVE"

Uncommon Sigverif.EXE Child Process

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

Detects uncommon child processes spawning from "sigverif.exe", which could indicate potential abuse of the latter as a living of the land binary in order to proxy execution.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Uncommon Sigverif.EXE Child Process
id: 7d4aaec2-08ed-4430-8b96-28420e030e04
status: test
description: |
    Detects uncommon child processes spawning from "sigverif.exe", which could indicate potential abuse of the latter as a living of the land binary in order to proxy execution.
references:
    - https://www.hexacorn.com/blog/2018/04/27/i-shot-the-sigverif-exe-the-gui-based-lolbin/
    - https://twitter.com/0gtweet/status/1457676633809330184
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-08-19
modified: 2024-08-27
tags:
    - attack.stealth
    - attack.t1216
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: '\sigverif.exe'
    filter_main_werfault:
        Image:
            - 'C:\Windows\System32\WerFault.exe'
            - 'C:\Windows\SysWOW64\WerFault.exe'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

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

Stage 2: not filter_main_werfault

filter_main_werfault:
    Image:
        - 'C:\Windows\System32\WerFault.exe'
        - 'C:\Windows\SysWOW64\WerFault.exe'

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ImageeqC:\Windows\SysWOW64\WerFault.exeexcludes:Image field:"Image" value:"C:\Windows\SysWOW64\WerFault.exe"
ImageeqC:\Windows\System32\WerFault.exeexcludes:Image field:"Image" value:"C:\Windows\System32\WerFault.exe"

WinAPI Function Calls Via PowerShell Scripts

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

Detects calls to WinAPI functions from PowerShell scripts. Attackers can often leverage these APIs to avoid detection based on typical PowerShell function calls. Use this rule as a basis to hunt for interesting scripts.

Known False Positives

  • This rule is mainly used for hunting and will generate quite a lot of false positives when applied in production. It's best combined with other fields such as the path of execution, the parent process, etc.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: WinAPI Function Calls Via PowerShell Scripts
id: 9f22ccd5-a435-453b-af96-bf99cbb594d4
related:
    - id: ba3f5c1b-6272-4119-9dbd-0bc8d21c2702
      type: similar
    - id: 03d83090-8cba-44a0-b02f-0b756a050306
      type: similar
    - id: 19d65a1c-8540-4140-8062-8eb00db0bba5
      type: similar
status: test
description: Detects calls to WinAPI functions from PowerShell scripts. Attackers can often leverage these APIs to avoid detection based on typical PowerShell function calls. Use this rule as a basis to hunt for interesting scripts.
references:
    - https://speakerdeck.com/heirhabarov/hunting-for-powershell-abuse
author: Nikita Nazarov, oscd.community, Nasreddine Bencherchali (Nextron Systems)
date: 2023-07-21
tags:
    - attack.execution
    - attack.t1059.001
    - attack.t1106
    - detection.threat-hunting
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains:
            - 'AddSecurityPackage'
            - 'AdjustTokenPrivileges'
            - 'CloseHandle'
            - 'CreateProcessWithToken'
            - 'CreateRemoteThread'
            - 'CreateThread'
            - 'CreateUserThread'
            - 'DangerousGetHandle'
            - 'DuplicateTokenEx'
            - 'EnumerateSecurityPackages'
            - 'FreeLibrary'
            - 'GetDelegateForFunctionPointer'
            - 'GetLogonSessionData'
            - 'GetModuleHandle'
            - 'GetProcAddress'
            - 'GetProcessHandle'
            - 'GetTokenInformation'
            - 'ImpersonateLoggedOnUser'
            - 'LoadLibrary'
            - 'memcpy'
            - 'MiniDumpWriteDump'
            - 'OpenDesktop'
            - 'OpenProcess'
            - 'OpenProcessToken'
            - 'OpenThreadToken'
            - 'OpenWindowStation'
            - 'QueueUserApc'
            - 'ReadProcessMemory'
            - 'RevertToSelf'
            - 'RtlCreateUserThread'
            - 'SetThreadToken'
            - 'VirtualAlloc'
            - 'VirtualFree'
            - 'VirtualProtect'
            - 'WaitForSingleObject'
            - 'WriteInt32'
            - 'WriteProcessMemory'
            - 'ZeroFreeGlobalAllocUnicode'
    condition: selection
falsepositives:
    - This rule is mainly used for hunting and will generate quite a lot of false positives when applied in production. It's best combined with other fields such as the path of execution, the parent process, etc.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains:
        - 'AddSecurityPackage'
        - 'AdjustTokenPrivileges'
        - 'CloseHandle'
        - 'CreateProcessWithToken'
        - 'CreateRemoteThread'
        - 'CreateThread'
        - 'CreateUserThread'
        - 'DangerousGetHandle'
        - 'DuplicateTokenEx'
        - 'EnumerateSecurityPackages'
        - 'FreeLibrary'
        - 'GetDelegateForFunctionPointer'
        - 'GetLogonSessionData'
        - 'GetModuleHandle'
        - 'GetProcAddress'
        - 'GetProcessHandle'
        - 'GetTokenInformation'
        - 'ImpersonateLoggedOnUser'
        - 'LoadLibrary'
        - 'memcpy'
        - 'MiniDumpWriteDump'
        - 'OpenDesktop'
        - 'OpenProcess'
        - 'OpenProcessToken'
        - 'OpenThreadToken'
        - 'OpenWindowStation'
        - 'QueueUserApc'
        - 'ReadProcessMemory'
        - 'RevertToSelf'
        - 'RtlCreateUserThread'
        - 'SetThreadToken'
        - 'VirtualAlloc'
        - 'VirtualFree'
        - 'VirtualProtect'
        - 'WaitForSingleObject'
        - 'WriteInt32'
        - 'WriteProcessMemory'
        - 'ZeroFreeGlobalAllocUnicode'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • AddSecurityPackage
  • AdjustTokenPrivileges corpus 3 (sigma 3)
  • CloseHandle corpus 2 (sigma 2)
  • CreateProcessWithToken
  • CreateRemoteThread corpus 2 (sigma 2)
  • CreateThread
  • CreateUserThread
  • DangerousGetHandle
  • DuplicateTokenEx corpus 2 (sigma 2)
  • EnumerateSecurityPackages
  • FreeLibrary
  • GetDelegateForFunctionPointer corpus 3 (sigma 3)
  • GetLogonSessionData
  • GetModuleHandle
  • GetProcAddress corpus 2 (sigma 1, splunk 1)
  • GetProcessHandle
  • GetTokenInformation
  • ImpersonateLoggedOnUser
  • LoadLibrary
  • MiniDumpWriteDump corpus 2 (sigma 2)
  • OpenDesktop
  • OpenProcess corpus 2 (sigma 2)
  • OpenProcessToken corpus 2 (sigma 2)
  • OpenThreadToken
  • OpenWindowStation
  • QueueUserApc
  • ReadProcessMemory corpus 2 (sigma 2)
  • RevertToSelf
  • RtlCreateUserThread
  • SetThreadToken
  • VirtualAlloc corpus 2 (sigma 2)
  • VirtualFree corpus 2 (sigma 2)
  • VirtualProtect
  • WaitForSingleObject
  • WriteInt32
  • WriteProcessMemory corpus 2 (sigma 2)
  • ZeroFreeGlobalAllocUnicode
  • memcpy
field:"ScriptBlockText" kind:match

Back to all Sigma rules