Detection rules › Sigma

Sigma rules: 2z

Add Debugger Entry To AeDebug For Persistence

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

Detects when an attacker adds a new "Debugger" value to the "AeDebug" key in order to achieve persistence which will get invoked when an application crashes

Known False Positives

  • Legitimate use of the key to setup a debugger. Which is often the case on developers machines

MITRE ATT&CK Coverage

TacticTechniques
PersistenceNo specific technique

Telemetry Coverage

Rule Body

title: Add Debugger Entry To AeDebug For Persistence
id: 092af964-4233-4373-b4ba-d86ea2890288
status: test
description: Detects when an attacker adds a new "Debugger" value to the "AeDebug" key in order to achieve persistence which will get invoked when an application crashes
references:
    - https://persistence-info.github.io/Data/aedebug.html
    - https://learn.microsoft.com/en-us/windows/win32/debug/configuring-automatic-debugging
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-07-21
modified: 2023-08-17
tags:
    - attack.persistence
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|contains: '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger'
        Details|endswith: '.dll'
    filter:
        Details: '"C:\WINDOWS\system32\vsjitdebugger.exe" -p %ld -e %ld -j 0x%p'
    condition: selection and not filter
falsepositives:
    - Legitimate use of the key to setup a debugger. Which is often the case on developers machines
level: medium

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
    TargetObject|contains: '\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger'
    Details|endswith: '.dll'

Stage 2: not filter

filter:
    Details: '"C:\WINDOWS\system32\vsjitdebugger.exe" -p %ld -e %ld -j 0x%p'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Detailsends_with
  • .dll corpus 9 (sigma 4, elastic 4, splunk 1)
field:"Details" kind:ends_with value:".dll"
TargetObjectmatch
  • \SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
field:"TargetObject" kind:match value:"\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Detailseq"C:\WINDOWS\system32\vsjitdebugger.exe" -p %ld -e %ld -j 0x%pexcludes:Details

Bitlocker Key Retrieval

#
Status
test
Severity
medium
Author
Michael Epping, '@mepples21'
Source
github.com/SigmaHQ/sigma

Monitor and alert for Bitlocker key retrieval.

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
AzureRead BitLocker key

Rule Body

title: Bitlocker Key Retrieval
id: a0413867-daf3-43dd-9245-734b3a787942
status: test
description: Monitor and alert for Bitlocker key retrieval.
references:
    - https://learn.microsoft.com/en-us/entra/architecture/security-operations-devices#bitlocker-key-retrieval
author: Michael Epping, '@mepples21'
date: 2022-06-28
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.initial-access
    - attack.stealth
    - attack.t1078.004
logsource:
    product: azure
    service: auditlogs
detection:
    selection:
        Category: KeyManagement
        OperationName: Read BitLocker key
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Category: KeyManagement
    OperationName: Read BitLocker key

Indicators

These rows show field, operator, and value matches.

Cisco Duo Successful MFA Authentication Via Bypass Code

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

Detects when a successful MFA authentication occurs due to the use of a bypass code. A bypass code is a temporary passcode created by an administrator for a specific user to access a Duo-protected application. These are generally used as "backup codes," so that enrolled users who are having problems with their mobile devices (e.g., mobile service is disrupted, the device is lost or stolen, etc.) or who temporarily can't use their enrolled devices (on a plane without mobile data services) can still access their Duo-protected systems.

Known False Positives

  • Legitimate user that was assigned on purpose to a bypass group

MITRE ATT&CK Coverage

TacticTechniques
Initial AccessNo specific technique
StealthNo specific technique
Credential AccessNo specific technique

Rule Body

title: Cisco Duo Successful MFA Authentication Via Bypass Code
id: 6f7e1c10-2dc9-4312-adb6-9574ff09a5c8
status: test
description: |
    Detects when a successful MFA authentication occurs due to the use of a bypass code.
    A bypass code is a temporary passcode created by an administrator for a specific user to access a Duo-protected application. These are generally used as "backup codes," so that enrolled users who are having problems with their mobile devices (e.g., mobile service is disrupted, the device is lost or stolen, etc.) or who temporarily can't use their enrolled devices (on a plane without mobile data services) can still access their Duo-protected systems.
references:
    - https://duo.com/docs/adminapi#logs
    - https://help.duo.com/s/article/6327?language=en_US
author: Nikita Khalimonenkov
date: 2024-04-17
tags:
    - attack.credential-access
    - attack.initial-access
    - attack.stealth
logsource:
    product: cisco
    service: duo
detection:
    selection:
        event_type: authentication
        reason: bypass_user
    condition: selection
falsepositives:
    - Legitimate user that was assigned on purpose to a bypass group
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    event_type: authentication
    reason: bypass_user

Indicators

These rows show field, operator, and value matches.

DCOM lateral movement (via MMC20)

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

Detects scenarios where an attacker execute the Impacket DCOMexec tool in order to abuse DCOM services.

Known False Positives

  • none

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: DCOM lateral movement (via MMC20)
description: Detects scenarios where an attacker execute the Impacket DCOMexec tool in order to abuse DCOM services.  
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0008-Lateral%20Movement/T1021.003-Distributed%20Component%20Object%20Model%20(DCOM)
- https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/
- https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/
- https://github.com/SecureAuthCorp/impacket/blob/master/examples/dcomexec.py
- https://www.ired.team/offensive-security/lateral-movement/t1175-distributed-component-object-model
- https://www.synacktiv.com/publications/traces-of-windows-remote-command-execution.html
tags:
- attack.lateral_movement
- attack.t1021.003
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category:
    - ps_module
    - ps_classic_script
    - ps_script
detection:  # full command: '[System.Activator]::CreateInstance([type]::GetTypeFromProgID('MMC20.Application.1','target_host'))''

  selection_powershell_native:
    EventID: 800
    EventData|contains|all:
      - '[System.Activator]'
      - 'CreateInstance'
      - 'GetTypeFromProgID'
      - 'MMC20.Application'

  selection_powershell_modern:
    EventID: 4103
    Payload|contains|all:
      - '[System.Activator]'
      - 'CreateInstance'
      - 'GetTypeFromProgID'
      - 'MMC20.Application'

  selection_powershell_block:
    EventID: 4104
    ScriptBlockText|contains|all:
      - '[System.Activator]'
      - 'CreateInstance'
      - 'GetTypeFromProgID'
      - 'MMC20.Application'

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

Stages and Predicates

Stage 0: condition

1 of selection*

Stage 1: selection_powershell_native

selection_powershell_native:
  EventID: 800
  EventData|contains|all:
    - '[System.Activator]'
    - 'CreateInstance'
    - 'GetTypeFromProgID'
    - 'MMC20.Application'

Stage 2: selection_powershell_modern

selection_powershell_modern:
  EventID: 4103
  Payload|contains|all:
    - '[System.Activator]'
    - 'CreateInstance'
    - 'GetTypeFromProgID'
    - 'MMC20.Application'

Stage 3: selection_powershell_block

selection_powershell_block:
  EventID: 4104
  ScriptBlockText|contains|all:
    - '[System.Activator]'
    - 'CreateInstance'
    - 'GetTypeFromProgID'
    - 'MMC20.Application'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
EventDatamatch
  • CreateInstance
  • GetTypeFromProgID
  • MMC20.Application
  • [System.Activator]
field:"EventData" kind:match
Payloadmatch
  • CreateInstance
  • GetTypeFromProgID
  • MMC20.Application
  • [System.Activator]
field:"Payload" kind:match
ScriptBlockTextmatch
  • CreateInstance
  • GetTypeFromProgID
  • MMC20.Application
  • [System.Activator]
field:"ScriptBlockText" kind:match

Default RDP Port Changed to Non Standard Port

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

Detects changes to the default RDP port. Remote desktop is a common feature in operating systems. It allows a user to log into a remote system using an interactive session with a graphical user interface. Microsoft refers to its implementation of the Remote Desktop Protocol (RDP) as Remote Desktop Services (RDS).

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Default RDP Port Changed to Non Standard Port
id: 509e84b9-a71a-40e0-834f-05470369bd1e
status: test
description: |
    Detects changes to the default RDP port.
    Remote desktop is a common feature in operating systems. It allows a user to log into a remote system using an interactive session with a graphical user interface.
    Microsoft refers to its implementation of the Remote Desktop Protocol (RDP) as Remote Desktop Services (RDS).
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1021.001/T1021.001.md
author: frack113
date: 2022-01-01
modified: 2024-03-25
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1547.010
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|endswith: '\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber'
    filter_main_port:
        Details: DWORD (0x00000d3d) # 3389
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown
level: high
regression_tests_path: regression_data/rules/windows/registry/registry_set/registry_set_change_rdp_port/info.yml
simulation:
    - type: atomic-red-team
      name: Changing RDP Port to Non Standard Port via Powershell
      technique: T1021.001
      atomic_guid: 2f840dd4-8a2e-4f44-beb3-6b2399ea3771
    - type: atomic-red-team
      name: Changing RDP Port to Non Standard Port via Command_Prompt
      technique: T1021.001
      atomic_guid: 74ace21e-a31c-4f7d-b540-53e4eb6d1f73

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    TargetObject|endswith: '\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber'

