Detection rules › Sigma

Sigma rules: 1e

Activate Suppression of Windows Security Center Notifications

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

Detect set Notification_Suppress to 1 to disable the Windows security center notification

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Defense Impairment

Telemetry Coverage

Rule Body

title: Activate Suppression of Windows Security Center Notifications
id: 0c93308a-3f1b-40a9-b649-57ea1a1c1d63
status: test
description: Detect set Notification_Suppress to 1 to disable the Windows security center notification
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/40b77d63808dd4f4eafb83949805636735a1fd15/atomics/T1112/T1112.md
author: frack113
date: 2022-08-19
modified: 2023-08-17
tags:
    - attack.persistence
    - attack.defense-impairment
    - attack.t1112
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|endswith: 'SOFTWARE\Policies\Microsoft\Windows Defender\UX Configuration\Notification_Suppress'
        Details: DWORD (0x00000001)
    condition: selection
falsepositives:
    - Unknown
level: medium
simulation:
    - type: atomic-red-team
      name: Suppress Win Defender Notifications
      technique: T1112
      atomic_guid: c30dada3-7777-4590-b970-dc890b8cf113

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    TargetObject|endswith: 'SOFTWARE\Policies\Microsoft\Windows Defender\UX Configuration\Notification_Suppress'
    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
  • SOFTWARE\Policies\Microsoft\Windows Defender\UX Configuration\Notification_Suppress
field:"TargetObject" kind:ends_with value:"SOFTWARE\Policies\Microsoft\Windows Defender\UX Configuration\Notification_Suppress"

AWS User Login Profile Was Modified

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

Detects activity when someone is changing passwords on behalf of other users. An attacker with the "iam:UpdateLoginProfile" permission on other users can change the password used to login to the AWS console on any user that already has a login profile setup.

Known False Positives

  • Legitimate user account administration

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Privilege Escalation

Telemetry Coverage

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: AWS User Login Profile Was Modified
id: 055fb148-60f8-462d-ad16-26926ce050f1
status: test
description: |
    Detects activity when someone is changing passwords on behalf of other users.
    An attacker with the "iam:UpdateLoginProfile" permission on other users can change the password used to login to the AWS console on any user that already has a login profile setup.
references:
    - https://github.com/RhinoSecurityLabs/AWS-IAM-Privilege-Escalation
author: toffeebr33k
date: 2021-08-09
modified: 2024-04-26
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.t1098
logsource:
    product: aws
    service: cloudtrail
detection:
    selection:
        eventSource: 'iam.amazonaws.com'
        eventName: 'UpdateLoginProfile'
    filter_main_user_identity:
        userIdentity.arn|fieldref: requestParameters.userName
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Legitimate user account administration
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    eventSource: 'iam.amazonaws.com'
    eventName: 'UpdateLoginProfile'

Stage 2: not filter_main_user_identity

filter_main_user_identity:
    userIdentity.arn|fieldref: requestParameters.userName

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
eventNameeq
  • UpdateLoginProfile corpus 3 (splunk 2, sigma 1)
field:"aws::eventName" kind:eq value:"UpdateLoginProfile"
eventSourceeq
  • iam.amazonaws.com corpus 22 (sigma 18, splunk 4)
field:"aws::eventSource" kind:eq value:"iam.amazonaws.com"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
userIdentity.arncross_field_comparerequestParameters.userNameexcludes:userIdentity.arn field:"userIdentity.arn" value:"requestParameters.userName"

Changes To PIM Settings

#
Status
test
Severity
high
Author
Mark Morowczynski '@markmorow', Yochana Henderson, '@Yochana-H'
Source
github.com/SigmaHQ/sigma

Detects when changes are made to PIM roles

Known False Positives

  • Legit administrative PIM setting configuration changes

MITRE ATT&CK Coverage

Telemetry Coverage

PlatformRecord / event type
AzureUpdate role setting in PIM

Rules Detecting the Same Action

These rules filter on the same operation.

Rule Body

title: Changes To PIM Settings
id: db6c06c4-bf3b-421c-aa88-15672b88c743
status: test
description: Detects when changes are made to PIM roles
references:
    - https://learn.microsoft.com/en-us/entra/architecture/security-operations-privileged-identity-management#azure-ad-roles-assignment
author: Mark Morowczynski '@markmorow', Yochana Henderson, '@Yochana-H'
date: 2022-08-09
tags:
    - attack.initial-access
    - attack.privilege-escalation
    - attack.persistence
    - attack.stealth
    - attack.t1078.004
logsource:
    product: azure
    service: auditlogs
detection:
    selection:
        properties.message: Update role setting in PIM
    condition: selection
falsepositives:
    - Legit administrative PIM setting configuration changes
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    properties.message: Update role setting in PIM

Indicators

These rows show field, operator, and value matches.

Clearing Windows Console History

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

Identifies when a user attempts to clear console history. An adversary may clear the command history of a compromised account to conceal the actions undertaken during an intrusion.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Clearing Windows Console History
id: bde47d4b-9987-405c-94c7-b080410e8ea7
status: test
description: Identifies when a user attempts to clear console history. An adversary may clear the command history of a compromised account to conceal the actions undertaken during an intrusion.
references:
    - https://stefanos.cloud/blog/kb/how-to-clear-the-powershell-command-history/
    - https://www.shellhacks.com/clear-history-powershell/
    - https://community.sophos.com/sophos-labs/b/blog/posts/powershell-command-history-forensics
author: Austin Songer @austinsonger
date: 2021-11-25
modified: 2022-12-25
tags:
    - attack.stealth
    - attack.t1070
    - attack.t1070.003
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection1:
        ScriptBlockText|contains: Clear-History
    selection2a:
        ScriptBlockText|contains:
            - Remove-Item
            - rm
    selection2b:
        ScriptBlockText|contains:
            - ConsoleHost_history.txt
            - (Get-PSReadlineOption).HistorySavePath
    condition: selection1 or selection2a and selection2b
falsepositives:
    - Unknown
level: high
regression_tests_path: regression_data/rules/windows/powershell/powershell_script/posh_ps_clearing_windows_console_history/info.yml

Stages and Predicates

Stage 0: condition

selection1 or selection2a and selection2b

Stage 1: selection1

selection1:
    ScriptBlockText|contains: Clear-History

Stage 2: selection2a

selection2a:
    ScriptBlockText|contains:
        - Remove-Item
        - rm

Stage 3: selection2b

selection2b:
    ScriptBlockText|contains:
        - ConsoleHost_history.txt
        - (Get-PSReadlineOption).HistorySavePath

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • (Get-PSReadlineOption).HistorySavePath corpus 2 (sigma 2)
  • Clear-History
  • ConsoleHost_history.txt
  • Remove-Item corpus 3 (sigma 2, splunk 1)
  • rm corpus 2 (sigma 2)
field:"ScriptBlockText" kind:match

CobaltStrike Named Pipe Pattern Regex

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

Detects the creation of a named pipe matching a pattern used by CobaltStrike Malleable C2 profiles

MITRE ATT&CK Coverage

TacticTechniques
Privilege Escalation
Stealth

Telemetry Coverage

Rule Body

title: CobaltStrike Named Pipe Pattern Regex
id: 0e7163d4-9e19-4fa7-9be6-000c61aad77a
related:
    - id: 85adeb13-4fc9-4e68-8a4a-c7cb2c336eb7 # Patterns
      type: similar
    - id: d5601f8c-b26f-4ab0-9035-69e11a8d4ad2 # Generic
      type: similar
status: test
description: Detects the creation of a named pipe matching a pattern used by CobaltStrike Malleable C2 profiles
references:
    - https://svch0st.medium.com/guide-to-named-pipes-and-hunting-for-cobalt-strike-pipes-dc46b2c5f575
    - https://gist.github.com/MHaggis/6c600e524045a6d49c35291a21e10752
author: Florian Roth (Nextron Systems)
date: 2021-07-30
modified: 2026-06-18
tags:
    - attack.privilege-escalation
    - attack.stealth
    - attack.t1055
logsource:
    product: windows
    category: pipe_created
    definition: 'Note that you have to configure logging for Named Pipe Events in Sysmon config (Event ID 17 and Event ID 18). The basic configuration is in popular sysmon configuration (https://github.com/SwiftOnSecurity/sysmon-config), but it is worth verifying. You can also use other repo, e.g. https://github.com/Neo23x0/sysmon-config, https://github.com/olafhartong/sysmon-modular You can also use other repo, e.g. https://github.com/Neo23x0/sysmon-config, https://github.com/olafhartong/sysmon-modular. How to test detection? You can always use Cobalt Strike, but also you can check powershell script from this site https://svch0st.medium.com/guide-to-named-pipes-and-hunting-for-cobalt-strike-pipes-dc46b2c5f575'
detection:
    selection:
        - PipeName|re: '\\mojo\.5688\.8052\.(?:183894939787088877|35780273329370473)[0-9a-f]{2}'
        - PipeName|re: '\\wkssvc_?[0-9a-f]{2}'
        - PipeName|re: '\\ntsvcs[0-9a-f]{2}'
        - PipeName|re: '\\DserNamePipe[0-9a-f]{2}'
        - PipeName|re: '\\SearchTextHarvester[0-9a-f]{2}'
        - PipeName|re: '\\mypipe-(?:f|h)[0-9a-f]{2}'
        - PipeName|re: '\\windows\.update\.manager[0-9a-f]{2,3}'
        - PipeName|re: '\\ntsvcs_[0-9a-f]{2}'
        - PipeName|re: '\\scerpc_?[0-9a-f]{2}'
        - PipeName|re: '\\PGMessagePipe[0-9a-f]{2}'
        - PipeName|re: '\\MsFteWds[0-9a-f]{2}'
        - PipeName|re: '\\f4c3[0-9a-f]{2}'
        - PipeName|re: '\\fullduplex_[0-9a-f]{2}'
        - PipeName|re: '\\msrpc_[0-9a-f]{4}'
        - PipeName|re: '\\win\\msrpc_[0-9a-f]{2}'
        - PipeName|re: '\\f53f[0-9a-f]{2}$'  # https://docs.limacharlie.io/3-detection-response/unit-tests/#example
        - PipeName|re: '\\rpc_[0-9a-f]{2}'
        - PipeName|re: '\\spoolss_[0-9a-f]{2}'
        - PipeName|re: '\\Winsock2\\CatalogChangeListener-[0-9a-f]{3}-0,'
    condition: selection
