Detection rules › Sigma

Sigma rules: 3b

RuleSeverity
Audit policy disabled by command linehigh
Binary Padding - Linuxhigh
Changing Existing Service ImagePath Value Via Reg.EXEmedium
Commvault QLogin with PublicSharingUser and GUID Password (CVE-2025-57788)medium
Conhost Spawned By Uncommon Parent Processmedium
Droppers Exploiting CVE-2017-11882critical
Firewall configuration enumerated (PowerShell)medium
GALLIUM Artefacts - Builtinhigh
HackTool - SharpWSUS/WSUSpendu Executionhigh
Import PowerShell Modules From Suspicious Directoriesmedium
Microsoft Defender threat exclusion added (PowerShell)high
Net.EXE Executionlow
Obfuscated payload transfered via service name - Tchopper (command)high
Outlook EnableUnsafeClientMailRules Setting Enabled - Registryhigh
Peach Sandstorm APT Process Activity Indicatorshigh
Potential Mpclient.DLL Sideloading Via OfflineScannerShell.EXE Executionmedium
Potential RDP Session Hijacking Activitymedium
Potential RDP Tunneling Via SSHhigh
Potentially Suspicious Call To Win32_NTEventlogFile Classhigh
PowerShell Download Patternmedium
PowerShell Script Execution Policy Enabledlow
Process Initiated Network Connection To Ngrok Domainhigh
Pulse Secure Attack CVE-2019-11510critical
RTCore Suspicious Service Installationhigh
Service Reconnaissance Via Wmic.EXEmedium
SMB Spoolss Name Piped Usagemedium
Successful MSIX/AppX Package Installationlow
Suspicious HWP Sub Processeshigh
Suspicious IP Throttling - critical settings manipulatedmedium
Suspicious Machine Account Replication - DcSync Indicatormedium
Suspicious Workstation Locking via Rundll32medium
UAC Bypass Using IDiagnostic Profile - Filehigh
User Couldn't Call a Privileged Service 'LsaRegisterLogonProcess'high

Audit policy disabled by command line

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

Detects scenarios where an attacker attempts to disbale or clear the audit policy for defense evasion purposes.

Known False Positives

  • Administrator debugging audit policy

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Audit policy disabled by command line
description: Detects scenarios where an attacker attempts to disbale or clear the audit policy for defense evasion purposes.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0005-Defense%20Evasion/T1562.002-Disable%20Windows%20Event%20Logging
- https://searchitchannel.techtarget.com/feature/Using-AuditPol-to-audit-Windows-users-and-set-policies
tags:
- attack.defense_evasion
- attack.t1562.002 # Impair Defenses: Disable Windows Event Logging 
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: process_creation
detection:
  selection:
    NewProcessName|endswith: '\auditpol.exe'
    CommandLine|contains:
      - clear   # "auditpol /clear /y"
      - disable # "auditpol /set /category:* /success:disable /failure:disable"
  condition: selection
falsepositives:
- Administrator debugging audit policy
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  NewProcessName|endswith: '\auditpol.exe'
  CommandLine|contains:
    - clear
    - disable

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • clear corpus 3 (sigma 3)
  • disable corpus 13 (sigma 10, splunk 3)
field:"CommandLine" kind:match
NewProcessNameends_with
  • \auditpol.exe corpus 3 (sigma 3)
field:"Image" kind:ends_with value:"\auditpol.exe"

Binary Padding - Linux

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

Adversaries may use binary padding to add junk data and change the on-disk representation of malware. This rule detect using dd and truncate to add a junk data to file.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Binary Padding - Linux
id: c52a914f-3d8b-4b2a-bb75-b3991e75f8ba
status: test
description: |
    Adversaries may use binary padding to add junk data and change the on-disk representation of malware.
    This rule detect using dd and truncate to add a junk data to file.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1027.001/T1027.001.md
author: Igor Fits, oscd.community
date: 2020-10-13
modified: 2023-05-03
tags:
    - attack.stealth
    - attack.t1027.001
logsource:
    product: linux
    service: auditd
detection:
    selection_execve:
        type: 'EXECVE'
    keywords_truncate:
        '|all':
            - 'truncate'
            - '-s'
    keywords_dd:
        '|all':
            - 'dd'
            - 'if='
    keywords_filter:
        - 'of='
    condition: selection_execve and (keywords_truncate or (keywords_dd and not keywords_filter))
falsepositives:
    - Unknown
level: high
simulation:
    - type: atomic-red-team
      name: Pad Binary to Change Hash - Linux/macOS dd
      technique: T1027.001
      atomic_guid: ffe2346c-abd5-4b45-a713-bf5f1ebd573a

Stages and Predicates

Stage 0: condition

selection_execve and (keywords_truncate or (keywords_dd and not keywords_filter))

Stage 1: selection_execve

selection_execve:
    type: 'EXECVE'

Stage 2: keywords_truncate

keywords_truncate:
    '|all':
        - 'truncate'
        - '-s'

Stage 3: keywords_dd

keywords_dd:
    '|all':
        - 'dd'
        - 'if='

Stage 4: not keywords_filter

keywords_filter:
    - 'of='

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
typeeq
  • EXECVE corpus 37 (sigma 31, splunk 6)
field:"type" kind:eq value:"EXECVE"

Changing Existing Service ImagePath Value Via Reg.EXE

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

Adversaries may execute their own malicious payloads by hijacking the Registry entries used by services. Adversaries may use flaws in the permissions for registry to redirect from the originally specified executable to one that they control, in order to launch their own code at Service start. Windows stores local service configuration information in the Registry under HKLM\SYSTEM\CurrentControlSet\Services

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Changing Existing Service ImagePath Value Via Reg.EXE
id: 9b0b7ac3-6223-47aa-a3fd-e8f211e637db
status: test
description: |
    Adversaries may execute their own malicious payloads by hijacking the Registry entries used by services.
    Adversaries may use flaws in the permissions for registry to redirect from the originally specified executable to one that they control, in order to launch their own code at Service start.
    Windows stores local service configuration information in the Registry under HKLM\SYSTEM\CurrentControlSet\Services
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1574.011/T1574.011.md#atomic-test-2---service-imagepath-change-with-regexe
author: frack113
date: 2021-12-30
modified: 2024-03-13
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.execution
    - attack.stealth
    - attack.t1574.011
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\reg.exe'
        CommandLine|contains|all:
            - 'add '
            - 'SYSTEM\CurrentControlSet\Services\'
            - ' ImagePath '
    selection_value:
        CommandLine|contains|windash: ' -d '
    condition: all of selection*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

all of selection*

Stage 1: selection

selection:
    Image|endswith: '\reg.exe'
    CommandLine|contains|all:
        - 'add '
        - 'SYSTEM\CurrentControlSet\Services\'
        - ' ImagePath '

Stage 2: selection_value

selection_value:
    CommandLine|contains|windash: ' -d '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -d corpus 8 (sigma 7, splunk 1)
  • /d corpus 3 (sigma 3)
  • ImagePath
  • –d
  • —d
  • ―d
  • SYSTEM\CurrentControlSet\Services\
  • add corpus 12 (sigma 12)
field:"CommandLine" kind:match
Imageends_with
  • \reg.exe corpus 58 (sigma 58)
field:"Image" kind:ends_with value:"\reg.exe"

Commvault QLogin with PublicSharingUser and GUID Password (CVE-2025-57788)

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

Detects a qlogin.exe command attempting to authenticate as the internal _+_PublicSharingUser_ using a GUID as the password. This could be an indicator of an attacker exploiting CVE-2025-57788 to gain initial access using leaked credentials.

Known False Positives

  • Legitimate administrative scripts that use the `_+_PublicSharingUser_` account for valid purposes.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Commvault QLogin with PublicSharingUser and GUID Password (CVE-2025-57788)
id: 917789e1-2c1f-4bf5-8c91-6f71a017f469
status: experimental
description: |
    Detects a qlogin.exe command attempting to authenticate as the internal `_+_PublicSharingUser_` using a GUID as the password.
    This could be an indicator of an attacker exploiting CVE-2025-57788 to gain initial access using leaked credentials.
references:
    - https://labs.watchtowr.com/guess-who-would-be-stupid-enough-to-rob-the-same-vault-twice-pre-auth-rce-chains-in-commvault/
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-10-20
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.initial-access
    - attack.stealth
    - attack.t1078.001
    - detection.emerging-threats
    - cve.2025-57788
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains|all:
            - 'qlogin'
            - '_+_PublicSharingUser_'
        # Detects the use of a GUID as the password, which is indicative of an exploit attempt
        CommandLine|re: '[A-F0-9]{8}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{12}'
    condition: selection
falsepositives:
    - Legitimate administrative scripts that use the `_+_PublicSharingUser_` account for valid purposes.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains|all:
        - 'qlogin'
        - '_+_PublicSharingUser_'
    CommandLine|re: '[A-F0-9]{8}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{12}'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • _+_PublicSharingUser_
  • qlogin corpus 2 (sigma 2)
field:"CommandLine" kind:match
CommandLineregex_match
  • [A-F0-9]{8}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{12}
field:"CommandLine" kind:regex_match value:"[A-F0-9]{8}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{12}"

Conhost Spawned By Uncommon Parent Process

#
Status
test
Severity
medium
Author
Tim Rauch, Elastic (idea)
Source
github.com/SigmaHQ/sigma

Detects when the Console Window Host (conhost.exe) process is spawned by an uncommon parent process, which could be indicative of potential code injection activity.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Conhost Spawned By Uncommon Parent Process
id: cbb9e3d1-2386-4e59-912e-62f1484f7a89
status: test
description: Detects when the Console Window Host (conhost.exe) process is spawned by an uncommon parent process, which could be indicative of potential code injection activity.
references:
    - https://www.elastic.co/guide/en/security/current/conhost-spawned-by-suspicious-parent-process.html