Stage 2: not filter_main_port

filter_main_port:
    Details: DWORD (0x00000d3d)

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectends_with
  • \Control\Terminal Server\WinStations\RDP-Tcp\PortNumber
field:"TargetObject" kind:ends_with value:"\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
DetailseqDWORD (0x00000d3d)excludes:Details field:"Details" value:"DWORD (0x00000d3d)"

Diamond Sleet APT DLL Sideloading Indicators

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

Detects DLL sideloading activity seen used by Diamond Sleet APT

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: Diamond Sleet APT DLL Sideloading Indicators
id: d1b65d98-37d7-4ff6-b139-2d87c1af3042
status: test
description: Detects DLL sideloading activity seen used by Diamond Sleet APT
references:
    - https://www.microsoft.com/en-us/security/blog/2023/10/18/multiple-north-korean-threat-actors-exploiting-the-teamcity-cve-2023-42793-vulnerability/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-10-24
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.execution
    - attack.stealth
    - attack.t1574.001
    - detection.emerging-threats
logsource:
    product: windows
    category: image_load
detection:
    selection_1:
        Image|endswith: ':\ProgramData\clip.exe'
        ImageLoaded|endswith: ':\ProgramData\Version.dll'
    selection_2:
        Image|endswith: ':\ProgramData\wsmprovhost.exe'
        ImageLoaded|endswith: ':\ProgramData\DSROLE.dll'
    condition: 1 of selection_*
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_1

selection_1:
    Image|endswith: ':\ProgramData\clip.exe'
    ImageLoaded|endswith: ':\ProgramData\Version.dll'

Stage 2: selection_2

selection_2:
    Image|endswith: ':\ProgramData\wsmprovhost.exe'
    ImageLoaded|endswith: ':\ProgramData\DSROLE.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • :\ProgramData\clip.exe
  • :\ProgramData\wsmprovhost.exe
field:"Image" kind:ends_with
ImageLoadedends_with
  • :\ProgramData\DSROLE.dll
  • :\ProgramData\Version.dll
field:"ImageLoaded" kind:ends_with

Exploiting CVE-2019-1388

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

Detects an exploitation attempt in which the UAC consent dialogue is used to invoke an Internet Explorer process running as LOCAL_SYSTEM

MITRE ATT&CK Coverage

TacticTechniques
Privilege Escalation

Telemetry Coverage

Rule Body

title: Exploiting CVE-2019-1388
id: 02e0b2ea-a597-428e-b04a-af6a1a403e5c
status: stable
description: Detects an exploitation attempt in which the UAC consent dialogue is used to invoke an Internet Explorer process running as LOCAL_SYSTEM
references:
    - https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-1388
    - https://www.zerodayinitiative.com/blog/2019/11/19/thanksgiving-treat-easy-as-pie-windows-7-secure-desktop-escalation-of-privilege
author: Florian Roth (Nextron Systems)
date: 2019-11-20
modified: 2024-12-01
tags:
    - attack.privilege-escalation
    - attack.t1068
    - cve.2019-1388
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        ParentImage|endswith: '\consent.exe'
        Image|endswith: '\iexplore.exe'
        CommandLine|contains: ' http'
    selection_rights:
        - IntegrityLevel:
              - 'System'  # for Sysmon users
              - 'S-1-16-16384' # System
        - User|contains: # covers many language settings
              - 'AUTHORI'
              - 'AUTORI'
    condition: all of selection_*
falsepositives:
    - Unknown
level: critical

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

selection_img:
    ParentImage|endswith: '\consent.exe'
    Image|endswith: '\iexplore.exe'
    CommandLine|contains: ' http'

Stage 2: selection_rights

selection_rights:
    - IntegrityLevel:
          - 'System'
          - 'S-1-16-16384'
    - User|contains:
          - 'AUTHORI'
          - 'AUTORI'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • http corpus 2 (sigma 2)
field:"CommandLine" kind:match value:" http"
Imageends_with
  • \iexplore.exe corpus 4 (sigma 4)
field:"Image" kind:ends_with value:"\iexplore.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
ParentImageends_with
  • \consent.exe corpus 2 (sigma 2)
field:"ParentImage" kind:ends_with value:"\consent.exe"
Usermatch
  • AUTHORI corpus 14 (sigma 14)
  • AUTORI corpus 14 (sigma 14)
field:"user" kind:match

Exports Registry Key To a File

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

Detects the export of the target Registry key to a file.

Known False Positives

  • Legitimate export of keys

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Exports Registry Key To a File
id: f0e53e89-8d22-46ea-9db5-9d4796ee2f8a
related:
    - id: 82880171-b475-4201-b811-e9c826cd5eaa
      type: similar
status: test
description: Detects the export of the target Registry key to a file.
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.exfiltration
    - attack.discovery
    - attack.t1012
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\regedit.exe'
        - OriginalFileName: 'REGEDIT.EXE'
    selection_cli:
        CommandLine|contains|windash: ' -E '
    filter_1:   # filters to avoid intersection with critical keys rule
        CommandLine|contains:
            - 'hklm'
            - 'hkey_local_machine'
    filter_2:
        CommandLine|endswith:
            - '\system'
            - '\sam'
            - '\security'
    condition: all of selection_* and not all of filter_*
falsepositives:
    - Legitimate export of keys
level: low

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|windash: ' -E '

Stage 3: not filter_1

filter_1:
    CommandLine|contains:
        - 'hklm'
        - 'hkey_local_machine'

Stage 4: not filter_2

filter_2:
    CommandLine|endswith:
        - '\system'
        - '\sam'
        - '\security'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -E corpus 17 (sigma 14, elastic 3)
  • /E corpus 5 (sigma 5)
  • –E corpus 2 (sigma 2)
  • —E corpus 2 (sigma 2)
  • ―E corpus 2 (sigma 2)
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.

Github Push Protection Bypass Detected

#
Status
test
Severity
low
Author
Muhammad Faisal (@faisalusuf)
Source
github.com/SigmaHQ/sigma

Detects when a user bypasses the push protection on a secret detected by secret scanning.

Known False Positives

  • Allowed administrative activities.

MITRE ATT&CK Coverage

TacticTechniques
Defense Impairment

Telemetry Coverage

Rule Body

title: Github Push Protection Bypass Detected
id: 02cf536a-cf21-4876-8842-4159c8aee3cc
status: test
description: Detects when a user bypasses the push protection on a secret detected by secret scanning.
references:
    - https://docs.github.com/en/enterprise-cloud@latest/code-security/secret-scanning/push-protection-for-repositories-and-organizations
    - https://thehackernews.com/2024/03/github-rolls-out-default-secret.html
author: Muhammad Faisal (@faisalusuf)
date: 2024-03-07
tags:
    - attack.defense-impairment
    - attack.t1685
logsource:
    product: github
    service: audit
    definition: 'Requirements: The audit log streaming feature must be enabled to be able to receive such logs. You can enable following the documentation here: https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise#setting-up-audit-log-streaming'
detection:
    selection:
        action|contains: 'secret_scanning_push_protection.bypass'
    condition: selection
falsepositives:
    - Allowed administrative activities.
level: low

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    action|contains: 'secret_scanning_push_protection.bypass'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
actionmatch
  • secret_scanning_push_protection.bypass
field:"action" kind:match value:"secret_scanning_push_protection.bypass"

Invoke-Obfuscation Via Use MSHTA - PowerShell

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

Detects Obfuscated Powershell via use MSHTA in Scripts

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Invoke-Obfuscation Via Use MSHTA - PowerShell
id: e55a5195-4724-480e-a77e-3ebe64bd3759
status: test
description: Detects Obfuscated Powershell via use MSHTA in Scripts
references:
    - https://github.com/SigmaHQ/sigma/issues/1009 # (Task31)
author: Nikita Nazarov, oscd.community
date: 2020-10-08
modified: 2022-11-29
tags:
    - attack.stealth
    - attack.t1027
    - attack.execution
    - attack.t1059.001
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection_4104:
        ScriptBlockText|contains|all:
            - 'set'
            - '&&'
            - 'mshta'
            - 'vbscript:createobject'
            - '.run'
            - '(window.close)'
    condition: selection_4104
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection_4104