falsepositives:
    - Unknown
level: critical

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    - PipeName|re: '\\mojo\.5688\.8052\.(?:183894939787088877|35780273329370473)[0-9a-f]{2}'
    - PipeName|re: '\\wkssvc_?[0-9a-f]{2}'
    - PipeName|re: '\\ntsvcs[0-9a-f]{2}'
    - PipeName|re: '\\DserNamePipe[0-9a-f]{2}'
    - PipeName|re: '\\SearchTextHarvester[0-9a-f]{2}'
    - PipeName|re: '\\mypipe-(?:f|h)[0-9a-f]{2}'
    - PipeName|re: '\\windows\.update\.manager[0-9a-f]{2,3}'
    - PipeName|re: '\\ntsvcs_[0-9a-f]{2}'
    - PipeName|re: '\\scerpc_?[0-9a-f]{2}'
    - PipeName|re: '\\PGMessagePipe[0-9a-f]{2}'
    - PipeName|re: '\\MsFteWds[0-9a-f]{2}'
    - PipeName|re: '\\f4c3[0-9a-f]{2}'
    - PipeName|re: '\\fullduplex_[0-9a-f]{2}'
    - PipeName|re: '\\msrpc_[0-9a-f]{4}'
    - PipeName|re: '\\win\\msrpc_[0-9a-f]{2}'
    - PipeName|re: '\\f53f[0-9a-f]{2}$'
    - PipeName|re: '\\rpc_[0-9a-f]{2}'
    - PipeName|re: '\\spoolss_[0-9a-f]{2}'
    - PipeName|re: '\\Winsock2\\CatalogChangeListener-[0-9a-f]{3}-0,'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
PipeNameregex_match
  • \DserNamePipe[0-9a-f]{2}
  • \MsFteWds[0-9a-f]{2}
  • \PGMessagePipe[0-9a-f]{2}
  • \SearchTextHarvester[0-9a-f]{2}
  • \Winsock2\CatalogChangeListener-[0-9a-f]{3}-0,
  • \f4c3[0-9a-f]{2}
  • \f53f[0-9a-f]{2}$
  • \fullduplex_[0-9a-f]{2}
  • \mojo.5688.8052.(?:183894939787088877|35780273329370473)[0-9a-f]{2}
  • \msrpc_[0-9a-f]{4}
  • \mypipe-(?:f|h)[0-9a-f]{2}
  • \ntsvcs[0-9a-f]{2}
  • \ntsvcs_[0-9a-f]{2}
  • \rpc_[0-9a-f]{2}
  • \scerpc_?[0-9a-f]{2}
  • \spoolss_[0-9a-f]{2}
  • \win\msrpc_[0-9a-f]{2}
  • \windows.update.manager[0-9a-f]{2,3}
  • \wkssvc_?[0-9a-f]{2}
field:"PipeName" kind:regex_match

CobaltStrike Service Installations - System

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

Detects known malicious service installs that appear in cases in which a Cobalt Strike beacon elevates privileges or lateral movement

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: CobaltStrike Service Installations - System
id: 5a105d34-05fc-401e-8553-272b45c1522d
status: test
description: Detects known malicious service installs that appear in cases in which a Cobalt Strike beacon elevates privileges or lateral movement
references:
    - https://www.sans.org/webcasts/119395
    - https://www.crowdstrike.com/blog/getting-the-bacon-from-cobalt-strike-beacon/
    - https://thedfirreport.com/2021/08/29/cobalt-strike-a-defenders-guide/
author: Florian Roth (Nextron Systems), Wojciech Lesicki
date: 2021-05-26
modified: 2022-11-27
tags:
    - attack.persistence
    - attack.execution
    - attack.privilege-escalation
    - attack.lateral-movement
    - attack.t1021.002
    - attack.t1543.003
    - attack.t1569.002
logsource:
    product: windows
    service: system
detection:
    selection_id:
        Provider_Name: 'Service Control Manager'
        EventID: 7045
    selection1:
        ImagePath|contains|all:
            - 'ADMIN$'
            - '.exe'
    selection2:
        ImagePath|contains|all:
            - '%COMSPEC%'
            - 'start'
            - 'powershell'
    selection3:
        ImagePath|contains: 'powershell -nop -w hidden -encodedcommand'
    selection4:
        ImagePath|base64offset|contains: "IEX (New-Object Net.Webclient).DownloadString('http://127.0.0.1:"
    condition: selection_id and (selection1 or selection2 or selection3 or selection4)
falsepositives:
    - Unknown
level: critical

Stages and Predicates

Stage 0: condition

selection_id and (selection1 or selection2 or selection3 or selection4)

Stage 1: selection_id

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

Stage 2: selection1

selection1:
    ImagePath|contains|all:
        - 'ADMIN$'
        - '.exe'

Stage 3: selection2

selection2:
    ImagePath|contains|all:
        - '%COMSPEC%'
        - 'start'
        - 'powershell'

Stage 4: selection3

selection3:
    ImagePath|contains: 'powershell -nop -w hidden -encodedcommand'

Stage 5: selection4

selection4:
    ImagePath|base64offset|contains: "IEX (New-Object Net.Webclient).DownloadString('http://127.0.0.1:"

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ImagePathmatch
  • %COMSPEC% corpus 2 (sigma 2)
  • .exe
  • ADMIN$ corpus 2 (sigma 1, elastic 1)
  • JRVggKE5ldy1PYmplY3QgTmV0LldlYmNsaWVudCkuRG93bmxvYWRTdHJpbmcoJ2h0dHA6Ly8xMjcuMC4wLjE6
  • SUVYIChOZXctT2JqZWN0IE5ldC5XZWJjbGllbnQpLkRvd25sb2FkU3RyaW5nKCdodHRwOi8vMTI3LjAuMC4xO
  • lFWCAoTmV3LU9iamVjdCBOZXQuV2ViY2xpZW50KS5Eb3dubG9hZFN0cmluZygnaHR0cDovLzEyNy4wLjAuMT
  • powershell corpus 5 (sigma 5)
  • powershell -nop -w hidden -encodedcommand
  • start
field:"ImagePath" kind:match
Provider_Nameeq
  • Service Control Manager corpus 50 (sigma 50)
field:"Provider_Name" kind:eq value:"Service Control Manager"

Container Residence Discovery Via Proc Virtual FS

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

Detects potential container discovery via listing of certain kernel features in the "/proc" virtual filesystem

Known False Positives

  • Legitimate system administrator usage of these commands
  • Some container tools or deployments may use these techniques natively to determine how they proceed with execution, and will need to be filtered

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

PlatformRecord / event type
LinuxEvent ID 1: Process Create

Rule Body

title: Container Residence Discovery Via Proc Virtual FS
id: 746c86fb-ccda-4816-8997-01386263acc4
status: test
description: Detects potential container discovery via listing of certain kernel features in the "/proc" virtual filesystem
references:
    - https://blog.skyplabs.net/posts/container-detection/
    - https://stackoverflow.com/questions/20010199/how-to-determine-if-a-process-runs-inside-lxc-docker
tags:
    - attack.discovery
    - attack.t1082
author: Seth Hanford
date: 2023-08-23
logsource:
    category: process_creation
    product: linux
detection:
    selection_tools:
        Image|endswith:
            - 'awk'
            - '/cat'
            - 'grep'
            - '/head'
            - '/less'
            - '/more'
            - '/nl'
            - '/tail'
    selection_procfs_kthreadd:  # outside containers, PID 2 == kthreadd
        CommandLine|contains: '/proc/2/'
    selection_procfs_target:
        CommandLine|contains: '/proc/'
        CommandLine|endswith:
            - '/cgroup'  # cgroups end in ':/' outside containers
            - '/sched'   # PID mismatch when run in containers
    condition: selection_tools and 1 of selection_procfs_*
falsepositives:
    - Legitimate system administrator usage of these commands
    - Some container tools or deployments may use these techniques natively to determine how they proceed with execution, and will need to be filtered
level: low

Stages and Predicates

Stage 0: condition

selection_tools and 1 of selection_procfs_*

Stage 1: selection_tools

selection_tools:
    Image|endswith:
        - 'awk'
        - '/cat'
        - 'grep'
        - '/head'
        - '/less'
        - '/more'
        - '/nl'
        - '/tail'

Stage 2: selection_procfs_kthreadd

selection_procfs_kthreadd:
    CommandLine|contains: '/proc/2/'

Stage 3: selection_procfs_target

selection_procfs_target:
    CommandLine|contains: '/proc/'
    CommandLine|endswith:
        - '/cgroup'
        - '/sched'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLineends_with
  • /cgroup
  • /sched
field:"CommandLine" kind:ends_with
CommandLinematch
  • /proc/ corpus 2 (sigma 2)
  • /proc/2/
field:"CommandLine" kind:match
Imageends_with
  • /cat corpus 10 (sigma 10)
  • /head corpus 7 (sigma 7)
  • /less corpus 5 (sigma 5)
  • /more corpus 7 (sigma 7)
  • /nl
  • /tail corpus 7 (sigma 7)
  • awk
  • grep corpus 2 (sigma 2)
field:"Image" kind:ends_with

DHCP Server Error Failed Loading the CallOut DLL

#
Status
test
Severity
high
Author
Dimitrios Slamaris, @atc_project (fix)
Source
github.com/SigmaHQ/sigma