author: Tim Rauch, Elastic (idea)
date: 2022-09-28
modified: 2025-03-06
tags:
    - attack.execution
    - attack.t1059
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\conhost.exe'
        ParentImage|endswith:
            - '\explorer.exe'
            # - '\csrss.exe'  # Legitimate parent as seen in EchoTrail https://www.echotrail.io/insights/search/csrss.exe
            # - '\ctfmon.exe'  # Seen several times in a testing environment
            # - '\dllhost.exe'  # FP on clean system from grandparent 'svchost.exe -k DcomLaunch -p'
            - '\lsass.exe'
            - '\regsvr32.exe'
            - '\rundll32.exe'
            - '\services.exe'
            - '\smss.exe'
            - '\spoolsv.exe'
            - '\svchost.exe'
            - '\userinit.exe'
            # - '\wermgr.exe'  # Legitimate parent as seen in EchoTrail https://www.echotrail.io/insights/search/wermgr.exe
            - '\wininit.exe'
            - '\winlogon.exe'
    filter_main_svchost:
        ParentCommandLine|contains:
            - '-k apphost -s AppHostSvc'
            - '-k imgsvc'
            - '-k localService -p -s RemoteRegistry'
            - '-k LocalSystemNetworkRestricted -p -s NgcSvc'
            - '-k NetSvcs -p -s NcaSvc'
            - '-k netsvcs -p -s NetSetupSvc'
            - '-k netsvcs -p -s wlidsvc'
            - '-k NetworkService -p -s DoSvc'
            - '-k wsappx -p -s AppXSvc'
            - '-k wsappx -p -s ClipSVC'
            - '-k wusvcs -p -s WaaSMedicSvc'
    filter_optional_dropbox:
        ParentCommandLine|contains:
            - 'C:\Program Files (x86)\Dropbox\Client\'
            - 'C:\Program Files\Dropbox\Client\'
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

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

Stage 1: selection

selection:
    Image|endswith: '\conhost.exe'
    ParentImage|endswith:
        - '\explorer.exe'
        - '\lsass.exe'
        - '\regsvr32.exe'
        - '\rundll32.exe'
        - '\services.exe'
        - '\smss.exe'
        - '\spoolsv.exe'
        - '\svchost.exe'
        - '\userinit.exe'
        - '\wininit.exe'
        - '\winlogon.exe'

Stage 2: not filter_main_svchost

filter_main_svchost:
    ParentCommandLine|contains:
        - '-k apphost -s AppHostSvc'
        - '-k imgsvc'
        - '-k localService -p -s RemoteRegistry'
        - '-k LocalSystemNetworkRestricted -p -s NgcSvc'
        - '-k NetSvcs -p -s NcaSvc'
        - '-k netsvcs -p -s NetSetupSvc'
        - '-k netsvcs -p -s wlidsvc'
        - '-k NetworkService -p -s DoSvc'
        - '-k wsappx -p -s AppXSvc'
        - '-k wsappx -p -s ClipSVC'
        - '-k wusvcs -p -s WaaSMedicSvc'

Stage 3: not filter_optional_dropbox

filter_optional_dropbox:
    ParentCommandLine|contains:
        - 'C:\Program Files (x86)\Dropbox\Client\'
        - 'C:\Program Files\Dropbox\Client\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \conhost.exe corpus 4 (sigma 4)
field:"Image" kind:ends_with value:"\conhost.exe"
ParentImageends_with
  • \explorer.exe corpus 15 (sigma 13, splunk 2)
  • \lsass.exe corpus 3 (sigma 3)
  • \regsvr32.exe corpus 11 (sigma 11)
  • \rundll32.exe corpus 15 (sigma 15)
  • \services.exe corpus 8 (sigma 8)
  • \smss.exe corpus 2 (sigma 2)
  • \spoolsv.exe corpus 5 (sigma 5)
  • \svchost.exe corpus 14 (sigma 14)
  • \userinit.exe corpus 3 (sigma 3)
  • \wininit.exe corpus 2 (sigma 2)
  • \winlogon.exe corpus 5 (sigma 5)
field:"ParentImage" kind:ends_with

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ParentCommandLinematch-k LocalSystemNetworkRestricted -p -s NgcSvcexcludes:ParentCommandLine field:"ParentCommandLine" value:"-k LocalSystemNetworkRestricted -p -s NgcSvc"
ParentCommandLinematch-k NetSvcs -p -s NcaSvcexcludes:ParentCommandLine field:"ParentCommandLine" value:"-k NetSvcs -p -s NcaSvc"
ParentCommandLinematch-k NetworkService -p -s DoSvcexcludes:ParentCommandLine field:"ParentCommandLine" value:"-k NetworkService -p -s DoSvc"
ParentCommandLinematch-k apphost -s AppHostSvcexcludes:ParentCommandLine field:"ParentCommandLine" value:"-k apphost -s AppHostSvc"
ParentCommandLinematch-k imgsvcexcludes:ParentCommandLine field:"ParentCommandLine" value:"-k imgsvc"
ParentCommandLinematch-k localService -p -s RemoteRegistryexcludes:ParentCommandLine field:"ParentCommandLine" value:"-k localService -p -s RemoteRegistry"
ParentCommandLinematch-k netsvcs -p -s NetSetupSvcexcludes:ParentCommandLine field:"ParentCommandLine" value:"-k netsvcs -p -s NetSetupSvc"
ParentCommandLinematch-k netsvcs -p -s wlidsvcexcludes:ParentCommandLine field:"ParentCommandLine" value:"-k netsvcs -p -s wlidsvc"
ParentCommandLinematch-k wsappx -p -s AppXSvcexcludes:ParentCommandLine field:"ParentCommandLine" value:"-k wsappx -p -s AppXSvc"
ParentCommandLinematch-k wsappx -p -s ClipSVCexcludes:ParentCommandLine field:"ParentCommandLine" value:"-k wsappx -p -s ClipSVC"
ParentCommandLinematch-k wusvcs -p -s WaaSMedicSvcexcludes:ParentCommandLine field:"ParentCommandLine" value:"-k wusvcs -p -s WaaSMedicSvc"
ParentCommandLinematchC:\Program Files (x86)\Dropbox\Client\excludes:ParentCommandLine field:"ParentCommandLine" value:"C:\Program Files (x86)\Dropbox\Client\"
ParentCommandLinematchC:\Program Files\Dropbox\Client\excludes:ParentCommandLine field:"ParentCommandLine" value:"C:\Program Files\Dropbox\Client\"

Droppers Exploiting CVE-2017-11882

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

Detects exploits that use CVE-2017-11882 to start EQNEDT32.EXE and other sub processes like mshta.exe

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Droppers Exploiting CVE-2017-11882
id: 678eb5f4-8597-4be6-8be7-905e4234b53a
status: stable
description: Detects exploits that use CVE-2017-11882 to start EQNEDT32.EXE and other sub processes like mshta.exe
references:
    - https://www.hybrid-analysis.com/sample/2a4ae284c76f868fc51d3bb65da8caa6efacb707f265b25c30f34250b76b7507?environmentId=100
    - https://www.linkedin.com/pulse/exploit-available-dangerous-ms-office-rce-vuln-called-thebenygreen-
    - https://github.com/embedi/CVE-2017-11882
author: Florian Roth (Nextron Systems)
date: 2017-11-23
modified: 2021-11-27
tags:
    - attack.execution
    - attack.t1203
    - attack.t1204.002
    - attack.initial-access
    - attack.t1566.001
    - cve.2017-11882
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: '\EQNEDT32.EXE'
    condition: selection
falsepositives:
    - Unknown
level: critical

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ParentImage|endswith: '\EQNEDT32.EXE'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ParentImageends_with
  • \EQNEDT32.EXE corpus 5 (sigma 5)
field:"ParentImage" kind:ends_with value:"\EQNEDT32.EXE"

Firewall configuration enumerated (PowerShell)

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

Detects scenarios where an attacker attempts to extract current Windows firewall configuration to prepare an attack.

Known False Positives

  • Administrator activity

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Firewall configuration enumerated (PowerShell)
description: Detects scenarios where an attacker attempts to extract current Windows firewall configuration to prepare an attack.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0007-Discovery/T1016-System%20Network%20Configuration%20Discovery
- https://docs.microsoft.com/en-us/powershell/module/netsecurity/get-netfirewallprofile?view=windowsserver2019-ps
tags:
- attack.discovery
- attack.t1016
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category:
    - ps_module
    - ps_classic_script
    - ps_script
detection: # full command: Get-NetFirewallSetting
  selection_powershell_native:
    EventID: 800
    EventData|contains:
      - Get-NetFirewallProfile
      - Get-NetFirewallRule
      - Get-NetFirewallSetting

  selection_powershell_modern:
    EventID: 4103
    Payload|contains:
      - Get-NetFirewallProfile
      - Get-NetFirewallRule
      - Get-NetFirewallSetting

  selection_powershell_block:
    EventID: 4104
    ScriptBlockText|contains:
      - Get-NetFirewallProfile
      - Get-NetFirewallRule
      - Get-NetFirewallSetting

  condition: selection_powershell_native or selection_powershell_modern or selection_powershell_block
falsepositives:
- Administrator activity
level: medium

Stages and Predicates

Stage 0: condition

selection_powershell_native or selection_powershell_modern or selection_powershell_block

Stage 1: selection_powershell_native

selection_powershell_native:
  EventID: 800
  EventData|contains:
    - Get-NetFirewallProfile
    - Get-NetFirewallRule
    - Get-NetFirewallSetting