Stage 1: selection_4104

selection_4104:
    ScriptBlockText|contains|all:
        - 'set'
        - '&&'
        - 'mshta'
        - 'vbscript:createobject'
        - '.run'
        - '(window.close)'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • && corpus 2 (sigma 2)
  • (window.close)
  • .run
  • mshta
  • set
  • vbscript:createobject
field:"ScriptBlockText" kind:match

macOS ESF Suspicious Process Execution

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

Detects suspicious process execution patterns commonly used in malware and attacks

Known False Positives

  • Legitimate system scripts and automation tools

MITRE ATT&CK Coverage

TacticTechniques
ExecutionNo specific technique
Command & ControlNo specific technique

Telemetry Coverage

Rule Body

title: macOS ESF Suspicious Process Execution
id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
status: experimental
description: Detects suspicious process execution patterns commonly used in malware and attacks
author: Eric Brown - Nebulock, Inc.
date: 2025/01/15
modified: 2025/01/15
logsource:
    product: macos
    service: endpointsecurity
    category: process_creation
detection:
    selection:
        esf.event_type: 9
        event.action: exec
        Image|contains:
            - '/tmp/'
            - '/var/tmp/'
            - '/dev/shm/'
        CommandLine|contains:
            - 'curl'
            - 'wget'
            - 'bash -c'
            - 'python -c'
            - '/bin/sh'
    condition: selection
falsepositives:
    - Legitimate system scripts and automation tools
level: medium
tags:
    - attack.execution
    - attack.command_and_control

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    esf.event_type: 9
    event.action: exec
    Image|contains:
        - '/tmp/'
        - '/var/tmp/'
        - '/dev/shm/'
    CommandLine|contains:
        - 'curl'
        - 'wget'
        - 'bash -c'
        - 'python -c'
        - '/bin/sh'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /bin/sh corpus 12 (sigma 12)
  • bash -c
  • curl corpus 17 (sigma 14, elastic 2, splunk 1)
  • python -c
  • wget corpus 10 (sigma 8, elastic 1, splunk 1)
field:"CommandLine" kind:match
Imagematch
  • /dev/shm/
  • /tmp/
  • /var/tmp/
field:"Image" kind:match
esf.event_typeeq
  • 9 corpus 15 (sigma 15)
field:"esf.event_type" kind:eq value:"9"
event.actioneq
  • exec corpus 37 (elastic 22, sigma 15)
field:"EventType" kind:eq value:"exec"

macOS XPC Service Abuse

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

Detects potential abuse of XPC (Inter-Process Communication) services. XPC is used for secure communication between processes, but can be abused for privilege escalation or accessing protected system services.

Known False Positives

  • Legitimate applications with missing entitlements
  • Development/testing environments

MITRE ATT&CK Coverage

TacticTechniques
Execution

Rule Body

title: macOS XPC Service Abuse
id: e5f6a7b8-c9d0-4123-ef01-234567890123
status: experimental
description: |
  Detects potential abuse of XPC (Inter-Process Communication) services.
  XPC is used for secure communication between processes, but can be abused
  for privilege escalation or accessing protected system services.
references:
  - https://attack.mitre.org/techniques/T1559/
  - https://wojciechregula.blog/post/learn-xpc-exploitation-part-1/
author: Eric Brown - Nebulock, Inc.
date: 2025/01/22
modified: 2025/01/22
logsource:
  product: macos
  service: unifiedlog
detection:
  selection_subsystem:
    subsystem: com.apple.xpc
  selection_sensitive_services:
    message|contains:
      - 'com.apple.security'
      - 'com.apple.authd'
      - 'com.apple.coreservices.launchservicesd'
      - 'com.apple.TCC'
      - 'com.apple.system.DirectoryService'
  selection_indicators:
    message|contains:
      - 'connection rejected'
      - 'denied'
      - 'invalid entitlement'
      - 'unauthorized'
      - 'suspicious'
  condition: selection_subsystem and selection_sensitive_services and selection_indicators
falsepositives:
  - Legitimate applications with missing entitlements
  - Development/testing environments
level: medium
tags:
  - attack.privilege_escalation
  - attack.execution
  - attack.t1559

Stages and Predicates

Stage 0: condition

selection_subsystem and selection_sensitive_services and selection_indicators

Stage 1: selection_subsystem

selection_subsystem:
  subsystem: com.apple.xpc

Stage 2: selection_sensitive_services

selection_sensitive_services:
  message|contains:
    - 'com.apple.security'
    - 'com.apple.authd'
    - 'com.apple.coreservices.launchservicesd'
    - 'com.apple.TCC'
    - 'com.apple.system.DirectoryService'

Stage 3: selection_indicators

selection_indicators:
  message|contains:
    - 'connection rejected'
    - 'denied'
    - 'invalid entitlement'
    - 'unauthorized'
    - 'suspicious'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
messagematch
  • com.apple.TCC
  • com.apple.authd
  • com.apple.coreservices.launchservicesd
  • com.apple.security
  • com.apple.system.DirectoryService
  • connection rejected
  • denied
  • invalid entitlement
  • suspicious
  • unauthorized
field:"message" kind:match
subsystemeq
  • com.apple.xpc
field:"subsystem" kind:eq value:"com.apple.xpc"

MSSQL SPProcoption Set

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

Detects when the a stored procedure is set or cleared for automatic execution in MSSQL. A stored procedure that is set to automatic execution runs every time an instance of SQL Server is started

Known False Positives

  • Legitimate use of the feature by administrators (rare)

MITRE ATT&CK Coverage

TacticTechniques
PersistenceNo specific technique

Telemetry Coverage

ProviderRecord / event type
MSSQLSERVEREvent ID 33205

Rule Body

title: MSSQL SPProcoption Set
id: b3d57a5c-c92e-4b48-9a79-5f124b7cf964
status: test
description: Detects when the a stored procedure is set or cleared for automatic execution in MSSQL. A stored procedure that is set to automatic execution runs every time an instance of SQL Server is started
references:
    - https://www.netspi.com/blog/technical/network-penetration-testing/sql-server-persistence-part-1-startup-stored-procedures/
    - https://learn.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-procoption-transact-sql?view=sql-server-ver16
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-07-13
modified: 2024-06-26
tags:
    - attack.persistence
logsource:
    product: windows
    service: application
    definition: 'Requirements: MSSQL audit policy to monitor for "sp_procoption" must be enabled in order to receive this event in the application log'
    # warning: The 'data' field used in the detection section is the container for the event data as a whole. You may have to adapt the rule for your backend accordingly
detection:
    selection:
        Provider_Name|contains: 'MSSQL' # Note: We use contains to account for other third party providers - See https://github.com/SigmaHQ/sigma/issues/4876
        EventID: 33205
        Data|contains|all:
            - 'object_name:sp_procoption'
            - 'statement:EXEC'
    condition: selection
falsepositives:
    - Legitimate use of the feature by administrators (rare)
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Provider_Name|contains: 'MSSQL'
    EventID: 33205
    Data|contains|all:
        - 'object_name:sp_procoption'
        - 'statement:EXEC'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Datamatch
  • object_name:sp_procoption
  • statement:EXEC corpus 2 (sigma 2)
field:"Data" kind:match
Provider_Namematch
  • MSSQL corpus 7 (sigma 7)
field:"Provider_Name" kind:match value:"MSSQL"

OceanLotus Registry Activity

#
Status
test
Severity
critical
Author
megan201296, Jonhnathan Ribeiro
Source
github.com/SigmaHQ/sigma

Detects registry keys created in OceanLotus (also known as APT32) attacks

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Defense Impairment

Telemetry Coverage

Rule Body

title: OceanLotus Registry Activity
id: 4ac5fc44-a601-4c06-955b-309df8c4e9d4
status: test
description: Detects registry keys created in OceanLotus (also known as APT32) attacks
references:
    - https://www.welivesecurity.com/2019/03/20/fake-or-fake-keeping-up-with-oceanlotus-decoys/
    - https://github.com/eset/malware-ioc/tree/master/oceanlotus
author: megan201296, Jonhnathan Ribeiro
date: 2019-04-14
modified: 2023-09-28
tags:
    - attack.persistence
    - attack.defense-impairment
    - attack.t1112
    - detection.emerging-threats
logsource:
    category: registry_event
    product: windows