This rule detects a DHCP server error in which a specified Callout DLL (in registry) could not be loaded

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: DHCP Server Error Failed Loading the CallOut DLL
id: 75edd3fd-7146-48e5-9848-3013d7f0282c
status: test
description: This rule detects a DHCP server error in which a specified Callout DLL (in registry) could not be loaded
references:
    - https://blog.3or.de/mimilib-dhcp-server-callout-dll-injection.html
    - https://technet.microsoft.com/en-us/library/cc726884(v=ws.10).aspx
    - https://msdn.microsoft.com/de-de/library/windows/desktop/aa363389(v=vs.85).aspx
author: 'Dimitrios Slamaris, @atc_project (fix)'
date: 2017-05-15
modified: 2022-12-25
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.execution
    - attack.stealth
    - attack.t1574.001
logsource:
    product: windows
    service: system
detection:
    selection:
        EventID:
            - 1031
            - 1032
            - 1034
        Provider_Name: Microsoft-Windows-DHCP-Server
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID:
        - 1031
        - 1032
        - 1034
    Provider_Name: Microsoft-Windows-DHCP-Server

Indicators

These rows show field, operator, and value matches.

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

Dynamic .NET Compilation Via Csc.EXE - Hunting

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

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

Known False Positives

  • Many legitimate applications make use of dynamic compilation. Use this rule to hunt for anomalies

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Dynamic .NET Compilation Via Csc.EXE - Hunting
id: acf2807c-805b-4042-aab9-f86b6ba9cb2b
related:
    - id: dcaa3f04-70c3-427a-80b4-b870d73c94c4
      type: derived
status: test
description: Detects execution of "csc.exe" to compile .NET code. Attackers often leverage this to compile code on the fly and use it in other stages.
references:
    - https://securityboulevard.com/2019/08/agent-tesla-evading-edr-by-removing-api-hooks/
    - https://www.clearskysec.com/wp-content/uploads/2018/11/MuddyWater-Operations-in-Lebanon-and-Oman.pdf
    - https://app.any.run/tasks/c6993447-d1d8-414e-b856-675325e5aa09/
    - https://twitter.com/gN3mes1s/status/1206874118282448897
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-08-02
tags:
    - attack.stealth
    - attack.t1027.004
    - detection.threat-hunting
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\csc.exe'
        CommandLine|contains: '/noconfig /fullpaths @'
    condition: selection
falsepositives:
    - Many legitimate applications make use of dynamic compilation. Use this rule to hunt for anomalies
level: medium
regression_tests_path: regression_data/rules-threat-hunting/windows/process_creation/proc_creation_win_csc_compilation/info.yml

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '\csc.exe'
    CommandLine|contains: '/noconfig /fullpaths @'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /noconfig /fullpaths @
field:"CommandLine" kind:match value:"/noconfig /fullpaths @"
Imageends_with
  • \csc.exe corpus 9 (sigma 9)
field:"Image" kind:ends_with value:"\csc.exe"

Enumeration for Credentials in Registry

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

Adversaries may search the Registry on compromised systems for insecurely stored credentials. The Windows Registry stores configuration information that can be used by the system or other programs. Adversaries may query the Registry looking for credentials and passwords that have been stored for use by other programs or services

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Enumeration for Credentials in Registry
id: e0b0c2ab-3d52-46d9-8cb7-049dc775fbd1
status: test
description: |
    Adversaries may search the Registry on compromised systems for insecurely stored credentials.
    The Windows Registry stores configuration information that can be used by the system or other programs.
    Adversaries may query the Registry looking for credentials and passwords that have been stored for use by other programs or services
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1552.002/T1552.002.md
author: frack113
date: 2021-12-20
modified: 2022-12-25
tags:
    - attack.credential-access
    - attack.t1552.002
logsource:
    category: process_creation
    product: windows
detection:
    reg:
        Image|endswith: '\reg.exe'
        CommandLine|contains|all:
            - ' query '
            - '/t '
            - 'REG_SZ'
            - '/s'
    hive:
        - CommandLine|contains|all:
              - '/f '
              - 'HKLM'
        - CommandLine|contains|all:
              - '/f '
              - 'HKCU'
        - CommandLine|contains: 'HKCU\Software\SimonTatham\PuTTY\Sessions'
    condition: reg and hive
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

reg and hive

Stage 1: reg

reg:
    Image|endswith: '\reg.exe'
    CommandLine|contains|all:
        - ' query '
        - '/t '
        - 'REG_SZ'
        - '/s'

Stage 2: hive

hive:
    - CommandLine|contains|all:
          - '/f '
          - 'HKLM'
    - CommandLine|contains|all:
          - '/f '
          - 'HKCU'
    - CommandLine|contains: 'HKCU\Software\SimonTatham\PuTTY\Sessions'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • query corpus 4 (splunk 3, sigma 1)
  • /f corpus 4 (sigma 4)
  • /s corpus 10 (sigma 8, splunk 2)
  • /t corpus 3 (sigma 3)
  • HKCU
  • HKCU\Software\SimonTatham\PuTTY\Sessions
  • HKLM corpus 3 (sigma 3)
  • REG_SZ
field:"CommandLine" kind:match
Imageends_with
  • \reg.exe corpus 58 (sigma 58)
field:"Image" kind:ends_with value:"\reg.exe"

Forest Blizzard APT - File Creation Activity

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

Detects the creation of specific files inside of ProgramData directory. These files were seen being created by Forest Blizzard as described by MSFT.

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: Forest Blizzard APT - File Creation Activity
id: b92d1d19-f5c9-4ed6-bbd5-7476709dc389
status: test
description: |
    Detects the creation of specific files inside of ProgramData directory.
    These files were seen being created by Forest Blizzard as described by MSFT.
references:
    - https://www.microsoft.com/en-us/security/blog/2024/04/22/analyzing-forest-blizzards-custom-post-compromise-tool-for-exploiting-cve-2022-38028-to-obtain-credentials/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2024-04-23
modified: 2024-07-11
tags:
    - attack.defense-impairment
    - attack.t1685.001
    - detection.emerging-threats
logsource:
    category: file_event
    product: windows
detection:
    selection_programdata_driver_store:
        TargetFilename|startswith:
            - 'C:\ProgramData\Microsoft\v'
            - 'C:\ProgramData\Adobe\v'
            - 'C:\ProgramData\Comms\v'
            - 'C:\ProgramData\Intel\v'
            - 'C:\ProgramData\Kaspersky Lab\v'
            - 'C:\ProgramData\Bitdefender\v'
            - 'C:\ProgramData\ESET\v'
            - 'C:\ProgramData\NVIDIA\v'
            - 'C:\ProgramData\UbiSoft\v'
            - 'C:\ProgramData\Steam\v'
        TargetFilename|contains:
            - '\prnms003.inf_'
            - '\prnms009.inf_'
    selection_programdata_main:
        TargetFilename|startswith: 'C:\ProgramData\'
    selection_programdata_files_1:
        TargetFilename|endswith:
            - '.save'
            - '\doit.bat'
            - '\execute.bat'
            - '\servtask.bat'
        # Hashes|contains: '7d51e5cc51c43da5deae5fbc2dce9b85c0656c465bb25ab6bd063a503c1806a9' # Uncommon this if you collect hash information inf file events
    selection_programdata_files_2:
        TargetFilename|contains: '\wayzgoose'
        TargetFilename|endswith: '.dll'
    condition: selection_programdata_driver_store or (selection_programdata_main and 1 of selection_programdata_files_*)
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection_programdata_driver_store or (selection_programdata_main and 1 of selection_programdata_files_*)

Stage 1: selection_programdata_driver_store

selection_programdata_driver_store:
    TargetFilename|startswith:
        - 'C:\ProgramData\Microsoft\v'
        - 'C:\ProgramData\Adobe\v'
        - 'C:\ProgramData\Comms\v'
        - 'C:\ProgramData\Intel\v'
        - 'C:\ProgramData\Kaspersky Lab\v'
        - 'C:\ProgramData\Bitdefender\v'
        - 'C:\ProgramData\ESET\v'
        - 'C:\ProgramData\NVIDIA\v'
        - 'C:\ProgramData\UbiSoft\v'
        - 'C:\ProgramData\Steam\v'
    TargetFilename|contains:
        - '\prnms003.inf_'
        - '\prnms009.inf_'

Stage 2: selection_programdata_main

selection_programdata_main:
    TargetFilename|startswith: 'C:\ProgramData\'

Stage 3: selection_programdata_files_1

selection_programdata_files_1:
    TargetFilename|endswith:
        - '.save'
        - '\doit.bat'
        - '\execute.bat'
        - '\servtask.bat'

Stage 4: selection_programdata_files_2

selection_programdata_files_2:
    TargetFilename|contains: '\wayzgoose'
    TargetFilename|endswith: '.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenameends_with
  • .dll corpus 24 (sigma 24)
  • .save
  • \doit.bat
  • \execute.bat
  • \servtask.bat
field:"TargetFilename" kind:ends_with
TargetFilenamematch
  • \prnms003.inf_
  • \prnms009.inf_
  • \wayzgoose
field:"TargetFilename" kind:match
TargetFilenamestarts_with
  • C:\ProgramData\
  • C:\ProgramData\Adobe\v
  • C:\ProgramData\Bitdefender\v
  • C:\ProgramData\Comms\v
  • C:\ProgramData\ESET\v
  • C:\ProgramData\Intel\v
  • C:\ProgramData\Kaspersky Lab\v
  • C:\ProgramData\Microsoft\v
  • C:\ProgramData\NVIDIA\v
  • C:\ProgramData\Steam\v
  • C:\ProgramData\UbiSoft\v
field:"TargetFilename" kind:starts_with

Github Outside Collaborator Detected

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

Detects when an organization member or an outside collaborator is added to or removed from a project board or has their permission level changed or when an owner removes an outside collaborator from an organization or when two-factor authentication is required in an organization and an outside collaborator does not use 2FA or disables 2FA.

Known False Positives

  • Validate the actor if permitted to access the repo.
  • Validate the Multifactor Authentication changes.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Github Outside Collaborator Detected