Stage 2: selection_powershell_modern

selection_powershell_modern:
  EventID: 4103
  Payload|contains:
    - Get-NetFirewallProfile
    - Get-NetFirewallRule
    - Get-NetFirewallSetting

Stage 3: selection_powershell_block

selection_powershell_block:
  EventID: 4104
  ScriptBlockText|contains:
    - Get-NetFirewallProfile
    - Get-NetFirewallRule
    - Get-NetFirewallSetting

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
EventDatamatch
  • Get-NetFirewallProfile
  • Get-NetFirewallRule
  • Get-NetFirewallSetting
field:"EventData" kind:match
Payloadmatch
  • Get-NetFirewallProfile
  • Get-NetFirewallRule corpus 2 (sigma 2)
  • Get-NetFirewallSetting
field:"Payload" kind:match
ScriptBlockTextmatch
  • Get-NetFirewallProfile
  • Get-NetFirewallRule
  • Get-NetFirewallSetting
field:"ScriptBlockText" kind:match

GALLIUM Artefacts - Builtin

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

Detects artefacts associated with activity group GALLIUM - Microsoft Threat Intelligence Center indicators released in December 2019.

MITRE ATT&CK Coverage

TacticTechniques
Command & Control

Telemetry Coverage

Rule Body

title: GALLIUM Artefacts - Builtin
id: 3db10f25-2527-4b79-8d4b-471eb900ee29
related:
    - id: 440a56bf-7873-4439-940a-1c8a671073c2
      type: derived
status: test
description: Detects artefacts associated with activity group GALLIUM - Microsoft Threat Intelligence Center indicators released in December 2019.
references:
    - https://www.microsoft.com/security/blog/2019/12/12/gallium-targeting-global-telecom/
    - https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn800669(v=ws.11)
author: Tim Burrell
date: 2020-02-07
modified: 2023-01-02
tags:
    - attack.credential-access
    - attack.command-and-control
    - attack.t1071
    - detection.emerging-threats
logsource:
    product: windows
    service: dns-server-analytic
    definition: 'Requirements: Microsoft-Windows-DNS-Server/Analytical ({EB79061A-A566-4698-9119-3ED2807060E7}) Event Log must be collected in order to receive the events.'
detection:
    selection:
        EventID: 257
        QNAME:
            - 'asyspy256.ddns.net'
            - 'hotkillmail9sddcc.ddns.net'
            - 'rosaf112.ddns.net'
            - 'cvdfhjh1231.myftp.biz'
            - 'sz2016rose.ddns.net'
            - 'dffwescwer4325.myftp.biz'
            - 'cvdfhjh1231.ddns.net'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 257
    QNAME:
        - 'asyspy256.ddns.net'
        - 'hotkillmail9sddcc.ddns.net'
        - 'rosaf112.ddns.net'
        - 'cvdfhjh1231.myftp.biz'
        - 'sz2016rose.ddns.net'
        - 'dffwescwer4325.myftp.biz'
        - 'cvdfhjh1231.ddns.net'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
QNAMEeq
  • asyspy256.ddns.net
  • cvdfhjh1231.ddns.net
  • cvdfhjh1231.myftp.biz
  • dffwescwer4325.myftp.biz
  • hotkillmail9sddcc.ddns.net
  • rosaf112.ddns.net
  • sz2016rose.ddns.net
field:"QNAME" kind:eq

HackTool - SharpWSUS/WSUSpendu Execution

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

Detects the execution of SharpWSUS or WSUSpendu, utilities that allow for lateral movement through WSUS. Windows Server Update Services (WSUS) is a critical component of Windows systems and is frequently configured in a way that allows an attacker to circumvent internal networking limitations.

MITRE ATT&CK Coverage

TacticTechniques
Lateral Movement

Telemetry Coverage

Rule Body

title: HackTool - SharpWSUS/WSUSpendu Execution
id: b0ce780f-10bd-496d-9067-066d23dc3aa5
status: test
description: |
    Detects the execution of SharpWSUS or WSUSpendu, utilities that allow for lateral movement through WSUS.
    Windows Server Update Services (WSUS) is a critical component of Windows systems and is frequently configured in a way that allows an attacker to circumvent internal networking limitations.
references:
    - https://labs.nettitude.com/blog/introducing-sharpwsus/
    - https://github.com/nettitude/SharpWSUS
    - https://web.archive.org/web/20210512154016/https://github.com/AlsidOfficial/WSUSpendu/blob/master/WSUSpendu.ps1
author: '@Kostastsale, Nasreddine Bencherchali (Nextron Systems)'
date: 2022-10-07
modified: 2024-08-23
tags:
    - attack.execution
    - attack.lateral-movement
    - attack.t1210
logsource:
    product: windows
    category: process_creation
detection:
    selection_wsuspendu_inject:
        CommandLine|contains: ' -Inject '
    selection_wsuspendu_payload:
        CommandLine|contains:
            - ' -PayloadArgs '
            - ' -PayloadFile '
    selection_sharpwsus_commands:
        CommandLine|contains:
            - ' approve '
            - ' create '
            - ' check '
            - ' delete '
    selection_sharpwsus_flags:
        CommandLine|contains:
            - ' /payload:'
            - ' /payload='
            - ' /updateid:'
            - ' /updateid='
    condition: all of selection_wsuspendu_* or all of selection_sharpwsus_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_wsuspendu_* or all of selection_sharpwsus_*

Stage 1: selection_wsuspendu_inject

selection_wsuspendu_inject:
    CommandLine|contains: ' -Inject '

Stage 2: selection_wsuspendu_payload

selection_wsuspendu_payload:
    CommandLine|contains:
        - ' -PayloadArgs '
        - ' -PayloadFile '

Stage 3: selection_sharpwsus_commands

selection_sharpwsus_commands:
    CommandLine|contains:
        - ' approve '
        - ' create '
        - ' check '
        - ' delete '

Stage 4: selection_sharpwsus_flags

selection_sharpwsus_flags:
    CommandLine|contains:
        - ' /payload:'
        - ' /payload='
        - ' /updateid:'
        - ' /updateid='

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -Inject
  • -PayloadArgs
  • -PayloadFile
  • /payload:
  • /payload=
  • /updateid:
  • /updateid=
  • approve
  • check
  • create corpus 3 (sigma 2, splunk 1)
  • delete corpus 5 (sigma 4, splunk 1)
field:"CommandLine" kind:match

Import PowerShell Modules From Suspicious Directories

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

Detects powershell scripts that import modules from suspicious directories

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Import PowerShell Modules From Suspicious Directories
id: 21f9162c-5f5d-4b01-89a8-b705bd7d10ab
related:
    - id: c31364f7-8be6-4b77-8483-dd2b5a7b69a3
      type: similar
status: test
description: Detects powershell scripts that import modules from suspicious directories
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1003.002/T1003.002.md
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-07-07
modified: 2023-01-10
tags:
    - attack.execution
    - attack.t1059.001
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains:
            - 'Import-Module "$Env:Temp\'
            - Import-Module '$Env:Temp\
            - 'Import-Module $Env:Temp\'
            - 'Import-Module "$Env:Appdata\'
            - Import-Module '$Env:Appdata\
            - 'Import-Module $Env:Appdata\'
            - 'Import-Module C:\Users\Public\'
            # Import-Module alias is "ipmo"
            - 'ipmo "$Env:Temp\'
            - ipmo '$Env:Temp\
            - 'ipmo $Env:Temp\'
            - 'ipmo "$Env:Appdata\'
            - ipmo '$Env:Appdata\
            - 'ipmo $Env:Appdata\'
            - 'ipmo C:\Users\Public\'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains:
        - 'Import-Module "$Env:Temp\'
        - Import-Module '$Env:Temp\
        - 'Import-Module $Env:Temp\'
        - 'Import-Module "$Env:Appdata\'
        - Import-Module '$Env:Appdata\
        - 'Import-Module $Env:Appdata\'
        - 'Import-Module C:\Users\Public\'
        - 'ipmo "$Env:Temp\'
        - ipmo '$Env:Temp\
        - 'ipmo $Env:Temp\'
        - 'ipmo "$Env:Appdata\'
        - ipmo '$Env:Appdata\
        - 'ipmo $Env:Appdata\'
        - 'ipmo C:\Users\Public\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • Import-Module "$Env:Appdata\
  • Import-Module "$Env:Temp\
  • Import-Module $Env:Appdata\
  • Import-Module $Env:Temp\
  • Import-Module '$Env:Appdata\
  • Import-Module '$Env:Temp\
  • Import-Module C:\Users\Public\
  • ipmo "$Env:Appdata\
  • ipmo "$Env:Temp\
  • ipmo $Env:Appdata\
  • ipmo $Env:Temp\
  • ipmo '$Env:Appdata\
  • ipmo '$Env:Temp\
  • ipmo C:\Users\Public\
field:"ScriptBlockText" kind:match

Microsoft Defender threat exclusion added (PowerShell)

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

Detects scenarios where a threat exclusion is added to the antivirus in order to bypass its detection capacities

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

Rule Body

title: Microsoft Defender threat exclusion added (PowerShell)
description: Detects scenarios where a threat exclusion is added to the antivirus in order to bypass its detection capacities
references:
- https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-antivirus/troubleshoot-microsoft-defender-antivirus
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0005-Defense%20Evasion/T1562.001-Impair%20Defenses-Disable%20or%20Modify%20tool
- https://thedfirreport.com/2020/11/23/pysa-mespinoza-ransomware/
- https://cloudbrothers.info/en/current-limits-defender-av-tamper-protection/
- https://www.intrinsec.com/apt27-analysis/
- https://cybersecuritynews-com.cdn.ampproject.org/c/s/cybersecuritynews.com/u-s-federal-network-hacked/?amp
- https://thedfirreport.com/2023/10/30/netsupport-intrusion-results-in-domain-compromise/
tags:
- attack.defense_evasion
- attack.t1562.001
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category:
    - ps_module
    - ps_classic_script
    - ps_script