detection:
    selection_clsid:
        TargetObject|contains: '\SOFTWARE\Classes\CLSID\{E08A0F4B-1F65-4D4D-9A09-BD4625B9C5A1}\Model'
    selection_hkcu:
        TargetObject|contains:
            # HKCU\SOFTWARE\Classes\AppXc52346ec40fb4061ad96be0e6cb7d16a\
            - 'Classes\AppXc52346ec40fb4061ad96be0e6cb7d16a\'
            # HKCU\SOFTWARE\Classes\AppX3bbba44c6cae4d9695755183472171e2\
            - 'Classes\AppX3bbba44c6cae4d9695755183472171e2\'
            # HKCU\SOFTWARE\Classes\CLSID\{E3517E26-8E93-458D-A6DF-8030BC80528B}\
            - 'Classes\CLSID\{E3517E26-8E93-458D-A6DF-8030BC80528B}\'
            - 'Classes\CLSID\{E08A0F4B-1F65-4D4D-9A09-BD4625B9C5A1}\Model'
    selection_appx_1:
        TargetObject|contains: '\SOFTWARE\App\'
    selection_appx_2:
        TargetObject|contains:
            - 'AppXbf13d4ea2945444d8b13e2121cb6b663\'
            - 'AppX70162486c7554f7f80f481985d67586d\'
            - 'AppX37cc7fdccd644b4f85f4b22d5a3f105a\'
        TargetObject|endswith:
            - 'Application'
            - 'DefaultIcon'
    condition: selection_clsid or selection_hkcu or all of selection_appx_*
falsepositives:
    - Unknown
level: critical

Stages and Predicates

Stage 0: condition

selection_clsid or selection_hkcu or all of selection_appx_*

Stage 1: selection_clsid

selection_clsid:
    TargetObject|contains: '\SOFTWARE\Classes\CLSID\{E08A0F4B-1F65-4D4D-9A09-BD4625B9C5A1}\Model'

Stage 2: selection_hkcu

selection_hkcu:
    TargetObject|contains:
        - 'Classes\AppXc52346ec40fb4061ad96be0e6cb7d16a\'
        - 'Classes\AppX3bbba44c6cae4d9695755183472171e2\'
        - 'Classes\CLSID\{E3517E26-8E93-458D-A6DF-8030BC80528B}\'
        - 'Classes\CLSID\{E08A0F4B-1F65-4D4D-9A09-BD4625B9C5A1}\Model'

Stage 3: selection_appx_1

selection_appx_1:
    TargetObject|contains: '\SOFTWARE\App\'

Stage 4: selection_appx_2

selection_appx_2:
    TargetObject|contains:
        - 'AppXbf13d4ea2945444d8b13e2121cb6b663\'
        - 'AppX70162486c7554f7f80f481985d67586d\'
        - 'AppX37cc7fdccd644b4f85f4b22d5a3f105a\'
    TargetObject|endswith:
        - 'Application'
        - 'DefaultIcon'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectends_with
  • Application
  • DefaultIcon
field:"TargetObject" kind:ends_with
TargetObjectmatch
  • AppX37cc7fdccd644b4f85f4b22d5a3f105a\
  • AppX70162486c7554f7f80f481985d67586d\
  • AppXbf13d4ea2945444d8b13e2121cb6b663\
  • Classes\AppX3bbba44c6cae4d9695755183472171e2\
  • Classes\AppXc52346ec40fb4061ad96be0e6cb7d16a\
  • Classes\CLSID\{E08A0F4B-1F65-4D4D-9A09-BD4625B9C5A1}\Model
  • Classes\CLSID\{E3517E26-8E93-458D-A6DF-8030BC80528B}\
  • \SOFTWARE\App\
  • \SOFTWARE\Classes\CLSID\{E08A0F4B-1F65-4D4D-9A09-BD4625B9C5A1}\Model
field:"TargetObject" kind:match

Potential APT-C-12 BlueMushroom DLL Load Activity Via Regsvr32

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

Detects potential BlueMushroom DLL loading activity via regsvr32 from AppData Local

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Potential APT-C-12 BlueMushroom DLL Load Activity Via Regsvr32
id: bd70d3f8-e60e-4d25-89f0-0b5a9cff20e0
status: test
description: Detects potential BlueMushroom DLL loading activity via regsvr32 from AppData Local
references:
    - https://pbs.twimg.com/media/EF3yLGoWkAEGeLa?format=jpg
author: Florian Roth (Nextron Systems), Tim Shelton, Nasreddine Bencherchali (Nextron Systems)
date: 2019-10-02
modified: 2023-03-29
tags:
    - attack.stealth
    - attack.t1218.010
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains|all:
            - 'regsvr32'
            - '\AppData\Local\'
            - '.dll'
            - ',DllEntry'
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains|all:
        - 'regsvr32'
        - '\AppData\Local\'
        - '.dll'
        - ',DllEntry'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • ,DllEntry
  • .dll corpus 16 (sigma 16)
  • \AppData\Local\ corpus 11 (sigma 10, elastic 1)
  • regsvr32 corpus 15 (sigma 15)
field:"CommandLine" kind:match

Potential DLL Sideloading Of MsCorSvc.DLL

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

Detects potential DLL sideloading of "mscorsvc.dll".

Known False Positives

  • Legitimate applications loading their own versions of the DLL mentioned in this rule.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: Potential DLL Sideloading Of MsCorSvc.DLL
id: cdb15e19-c2d0-432a-928e-e49c8c60dcf2
status: test
description: Detects potential DLL sideloading of "mscorsvc.dll".
references:
    - https://hijacklibs.net/entries/microsoft/built-in/mscorsvc.html
author: Wietze Beukema
date: 2024-07-11
modified: 2025-02-26
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.execution
    - attack.stealth
    - attack.t1574.001
logsource:
    product: windows
    category: image_load
detection:
    selection:
        ImageLoaded|endswith: '\mscorsvc.dll'
    filter_main_generic:
        ImageLoaded|startswith:
            - 'C:\Windows\Microsoft.NET\Framework\'
            - 'C:\Windows\Microsoft.NET\Framework64\'
            - 'C:\Windows\Microsoft.NET\FrameworkArm\'
            - 'C:\Windows\Microsoft.NET\FrameworkArm64\'
            - 'C:\Windows\WinSxS\'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Legitimate applications loading their own versions of the DLL mentioned in this rule.
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

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

Stage 2: not filter_main_generic

filter_main_generic:
    ImageLoaded|startswith:
        - 'C:\Windows\Microsoft.NET\Framework\'
        - 'C:\Windows\Microsoft.NET\Framework64\'
        - 'C:\Windows\Microsoft.NET\FrameworkArm\'
        - 'C:\Windows\Microsoft.NET\FrameworkArm64\'
        - 'C:\Windows\WinSxS\'

Indicators

These rows show field, operator, and value matches.

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ImageLoadedstarts_withC:\Windows\Microsoft.NET\Framework64\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Windows\Microsoft.NET\Framework64\"
ImageLoadedstarts_withC:\Windows\Microsoft.NET\FrameworkArm64\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Windows\Microsoft.NET\FrameworkArm64\"
ImageLoadedstarts_withC:\Windows\Microsoft.NET\FrameworkArm\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Windows\Microsoft.NET\FrameworkArm\"
ImageLoadedstarts_withC:\Windows\Microsoft.NET\Framework\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Windows\Microsoft.NET\Framework\"
ImageLoadedstarts_withC:\Windows\WinSxS\excludes:ImageLoaded field:"ImageLoaded" value:"C:\Windows\WinSxS\"

Potential Initial Access via DLL Search Order Hijacking

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

Detects attempts to create a DLL file to a known desktop application dependencies folder such as Slack, Teams or OneDrive and by an unusual process. This may indicate an attempt to load a malicious module via DLL search order hijacking.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: Potential Initial Access via DLL Search Order Hijacking
id: dbbd9f66-2ed3-4ca2-98a4-6ea985dd1a1c
status: test
description: Detects attempts to create a DLL file to a known desktop application dependencies folder such as Slack, Teams or OneDrive and by an unusual process. This may indicate an attempt to load a malicious module via DLL search order hijacking.
references:
    - https://github.com/elastic/protections-artifacts/commit/746086721fd385d9f5c6647cada1788db4aea95f#diff-5d46dd4ac6866b4337ec126be8cee0e115467b3e8703794ba6f6df6432c806bc
    - https://posts.specterops.io/automating-dll-hijack-discovery-81c4295904b0
author: Tim Rauch (rule), Elastic (idea)
date: 2022-10-21
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.execution
    - attack.stealth
    - attack.t1566
    - attack.t1566.001
    - attack.initial-access
    - attack.t1574
    - attack.t1574.001
logsource:
    product: windows
    category: file_event