id: eaa9ac35-1730-441f-9587-25767bde99d7
status: test
description: |
    Detects when an organization member or an outside collaborator is added to or removed from a project board or has their permission level changed or when an owner removes an outside collaborator from an organization or when two-factor authentication is required in an organization and an outside collaborator does not use 2FA or disables 2FA.
author: Muhammad Faisal (@faisalusuf)
date: 2023-01-20
references:
    - https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#audit-log-actions
    - https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.collection
    - attack.t1098.001
    - attack.t1098.003
    - attack.t1213.003
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:
            - 'org.remove_outside_collaborator'
            - 'project.update_user_permission'
    condition: selection
falsepositives:
    - Validate the actor if permitted to access the repo.
    - Validate the Multifactor Authentication changes.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    action:
        - 'org.remove_outside_collaborator'
        - 'project.update_user_permission'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
actioneq
  • org.remove_outside_collaborator
  • project.update_user_permission
field:"action" kind:eq

Indirect Command Execution via SFTP ProxyCommand

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

Detects the use of SFTP.exe to execute commands indirectly via ProxyCommand parameter. Threat actors were seen leveraging this legitimate Windows binary to bypass security controls and execute arbitrary commands while evading detection.

Known False Positives

  • Legitimate use of SFTP with proxy commands for administration or networking tasks

MITRE ATT&CK Coverage

TacticTechniques
Stealth

Telemetry Coverage

Rule Body

title: Indirect Command Execution via SFTP ProxyCommand
id: 762bb580-79b4-40f4-8b9e-9349ce1710f4
status: experimental
description: |
    Detects the use of SFTP.exe to execute commands indirectly via ProxyCommand parameter.
    Threat actors were seen leveraging this legitimate Windows binary to bypass security controls and execute arbitrary commands while evading detection.
references:
    - https://lolbas-project.github.io/lolbas/Binaries/Sftp/
    - https://news.sophos.com/en-us/2025/05/09/lumma-stealer-coming-and-going/
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2026-04-27
tags:
    - attack.stealth
    - attack.t1202
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\sftp.exe'
        CommandLine|contains: 'ProxyCommand='
    condition: selection
falsepositives:
    - Legitimate use of SFTP with proxy commands for administration or networking tasks
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_lolbin_sftp_indirect_cmd_execution/info.yml

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image|endswith: '\sftp.exe'
    CommandLine|contains: 'ProxyCommand='

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • ProxyCommand= corpus 2 (sigma 2)
field:"CommandLine" kind:match value:"ProxyCommand="
Imageends_with
  • \sftp.exe corpus 2 (sigma 2)
field:"Image" kind:ends_with value:"\sftp.exe"

Malware User Agent

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

Detects suspicious user agent strings used by malware in proxy logs

MITRE ATT&CK Coverage

Rule Body

title: Malware User Agent
id: 5c84856b-55a5-45f1-826f-13f37250cf4e
status: test
description: Detects suspicious user agent strings used by malware in proxy logs
references:
    - http://rules.emergingthreats.net/open/snort-2.9.0/rules/emerging-user_agents.rules
    - http://www.botopedia.org/search?searchword=scan&searchphrase=all
    - https://networkraptor.blogspot.com/2015/01/user-agent-strings.html
    - https://perishablepress.com/blacklist/ua-2013.txt
    - https://www.bluecoat.com/en-gb/security-blog/2015-05-05/know-your-agents
    - https://twitter.com/kladblokje_88/status/1614673320124743681?s=12&t=joEpeVa5d58aHYNGA_To7Q
    - https://pbs.twimg.com/media/FtYbfsDXoAQ1Y8M?format=jpg&name=large
    - https://twitter.com/crep1x/status/1635034100213112833
author: Florian Roth (Nextron Systems), X__Junior (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
date: 2017-07-08
modified: 2024-04-14
tags:
    - attack.command-and-control
    - attack.t1071.001
logsource:
    category: proxy
detection:
    selection:
        c-useragent:
            # RATs
            - 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Chrome /53.0' # DragonOK
            - 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1)' # Used by PlugX - base-lining recommended - https://community.rsa.com/thread/185439
            - 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0)' # Used by PlugX - base-lining recommended - https://community.rsa.com/thread/185439
            - 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR  1.1.4322)' # Used by PlugX - old - https://unit42.paloaltonetworks.com/unit-42-identifies-new-dragonok-backdoor-malware-deployed-against-japanese-targets/
            - 'HttpBrowser/1.0' # HTTPBrowser RAT
            - '*<|>*' # Houdini / Iniduoh / njRAT
            - 'nsis_inetc (mozilla)' # ZeroAccess
            - 'Wget/1.9+cvs-stable (Red Hat modified)' # Dyre / Upatre
            # Ghost419 https://www.mcafee.com/blogs/other-blogs/mcafee-labs/gold-dragon-widens-olympics-malware-attacks-gains-permanent-presence-on-victims-systems/
            - 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; .NET CLR 1.1.4322)'
            # Malware
            - '*zeroup*' # W32/Renos.Downloader
            - 'Mozilla/5.0 (Windows NT 5.1 ; v.*' # Kazy
            - '* adlib/*'
            - '* tiny' # Trojan Downloader
            - '* BGroom *' # Trojan Downloader
            - '* changhuatong'
            - '* CholTBAgent'
            - 'Mozilla/5.0 WinInet'
            - 'RookIE/1.0'
            - 'M' # HkMain
            - 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)' # Egamipload - old UA - probable prone to false positives
            - 'Mozilla/4.0 (compatible;MSIE 7.0;Windows NT 6.0)' # Yakes
            - 'backdoorbot'
            - 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.1 (.NET CLR 3.5.30731)' # Sality
            - 'Opera/8.81 (Windows NT 6.0; U; en)' # Sality
            - 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.1 (.NET CLR 3.5.30729)' # Sality
            - 'Opera' # Trojan Keragany
            - 'Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)' # Fareit
            - 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)' # Webshell's back connect
            - 'MSIE' # Toby web shell
            - '*(Charon; Inferno)' # Loki Bot
            - 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/5.0)' # Fareit / Pony
            - 'Mozilla/4.0 (compatible; MSIE 6.1; Windows NT)' # https://www.virustotal.com/gui/file/8abbef8e58f012d45a7cb46c3c2729dcd33cf53e721ff8c59e238862aa0a9e0e/detection
            - 'Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1)' # MacControl malware https://www.virustotal.com/gui/file/d60f61f1f03a5011a0240694e110c6d370bf68a92753093186c6d14e26a15428/detection https://www.symantec.com/connect/blogs/osxmacontrol-back-it-again
            - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)' # used by Zebrocy malware https://app.any.run/tasks/7d7fa4a0-6970-4428-828b-29572abf9ceb/
            # Ursnif
            - 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 10.0; Win64; x64)'
            - 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64)'
            # Emotet
            - 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; InfoPath.3)' # https://twitter.com/webbthewombat/status/1225827092132179968
            # Lockbit (https://twitter.com/kladblokje_88/status/1614673320124743681?s=12&t=joEpeVa5d58aHYNGA_To7Q)
            - 'Mozilla/5.0 (Windows NT 6.1)'
            - 'AppleWebkit/587.38 (KHTML, like Gecko)'
            - 'Chrome/91.0.4472.77'
            - 'Safari/537.36'
            - 'Edge/91.0.864.37'
            - 'Firefox/89.0'
            - 'Gecko/20100101'
            # Others
            - '* pxyscand*'
            - '* asd'
            - '* mdms'
            - 'sample'
            - 'nocase'
            - 'Moxilla'
            - 'Win32 *'
            - '*Microsoft Internet Explorer*'
            - 'agent *'
            - 'AutoIt' # Suspicious - base-lining recommended
            - 'IczelionDownLoad'
            - 'Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 10.0; .NET4.0C; .NET4.0E; Tablet PC 2.0)' # https://unit42.paloaltonetworks.com/thor-plugx-variant/
            - 'record' # https://blog.sekoia.io/raccoon-stealer-v2-part-1-the-return-of-the-dead/
            - 'mozzzzzzzzzzz' # https://blog.sekoia.io/raccoon-stealer-v2-part-1-the-return-of-the-dead/
            - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0' # Quasar RAT UA https://twitter.com/malmoeb/status/1559994820692672519?s=20&t=g3tkNL09dZZWbFN10qDVjg
            - 'Havana/0.1' # https://www.cybereason.com/blog/threat-alert-havanacrypt-ransomware-masquerading-as-google-update
            - 'antSword/v2.1' # AntSword Webshell UA
            - 'rqwrwqrqwrqw'  # Racoon Stealer
            - 'qwrqrwrqwrqwr'  # Racoon Stealer
            - 'rc2.0/client'  # Racoon Stealer
            - 'TakeMyPainBack'  # Racoon Stealer
            - 'xxx' # Racoon Stealer
            - '20112211' # Racoon Stealer
            - '23591' # Racoon Stealer
            - '901785252112' # Racoon Stealer
            - '1235125521512' # Racoon Stealer
            - '125122112551' # Racoon Stealer
            - 'B1D3N_RIM_MY_ASS' # Racoon Stealer
            - 'AYAYAYAY1337' # Racoon Stealer
            - 'iMightJustPayMySelfForAFeature' # Racoon Stealer
            - 'ForAFeature' # Racoon Stealer
            - 'Ares_ldr_v_*' # AresLoader
            # - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106' # seen used by AresLoader
            - 'Microsoft Internet Explorer' # https://github.com/silence-is-best/c2db
            - 'CLCTR' # https://github.com/silence-is-best/c2db
            - 'uploader' # https://github.com/silence-is-best/c2db
            - 'agent' # https://github.com/silence-is-best/c2db
            - 'License' # https://github.com/silence-is-best/c2db
            - 'vb wininet' # https://github.com/silence-is-best/c2db
            - 'Client' # https://github.com/silence-is-best/c2db
            - 'Lilith-Bot/3.0' # Lilith Stealer - https://twitter.com/suyog41/status/1558051450797690880
            - 'svc/1.0' # SVC Loader - https://twitter.com/suyog41/status/1558051450797690880
            - 'WSHRAT' # WSHRAT - https://twitter.com/suyog41/status/1558051450797690880
            - 'ZeroStresser Botnet/1.5' # Zerobot - https://twitter.com/suyog41/status/1558051450797690880
            - 'OK' # Nymaim - https://twitter.com/suyog41/status/1558051450797690880
            - 'Project1sqlite' # DarkCloud - https://twitter.com/suyog41/status/1558051450797690880
            - 'Project1' # DarkCloud - https://twitter.com/suyog41/status/1558051450797690880
            - 'DuckTales' # Racoon Stealer
            - 'Zadanie' # Racoon Stealer
            - 'GunnaWunnaBlueTips' # Racoon Stealer
            - 'Xlmst' # Racoon Stealer
            - 'GeekingToTheMoon' # Racoon Stealer
            - 'SunShineMoonLight' # Racoon Stealer
            - 'BunnyRequester' # BunnyStealer
            - 'BunnyTasks' # BunnyStealer
            - 'BunnyStealer' # BunnyStealer
            - 'BunnyLoader_Dropper' # BunnyStealer
            - 'BunnyLoader' # BunnyStealer
            - 'BunnyShell' # BunnyStealer
            - 'SPARK-COMMIT' # SparkRAT - https://arcticwolf.com/resources/blog/tellmethetruth-exploitation-of-cve-2023-46604-leading-to-ransomware/
            - '4B4DB4B3' # B4B3RAT - https://twitter.com/naumovax/status/1718956514491130301
            - 'SouthSide' # Racoon Stealer
            - 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Tob 1.1)' # Latrodectus loader
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    c-useragent:
        - 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Chrome /53.0'
        - 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1)'
        - 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0)'
        - 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR  1.1.4322)'
        - 'HttpBrowser/1.0'
        - '*<|>*'
        - 'nsis_inetc (mozilla)'
        - 'Wget/1.9+cvs-stable (Red Hat modified)'
        - 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; .NET CLR 1.1.4322)'
        - '*zeroup*'
        - 'Mozilla/5.0 (Windows NT 5.1 ; v.*'
        - '* adlib/*'
        - '* tiny'
        - '* BGroom *'
        - '* changhuatong'
        - '* CholTBAgent'
        - 'Mozilla/5.0 WinInet'
        - 'RookIE/1.0'
        - 'M'
        - 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)'
        - 'Mozilla/4.0 (compatible;MSIE 7.0;Windows NT 6.0)'
        - 'backdoorbot'
        - 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.1 (.NET CLR 3.5.30731)'
        - 'Opera/8.81 (Windows NT 6.0; U; en)'
        - 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.1 (.NET CLR 3.5.30729)'
        - 'Opera'
        - 'Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)'
        - 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'
        - 'MSIE'
        - '*(Charon; Inferno)'
        - 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/5.0)'
        - 'Mozilla/4.0 (compatible; MSIE 6.1; Windows NT)'
        - 'Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1)'
        - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'
        - 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 10.0; Win64; x64)'
        - 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64)'
        - 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; InfoPath.3)'
        - 'Mozilla/5.0 (Windows NT 6.1)'
        - 'AppleWebkit/587.38 (KHTML, like Gecko)'
        - 'Chrome/91.0.4472.77'
        - 'Safari/537.36'
        - 'Edge/91.0.864.37'
        - 'Firefox/89.0'
        - 'Gecko/20100101'
        - '* pxyscand*'
        - '* asd'
        - '* mdms'
        - 'sample'
        - 'nocase'
        - 'Moxilla'
        - 'Win32 *'
        - '*Microsoft Internet Explorer*'
        - 'agent *'
        - 'AutoIt'
        - 'IczelionDownLoad'
        - 'Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 10.0; .NET4.0C; .NET4.0E; Tablet PC 2.0)'
        - 'record'
        - 'mozzzzzzzzzzz'
        - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0'
        - 'Havana/0.1'
        - 'antSword/v2.1'
        - 'rqwrwqrqwrqw'
        - 'qwrqrwrqwrqwr'
        - 'rc2.0/client'
        - 'TakeMyPainBack'
        - 'xxx'
        - '20112211'
        - '23591'
        - '901785252112'
        - '1235125521512'
        - '125122112551'
        - 'B1D3N_RIM_MY_ASS'
        - 'AYAYAYAY1337'
        - 'iMightJustPayMySelfForAFeature'
        - 'ForAFeature'
        - 'Ares_ldr_v_*'
        - 'Microsoft Internet Explorer'
        - 'CLCTR'
        - 'uploader'
        - 'agent'
        - 'License'
        - 'vb wininet'
        - 'Client'
        - 'Lilith-Bot/3.0'
        - 'svc/1.0'
        - 'WSHRAT'
        - 'ZeroStresser Botnet/1.5'
        - 'OK'
        - 'Project1sqlite'
        - 'Project1'
        - 'DuckTales'
        - 'Zadanie'
        - 'GunnaWunnaBlueTips'
        - 'Xlmst'
        - 'GeekingToTheMoon'
        - 'SunShineMoonLight'
        - 'BunnyRequester'
        - 'BunnyTasks'
        - 'BunnyStealer'
        - 'BunnyLoader_Dropper'
        - 'BunnyLoader'
        - 'BunnyShell'
        - 'SPARK-COMMIT'
        - '4B4DB4B3'
        - 'SouthSide'
        - 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Tob 1.1)'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