detection:
  selection1_powershell_native:
    EventID: 800
    EventData|contains|all:
      - Add-MpPreference
      - Set-MpPreference
    EventData|contains:
      - ExclusionPath
      - ExclusionExtension
      - ExclusionProcess
      - ExclusionIpAddress 

  selection2_powershell_modern:
    EventID: 4103
    Payload|contains|all:
      - Add-MpPreference
      - Set-MpPreference
    Payload|contains:
      - ExclusionPath
      - ExclusionExtension
      - ExclusionProcess
      - ExclusionIpAddress 

  selection3_powershell_block:
    EventID: 4104
    ScriptBlockText|contains|all:
      - Add-MpPreference
      - Set-MpPreference
    ScriptBlockText|contains:
      - ExclusionPath
      - ExclusionExtension
      - ExclusionProcess
      - ExclusionIpAddress 

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

Stages and Predicates

Stage 0: condition

1 of selection*

Stage 1: selection1_powershell_native

selection1_powershell_native:
  EventID: 800
  EventData|contains|all:
    - Add-MpPreference
    - Set-MpPreference
  EventData|contains:
    - ExclusionPath
    - ExclusionExtension
    - ExclusionProcess
    - ExclusionIpAddress

Stage 2: selection2_powershell_modern

selection2_powershell_modern:
  EventID: 4103
  Payload|contains|all:
    - Add-MpPreference
    - Set-MpPreference
  Payload|contains:
    - ExclusionPath
    - ExclusionExtension
    - ExclusionProcess
    - ExclusionIpAddress

Stage 3: selection3_powershell_block

selection3_powershell_block:
  EventID: 4104
  ScriptBlockText|contains|all:
    - Add-MpPreference
    - Set-MpPreference
  ScriptBlockText|contains:
    - ExclusionPath
    - ExclusionExtension
    - ExclusionProcess
    - ExclusionIpAddress

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
EventDatamatch
  • Add-MpPreference corpus 4 (sigma 4)
  • ExclusionExtension
  • ExclusionIpAddress
  • ExclusionPath
  • ExclusionProcess
  • Set-MpPreference corpus 5 (sigma 5)
field:"EventData" kind:match
Payloadmatch
  • Add-MpPreference corpus 2 (sigma 2)
  • ExclusionExtension
  • ExclusionIpAddress
  • ExclusionPath
  • ExclusionProcess
  • Set-MpPreference corpus 2 (sigma 2)
field:"Payload" kind:match
ScriptBlockTextmatch
  • Add-MpPreference corpus 2 (sigma 2)
  • ExclusionExtension
  • ExclusionIpAddress
  • ExclusionPath
  • ExclusionProcess
  • Set-MpPreference corpus 3 (sigma 3)
field:"ScriptBlockText" kind:match

Net.EXE Execution

#
Status
test
Severity
low
Author
Michael Haag, Mark Woan (improvements), James Pemberton / @4A616D6573 / oscd.community (improvements)
Source
github.com/SigmaHQ/sigma

Detects execution of "Net.EXE".

Known False Positives

  • Likely

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Net.EXE Execution
id: 183e7ea8-ac4b-4c23-9aec-b3dac4e401ac
status: test
description: Detects execution of "Net.EXE".
references:
    - https://pentest.blog/windows-privilege-escalation-methods-for-pentesters/
    - https://eqllib.readthedocs.io/en/latest/analytics/4d2e7fc1-af0b-4915-89aa-03d25ba7805e.html
    - https://eqllib.readthedocs.io/en/latest/analytics/e61f557c-a9d0-4c25-ab5b-bbc46bb24deb.html
    - https://eqllib.readthedocs.io/en/latest/analytics/9b3dd402-891c-4c4d-a662-28947168ce61.html
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1007/T1007.md#atomic-test-2---system-service-discovery---netexe
author: Michael Haag, Mark Woan (improvements), James Pemberton / @4A616D6573 / oscd.community (improvements)
date: 2019-01-16
modified: 2022-07-11
tags:
    - attack.discovery
    - attack.t1007
    - attack.t1049
    - attack.t1018
    - attack.t1135
    - attack.t1201
    - attack.t1069.001
    - attack.t1069.002
    - attack.t1087.001
    - attack.t1087.002
    - attack.lateral-movement
    - attack.t1021.002
    - attack.s0039
    - detection.threat-hunting
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith:
              - '\net.exe'
              - '\net1.exe'
        - OriginalFileName:
              - 'net.exe'
              - 'net1.exe'
    selection_cli:
        CommandLine|contains:
            - ' accounts'
            - ' group'
            - ' localgroup'
            - ' share'
            - ' start'
            - ' stop '
            - ' user'
            - ' view'
    condition: all of selection_*
falsepositives:
    - Likely
level: low

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    - Image|endswith:
          - '\net.exe'
          - '\net1.exe'
    - OriginalFileName:
          - 'net.exe'
          - 'net1.exe'

Stage 2: selection_cli

selection_cli:
    CommandLine|contains:
        - ' accounts'
        - ' group'
        - ' localgroup'
        - ' share'
        - ' start'
        - ' stop '
        - ' user'
        - ' view'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • accounts
  • group corpus 2 (sigma 2)
  • localgroup
  • share
  • start corpus 2 (sigma 1, splunk 1)
  • stop corpus 8 (sigma 6, splunk 2)
  • user corpus 2 (sigma 1, splunk 1)
  • view corpus 2 (sigma 2)
field:"CommandLine" kind:match
Imageends_with
  • \net.exe corpus 49 (sigma 49)
  • \net1.exe corpus 47 (sigma 47)
field:"Image" kind:ends_with
OriginalFileNameeq
  • net.exe corpus 25 (sigma 19, elastic 4, splunk 2)
  • net1.exe corpus 39 (sigma 19, splunk 19, elastic 1)
field:"OriginalFileName" kind:eq

Obfuscated payload transfered via service name - Tchopper (command)

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

Detects scenarios where an attacker uses the Tchopper tool by abusing the display name of a service as a placeholder to upload an obfuscated payload. With this command, attacker appends the current service name to a file.

Known False Positives

  • None

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Obfuscated payload transfered via service name - Tchopper (command)
description: Detects scenarios where an attacker uses the Tchopper tool by abusing the display name of a service as a placeholder to upload an obfuscated payload. With this command, attacker appends the current service name to a file.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0005-Defense%20Evasion/T1027-Obfuscated%20Files%20or%20Information
- https://github.com/lawrenceamer/TChopper
tags:
- attack.defense_evasion
- attack.t1027
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: process_creation
detection: # Full command: "powershell -command "Get-Service "seg243" | select -Expand DisplayName |out-file -append tmp_payload.txt""
  selection:
    EventID: 4688
    #ParentProcessName|endswith: # Only for informational purpose
    #  - \services.exe
    #  - \cmd.exe
    #Version: 2
    NewProcessName|endswith:
      - '\cmd.exe'        # Process spawned by \services.exe
      - '\powershell.exe' # Process spwaned by \cmd.exe
    CommandLine|contains|all:
      - powershell
      - command
      - out-file
      - append
      #- Get-Service # not present using the WMI mode
  condition: selection | count(EventRecordID) by Computer > 50
  timeframe: 20m
falsepositives:
- None
level: high

Stages and Predicates

Stage 0: condition

selection | count(EventRecordID) by Computer > 50

Stage 1: selection

selection:
  EventID: 4688
  NewProcessName|endswith:
    - '\cmd.exe'
    - '\powershell.exe'
  CommandLine|contains|all:
    - powershell
    - command
    - out-file
    - append
Threshold
> 50

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • append
  • command corpus 4 (sigma 4)
  • out-file corpus 3 (sigma 3)
  • powershell corpus 24 (sigma 24)
field:"CommandLine" kind:match
NewProcessNameends_with
  • \cmd.exe corpus 132 (sigma 130, splunk 2)
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
field:"Image" kind:ends_with

Outlook EnableUnsafeClientMailRules Setting Enabled - Registry

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

Detects an attacker trying to enable the outlook security setting "EnableUnsafeClientMailRules" which allows outlook to run applications or execute macros

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Defense Impairment

Telemetry Coverage

Rule Body

title: Outlook EnableUnsafeClientMailRules Setting Enabled - Registry
id: 6763c6c8-bd01-4687-bc8d-4fa52cf8ba08
related:
    - id: c3cefdf4-6703-4e1c-bad8-bf422fc5015a
      type: similar
    - id: 55f0a3a1-846e-40eb-8273-677371b8d912 # ProcCreation variation
      type: similar
status: test
description: Detects an attacker trying to enable the outlook security setting "EnableUnsafeClientMailRules" which allows outlook to run applications or execute macros
references:
    - https://support.microsoft.com/en-us/topic/how-to-control-the-rule-actions-to-start-an-application-or-run-a-macro-in-outlook-2016-and-outlook-2013-e4964b72-173c-959d-5d7b-ead562979048
    - https://speakerdeck.com/heirhabarov/hunting-for-persistence-via-microsoft-exchange-server-or-outlook?slide=44
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-02-08
modified: 2023-08-17
tags:
    - attack.persistence
    - attack.defense-impairment
    - attack.t1112
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|endswith: '\Outlook\Security\EnableUnsafeClientMailRules'
        Details: 'DWORD (0x00000001)'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|endswith: '\Outlook\Security\EnableUnsafeClientMailRules'
    Details: 'DWORD (0x00000001)'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Detailseq
  • DWORD (0x00000001) corpus 36 (sigma 36)