detection:
    selection:
        Image|endswith:
            # add more processes when you find them
            - '\winword.exe'
            - '\excel.exe'
            - '\powerpnt.exe'
            - '\MSACCESS.EXE'
            - '\MSPUB.EXE'
            - '\fltldr.exe'
            - '\cmd.exe'
            - '\certutil.exe'
            - '\mshta.exe'
            - '\cscript.exe'
            - '\wscript.exe'
            - '\curl.exe'
            - '\powershell.exe'
            - '\pwsh.exe'
        TargetFilename|endswith: '.dll'
        TargetFilename|contains|all:
            - '\Users\'
            - '\AppData\'
        TargetFilename|contains:
            # add more suspicious paths when you find them
            - '\Microsoft\OneDrive\'
            - '\Microsoft OneDrive\'
            - '\Microsoft\Teams\'
            - '\Local\slack\app-'
            - '\Local\Programs\Microsoft VS Code\'
    filter:
        Image|endswith: '\cmd.exe'
        TargetFilename|contains|all:
            - '\Users\'
            - '\AppData\'
            - '\Microsoft\OneDrive\'
            - '\api-ms-win-core-'
    condition: selection and not filter
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
    Image|endswith:
        - '\winword.exe'
        - '\excel.exe'
        - '\powerpnt.exe'
        - '\MSACCESS.EXE'
        - '\MSPUB.EXE'
        - '\fltldr.exe'
        - '\cmd.exe'
        - '\certutil.exe'
        - '\mshta.exe'
        - '\cscript.exe'
        - '\wscript.exe'
        - '\curl.exe'
        - '\powershell.exe'
        - '\pwsh.exe'
    TargetFilename|endswith: '.dll'
    TargetFilename|contains|all:
        - '\Users\'
        - '\AppData\'
    TargetFilename|contains:
        - '\Microsoft\OneDrive\'
        - '\Microsoft OneDrive\'
        - '\Microsoft\Teams\'
        - '\Local\slack\app-'
        - '\Local\Programs\Microsoft VS Code\'

Stage 2: not filter

filter:
    Image|endswith: '\cmd.exe'
    TargetFilename|contains|all:
        - '\Users\'
        - '\AppData\'
        - '\Microsoft\OneDrive\'
        - '\api-ms-win-core-'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \MSACCESS.EXE corpus 4 (sigma 4)
  • \MSPUB.EXE corpus 10 (sigma 10)
  • \certutil.exe corpus 43 (sigma 43)
  • \cmd.exe corpus 132 (sigma 130, splunk 2)
  • \cscript.exe corpus 72 (sigma 72)
  • \curl.exe corpus 31 (sigma 31)
  • \excel.exe corpus 16 (sigma 16)
  • \fltldr.exe
  • \mshta.exe corpus 67 (sigma 66, splunk 1)
  • \powerpnt.exe corpus 14 (sigma 14)
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \pwsh.exe corpus 166 (sigma 166)
  • \winword.exe corpus 17 (sigma 17)
  • \wscript.exe corpus 74 (sigma 74)
field:"Image" kind:ends_with
TargetFilenameends_with
  • .dll corpus 24 (sigma 24)
field:"TargetFilename" kind:ends_with value:".dll"
TargetFilenamematch
  • \AppData\ corpus 5 (sigma 4, splunk 1)
  • \Local\Programs\Microsoft VS Code\
  • \Local\slack\app-
  • \Microsoft OneDrive\
  • \Microsoft\OneDrive\
  • \Microsoft\Teams\
  • \Users\ corpus 2 (sigma 2)
field:"TargetFilename" kind:match

Exclusions

The rule actively suppresses these predicates.

PUA - NirCmd Execution

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

Detects the use of NirCmd tool for command execution, which could be the result of legitimate administrative activity

Known False Positives

  • Legitimate use by administrators

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: PUA - NirCmd Execution
id: 4e2ed651-1906-4a59-a78a-18220fca1b22
status: test
description: Detects the use of NirCmd tool for command execution, which could be the result of legitimate administrative activity
references:
    - https://www.nirsoft.net/utils/nircmd.html
    - https://www.winhelponline.com/blog/run-program-as-system-localsystem-account-windows/
    - https://www.nirsoft.net/utils/nircmd2.html#using
author: Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
date: 2022-01-24
modified: 2023-02-13
tags:
    - attack.execution
    - attack.t1569.002
    - attack.s0029
logsource:
    category: process_creation
    product: windows
detection:
    selection_org:
        - Image|endswith: '\NirCmd.exe'
        - OriginalFileName: 'NirCmd.exe'
    selection_cmd:
        CommandLine|contains:
            - ' execmd '
            - '.exe script '
            - '.exe shexec '
            - ' runinteractive '
    combo_exec:
        CommandLine|contains:
            - ' exec '
            - ' exec2 '
    combo_exec_params:
        CommandLine|contains:
            - ' show '
            - ' hide '
    condition: 1 of selection_* or all of combo_*
falsepositives:
    - Legitimate use by administrators
level: medium

Stages and Predicates

Stage 0: condition

1 of selection_* or all of combo_*

Stage 1: selection_org

selection_org:
    - Image|endswith: '\NirCmd.exe'
    - OriginalFileName: 'NirCmd.exe'

Stage 2: selection_cmd

selection_cmd:
    CommandLine|contains:
        - ' execmd '
        - '.exe script '
        - '.exe shexec '
        - ' runinteractive '

Stage 3: combo_exec

combo_exec:
    CommandLine|contains:
        - ' exec '
        - ' exec2 '

Stage 4: combo_exec_params

combo_exec_params:
    CommandLine|contains:
        - ' show '
        - ' hide '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • exec corpus 3 (sigma 2, splunk 1)
  • exec2
  • execmd
  • hide
  • runinteractive
  • show corpus 2 (sigma 1, splunk 1)
  • .exe script
  • .exe shexec
field:"CommandLine" kind:match
Imageends_with
  • \NirCmd.exe
field:"Image" kind:ends_with value:"\NirCmd.exe"
OriginalFileNameeq
  • NirCmd.exe corpus 2 (sigma 2)
field:"OriginalFileName" kind:eq value:"NirCmd.exe"

Python Initiated Connection

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

Detects a Python process initiating a network connection. While this often relates to package installation, it can also indicate a potential malicious script communicating with a C&C server.

Known False Positives

  • Legitimate python scripts using the socket library or similar will trigger this. Apply additional filters and perform an initial baseline before deploying.

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 3: Network connection

Rule Body

title: Python Initiated Connection
id: bef0bc5a-b9ae-425d-85c6-7b2d705980c6
status: test
description: Detects a Python process initiating a network connection. While this often relates to package installation, it can also indicate a potential malicious script communicating with a C&C server.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1046/T1046.md#atomic-test-4---port-scan-using-python
    - https://pypi.org/project/scapy/
author: frack113
date: 2021-12-10
modified: 2025-03-05
tags:
    - attack.discovery
    - attack.t1046
logsource:
    category: network_connection
    product: windows
    definition: 'Requirements: Field enrichment is required for the filters to work. As field such as CommandLine and ParentImage are not available by default on this event type'
detection:
    selection:
        Initiated: 'true'
        Image|contains|all:
            - '\python'
            - '.exe'
    filter_optional_conda:
        # Related to anaconda updates. Command example: "conda update conda"
        # This filter will only work with aurora agent enriched data as Sysmon EID 3 doesn't contain CommandLine nor ParentImage
        ParentImage: C:\ProgramData\Anaconda3\Scripts\conda.exe
        CommandLine|contains|all:
            - ':\ProgramData\Anaconda3\Scripts\conda-script.py'
            - 'update'
    filter_optional_conda_jupyter_notebook:
        # Related to anaconda opening an instance of Jupyter Notebook
        # This filter will only work with aurora agent enriched data as Sysmon EID 3 doesn't contain CommandLine nor ParentImage
        ParentImage: C:\ProgramData\Anaconda3\python.exe
        CommandLine|contains: 'C:\ProgramData\Anaconda3\Scripts\jupyter-notebook-script.py'
    filter_main_local_communication:
        # This could be caused when launching an instance of Jupyter Notebook locally for example but can also be caused by other instances of python opening sockets locally etc. So comment this out if you want to monitor for those instances
        DestinationIp: 127.0.0.1
        SourceIp: 127.0.0.1
    filter_main_pip:
        CommandLine|contains|all:
            - 'pip.exe'
            - 'install'
    condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
    - Legitimate python scripts using the socket library or similar will trigger this. Apply additional filters and perform an initial baseline before deploying.
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:
    Initiated: 'true'
    Image|contains|all:
        - '\python'
        - '.exe'

Stage 2: not filter_main_*

filter_main_local_communication:
    DestinationIp: 127.0.0.1
    SourceIp: 127.0.0.1
filter_main_pip:
    CommandLine|contains|all:
        - 'pip.exe'
        - 'install'