c-useragenteq
  • * BGroom *
  • * CholTBAgent
  • * adlib/*
  • * asd
  • * changhuatong
  • * mdms
  • * pxyscand*
  • * tiny
  • *(Charon; Inferno)
  • *<|>*
  • *Microsoft Internet Explorer*
  • *zeroup*
  • 1235125521512
  • 125122112551
  • 20112211
  • 23591
  • 4B4DB4B3
  • 901785252112
  • AYAYAYAY1337
  • AppleWebkit/587.38 (KHTML, like Gecko)
  • Ares_ldr_v_*
  • AutoIt
  • B1D3N_RIM_MY_ASS
  • BunnyLoader
  • BunnyLoader_Dropper
  • BunnyRequester
  • BunnyShell
  • BunnyStealer
  • BunnyTasks
  • CLCTR
  • Chrome/91.0.4472.77
  • Client
  • DuckTales
  • Edge/91.0.864.37
  • Firefox/89.0
  • ForAFeature
  • Gecko/20100101
  • GeekingToTheMoon
  • GunnaWunnaBlueTips
  • Havana/0.1
  • +66 more values (see full rule source)
field:"c-useragent" kind:eq

Manual Execution of Script Inside of a Compressed File

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

This is a threat-hunting query to collect information related to the interactive execution of a script from inside a compressed file (zip/rar). Windows will automatically run the script using scripting interpreters such as wscript and cscript binaries. From the query below, the child process is the script interpreter that will execute the script. The script extension is also a set of standard extensions that Windows OS recognizes. Selections 1-3 contain three different execution scenarios. 1. Compressed file opened using 7zip. 2. Compressed file opened using WinRar. 3. Compressed file opened using native windows File Explorer capabilities. When the malicious script is double-clicked, it will be extracted to the respected directories as signified by the CommandLine on each of the three Selections. It will then be executed using the relevant script interpreter."

Known False Positives

  • Batch files may produce a lot of noise, as many applications appear to bundle them as part of their installation process. You should baseline your environment and generate a new query excluding the noisy and expected activity. Some false positives may come up depending on your environment. All results should be investigated thoroughly before filtering out results.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Manual Execution of Script Inside of a Compressed File
id: 95724fc1-a258-4674-97db-a30351981c5a
status: test
description: |
    This is a threat-hunting query to collect information related to the interactive execution of a script from inside a compressed file (zip/rar). Windows will automatically run the script using scripting interpreters such as wscript and cscript binaries.

    From the query below, the child process is the script interpreter that will execute the script. The script extension is also a set of standard extensions that Windows OS recognizes. Selections 1-3 contain three different execution scenarios.
        1. Compressed file opened using 7zip.
        2. Compressed file opened using WinRar.
        3. Compressed file opened using native windows File Explorer capabilities.

    When the malicious script is double-clicked, it will be extracted to the respected directories as signified by the CommandLine on each of the three Selections. It will then be executed using the relevant script interpreter."
references:
    - https://app.any.run/tasks/25970bb5-f864-4e9e-9e1b-cc8ff9e6386a
    - https://app.any.run/tasks/fa99cedc-9d2f-4115-a08e-291429ce3692
author: '@kostastsale'
date: 2023-02-15
modified: 2024-08-13
tags:
    - attack.execution
    - attack.t1059
    - detection.threat-hunting
logsource:
    category: process_creation
    product: windows
detection:
    selection_parent_7zip:
        ParentImage|endswith: '\7z*.exe'
        CommandLine|contains: '\AppData\local\temp\7z*\'
    selection_parent_winrar:
        ParentImage|endswith: '\winrar.exe'
        CommandLine|contains: '\AppData\local\temp\rar*\'
    selection_parent_explorer:
        ParentImage|endswith: '\explorer.exe'
        CommandLine|contains:
            - '\AppData\local\temp\*.rar\'
            - '\AppData\local\temp\*.zip\'
    selection_child:
        Image|endswith:
            - '\cscript.exe'
            - '\mshta.exe'
            - '\powershell.exe'
            - '\pwsh.exe'
            - '\wscript.exe'
        CommandLine|endswith:
            - '.hta'
            - '.js'
            - '.jse'
            - '.ps1'
            - '.vbe'
            - '.vbs'
            - '.wsf'
            - '.wsh'
    condition: 1 of selection_parent_* and selection_child
falsepositives:
    - Batch files may produce a lot of noise, as many applications appear to bundle them as part of their installation process. You should baseline your environment and generate a new query excluding the noisy and expected activity. Some false positives may come up depending on your environment. All results should be investigated thoroughly before filtering out results.
level: medium

Stages and Predicates

Stage 0: condition

1 of selection_parent_* and selection_child

Stage 1: selection_parent_7zip

selection_parent_7zip:
    ParentImage|endswith: '\7z*.exe'
    CommandLine|contains: '\AppData\local\temp\7z*\'

Stage 2: selection_parent_winrar

selection_parent_winrar:
    ParentImage|endswith: '\winrar.exe'
    CommandLine|contains: '\AppData\local\temp\rar*\'

Stage 3: selection_parent_explorer

selection_parent_explorer:
    ParentImage|endswith: '\explorer.exe'
    CommandLine|contains:
        - '\AppData\local\temp\*.rar\'
        - '\AppData\local\temp\*.zip\'

Stage 4: selection_child

selection_child:
    Image|endswith:
        - '\cscript.exe'
        - '\mshta.exe'
        - '\powershell.exe'
        - '\pwsh.exe'
        - '\wscript.exe'
    CommandLine|endswith:
        - '.hta'
        - '.js'
        - '.jse'
        - '.ps1'
        - '.vbe'
        - '.vbs'
        - '.wsf'
        - '.wsh'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLineends_with
  • .hta corpus 6 (sigma 6)
  • .js
  • .jse
  • .ps1 corpus 6 (sigma 6)
  • .vbe corpus 7 (sigma 7)
  • .vbs corpus 7 (sigma 7)
  • .wsf
  • .wsh
field:"CommandLine" kind:ends_with
CommandLinematch
  • \AppData\local\temp\*.rar\
  • \AppData\local\temp\*.zip\
  • \AppData\local\temp\7z*\
  • \AppData\local\temp\rar*\
field:"CommandLine" kind:match
Imageends_with
  • \cscript.exe corpus 72 (sigma 72)
  • \mshta.exe corpus 67 (sigma 66, splunk 1)
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \pwsh.exe corpus 166 (sigma 166)
  • \wscript.exe corpus 74 (sigma 74)
field:"Image" kind:ends_with
ParentImageends_with
  • \7z*.exe
  • \explorer.exe corpus 15 (sigma 13, splunk 2)
  • \winrar.exe corpus 5 (sigma 5)
field:"ParentImage" kind:ends_with

MsiExec Web Install

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

Detects suspicious msiexec process starts with web addresses as parameter

Known False Positives

  • False positives depend on scripts and administrative tools used in the monitored environment

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: MsiExec Web Install
id: f7b5f842-a6af-4da5-9e95-e32478f3cd2f
related:
    - id: 8150732a-0c9d-4a99-82b9-9efb9b90c40c
      type: similar
status: test
description: Detects suspicious msiexec process starts with web addresses as parameter
references:
    - https://blog.trendmicro.com/trendlabs-security-intelligence/attack-using-windows-installer-msiexec-exe-leads-lokibot/
author: Florian Roth (Nextron Systems)
date: 2018-02-09
modified: 2022-01-07
tags:
    - attack.stealth
    - attack.t1218.007
    - attack.command-and-control
    - attack.t1105
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains|all:
            - ' msiexec'
            - '://'
    condition: selection
falsepositives:
    - False positives depend on scripts and administrative tools used in the monitored environment
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_msiexec_web_install/info.yml

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    CommandLine|contains|all:
        - ' msiexec'
        - '://'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • msiexec corpus 2 (sigma 2)
  • :// corpus 3 (sigma 3)
field:"CommandLine" kind:match

New Agent Skills Installation Attempt Via Node.EXE

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

Detects the attempt to install new skills for AI agents using the "npx skills" command. Agent skills enhance AI agents with new capabilities, but attackers may abuse this mechanism to inject malicious commands executed by the agent on behalf of the user. The "npx skills" command can install skills for various agents (e.g., Claude Code, Cursor, and others). Analysts should review any installed skills to verify their legitimacy. Note: Tune this rule based on whether AI agent tooling is allowed in your environment. In environments where such tooling is authorized, this detection may reflect normal activity and the alert level should be adjusted accordingly. In environments where AI agent tooling is not permitted, this activity is likely suspicious and may require immediate investigation.

Known False Positives

  • This rule will be triggered when a new agent skill is installed regardless if it is benign or malicious.
  • High false positive rate expected in environments where AI agent tooling is authorized and commonly used.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: New Agent Skills Installation Attempt Via Node.EXE
id: afa71271-6a97-4e47-810f-83120fb1a4ce
status: experimental
description: |
    Detects the attempt to install new skills for AI agents using the "npx skills" command.
    Agent skills enhance AI agents with new capabilities, but attackers may abuse this mechanism to inject malicious commands executed by the agent on behalf of the user.
    The "npx skills" command can install skills for various agents (e.g., Claude Code, Cursor, and others).
    Analysts should review any installed skills to verify their legitimacy.
    Note: Tune this rule based on whether AI agent tooling is allowed in your environment.
    In environments where such tooling is authorized, this detection may reflect normal activity and the alert level should be adjusted accordingly.
    In environments where AI agent tooling is not permitted, this activity is likely suspicious and may require immediate investigation.
references:
    - https://blog.lukaszolejnik.com/supply-chain-risk-of-agentic-ai-infecting-infrastructures-via-skill-worms/
    - https://github.com/vercel-labs/skills/blob/1f7fbc8d0e49c4e0601d364696bd1bdd15e80967/README.md
    - https://opensourcemalware.com/blog/clawdbot-skills-ganked-your-crypto
    - https://promptintel.novahunting.ai/molt
author: Marco Pedrinazzi (@pedrinazziM) (InTheCyber)
date: 2026-02-03
tags:
    - attack.execution
    - attack.t1059.007
logsource:
    product: windows
    category: process_creation
detection:
    selection_img:
        - Image|endswith: '\node.exe'
        - OriginalFileName: 'node.exe'
    selection_cli:
        CommandLine|contains|all:
            - 'npx-cli.js'
            - 'skills '
            - ' add '
    condition: all of selection_*
falsepositives:
    - This rule will be triggered when a new agent skill is installed regardless if it is benign or malicious.
    - High false positive rate expected in environments where AI agent tooling is authorized and commonly used.
level: medium
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_node_new_agent_skills_installed/info.yml

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    CommandLine|contains|all:
        - 'npx-cli.js'
        - 'skills '
        - ' add '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • add corpus 14 (sigma 13, splunk 1)
  • npx-cli.js
  • skills
field:"CommandLine" kind:match
Imageends_with
  • \node.exe corpus 6 (sigma 6)
field:"Image" kind:ends_with value:"\node.exe"
OriginalFileNameeq
  • node.exe corpus 4 (sigma 3, elastic 1)
field:"OriginalFileName" kind:eq value:"node.exe"

Potential Compromised 3CXDesktopApp ICO C2 File Download

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

Detects potential malicious .ICO files download from a compromised 3CXDesktopApp via web requests to the the malicious Github repository

MITRE ATT&CK Coverage

TacticTechniques
Command & ControlNo specific technique

Rule Body

title: Potential Compromised 3CXDesktopApp ICO C2 File Download
id: 76bc1601-9546-4b75-9419-06e0e8d10651
related:
    - id: 3c4b3bbf-36b4-470c-b6cf-f07e8b1c7e26 # Proxy C2
      type: similar
    - id: bd03a0dc-5d93-49eb-b2e8-2dfd268600f8 # DNS C2
      type: similar
    - id: 51eecf75-d069-43c7-9ea2-63f75499edd4 # net_connection C2
      type: similar
    - id: 93bbde78-dc86-4e73-9ffc-ff8a384ca89c # ProcCreation Exec
      type: similar
    - id: 63f3605b-979f-48c2-b7cc-7f90523fed88 # ProcCreation ChildProc
      type: similar
    - id: e7581747-1e44-4d4b-85a6-0db0b4a00f2a # ProcCreation Update
      type: similar
    - id: d0b65ad3-e945-435e-a7a9-438e62dd48e9 # ImageLoad
      type: similar
status: test
description: Detects potential malicious .ICO files download from a compromised 3CXDesktopApp via web requests to the the malicious Github repository
references:
    - https://www.sentinelone.com/blog/smoothoperator-ongoing-campaign-trojanizes-3cx-software-in-software-supply-chain-attack/
    - https://www.linkedin.com/feed/update/urn:li:activity:7047435754834198529/
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-03-31
tags:
    - attack.command-and-control
    - detection.emerging-threats
logsource:
    category: proxy
detection:
    selection:
        c-uri|contains|all:
            - 'IconStorages/images/main/icon'
            - '.ico'
    condition: selection
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    c-uri|contains|all:
        - 'IconStorages/images/main/icon'
        - '.ico'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
c-urimatch
  • .ico
  • IconStorages/images/main/icon
field:"c-uri" kind:match

PUA - AWS TruffleHog Execution

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

Detects the execution of TruffleHog, a popular open-source tool used for scanning repositories for secrets and sensitive information, within an AWS environment. It has been reported to be used by threat actors for credential harvesting. All detections should be investigated to determine if the usage is authorized by security teams or potentially malicious.

Known False Positives

  • Legitimate use of TruffleHog by security teams for credential scanning.

MITRE ATT&CK Coverage

Rule Body

title: PUA - AWS TruffleHog Execution
id: a840e606-7c8c-4684-9bc1-eb6b6155127f
status: experimental
description: |
    Detects the execution of TruffleHog, a popular open-source tool used for scanning repositories for secrets and sensitive information, within an AWS environment.
    It has been reported to be used by threat actors for credential harvesting. All detections should be investigated to determine if the usage is authorized by security teams or potentially malicious.
references:
    - https://github.com/trufflesecurity/trufflehog
    - https://www.rapid7.com/blog/post/tr-crimson-collective-a-new-threat-group-observed-operating-in-the-cloud/
author: Swachchhanda Shrawan Poudel (Nextron Systems)
date: 2025-10-21
tags:
    - attack.credential-access
    - attack.t1555
    - attack.t1003
logsource:
    product: aws
    service: cloudtrail
detection:
    selection:
        userAgent: 'TruffleHog'
    condition: selection
falsepositives:
    - Legitimate use of TruffleHog by security teams for credential scanning.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    userAgent: 'TruffleHog'

Indicators

These rows show field, operator, and value matches.

Renamed PsExec Service Execution

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

Detects suspicious launch of a renamed version of the PSEXESVC service with, which is not often used by legitimate administrators

Known False Positives

  • Legitimate administrative tasks

MITRE ATT&CK Coverage

TacticTechniques
ExecutionNo specific technique

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Renamed PsExec Service Execution
id: 51ae86a2-e2e1-4097-ad85-c46cb6851de4
status: test
description: Detects suspicious launch of a renamed version of the PSEXESVC service with, which is not often used by legitimate administrators
references:
    - https://learn.microsoft.com/en-us/sysinternals/downloads/psexec
    - https://www.youtube.com/watch?v=ro2QuZTIMBM
author: Florian Roth (Nextron Systems)
date: 2022-07-21
tags:
    - attack.execution
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        OriginalFileName: 'psexesvc.exe'
    filter:
        Image: 'C:\Windows\PSEXESVC.exe'
    condition: selection and not filter
falsepositives:
    - Legitimate administrative tasks
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
    OriginalFileName: 'psexesvc.exe'

Stage 2: not filter

filter:
    Image: 'C:\Windows\PSEXESVC.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
OriginalFileNameeq
  • psexesvc.exe corpus 4 (sigma 3, elastic 1)
field:"OriginalFileName" kind:eq value:"psexesvc.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
ImageeqC:\Windows\PSEXESVC.exeexcludes:Image field:"Image" value:"C:\Windows\PSEXESVC.exe"

Rundll32 InstallScreenSaver Execution

#
Status
test
Severity
medium
Author
Christopher Peacock @securepeacock, SCYTHE @scythe_io, TactiKoolSec
Source
github.com/SigmaHQ/sigma

An attacker may execute an application as a SCR File using rundll32.exe desk.cpl,InstallScreenSaver

Known False Positives

  • Legitimate installation of a new screensaver

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Rundll32 InstallScreenSaver Execution
id: 15bd98ea-55f4-4d37-b09a-e7caa0fa2221
status: test
description: An attacker may execute an application as a SCR File using rundll32.exe desk.cpl,InstallScreenSaver
references:
    - https://lolbas-project.github.io/lolbas/Libraries/Desk/
    - https://github.com/redcanaryco/atomic-red-team/blob/0f229c0e42bfe7ca736a14023836d65baa941ed2/atomics/T1218.011/T1218.011.md#atomic-test-13---rundll32-with-deskcpl
author: 'Christopher Peacock @securepeacock, SCYTHE @scythe_io, TactiKoolSec'
date: 2022-04-28
modified: 2023-02-09
tags:
    - attack.stealth
    - attack.t1218.011
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\rundll32.exe'
        - OriginalFileName: 'RUNDLL32.EXE'
    selection_cli:
        CommandLine|contains: 'InstallScreenSaver'
    condition: all of selection_*
falsepositives:
    - Legitimate installation of a new screensaver
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cli

selection_cli:
    CommandLine|contains: 'InstallScreenSaver'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • InstallScreenSaver
field:"CommandLine" kind:match value:"InstallScreenSaver"
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"

Suspicious Service Installation Script

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

Detects suspicious service installation scripts

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Suspicious Service Installation Script
id: 70f00d10-60b2-4f34-b9a0-dc3df3fe762a
status: test
description: Detects suspicious service installation scripts
references:
    - Internal Research
author: pH-T (Nextron Systems)
date: 2022-03-18
modified: 2024-03-05
tags:
    - attack.persistence
    - attack.privilege-escalation
    - car.2013-09-005
    - attack.t1543.003
logsource:
    product: windows
    service: system
detection:
    selection_eid:
        Provider_Name: 'Service Control Manager'
        EventID: 7045
    selection_cmd_flags:
        ImagePath|contains|windash:
            - ' -c '
            - ' -r '
            - ' -k '
    selection_binaries:
        ImagePath|contains:
            - 'cscript'
            - 'mshta'
            - 'powershell'
            - 'pwsh'
            - 'regsvr32'
            - 'rundll32'
            - 'wscript'
    condition: all of selection_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_eid

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

Stage 2: selection_cmd_flags

selection_cmd_flags:
    ImagePath|contains|windash:
        - ' -c '
        - ' -r '
        - ' -k '

Stage 3: selection_binaries

selection_binaries:
    ImagePath|contains:
        - 'cscript'
        - 'mshta'
        - 'powershell'
        - 'pwsh'
        - 'regsvr32'
        - 'rundll32'
        - 'wscript'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ImagePathmatch
  • -c
  • -k
  • -r
  • /c
  • /k
  • /r
  • –c
  • –k
  • –r
  • —c
  • —k
  • —r
  • ―c
  • ―k
  • ―r
  • cscript
  • mshta corpus 2 (sigma 2)
  • powershell corpus 5 (sigma 5)
  • pwsh corpus 2 (sigma 2)
  • regsvr32
  • rundll32 corpus 4 (sigma 4)
  • wscript
field:"ImagePath" kind:match
Provider_Nameeq
  • Service Control Manager corpus 50 (sigma 50)
field:"Provider_Name" kind:eq value:"Service Control Manager"

Suspicious WebDav Client Execution Via Rundll32.EXE

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

Detects "svchost.exe" spawning "rundll32.exe" with command arguments like C:\windows\system32\davclnt.dll,DavSetCookie. This could be an indicator of exfiltration or use of WebDav to launch code (hosted on WebDav Server) or potentially a sign of exploitation of CVE-2023-23397

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Suspicious WebDav Client Execution Via Rundll32.EXE
id: 982e9f2d-1a85-4d5b-aea4-31f5e97c6555
status: test
description: |
    Detects "svchost.exe" spawning "rundll32.exe" with command arguments like C:\windows\system32\davclnt.dll,DavSetCookie. This could be an indicator of exfiltration or use of WebDav to launch code (hosted on WebDav Server) or potentially a sign of exploitation of CVE-2023-23397
references:
    - https://twitter.com/aceresponder/status/1636116096506818562
    - https://www.mdsec.co.uk/2023/03/exploiting-cve-2023-23397-microsoft-outlook-elevation-of-privilege-vulnerability/
    - https://www.pwndefend.com/2023/03/15/the-long-game-persistent-hash-theft/
    - https://www.microsoft.com/en-us/security/blog/wp-content/uploads/2023/03/Figure-7-sample-webdav-process-create-event.png
    - https://www.microsoft.com/en-us/security/blog/2023/03/24/guidance-for-investigating-attacks-using-cve-2023-23397/
author: Nasreddine Bencherchali (Nextron Systems), Florian Roth (Nextron Systems)
date: 2023-03-16
modified: 2023-09-18
tags:
    - attack.exfiltration
    - attack.t1048.003
    - cve.2023-23397
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: '\svchost.exe'
        ParentCommandLine|contains: '-s WebClient'
        Image|endswith: '\rundll32.exe'
        CommandLine|contains: 'C:\windows\system32\davclnt.dll,DavSetCookie'
        CommandLine|re: '://\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'
    filter_local_ips:
        CommandLine|contains:
            - '://10.' # 10.0.0.0/8
            - '://192.168.' # 192.168.0.0/16
            - '://172.16.' # 172.16.0.0/12
            - '://172.17.'
            - '://172.18.'
            - '://172.19.'
            - '://172.20.'
            - '://172.21.'
            - '://172.22.'
            - '://172.23.'
            - '://172.24.'
            - '://172.25.'
            - '://172.26.'
            - '://172.27.'
            - '://172.28.'
            - '://172.29.'
            - '://172.30.'
            - '://172.31.'
            - '://127.' # 127.0.0.0/8
            - '://169.254.' # 169.254.0.0/16
    condition: selection and not 1 of filter_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_*

Stage 1: selection

selection:
    ParentImage|endswith: '\svchost.exe'
    ParentCommandLine|contains: '-s WebClient'
    Image|endswith: '\rundll32.exe'
    CommandLine|contains: 'C:\windows\system32\davclnt.dll,DavSetCookie'
    CommandLine|re: '://\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'

Stage 2: not filter_local_ips

filter_local_ips:
    CommandLine|contains:
        - '://10.'
        - '://192.168.'
        - '://172.16.'
        - '://172.17.'
        - '://172.18.'
        - '://172.19.'
        - '://172.20.'
        - '://172.21.'
        - '://172.22.'
        - '://172.23.'
        - '://172.24.'
        - '://172.25.'
        - '://172.26.'
        - '://172.27.'
        - '://172.28.'
        - '://172.29.'
        - '://172.30.'
        - '://172.31.'
        - '://127.'
        - '://169.254.'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • C:\windows\system32\davclnt.dll,DavSetCookie corpus 3 (sigma 3)
field:"CommandLine" kind:match value:"C:\windows\system32\davclnt.dll,DavSetCookie"
CommandLineregex_match
  • ://\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3} corpus 2 (sigma 2)
field:"CommandLine" kind:regex_match value:"://\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}"
Imageends_with
  • \rundll32.exe corpus 94 (sigma 94)
field:"Image" kind:ends_with value:"\rundll32.exe"
ParentCommandLinematch
  • -s WebClient
field:"ParentCommandLine" kind:match value:"-s WebClient"
ParentImageends_with
  • \svchost.exe corpus 14 (sigma 14)
field:"ParentImage" kind:ends_with value:"\svchost.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLinematch://10.excludes:CommandLine field:"CommandLine" value:"://10."
CommandLinematch://127.excludes:CommandLine field:"CommandLine" value:"://127."
CommandLinematch://169.254.excludes:CommandLine field:"CommandLine" value:"://169.254."
CommandLinematch://172.16.excludes:CommandLine field:"CommandLine" value:"://172.16."
CommandLinematch://172.17.excludes:CommandLine field:"CommandLine" value:"://172.17."
CommandLinematch://172.18.excludes:CommandLine field:"CommandLine" value:"://172.18."
CommandLinematch://172.19.excludes:CommandLine field:"CommandLine" value:"://172.19."
CommandLinematch://172.20.excludes:CommandLine field:"CommandLine" value:"://172.20."
CommandLinematch://172.21.excludes:CommandLine field:"CommandLine" value:"://172.21."
CommandLinematch://172.22.excludes:CommandLine field:"CommandLine" value:"://172.22."
CommandLinematch://172.23.excludes:CommandLine field:"CommandLine" value:"://172.23."
CommandLinematch://172.24.excludes:CommandLine field:"CommandLine" value:"://172.24."
CommandLinematch://172.25.excludes:CommandLine field:"CommandLine" value:"://172.25."
CommandLinematch://172.26.excludes:CommandLine field:"CommandLine" value:"://172.26."
CommandLinematch://172.27.excludes:CommandLine field:"CommandLine" value:"://172.27."
CommandLinematch://172.28.excludes:CommandLine field:"CommandLine" value:"://172.28."
CommandLinematch://172.29.excludes:CommandLine field:"CommandLine" value:"://172.29."
CommandLinematch://172.30.excludes:CommandLine field:"CommandLine" value:"://172.30."
CommandLinematch://172.31.excludes:CommandLine field:"CommandLine" value:"://172.31."
CommandLinematch://192.168.excludes:CommandLine field:"CommandLine" value:"://192.168."

Task Manager access indicator for potential LSASS dump

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

Provides an indicator of a user accessing the task manager in order to eventually dump the LSASS process content using the "Details" tab > right click on "lsass.exe" > Create a dump file.

Known False Positives

  • User accessing the Task Manager

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

Rule Body

title: Task Manager access indicator for potential LSASS dump
description: Provides an indicator of a user accessing the task manager in order to eventually dump the LSASS process content using the "Details" tab > right click on "lsass.exe" > Create a dump file.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0006-Credential%20Access/T1003-Credential%20dumping
- https://superuser.com/questions/753556/taskmgr-exe-called-with-an-argument-by-windows-7
- https://twitter.com/Cyb3rSn0rlax/status/1462900723402817538?t=oMj76JVcPG72ZIlpVxucPw&s=09
- https://thedfirreport.com/2021/12/13/diavol-ransomware/
- https://www.microsoft.com/en-us/security/blog/2022/06/13/the-many-lives-of-blackcat-ransomware/
tags:
- attack.credential_access
- attack.t1003.001
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  category: process_creation
detection:
  selection:
    NewProcessName|endswith: '\Taskmgr.exe'
    CommandLine|contains:
      - /4 # Right click on Taskbar + Task Manager
      - /3 # Ctrl + Alt + Del + Click on Task Manager
      - /2 # Ctrl + Shift + Escape
      - /1 # Start a non-elevated Task Manager + click "Show processes from all users" button
  condition: selection
falsepositives:
- User accessing the Task Manager
level: low




Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  NewProcessName|endswith: '\Taskmgr.exe'
  CommandLine|contains:
    - /4
    - /3
    - /2
    - /1

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • /1
  • /2
  • /3
  • /4
field:"CommandLine" kind:match
NewProcessNameends_with
  • \Taskmgr.exe corpus 5 (sigma 5)
field:"Image" kind:ends_with value:"\Taskmgr.exe"

UEFI Persistence Via Wpbbin - ProcessCreation

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

Detects execution of the binary "wpbbin" which is used as part of the UEFI based persistence method described in the reference section

Known False Positives

  • Legitimate usage of the file by hardware manufacturer such as lenovo (Thanks @0gtweet for the tip)

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: UEFI Persistence Via Wpbbin - ProcessCreation
id: 4abc0ec4-db5a-412f-9632-26659cddf145
status: test
description: Detects execution of the binary "wpbbin" which is used as part of the UEFI based persistence method described in the reference section
references:
    - https://grzegorztworek.medium.com/using-uefi-to-inject-executable-files-into-bitlocker-protected-drives-8ff4ca59c94c
    - https://persistence-info.github.io/Data/wpbbin.html
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-07-18
tags:
    - attack.persistence
    - attack.stealth
    - attack.t1542.001
logsource:
    product: windows
    category: process_creation
detection:
    selection:
        Image: 'C:\Windows\System32\wpbbin.exe'
    condition: selection
falsepositives:
    - Legitimate usage of the file by hardware manufacturer such as lenovo (Thanks @0gtweet for the tip)
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    Image: 'C:\Windows\System32\wpbbin.exe'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageeq
  • C:\Windows\System32\wpbbin.exe
field:"Image" kind:eq value:"C:\Windows\System32\wpbbin.exe"

User Added to Local Administrators Group

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

Detects addition of users to the local administrator group via "Net" or "Add-LocalGroupMember".

Known False Positives

  • Administrative activity

MITRE ATT&CK Coverage

TacticTechniques
Persistence
Privilege Escalation

Telemetry Coverage

Rule Body

title: User Added to Local Administrators Group
id: ad720b90-25ad-43ff-9b5e-5c841facc8e5
related:
    - id: ffa28e60-bdb1-46e0-9f82-05f7a61cc06e # Remote Desktop groups
      type: similar
    - id: 10fb649c-3600-4d37-b1e6-56ea90bb7e09 # Privileged groups
      type: similar
status: test
description: Detects addition of users to the local administrator group via "Net" or "Add-LocalGroupMember".
references:
    - https://blog.talosintelligence.com/2022/08/recent-cyber-attack.html?m=1
author: Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
date: 2022-08-12
modified: 2023-03-02
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1098
logsource:
    category: process_creation
    product: windows
detection:
    selection_main:
        - CommandLine|contains|all:
              # net.exe
              - 'localgroup '
              - ' /add'
        - CommandLine|contains|all:
              # powershell.exe
              - 'Add-LocalGroupMember '
              - ' -Group '
    selection_group:
        CommandLine|contains:
            - ' administrators '
            - ' administrateur' # Typo without an 'S' so we catch both
    condition: all of selection_*
falsepositives:
    - Administrative activity
level: medium

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_main

selection_main:
    - CommandLine|contains|all:
          - 'localgroup '
          - ' /add'
    - CommandLine|contains|all:
          - 'Add-LocalGroupMember '
          - ' -Group '

Stage 2: selection_group

selection_group:
    CommandLine|contains:
        - ' administrators '
        - ' administrateur'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -Group corpus 3 (sigma 3)
  • /add corpus 4 (sigma 4)
  • administrateur corpus 3 (sigma 3)
  • administrators corpus 2 (sigma 2)
  • Add-LocalGroupMember corpus 3 (sigma 3)
  • localgroup corpus 3 (sigma 3)
field:"CommandLine" kind:match

Windows Network Access Suspicious desktop.ini Action

#
Status
test
Severity
medium
Author
Tim Shelton (HAWK.IO)
Source
github.com/SigmaHQ/sigma

Detects unusual processes accessing desktop.ini remotely over network share, which can be leveraged to alter how Explorer displays a folder's content (i.e. renaming files) without changing them on disk.

Known False Positives

  • Read only access list authority

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Windows Network Access Suspicious desktop.ini Action
id: 35bc7e28-ee6b-492f-ab04-da58fcf6402e
status: test
description: Detects unusual processes accessing desktop.ini remotely over network share, which can be leveraged to alter how Explorer displays a folder's content (i.e. renaming files) without changing them on disk.
references:
    - https://isc.sans.edu/forums/diary/Desktopini+as+a+postexploitation+tool/25912/
author: Tim Shelton (HAWK.IO)
date: 2021-12-06
modified: 2022-01-16
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.t1547.009
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID: 5145
        ObjectType: File
        RelativeTargetName|endswith: '\desktop.ini'
        AccessList|contains:
            - 'WriteData'
            - 'DELETE'
            - 'WriteDAC'
            - 'AppendData'
            - 'AddSubdirectory'
    condition: selection
falsepositives:
    - Read only access list authority
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    EventID: 5145
    ObjectType: File
    RelativeTargetName|endswith: '\desktop.ini'
    AccessList|contains:
        - 'WriteData'
        - 'DELETE'
        - 'WriteDAC'
        - 'AppendData'
        - 'AddSubdirectory'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
AccessListmatch
  • AddSubdirectory
  • AppendData
  • DELETE
  • WriteDAC
  • WriteData corpus 4 (sigma 4)
field:"AccessList" kind:match
ObjectTypeeq
  • File corpus 12 (sigma 8, splunk 4)
field:"ObjectType" kind:eq value:"File"
RelativeTargetNameends_with
  • \desktop.ini
field:"RelativeTargetName" kind:ends_with value:"\desktop.ini"

Windows Screen Capture with CopyFromScreen

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

Adversaries may attempt to take screen captures of the desktop to gather information over the course of an operation. Screen capturing functionality may be included as a feature of a remote access tool used in post-compromise operations

MITRE ATT&CK Coverage

TacticTechniques
Collection

Telemetry Coverage

Rule Body

title: Windows Screen Capture with CopyFromScreen
id: d4a11f63-2390-411c-9adf-d791fd152830
status: test
description: |
    Adversaries may attempt to take screen captures of the desktop to gather information over the course of an operation.
    Screen capturing functionality may be included as a feature of a remote access tool used in post-compromise operations
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1113/T1113.md#atomic-test-6---windows-screen-capture-copyfromscreen
author: frack113
date: 2021-12-28
modified: 2022-07-07
tags:
    - attack.collection
    - attack.t1113
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains: '.CopyFromScreen'
    condition: selection
falsepositives:
    - Unknown
level: medium
regression_tests_path: regression_data/rules/windows/powershell/powershell_script/posh_ps_capture_screenshots/info.yml

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains: '.CopyFromScreen'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • .CopyFromScreen corpus 2 (sigma 1, splunk 1)
field:"ScriptBlockText" kind:match value:".CopyFromScreen"

Back to all Sigma rules