field:"Details" kind:eq value:"DWORD (0x00000001)"
TargetObjectends_with
  • \Outlook\Security\EnableUnsafeClientMailRules
field:"TargetObject" kind:ends_with value:"\Outlook\Security\EnableUnsafeClientMailRules"

Peach Sandstorm APT Process Activity Indicators

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

Detects process creation activity related to Peach Sandstorm APT

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
ExecutionNo specific technique

Telemetry Coverage

Rule Body

title: Peach Sandstorm APT Process Activity Indicators
id: 2e7bbd54-2f26-476e-b4a1-ba5f1a012614
status: test
description: Detects process creation activity related to Peach Sandstorm APT
references:
    - https://twitter.com/MsftSecIntel/status/1737895710169628824
    - https://www.virustotal.com/gui/file/364275326bbfc4a3b89233dabdaf3230a3d149ab774678342a40644ad9f8d614/details
author: X__Junior (Nextron Systems)
date: 2024-01-15
tags:
    - attack.execution
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains: 'QP''s\*(58vaP!tF4'
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains: 'QP''s\*(58vaP!tF4'

Indicators

These rows show field, operator, and value matches.

Potential Mpclient.DLL Sideloading Via OfflineScannerShell.EXE Execution

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

Detects execution of Windows Defender "OfflineScannerShell.exe" from its non standard directory. The "OfflineScannerShell.exe" binary is vulnerable to DLL side loading and will load any DLL named "mpclient.dll" from the current working directory.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potential Mpclient.DLL Sideloading Via OfflineScannerShell.EXE Execution
id: 02b18447-ea83-4b1b-8805-714a8a34546a
status: test
description: |
    Detects execution of Windows Defender "OfflineScannerShell.exe" from its non standard directory.
    The "OfflineScannerShell.exe" binary is vulnerable to DLL side loading and will load any DLL named "mpclient.dll" from the current working directory.
references:
    - https://lolbas-project.github.io/lolbas/Binaries/OfflineScannerShell/
author: frack113
date: 2022-03-06
modified: 2023-08-03
tags:
    - attack.stealth
    - attack.t1218
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        - Image|endswith: '\OfflineScannerShell.exe'
        - OriginalFileName: 'OfflineScannerShell.exe'
    filter_main_legit_dir:
        CurrentDirectory: 'C:\Program Files\Windows Defender\Offline\'
    filter_main_empty:
        CurrentDirectory: ''
    filter_main_null:
        CurrentDirectory: null
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    - Image|endswith: '\OfflineScannerShell.exe'
    - OriginalFileName: 'OfflineScannerShell.exe'

Stage 2: not filter_main_*

filter_main_legit_dir:
    CurrentDirectory: 'C:\Program Files\Windows Defender\Offline\'
filter_main_empty:
    CurrentDirectory: ''
filter_main_null:
    CurrentDirectory: null

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CurrentDirectoryeqC:\Program Files\Windows Defender\Offline\excludes:CurrentDirectory field:"CurrentDirectory" value:"C:\Program Files\Windows Defender\Offline\"
CurrentDirectoryis_null(no value, null check)excludes:CurrentDirectory

Potential RDP Session Hijacking Activity

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

Detects potential RDP Session Hijacking activity on Windows systems

Known False Positives

  • Administrative activity

MITRE ATT&CK Coverage

TacticTechniques
ExecutionNo specific technique

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Potential RDP Session Hijacking Activity
id: 224f140f-3553-4cd1-af78-13d81bf9f7cc
status: test
description: Detects potential RDP Session Hijacking activity on Windows systems
references:
    - https://twitter.com/Moti_B/status/909449115477659651
author: '@juju4'
date: 2022-12-27
modified: 2024-12-01
tags:
    - attack.execution
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\tscon.exe'
        - OriginalFileName: 'tscon.exe'
    selection_integrity:
        IntegrityLevel:
            - 'System'
            - 'S-1-16-16384'
    condition: all of selection_*
falsepositives:
    - Administrative activity
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_integrity

selection_integrity:
    IntegrityLevel:
        - 'System'
        - 'S-1-16-16384'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \tscon.exe corpus 2 (sigma 2)
field:"Image" kind:ends_with value:"\tscon.exe"
IntegrityLeveleq
  • S-1-16-16384 corpus 31 (sigma 22, splunk 5, elastic 3, kusto 1)
  • System corpus 31 (sigma 22, splunk 5, elastic 3, kusto 1)
field:"IntegrityLevel" kind:eq
OriginalFileNameeq
  • tscon.exe
field:"OriginalFileName" kind:eq value:"tscon.exe"

Potential RDP Tunneling Via SSH

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

Execution of ssh.exe to perform data exfiltration and tunneling through RDP

MITRE ATT&CK Coverage

TacticTechniques
Command & Control

Telemetry Coverage

Rule Body

title: Potential RDP Tunneling Via SSH
id: f7d7ebd5-a016-46e2-9c54-f9932f2d386d
related:
    - id: f38ce0b9-5e97-4b47-a211-7dc8d8b871da # plink.exe
      type: similar
status: test
description: Execution of ssh.exe to perform data exfiltration and tunneling through RDP
references:
    - https://www.absolomb.com/2018-01-26-Windows-Privilege-Escalation-Guide/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-10-12
modified: 2023-01-25
tags:
    - attack.command-and-control
    - attack.t1572
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\ssh.exe'
        CommandLine|contains: ':3389'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '\ssh.exe'
    CommandLine|contains: ':3389'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • :3389 corpus 4 (sigma 3, elastic 1)
field:"CommandLine" kind:match value:":3389"
Imageends_with
  • \ssh.exe corpus 3 (sigma 3)
field:"Image" kind:ends_with value:"\ssh.exe"

Potentially Suspicious Call To Win32_NTEventlogFile Class

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

Detects usage of the WMI class "Win32_NTEventlogFile" in a potentially suspicious way (delete, backup, change permissions, etc.) from a PowerShell script

MITRE ATT&CK Coverage

TacticTechniques
Defense ImpairmentNo specific technique

Telemetry Coverage

Rule Body

title: Potentially Suspicious Call To Win32_NTEventlogFile Class
id: caf201a9-c2ce-4a26-9c3a-2b9525413711
related:
    - id: e2812b49-bae0-4b21-b366-7c142eafcde2
      type: similar
status: test
description: Detects usage of the WMI class "Win32_NTEventlogFile" in a potentially suspicious way (delete, backup, change permissions, etc.) from a PowerShell script
references:
    - https://learn.microsoft.com/en-us/previous-versions/windows/desktop/legacy/aa394225(v=vs.85)
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-07-13
tags:
    - attack.defense-impairment
logsource:
    category: process_creation
    product: windows
detection:
    selection_class:
        CommandLine|contains: 'Win32_NTEventlogFile'
    selection_function:
        CommandLine|contains:
            - '.BackupEventlog('
            - '.ChangeSecurityPermissions('
            - '.ChangeSecurityPermissionsEx('
            - '.ClearEventLog('
            - '.Delete('
            - '.DeleteEx('
            - '.Rename('
            - '.TakeOwnerShip('
            - '.TakeOwnerShipEx('
    condition: all of selection_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_class

selection_class:
    CommandLine|contains: 'Win32_NTEventlogFile'

Stage 2: selection_function