Stage 3: not filter_optional_*

filter_optional_conda:
    ParentImage: C:\ProgramData\Anaconda3\Scripts\conda.exe
    CommandLine|contains|all:
        - ':\ProgramData\Anaconda3\Scripts\conda-script.py'
        - 'update'
filter_optional_conda_jupyter_notebook:
    ParentImage: C:\ProgramData\Anaconda3\python.exe
    CommandLine|contains: 'C:\ProgramData\Anaconda3\Scripts\jupyter-notebook-script.py'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imagematch
  • .exe
  • \python corpus 3 (sigma 3)
field:"Image" kind:match
Initiatedeq
  • true corpus 50 (sigma 50)
field:"Initiated" kind:eq value:"true"

Exclusions

The rule actively suppresses these predicates.

Remove Account From Domain Admin Group

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

Adversaries may interrupt availability of system and network resources by inhibiting access to accounts utilized by legitimate users. Accounts may be deleted, locked, or manipulated (ex: changed credentials) to remove access to accounts.

MITRE ATT&CK Coverage

TacticTechniques
Impact

Telemetry Coverage

Rule Body

title: Remove Account From Domain Admin Group
id: 48a45d45-8112-416b-8a67-46e03a4b2107
status: test
description: |
    Adversaries may interrupt availability of system and network resources by inhibiting access to accounts utilized by legitimate users.
    Accounts may be deleted, locked, or manipulated (ex: changed credentials) to remove access to accounts.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1531/T1531.md#atomic-test-3---remove-account-from-domain-admin-group
author: frack113
date: 2021-12-26
tags:
    - attack.impact
    - attack.t1531
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains|all:
            - 'Remove-ADGroupMember'
            - '-Identity '
            - '-Members '
    condition: selection
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains|all:
        - 'Remove-ADGroupMember'
        - '-Identity '
        - '-Members '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • -Identity
  • -Members
  • Remove-ADGroupMember
field:"ScriptBlockText" kind:match

Rundll32 Execution Without Parameters

#
Status
test
Severity
high
Author
Bartlomiej Czyz, Relativity
Source
github.com/SigmaHQ/sigma

Detects rundll32 execution without parameters as observed when running Metasploit windows/smb/psexec exploit module

Known False Positives

  • False positives may occur if a user called rundll32 from CLI with no options

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Rundll32 Execution Without Parameters
id: 5bb68627-3198-40ca-b458-49f973db8752
status: test
description: Detects rundll32 execution without parameters as observed when running Metasploit windows/smb/psexec exploit module
references:
    - https://bczyz1.github.io/2021/01/30/psexec.html
author: Bartlomiej Czyz, Relativity
date: 2021-01-31
modified: 2023-02-28
tags:
    - attack.lateral-movement
    - attack.t1021.002
    - attack.t1570
    - attack.execution
    - attack.t1569.002
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine:
            - 'rundll32.exe'
            - 'rundll32'
    condition: selection
falsepositives:
    - False positives may occur if a user called rundll32 from CLI with no options
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine:
        - 'rundll32.exe'
        - 'rundll32'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLineeq
  • rundll32
  • rundll32.exe
field:"CommandLine" kind:eq

Scheduled Cron Task/Job - Linux

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

Detects abuse of the cron utility to perform task scheduling for initial or recurring execution of malicious code. Detection will focus on crontab jobs uploaded from the tmp folder.

Known False Positives

  • Legitimate administration activities

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: Scheduled Cron Task/Job - Linux
id: 6b14bac8-3e3a-4324-8109-42f0546a347f
status: test
description: Detects abuse of the cron utility to perform task scheduling for initial or recurring execution of malicious code. Detection will focus on crontab jobs uploaded from the tmp folder.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1053.003/T1053.003.md
author: Alejandro Ortuno, oscd.community
date: 2020-10-06
modified: 2022-11-27
tags:
    - attack.execution
    - attack.persistence
    - attack.privilege-escalation
    - attack.t1053.003
logsource:
    category: process_creation
    product: linux
detection:
    selection:
        Image|endswith: 'crontab'
        CommandLine|contains: '/tmp/'
    condition: selection
falsepositives:
    - Legitimate administration activities
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: 'crontab'
    CommandLine|contains: '/tmp/'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /tmp/ corpus 10 (sigma 8, elastic 2)
field:"CommandLine" kind:match value:"/tmp/"
Imageends_with
  • crontab corpus 2 (sigma 2)
field:"Image" kind:ends_with value:"crontab"

Suspicious Access to Sensitive File Extensions - Zeek

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

Detects known sensitive file extensions via Zeek

Known False Positives

  • Help Desk operator doing backup or re-imaging end user machine or backup software
  • Users working with these data types or exchanging message files

MITRE ATT&CK Coverage

TacticTechniques
CollectionNo specific technique

Rule Body

title: Suspicious Access to Sensitive File Extensions - Zeek
id: 286b47ed-f6fe-40b3-b3a8-35129acd43bc
related:
    - id: 91c945bc-2ad1-4799-a591-4d00198a1215
      type: derived
status: test
description: Detects known sensitive file extensions via Zeek
references:
    - Internal Research
author: Samir Bousseaden, @neu5ron
date: 2020-04-02
modified: 2025-10-17
tags:
    - attack.collection
logsource:
    product: zeek
    service: smb_files
detection:
    selection:
        name|endswith:
            - '.pst'
            - '.ost'
            - '.msg'
            - '.nst'
            - '.oab'
            - '.edb'
            - '.nsf'
            - '.bak'
            - '.dmp'
            - '.kirbi'
            # - '\groups.xml'  # Commented out: groups.xml is accessed legitimately by Group Policy processing; high FP rate in enterprise environments
            - '.rdp'
    condition: selection
falsepositives:
    - Help Desk operator doing backup or re-imaging end user machine or backup software
    - Users working with these data types or exchanging message files
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    name|endswith:
        - '.pst'
        - '.ost'
        - '.msg'
        - '.nst'
        - '.oab'
        - '.edb'
        - '.nsf'
        - '.bak'
        - '.dmp'
        - '.kirbi'
        - '.rdp'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
nameends_with
  • .bak
  • .dmp
  • .edb
  • .kirbi
  • .msg
  • .nsf
  • .nst
  • .oab
  • .ost
  • .pst
  • .rdp
field:"name" kind:ends_with

Suspicious Child Process of SolarWinds WebHelpDesk

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

Detects suspicious child processes spawned by SolarWinds WebHelpDesk (WHD) application, which may indicate exploitation activity leveraging RCE vulnerabilities such as CVE-2025-40551, CVE-2025-40536, or CVE-2025-26399

MITRE ATT&CK Coverage

TacticTechniques
Initial Access

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Suspicious Child Process of SolarWinds WebHelpDesk
id: 8c7f4a2d-3b9e-4f1c-9a6d-2e8f5c3d9a1b
status: experimental
description: |
    Detects suspicious child processes spawned by SolarWinds WebHelpDesk (WHD) application, which may indicate exploitation activity leveraging RCE vulnerabilities such as CVE-2025-40551, CVE-2025-40536, or CVE-2025-26399
references:
    - https://www.microsoft.com/en-us/security/blog/2026/02/06/active-exploitation-solarwinds-web-help-desk/
    - https://www.huntress.com/blog/active-exploitation-solarwinds-web-help-desk-cve-2025-26399
    - https://documentation.solarwinds.com/en/success_center/whd/content/release_notes/whd_2026-1_release_notes.htm
author: Huntress Team, Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2026-02-11
tags:
    - attack.initial-access
    - attack.t1190
    - cve.2025-26399
    - cve.2025-40536
    - cve.2025-40551
    - detection.emerging-threats
logsource:
    category: process_creation
    product: windows
detection:
    selection_parent:
        ParentImage|contains: '\WebHelpDesk\bin\'
        ParentImage|endswith:
            - '\java.exe'
            - '\javaw.exe'
        ParentCommandLine|contains: 'tomcat'
    selection_suspicious_child:
        CommandLine|contains:
            - '-enc'
            - 'base64'
            - 'bitsadmin'
            - 'certutil'
            - 'curl'
            - 'Invoke-RestMethod'
            - 'Invoke-WebRequest'
            - 'irm '
            - 'iwr '
            - 'mshta'
            - 'msiexec'
            - 'Net.WebClient'
            - 'Start-BitsTransfer'
            - 'wget'
            - 'wmic'
    condition: all of selection_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_parent

selection_parent:
    ParentImage|contains: '\WebHelpDesk\bin\'
    ParentImage|endswith:
        - '\java.exe'
        - '\javaw.exe'
    ParentCommandLine|contains: 'tomcat'

Stage 2: selection_suspicious_child

selection_suspicious_child:
    CommandLine|contains:
        - '-enc'
        - 'base64'
        - 'bitsadmin'
        - 'certutil'
        - 'curl'
        - 'Invoke-RestMethod'
        - 'Invoke-WebRequest'
        - 'irm '
        - 'iwr '
        - 'mshta'
        - 'msiexec'
        - 'Net.WebClient'
        - 'Start-BitsTransfer'
        - 'wget'
        - 'wmic'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -enc corpus 3 (sigma 2, elastic 1)
  • Invoke-RestMethod corpus 5 (sigma 5)
  • Invoke-WebRequest corpus 13 (sigma 10, elastic 3)
  • Net.WebClient corpus 3 (sigma 2, elastic 1)
  • Start-BitsTransfer corpus 5 (sigma 3, elastic 1, splunk 1)
  • base64 corpus 18 (elastic 11, sigma 7)
  • bitsadmin corpus 10 (sigma 10)
  • certutil corpus 10 (sigma 10)
  • curl corpus 17 (sigma 14, elastic 2, splunk 1)
  • irm corpus 5 (sigma 5)
  • iwr corpus 11 (sigma 11)
  • mshta corpus 14 (sigma 14)
  • msiexec corpus 5 (sigma 5)
  • wget corpus 10 (sigma 8, elastic 1, splunk 1)
  • wmic corpus 6 (sigma 6)
field:"CommandLine" kind:match
ParentCommandLinematch
  • tomcat corpus 2 (sigma 2)
field:"ParentCommandLine" kind:match value:"tomcat"
ParentImageends_with
  • \java.exe corpus 8 (sigma 8)
  • \javaw.exe corpus 7 (sigma 7)
field:"ParentImage" kind:ends_with
ParentImagematch
  • \WebHelpDesk\bin\
field:"ParentImage" kind:match value:"\WebHelpDesk\bin\"

Suspicious Download from Office Domain

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

Detects suspicious ways to download files from Microsoft domains that are used to store attachments in Emails or OneNote documents

Known False Positives

  • Scripts or tools that download attachments from these domains (OneNote, Outlook 365)

MITRE ATT&CK Coverage

TacticTechniques
Resource Development
Command & Control

Telemetry Coverage

Rule Body

title: Suspicious Download from Office Domain
id: 00d49ed5-4491-4271-a8db-650a4ef6f8c1
status: test
description: Detects suspicious ways to download files from Microsoft domains that are used to store attachments in Emails or OneNote documents
references:
    - https://twitter.com/an0n_r0/status/1474698356635193346?s=12
    - https://twitter.com/mrd0x/status/1475085452784844803?s=12
author: Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
date: 2021-12-27
modified: 2022-08-02
tags:
    - attack.command-and-control
    - attack.resource-development
    - attack.t1105
    - attack.t1608
logsource:
    product: windows
    category: process_creation
detection:
    selection_download:
        - Image|endswith:
              - '\curl.exe'
              - '\wget.exe'
        - CommandLine|contains:
              - 'Invoke-WebRequest'
              - 'iwr '
              - 'curl '
              - 'wget '
              - 'Start-BitsTransfer'
              - '.DownloadFile('
              - '.DownloadString('
    selection_domains:
        CommandLine|contains:
            - 'https://attachment.outlook.live.net/owa/'
            - 'https://onenoteonlinesync.onenote.com/onenoteonlinesync/'
    condition: all of selection_*
falsepositives:
    - Scripts or tools that download attachments from these domains (OneNote, Outlook 365)
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_download

selection_download:
    - Image|endswith:
          - '\curl.exe'
          - '\wget.exe'
    - CommandLine|contains:
          - 'Invoke-WebRequest'
          - 'iwr '
          - 'curl '
          - 'wget '
          - 'Start-BitsTransfer'
          - '.DownloadFile('
          - '.DownloadString('

Stage 2: selection_domains