selection_function:
    CommandLine|contains:
        - '.BackupEventlog('
        - '.ChangeSecurityPermissions('
        - '.ChangeSecurityPermissionsEx('
        - '.ClearEventLog('
        - '.Delete('
        - '.DeleteEx('
        - '.Rename('
        - '.TakeOwnerShip('
        - '.TakeOwnerShipEx('

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • .BackupEventlog(
  • .ChangeSecurityPermissions(
  • .ChangeSecurityPermissionsEx(
  • .ClearEventLog(
  • .Delete(
  • .DeleteEx(
  • .Rename(
  • .TakeOwnerShip(
  • .TakeOwnerShipEx(
  • Win32_NTEventlogFile
field:"CommandLine" kind:match

PowerShell Download Pattern

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

Detects a Powershell process that contains download commands in its command line string

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: PowerShell Download Pattern
id: 3b6ab547-8ec2-4991-b9d2-2b06702a48d7
related:
    - id: e6c54d94-498c-4562-a37c-b469d8e9a275
      type: derived
    - id: 8f70ac5f-1f6f-4f8e-b454-db19561216c5
      type: obsolete
status: test
description: Detects a Powershell process that contains download commands in its command line string
references:
    - https://blog.redteam.pl/2020/06/black-kingdom-ransomware.html
    - https://lab52.io/blog/winter-vivern-all-summer/
    - https://hatching.io/blog/powershell-analysis/
author: Florian Roth (Nextron Systems), oscd.community, Jonhnathan Ribeiro
date: 2019-01-16
modified: 2025-10-20
tags:
    - attack.execution
    - attack.t1059.001
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith:
              - '\powershell_ise.exe'
              - '\powershell.exe'
              - '\pwsh.exe'
        - OriginalFileName:
              - 'PowerShell_ISE.EXE'
              - 'PowerShell.EXE'
              - 'pwsh.dll'
    selection_cli:
        CommandLine|contains|all:
            - 'new-object'
            - 'net.webclient).'
            - 'download'
        CommandLine|contains:
            - 'string('
            - 'file('
    condition: all of selection_*
falsepositives:
    - Unknown
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_powershell_download_patterns/info.yml

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|all:
        - 'new-object'
        - 'net.webclient).'
        - 'download'
    CommandLine|contains:
        - 'string('
        - 'file('

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • download corpus 4 (elastic 3, sigma 1)
  • file(
  • net.webclient).
  • new-object corpus 3 (sigma 3)
  • string(
field:"CommandLine" kind:match
Imageends_with
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \powershell_ise.exe corpus 41 (sigma 41)
  • \pwsh.exe corpus 166 (sigma 166)
field:"Image" kind:ends_with
OriginalFileNameeq
  • PowerShell.EXE corpus 134 (sigma 86, splunk 30, elastic 18)
  • PowerShell_ISE.EXE corpus 52 (splunk 30, sigma 18, elastic 4)
  • pwsh.dll corpus 115 (sigma 81, splunk 30, elastic 4)
field:"OriginalFileName" kind:eq

PowerShell Script Execution Policy Enabled

#
Status
test
Severity
low
Author
Nasreddine Bencherchali (Nextron Systems), Thurein Oo
Source
github.com/SigmaHQ/sigma

Detects the enabling of the PowerShell script execution policy. Once enabled, this policy allows scripts to be executed.

Known False Positives

  • Likely

MITRE ATT&CK Coverage

TacticTechniques
ExecutionNo specific technique

Telemetry Coverage

Rule Body

title: PowerShell Script Execution Policy Enabled
id: 8218c875-90b9-42e2-b60d-0b0069816d10
related:
    - id: fad91067-08c5-4d1a-8d8c-d96a21b37814
      type: derived
status: test
description: Detects the enabling of the PowerShell script execution policy. Once enabled, this policy allows scripts to be executed.
references:
    - https://admx.help/?Category=Windows_10_2016&Policy=Microsoft.Policies.PowerShell::EnableScripts
author: Nasreddine Bencherchali (Nextron Systems), Thurein Oo
date: 2023-10-18
tags:
    - attack.execution
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|endswith: '\Policies\Microsoft\Windows\PowerShell\EnableScripts'
        Details: 'DWORD (0x00000001)'
    condition: selection
falsepositives:
    - Likely
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|endswith: '\Policies\Microsoft\Windows\PowerShell\EnableScripts'
    Details: 'DWORD (0x00000001)'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Detailseq
  • DWORD (0x00000001) corpus 36 (sigma 36)
field:"Details" kind:eq value:"DWORD (0x00000001)"
TargetObjectends_with
  • \Policies\Microsoft\Windows\PowerShell\EnableScripts
field:"TargetObject" kind:ends_with value:"\Policies\Microsoft\Windows\PowerShell\EnableScripts"

Process Initiated Network Connection To Ngrok Domain

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

Detects an executable initiating a network connection to "ngrok" domains. Attackers were seen using this "ngrok" in order to store their second stage payloads and malware. While communication with such domains can be legitimate, often times is a sign of either data exfiltration by malicious actors or additional download.

Known False Positives

  • Legitimate use of the ngrok service.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 3: Network connection

Rule Body

title: Process Initiated Network Connection To Ngrok Domain
id: 18249279-932f-45e2-b37a-8925f2597670
related:
    - id: 1d08ac94-400d-4469-a82f-daee9a908849
      type: similar
status: test
description: |
    Detects an executable initiating a network connection to "ngrok" domains.
    Attackers were seen using this "ngrok" in order to store their second stage payloads and malware.
    While communication with such domains can be legitimate, often times is a sign of either data exfiltration by malicious actors or additional download.
references:
    - https://ngrok.com/
    - https://ngrok.com/blog-post/new-ngrok-domains
    - https://www.virustotal.com/gui/file/cca0c1182ac114b44dc52dd2058fcd38611c20bb6b5ad84710681d38212f835a/
    - https://www.rnbo.gov.ua/files/2023_YEAR/CYBERCENTER/november/APT29%20attacks%20Embassies%20using%20CVE-2023-38831%20-%20report%20en.pdf
author: Florian Roth (Nextron Systems)
date: 2022-07-16
modified: 2025-07-30
tags:
    - attack.exfiltration
    - attack.command-and-control
    - attack.t1567
    - attack.t1572
    - attack.t1102
logsource:
    category: network_connection
    product: windows
detection:
    selection:
        Initiated: 'true'
        DestinationHostname|endswith:
            - '.ngrok-free.app'
            - '.ngrok-free.dev'
            - '.ngrok.app'
            - '.ngrok.dev'
            - '.ngrok.io'
    condition: selection
falsepositives:
    - Legitimate use of the ngrok service.
# Note: The level of this rule is related to your internal policy.
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Initiated: 'true'
    DestinationHostname|endswith:
        - '.ngrok-free.app'
        - '.ngrok-free.dev'
        - '.ngrok.app'
        - '.ngrok.dev'
        - '.ngrok.io'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
DestinationHostnameends_with
  • .ngrok-free.app corpus 2 (sigma 1, elastic 1)
  • .ngrok-free.dev
  • .ngrok.app
  • .ngrok.dev
  • .ngrok.io corpus 2 (sigma 1, elastic 1)
field:"DestinationHostname" kind:ends_with
Initiatedeq
  • true corpus 50 (sigma 50)
field:"Initiated" kind:eq value:"true"

Pulse Secure Attack CVE-2019-11510

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

Detects CVE-2019-11510 exploitation attempt - URI contains Guacamole

MITRE ATT&CK Coverage

TacticTechniques
Initial Access

Rule Body

title: Pulse Secure Attack CVE-2019-11510
id: 2dbc10d7-a797-49a8-8776-49efa6442e60
status: test
description: Detects CVE-2019-11510 exploitation attempt - URI contains Guacamole
references:
    - https://www.exploit-db.com/exploits/47297
author: Florian Roth (Nextron Systems)
date: 2019-11-18
modified: 2023-01-02
tags:
    - attack.initial-access
    - attack.t1190
    - cve.2019-11510
    - detection.emerging-threats
logsource:
    category: webserver
detection:
    selection:
        cs-uri-query: '*?/dana/html5acc/guacamole/*'
    condition: selection
falsepositives:
    - Unknown
level: critical

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    cs-uri-query: '*?/dana/html5acc/guacamole/*'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
cs-uri-querywildcard
  • *?/dana/html5acc/guacamole/*
field:"cs-uri-query" kind:wildcard value:"*?/dana/html5acc/guacamole/*"

RTCore Suspicious Service Installation

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

Detects the installation of RTCore service. Which could be an indication of Micro-Star MSI Afterburner vulnerable driver abuse

MITRE ATT&CK Coverage

TacticTechniques
PersistenceNo specific technique

Telemetry Coverage

Rule Body

title: RTCore Suspicious Service Installation
id: 91c49341-e2ef-40c0-ac45-49ec5c3fe26c
status: test
description: Detects the installation of RTCore service. Which could be an indication of Micro-Star MSI Afterburner vulnerable driver abuse
references:
    - https://github.com/br-sn/CheekyBlinder/blob/e1764a8a0e7cda8a3716aefa35799f560686e01c/CheekyBlinder/CheekyBlinder.cpp
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-08-30
tags:
    - attack.persistence
logsource:
    product: windows
    service: system
detection:
    selection:
        Provider_Name: 'Service Control Manager'
        EventID: 7045
        ServiceName: 'RTCore64'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Provider_Name: 'Service Control Manager'
    EventID: 7045
    ServiceName: 'RTCore64'

Indicators

These rows show field, operator, and value matches.

Service Reconnaissance Via Wmic.EXE

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

An adversary might use WMI to check if a certain remote service is running on a remote device. When the test completes, a service information will be displayed on the screen if it exists. A common feedback message is that "No instance(s) Available" if the service queried is not running. A common error message is "Node - (provided IP or default) ERROR Description =The RPC server is unavailable" if the provided remote host is unreachable

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Service Reconnaissance Via Wmic.EXE
id: 76f55eaa-d27f-4213-9d45-7b0e4b60bbae
related:
    - id: 68bcd73b-37ef-49cb-95fc-edc809730be6
      type: similar
status: test
description: |
    An adversary might use WMI to check if a certain remote service is running on a remote device.
    When the test completes, a service information will be displayed on the screen if it exists.
    A common feedback message is that "No instance(s) Available" if the service queried is not running.
    A common error message is "Node - (provided IP or default) ERROR Description =The RPC server is unavailable" if the provided remote host is unreachable
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1047/T1047.md
    - https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/wmic
    - https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-service
author: frack113, Nasreddine Bencherchali (Nextron Systems)
date: 2023-02-14
modified: 2026-01-07
tags:
    - attack.execution
    - attack.t1047
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\WMIC.exe'
        - OriginalFileName: 'wmic.exe'
    selection_cli:
        CommandLine|contains: 'service'
    filter_main_manipulation:
        # Duplicate with 0b7163dc-7eee-4960-af17-c0cd517f92da
        CommandLine|contains:
            - 'stopservice'
            - 'startservice'
    filter_main_win32_methods:
        CommandLine|contains:
            - 'Change'
            - 'Create'
            - 'Delete'
            - 'PauseService'
            - 'ResumeService'
            - 'SetSecurityDescriptor'
            - 'StartService'
            - 'StopService'
            - 'UserControlService'
    condition: all of selection_* and not 1 of filter_main_*
falsepositives:
    - Unknown
level: medium
simulation:
    - type: atomic-red-team
      name: WMI Reconnaissance List Remote Services
      technique: T1047
      atomic_guid: 0fd48ef7-d890-4e93-a533-f7dedd5191d3
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_wmic_recon_service/info.yml

Stages and Predicates

Stage 0: condition

all of selection_* and not 1 of filter_main_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    CommandLine|contains: 'service'

Stage 3: not filter_main_*

filter_main_manipulation:
    CommandLine|contains:
        - 'stopservice'
        - 'startservice'
filter_main_win32_methods:
    CommandLine|contains:
        - 'Change'
        - 'Create'
        - 'Delete'
        - 'PauseService'
        - 'ResumeService'
        - 'SetSecurityDescriptor'
        - 'StartService'
        - 'StopService'
        - 'UserControlService'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • service corpus 5 (sigma 4, splunk 1)
field:"CommandLine" kind:match value:"service"
Imageends_with
  • \WMIC.exe corpus 62 (sigma 62)
field:"Image" kind:ends_with value:"\WMIC.exe"
OriginalFileNameeq
  • wmic.exe corpus 74 (sigma 38, elastic 18, splunk 18)
field:"OriginalFileName" kind:eq value:"wmic.exe"

Exclusions

The rule actively suppresses these predicates.

SMB Spoolss Name Piped Usage

#
Status
test
Severity
medium
Author
OTR (Open Threat Research), @neu5ron
Source
github.com/SigmaHQ/sigma

Detects the use of the spoolss named pipe over SMB. This can be used to trigger the authentication via NTLM of any machine that has the spoolservice enabled.

Known False Positives

  • Domain Controllers that are sometimes, commonly although should not be, acting as printer servers too

MITRE ATT&CK Coverage

Rule Body

title: SMB Spoolss Name Piped Usage
id: bae2865c-5565-470d-b505-9496c87d0c30
status: test
description: Detects the use of the spoolss named pipe over SMB. This can be used to trigger the authentication via NTLM of any machine that has the spoolservice enabled.
references:
    - https://posts.specterops.io/hunting-in-active-directory-unconstrained-delegation-forests-trusts-71f2b33688e1
    - https://dirkjanm.io/a-different-way-of-abusing-zerologon/
    - https://twitter.com/_dirkjan/status/1309214379003588608
author: OTR (Open Threat Research), @neu5ron
date: 2018-11-28
modified: 2022-10-09
tags:
    - attack.lateral-movement
    - attack.t1021.002
logsource:
    product: zeek
    service: smb_files
detection:
    selection:
        path|endswith: 'IPC$'
        name: spoolss
    condition: selection
falsepositives:
    - Domain Controllers that are sometimes, commonly although should not be, acting as printer servers too
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    path|endswith: 'IPC$'
    name: spoolss

Indicators

These rows show field, operator, and value matches.

Successful MSIX/AppX Package Installation

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

Detects successful MSIX/AppX package installations on Windows systems by monitoring EventID 854 in the Microsoft-Windows-AppXDeployment-Server/Operational log. While most installations are legitimate, this can help identify unauthorized or suspicious package installations. It is crucial to monitor such events as threat actors may exploit MSIX/AppX packages to deliver and execute malicious payloads.

Known False Positives

  • Legitimate MSIX/AppX package installations

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Successful MSIX/AppX Package Installation
id: 289dfa9e-e378-4a56-a9d4-7ed5ee218029
status: experimental
description: |
    Detects successful MSIX/AppX package installations on Windows systems by monitoring EventID 854 in the Microsoft-Windows-AppXDeployment-Server/Operational log.
    While most installations are legitimate, this can help identify unauthorized or suspicious package installations.
    It is crucial to monitor such events as threat actors may exploit MSIX/AppX packages to deliver and execute malicious payloads.
references:
    - https://www.splunk.com/en_us/blog/security/msix-weaponization-threat-detection-splunk.html
author: Michael Haag, Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-11-03
tags:
    - attack.execution
    - attack.t1204.002
    - detection.threat-hunting
logsource:
    product: windows
    service: appxdeployment-server
detection:
    selection:
        EventID: 854
    condition: selection
falsepositives:
    - Legitimate MSIX/AppX package installations
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 854

Suspicious HWP Sub Processes

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

Detects suspicious Hangul Word Processor (Hanword) sub processes that could indicate an exploitation

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious HWP Sub Processes
id: 023394c4-29d5-46ab-92b8-6a534c6f447b
status: test
description: Detects suspicious Hangul Word Processor (Hanword) sub processes that could indicate an exploitation
references:
    - https://www.securitynewspaper.com/2016/11/23/technical-teardown-exploit-malware-hwp-files/
    - https://www.hybrid-analysis.com/search?query=context:74940dcc5b38f9f9b1a0fea760d344735d7d91b610e6d5bd34533dd0153402c5&from_sample=5db135000388385a7644131f&block_redirect=1
    - https://twitter.com/cyberwar_15/status/1187287262054076416
    - https://blog.alyac.co.kr/1901
    - https://en.wikipedia.org/wiki/Hangul_(word_processor)
author: Florian Roth (Nextron Systems)
date: 2019-10-24
modified: 2021-11-27
tags:
    - attack.initial-access
    - attack.t1566.001
    - attack.execution
    - attack.t1203
    - attack.t1059.003
    - attack.g0032
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: '\Hwp.exe'
        Image|endswith: '\gbb.exe'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ParentImage|endswith: '\Hwp.exe'
    Image|endswith: '\gbb.exe'

Indicators

These rows show field, operator, and value matches.

Suspicious IP Throttling - critical settings manipulated

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

A threat actor can manipulate the critical settings of Suspicious IP Throttling, such as disabling the feature or setting it to a monitoring mode where no blocking occurs. This can allow malicious IPs to bypass protections and continue attacks without being blocked.

Known False Positives

  • When custom domain has not been configured, all authentication happends through the canonical domain.

MITRE ATT&CK Coverage

Rule Body

title: Suspicious IP Throttling - critical settings manipulated
id: afb609fe-716f-11f0-b060-723487b9527c
status: experimental
description: |
    A threat actor can manipulate the critical settings of Suspicious IP Throttling, such as disabling
    the feature or setting it to a monitoring mode where no blocking occurs.
    This can allow malicious IPs to bypass protections and continue attacks without being blocked.
author: Okta
date: 2025-07-11
modified: 2025-09-02
logsource:
    product: auth0
detection:
    selection:
        data.type: sapi
        data.description: "Update Suspicious IP Throttling settings"
    filter:
        data.details.response.body.enabled:
            - false
        # Alternatively, if the feature is set to monitoring mode (no blocking or no admin notifications)
        # we can check for shields not containing "block" or "admin_notification"
    condition: selection or filter
explanation: >
    The query filters for an event indicating a change of Suspicious IP Throttling settings.
    The Splunk query below alerts when the feature is completely disabled or set into a monitoring mode,
    i.e. no blocking of IP is enabled or/and notifications to admin are turned off.
    It displays the modifying IP, the enabled mode, and that staus of admin notifications.
splunk: |
    index=auth0 data.tenant_name="{your-tenant-name}"
    data.type=sapi data.description="Update Suspicious IP Throttling settings"
    | fields data.details.response.body.shields{}, data.details.response.body.enabled, data.ip
    ```Take only the last change of configurations that reflects the current settings```
    | sort - _time
    | head 1
    | rename data.details.response.body.shields{} as shields
    | rename data.details.response.body.enabled as susp_ip_throttling_enabled
    | eval susp_ip_throttling_blocking = if(isnotnull(mvfind(shields, "block")), "true", "false")
    | eval susp_ip_throttling_admin_notifications = if(isnotnull(mvfind(shields, "admin_notification")), "true", "false")
    ```Alert when suspicious IP throttling is completely disabled or its blocking responses```
    | where susp_ip_throttling_enabled = "false" OR
            (susp_ip_throttling_enabled = "true" AND
            (susp_ip_throttling_blocking="false" OR
            susp_ip_throttling_admin_notifications="false"))
        ```Display the information in a table```
    | table _time, data.ip, shields, susp_ip_throttling_enabled, susp_ip_throttling_blocking,
    susp_ip_throttling_admin_notifications
comments:
    - The Splunk query above shall be tuned to reflect a valid tenant name.
    - Limit the detection to actions conducted from not white-listed IPs and/or particular users.
    - Adjust the "where" clauses when needed, i.e. if admin notifications are supposed to be disabled
      and not triggering an alert (susp_ip_throttling_admin_notifications).
    - This detection can be used for reporting of all changes of the suspicsiou IP throttling settings
      by removing the "where" and "head" clauses.
tenant_logs: |
    type: "sapi" AND description: "Update Suspicious IP Throttling settings"
prevention:
    - Control tenant admins, i.e. "Admin", as this role has permissions to modify any application.
    - Enforce MFA for tenant admins to reduce the risk of an adversary gaining access.
    - Control Management API scopes that allow modification of attack protection features - update:attack_protection.
    - Control usage of Management API from only trusted IPs by applying Network ACL scoped to "management".
falsepositives:
    - When custom domain has not been configured, all authentication happends through the canonical domain.
level: medium
tags:
    - attack.defense-evasion
    - attack.t1562
    - attack.t1562.007

Stages and Predicates

Stage 0: condition

selection or filter

Stage 1: selection

selection:
    data.type: sapi
    data.description: "Update Suspicious IP Throttling settings"

Stage 2: filter

filter:
    data.details.response.body.enabled:
        - false

Indicators

These rows show field, operator, and value matches.

Suspicious Machine Account Replication - DcSync Indicator

#
Status
test
Severity
medium
Author
Benjamin Delpy, Florian Roth (Nextron Systems), Scott Dermett, Sorina Ionescu
Source
github.com/SigmaHQ/sigma

Detects suspicious Active Directory Replication Service (ADRS) requests originating from a machine account (SubjectUserName ending in '$') rather than a legitimate Domain Controller. Under normal operation, only Domain Controllers initiate replication requests carrying the DS-Replication-Get-Changes-All right. If a threat actor obtains valid machine account credentials — for example by abusing certificate-based authentication (PKINIT) to impersonate a DC after exploiting a CA vulnerability such as CVE-2026-54121 (Certighost), where a temporary machine account is created to request a DC certificate and then used to perform DCSync — they can dump all domain credential material including the krbtgt hash.

Known False Positives

  • Valid DC Sync that is not covered by the filters; please report

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

Rule Body

title: Suspicious Machine Account Replication - DcSync Indicator
id: 611eab06-a145-4dfa-a295-3ccc5c20f59a
related:
    - id: 17d619c1-e020-4347-957e-1d1207455c93 # Active Directory Replication from Non Machine Account
      type: similar
status: test
description: |
    Detects suspicious Active Directory Replication Service (ADRS) requests originating from
    a machine account (SubjectUserName ending in '$') rather than a legitimate Domain Controller.

    Under normal operation, only Domain Controllers initiate replication requests carrying the
    DS-Replication-Get-Changes-All right. If a threat actor obtains valid machine account
    credentials — for example by abusing certificate-based authentication (PKINIT) to
    impersonate a DC after exploiting a CA vulnerability such as CVE-2026-54121 (Certighost),
    where a temporary machine account is created to request a DC certificate and then used to
    perform DCSync — they can dump all domain credential material including the krbtgt hash.
references:
    - https://twitter.com/gentilkiwi/status/1003236624925413376
    - https://gist.github.com/gentilkiwi/dcc132457408cf11ad2061340dcb53c2
    - https://blog.blacklanternsecurity.com/p/detecting-dcsync?s=r
    - https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-4662
    - https://github.com/aniqfakhrul/CVE-2026-54121
author: Benjamin Delpy, Florian Roth (Nextron Systems), Scott Dermett, Sorina Ionescu
date: 2018-06-03
modified: 2026-07-30
tags:
    - attack.credential-access
    - attack.s0002
    - attack.t1003.006
    - cve.2026-54121
logsource:
    product: windows
    service: security
    definition: |
        Requirements: A SACL must be configured on the domain NC root object (e.g. DC=domain,DC=com)
        to generate Event 4662. Add via ADSI Edit: navigate to the domain NC root → Properties →
        Security → Advanced → Auditing → add an ACE for Everyone, Type: Success, Applies to:
        This object only, rights: DS-Replication-Get-Changes and DS-Replication-Get-Changes-All.
        The OS audit subcategory must also be enabled:
        auditpol /set /subcategory:"Directory Service Access" /success:enable
detection:
    selection:
        EventID: 4662
        Properties|contains:
            - '1131f6ad-9c07-11d1-f79f-00c04fc2dcd2' # DS-Replication-Get-Changes-All
            - '1131f6aa-9c07-11d1-f79f-00c04fc2dcd2' # DS-Replication-Get-Changes
            - '9923a32a-3607-11d2-b9be-0000f87a36b2' # DS-Replication-Synchronize
            - '89e95b76-444d-4c62-991a-0facbeda640c' # DS-Replication-Get-Changes-In-Filtered-Set
        SubjectUserName|endswith: '$'
    filter_main_subject_usersid:
        SubjectUserSid|startswith: 'S-1-5-18'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Valid DC Sync that is not covered by the filters; please report
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    EventID: 4662
    Properties|contains:
        - '1131f6ad-9c07-11d1-f79f-00c04fc2dcd2'
        - '1131f6aa-9c07-11d1-f79f-00c04fc2dcd2'
        - '9923a32a-3607-11d2-b9be-0000f87a36b2'
        - '89e95b76-444d-4c62-991a-0facbeda640c'
    SubjectUserName|endswith: '$'

Stage 2: not filter_main_subject_usersid

filter_main_subject_usersid:
    SubjectUserSid|startswith: 'S-1-5-18'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Propertiesmatch
  • 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 corpus 5 (sigma 3, elastic 2)
  • 1131f6ad-9c07-11d1-f79f-00c04fc2dcd2 corpus 5 (sigma 3, elastic 2)
  • 89e95b76-444d-4c62-991a-0facbeda640c corpus 5 (sigma 3, elastic 2)
  • 9923a32a-3607-11d2-b9be-0000f87a36b2 corpus 3 (sigma 3)
field:"Properties" kind:match
SubjectUserNameends_with
  • $ corpus 5 (sigma 4, splunk 1)
field:"SubjectUserName" kind:ends_with value:"$"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
SubjectUserSidstarts_withS-1-5-18excludes:SubjectUserSid field:"SubjectUserSid" value:"S-1-5-18"

Suspicious Workstation Locking via Rundll32

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

Detects a suspicious call to the user32.dll function that locks the user workstation

Known False Positives

  • Scripts or links on the user desktop used to lock the workstation instead of Windows+L or the menu option

MITRE ATT&CK Coverage

TacticTechniques
StealthNo specific technique

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Suspicious Workstation Locking via Rundll32
id: 3b5b0213-0460-4e3f-8937-3abf98ff7dcc
status: test
description: Detects a suspicious call to the user32.dll function that locks the user workstation
references:
    - https://app.any.run/tasks/2aef9c63-f944-4763-b3ef-81eee209d128/
author: frack113
date: 2022-06-04
modified: 2023-02-09
tags:
    - attack.stealth
logsource:
    category: process_creation
    product: windows
detection:
    selection_call_img:
        - Image|endswith: '\rundll32.exe'
        - OriginalFileName: 'RUNDLL32.EXE'
    selection_call_parent:
        ParentImage|endswith: '\cmd.exe'
    selection_call_cli:
        CommandLine|contains: 'user32.dll,'
    selection_function:
        CommandLine|contains: 'LockWorkStation'
    condition: all of selection_*
falsepositives:
    - Scripts or links on the user desktop used to lock the workstation instead of Windows+L or the menu option
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_call_img

selection_call_img:
    - Image|endswith: '\rundll32.exe'
    - OriginalFileName: 'RUNDLL32.EXE'

Stage 2: selection_call_parent

selection_call_parent:
    ParentImage|endswith: '\cmd.exe'

Stage 3: selection_call_cli

selection_call_cli:
    CommandLine|contains: 'user32.dll,'

Stage 4: selection_function

selection_function:
    CommandLine|contains: 'LockWorkStation'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • LockWorkStation
  • user32.dll,
field:"CommandLine" kind:match
Imageends_with
  • \rundll32.exe corpus 94 (sigma 94)
field:"Image" kind:ends_with value:"\rundll32.exe"
OriginalFileNameeq
  • RUNDLL32.EXE corpus 72 (sigma 35, splunk 21, elastic 16)
field:"OriginalFileName" kind:eq value:"RUNDLL32.EXE"
ParentImageends_with
  • \cmd.exe corpus 20 (sigma 20)
field:"ParentImage" kind:ends_with value:"\cmd.exe"

UAC Bypass Using IDiagnostic Profile - File

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

Detects the creation of a file by "dllhost.exe" in System32 directory part of "IDiagnosticProfileUAC" UAC bypass technique

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: UAC Bypass Using IDiagnostic Profile - File
id: 48ea844d-19b1-4642-944e-fe39c2cc1fec
status: test
description: Detects the creation of a file by "dllhost.exe" in System32 directory part of "IDiagnosticProfileUAC" UAC bypass technique
references:
    - https://github.com/Wh04m1001/IDiagnosticProfileUAC
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-07-03
tags:
    - attack.execution
    - attack.privilege-escalation
    - attack.t1548.002
logsource:
    product: windows
    category: file_event
detection:
    selection:
        Image|endswith: '\DllHost.exe'
        TargetFilename|startswith: 'C:\Windows\System32\'
        TargetFilename|endswith: '.dll'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '\DllHost.exe'
    TargetFilename|startswith: 'C:\Windows\System32\'
    TargetFilename|endswith: '.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \DllHost.exe corpus 11 (sigma 11)
field:"Image" kind:ends_with value:"\DllHost.exe"
TargetFilenameends_with
  • .dll corpus 24 (sigma 24)
field:"TargetFilename" kind:ends_with value:".dll"
TargetFilenamestarts_with
  • C:\Windows\System32\ corpus 2 (sigma 1, elastic 1)
field:"TargetFilename" kind:starts_with value:"C:\Windows\System32\"

User Couldn't Call a Privileged Service 'LsaRegisterLogonProcess'

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

The 'LsaRegisterLogonProcess' function verifies that the application making the function call is a logon process by checking that it has the SeTcbPrivilege privilege set. Possible Rubeus tries to get a handle to LSA.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: User Couldn't Call a Privileged Service 'LsaRegisterLogonProcess'
id: 6daac7fc-77d1-449a-a71a-e6b4d59a0e54
status: test
description: The 'LsaRegisterLogonProcess' function verifies that the application making the function call is a logon process by checking that it has the SeTcbPrivilege privilege set. Possible Rubeus tries to get a handle to LSA.
references:
    - https://posts.specterops.io/hunting-in-active-directory-unconstrained-delegation-forests-trusts-71f2b33688e1
author: Roberto Rodriguez (source), Ilyas Ochkov (rule), oscd.community
date: 2019-10-24
modified: 2022-12-25
tags:
    - attack.credential-access
    - attack.lateral-movement
    - attack.privilege-escalation
    - attack.t1558.003
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID: 4673
        Service: 'LsaRegisterLogonProcess()'
        Keywords: '0x8010000000000000'     # failure
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 4673
    Service: 'LsaRegisterLogonProcess()'
    Keywords: '0x8010000000000000'

Indicators

These rows show field, operator, and value matches.

Back to all Sigma rules