selection_domains:
    CommandLine|contains:
        - 'https://attachment.outlook.live.net/owa/'
        - 'https://onenoteonlinesync.onenote.com/onenoteonlinesync/'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • .DownloadFile( corpus 7 (sigma 7)
  • .DownloadString( corpus 7 (sigma 7)
  • Invoke-WebRequest corpus 13 (sigma 10, elastic 3)
  • Start-BitsTransfer corpus 5 (sigma 3, elastic 1, splunk 1)
  • curl corpus 11 (sigma 11)
  • https://attachment.outlook.live.net/owa/
  • https://onenoteonlinesync.onenote.com/onenoteonlinesync/
  • iwr corpus 11 (sigma 11)
  • wget corpus 7 (sigma 7)
field:"CommandLine" kind:match
Imageends_with
  • \curl.exe corpus 31 (sigma 31)
  • \wget.exe corpus 9 (sigma 9)
field:"Image" kind:ends_with

Suspicious Environment Variable Has Been Registered

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

Detects the creation of user-specific or system-wide environment variables via the registry. Which contains suspicious commands and strings

MITRE ATT&CK Coverage

TacticTechniques
PersistenceNo specific technique
StealthNo specific technique

Telemetry Coverage

Rule Body

title: Suspicious Environment Variable Has Been Registered
id: 966315ef-c5e1-4767-ba25-fce9c8de3660
status: test
description: Detects the creation of user-specific or system-wide environment variables via the registry. Which contains suspicious commands and strings
references:
    - https://infosec.exchange/@sbousseaden/109542254124022664
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-12-20
modified: 2023-08-17
tags:
    - attack.persistence
    - attack.stealth
logsource:
    product: windows
    category: registry_set
detection:
    selection_main:
        TargetObject|contains: '\Environment\'
    selection_details:
        - Details:
              - 'powershell'
              - 'pwsh'
        - Details|contains:
              # Add more suspicious strings in env variables below
              - '\AppData\Local\Temp\'
              - 'C:\Users\Public\'
              # Base64 MZ Header
              - 'TVqQAAMAAAAEAAAA' # MZ..........
              - 'TVpQAAIAAAAEAA8A'
              - 'TVqAAAEAAAAEABAA'
              - 'TVoAAAAAAAAAAAAA'
              - 'TVpTAQEAAAAEAAAA'
              # Base64 Invoke- (UTF-8)
              - 'SW52b2tlL'
              - 'ludm9rZS'
              - 'JbnZva2Ut'
              # Base64 Invoke- (UTF-16LE)
              - 'SQBuAHYAbwBrAGUALQ'
              - 'kAbgB2AG8AawBlAC0A'
              - 'JAG4AdgBvAGsAZQAtA'
        - Details|startswith:  # https://gist.github.com/Neo23x0/6af876ee72b51676c82a2db8d2cd3639
              - 'SUVY'
              - 'SQBFAF'
              - 'SQBuAH'
              - 'cwBhA'
              - 'aWV4'
              - 'aQBlA'
              - 'R2V0'
              - 'dmFy'
              - 'dgBhA'
              - 'dXNpbm'
              - 'H4sIA'
              - 'Y21k'
              - 'cABhAH'
              - 'Qzpc'
              - 'Yzpc'
    condition: all of selection_*
falsepositives:
    - Unknown
level: high
regression_tests_path: regression_data/rules/windows/registry/registry_set/registry_set_suspicious_env_variables/info.yml

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_main

selection_main:
    TargetObject|contains: '\Environment\'

Stage 2: selection_details

selection_details:
    - Details:
          - 'powershell'
          - 'pwsh'
    - Details|contains:
          - '\AppData\Local\Temp\'
          - 'C:\Users\Public\'
          - 'TVqQAAMAAAAEAAAA'
          - 'TVpQAAIAAAAEAA8A'
          - 'TVqAAAEAAAAEABAA'
          - 'TVoAAAAAAAAAAAAA'
          - 'TVpTAQEAAAAEAAAA'
          - 'SW52b2tlL'
          - 'ludm9rZS'
          - 'JbnZva2Ut'
          - 'SQBuAHYAbwBrAGUALQ'
          - 'kAbgB2AG8AawBlAC0A'
          - 'JAG4AdgBvAGsAZQAtA'
    - Details|startswith:
          - 'SUVY'
          - 'SQBFAF'
          - 'SQBuAH'
          - 'cwBhA'
          - 'aWV4'
          - 'aQBlA'
          - 'R2V0'
          - 'dmFy'
          - 'dgBhA'
          - 'dXNpbm'
          - 'H4sIA'
          - 'Y21k'
          - 'cABhAH'
          - 'Qzpc'
          - 'Yzpc'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Detailseq
  • powershell
  • pwsh
field:"Details" kind:eq
Detailsmatch
  • C:\Users\Public\
  • JAG4AdgBvAGsAZQAtA
  • JbnZva2Ut
  • SQBuAHYAbwBrAGUALQ
  • SW52b2tlL
  • TVoAAAAAAAAAAAAA
  • TVpQAAIAAAAEAA8A
  • TVpTAQEAAAAEAAAA
  • TVqAAAEAAAAEABAA
  • TVqQAAMAAAAEAAAA
  • \AppData\Local\Temp\ corpus 8 (sigma 8)
  • kAbgB2AG8AawBlAC0A
  • ludm9rZS
field:"Details" kind:match
Detailsstarts_with
  • H4sIA
  • Qzpc
  • R2V0
  • SQBFAF
  • SQBuAH
  • SUVY
  • Y21k
  • Yzpc
  • aQBlA
  • aWV4
  • cABhAH
  • cwBhA
  • dXNpbm
  • dgBhA
  • dmFy
field:"Details" kind:starts_with
TargetObjectmatch
  • \Environment\
field:"TargetObject" kind:match value:"\Environment\"

Suspicious Renamed Comsvcs DLL Loaded By Rundll32

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

Detects rundll32 loading a renamed comsvcs.dll to dump process memory

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: Suspicious Renamed Comsvcs DLL Loaded By Rundll32
id: 8cde342c-ba48-4b74-b615-172c330f2e93
status: test
description: Detects rundll32 loading a renamed comsvcs.dll to dump process memory
references:
    - https://twitter.com/sbousseaden/status/1555200155351228419
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-08-14
modified: 2023-02-17
tags:
    - attack.credential-access
    - attack.t1003.001
logsource:
    product: windows
    category: image_load
detection:
    selection:
        Image|endswith: '\rundll32.exe'
        Hashes|contains:
            # Add more hashes for other windows versions
            - IMPHASH=eed93054cb555f3de70eaa9787f32ebb # Windows 11 21H2 x64
            - IMPHASH=5e0dbdec1fce52daae251a110b4f309d # Windows 10 1607
            - IMPHASH=eadbccbb324829acb5f2bbe87e5549a8 # Windows 10 1809
            - IMPHASH=407ca0f7b523319d758a40d7c0193699 # Windows 10 2004 x64
            - IMPHASH=281d618f4e6271e527e6386ea6f748de # Windows 10 2004 x86
    filter:
        ImageLoaded|endswith: '\comsvcs.dll'
    condition: selection and not filter
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
    Image|endswith: '\rundll32.exe'
    Hashes|contains:
        - IMPHASH=eed93054cb555f3de70eaa9787f32ebb
        - IMPHASH=5e0dbdec1fce52daae251a110b4f309d
        - IMPHASH=eadbccbb324829acb5f2bbe87e5549a8
        - IMPHASH=407ca0f7b523319d758a40d7c0193699
        - IMPHASH=281d618f4e6271e527e6386ea6f748de

Stage 2: not filter

filter:
    ImageLoaded|endswith: '\comsvcs.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Hashesmatch
  • IMPHASH=281d618f4e6271e527e6386ea6f748de
  • IMPHASH=407ca0f7b523319d758a40d7c0193699
  • IMPHASH=5e0dbdec1fce52daae251a110b4f309d
  • IMPHASH=eadbccbb324829acb5f2bbe87e5549a8
  • IMPHASH=eed93054cb555f3de70eaa9787f32ebb
field:"Hashes" kind:match
Imageends_with
  • \rundll32.exe corpus 94 (sigma 94)
field:"Image" kind:ends_with value:"\rundll32.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ImageLoadedends_with\comsvcs.dllexcludes:ImageLoaded field:"ImageLoaded" value:"\comsvcs.dll"

Suspicious Service Installation

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

Detects suspicious service installation commands

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious Service Installation
id: 1d61f71d-59d2-479e-9562-4ff5f4ead16b
related:
    - id: ca83e9f3-657a-45d0-88d6-c1ac280caf53
      type: obsolete
    - id: 26481afe-db26-4228-b264-25a29fe6efc7
      type: similar
status: test
description: Detects suspicious service installation commands
references:
    - Internal Research
author: pH-T (Nextron Systems), Florian Roth (Nextron Systems)
date: 2022-03-18
modified: 2023-12-04
tags:
    - attack.persistence
    - attack.privilege-escalation
    - car.2013-09-005
    - attack.t1543.003
logsource:
    product: windows
    service: system
detection:
    selection:
        Provider_Name: 'Service Control Manager'
        EventID: 7045
        ImagePath|contains:
            - ' -nop '
            - ' -sta '
            - ' -w hidden '
            - ':\Temp\'
            - '.downloadfile(' # PowerShell download command
            - '.downloadstring(' # PowerShell download command
            - '\ADMIN$\'
            - '\Perflogs\'
            - '&&'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Provider_Name: 'Service Control Manager'
    EventID: 7045
    ImagePath|contains:
        - ' -nop '
        - ' -sta '
        - ' -w hidden '
        - ':\Temp\'
        - '.downloadfile('
        - '.downloadstring('
        - '\ADMIN$\'
        - '\Perflogs\'
        - '&&'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ImagePathmatch
  • -nop
  • -sta
  • -w hidden
  • && corpus 4 (sigma 4)
  • .downloadfile(
  • .downloadstring(
  • :\Temp\
  • \ADMIN$\
  • \Perflogs\
field:"ImagePath" kind:match
Provider_Nameeq
  • Service Control Manager corpus 50 (sigma 50)
field:"Provider_Name" kind:eq value:"Service Control Manager"

UAC Bypass Via Wsreset

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

Unfixed method for UAC bypass from Windows 10. WSReset.exe file associated with the Windows Store. It will run a binary file contained in a low-privilege registry.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: UAC Bypass Via Wsreset
id: 6ea3bf32-9680-422d-9f50-e90716b12a66
status: test
description: Unfixed method for UAC bypass from Windows 10. WSReset.exe file associated with the Windows Store. It will run a binary file contained in a low-privilege registry.
references:
    - https://www.bleepingcomputer.com/news/security/trickbot-uses-a-new-windows-10-uac-bypass-to-launch-quietly
    - https://lolbas-project.github.io/lolbas/Binaries/Wsreset
author: oscd.community, Dmitry Uchakin
date: 2020-10-07
modified: 2021-11-27
tags:
    - attack.privilege-escalation
    - attack.t1548.002
logsource:
    category: registry_event
    product: windows
detection:
    selection:
        TargetObject|endswith: '\AppX82a6gwre4fdg3bt635tn5ctqjf8msdd2\Shell\open\command'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|endswith: '\AppX82a6gwre4fdg3bt635tn5ctqjf8msdd2\Shell\open\command'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectends_with
  • \AppX82a6gwre4fdg3bt635tn5ctqjf8msdd2\Shell\open\command
field:"TargetObject" kind:ends_with value:"\AppX82a6gwre4fdg3bt635tn5ctqjf8msdd2\Shell\open\command"

User account creation disguised in a computer account

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

Detects scenarios where an attacker creates a user account that fakes a computer account.

Known False Positives

  • None

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: User account creation disguised in a computer account
description: Detects scenarios where an attacker creates a user account that fakes a computer account.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0003-Persistence/T1136-Create%20account
- https://www.securonix.com/blog/securonix-threat-labs-security-advisory-threat-actors-target-mssql-servers-in-dbjammer-to-deliver-freeworld-ransomware/
tags:
- attack.persistence
- attack.t1098 # account manipulation
- attack.t1136 # user creation
- attack.defense_evesion
- attack.t0136 # masquerading
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:

  selection_creation:
    EventID: 4720 # User account creation
    TargetUserName|endswith: '$'

  selection_renamed:
    EventID: 4781 # User account name change
    NewTargetUserName|endswith: '$' 

  filter:
    OldTargetUserName|endswith: '$' 

  condition: selection_creation or (selection_renamed and not filter)
falsepositives:
- None
level: high

Stages and Predicates

Stage 0: condition

selection_creation or (selection_renamed and not filter)

Stage 1: selection_creation

selection_creation:
  EventID: 4720
  TargetUserName|endswith: '$'

Stage 2: selection_renamed

selection_renamed:
  EventID: 4781
  NewTargetUserName|endswith: '$'

Stage 3: not filter

filter:
  OldTargetUserName|endswith: '$'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
NewTargetUserNameends_with
  • $ corpus 2 (sigma 2)
field:"NewTargetUserName" kind:ends_with value:"$"
TargetUserNameends_with
  • $ corpus 11 (sigma 7, splunk 2, kusto 2)
field:"TargetUserName" kind:ends_with value:"$"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
OldTargetUserNameends_with$excludes:OldTargetUserName field:"OldTargetUserName" value:"$"

Back to all Sigma rules