Detection rules › Sigma

Sigma rules: 2a

Bruteforce via password reset

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

Detects if a attacker attempts to reset multiple times a user password to perform a bruteforce attack.

Known False Positives

  • ADFS, DirSync

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Bruteforce via password reset
name: bruteforce_password_reset
description: Detects if a attacker attempts to reset multiple times a user password to perform a bruteforce attack.
references:
  - https://twitter.com/mthcht/status/1705164058343756005?s=08
tags:
  - attack.credential_access
  - attack.t1110.001 # brutforce: Password Guessing
  - attack.t1110.003 # brutforce: Password spraying
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID:
      - 4723 # reset of own user's password
      - 4724 # reset of user's password by another user
  condition: selection
falsepositives:
  - ADFS, DirSync
level: informational

---
title: Bruteforce via password reset Count
status: experimental
correlation:
  type: value_count
  rules:
    - bruteforce_password_reset
  group-by:
    - TargetSid
  timespan: 10m
  condition:
    gte: 10
    field: host
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  EventID:
    - 4723
    - 4724

Computer Discovery And Export Via Get-ADComputer Cmdlet - PowerShell

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

Detects usage of the Get-ADComputer cmdlet to collect computer information and output it to a file

Known False Positives

  • Legitimate admin scripts may use the same technique, it's better to exclude specific computers or users who execute these commands or scripts often

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

Rule Body

title: Computer Discovery And Export Via Get-ADComputer Cmdlet - PowerShell
id: db885529-903f-4c5d-9864-28fe199e6370
related:
    - id: 435e10e4-992a-4281-96f3-38b11106adde
      type: similar
status: test
description: Detects usage of the Get-ADComputer cmdlet to collect computer information and output it to a file
references:
    - http://blog.talosintelligence.com/2022/09/lazarus-three-rats.html
    - https://www.microsoft.com/en-us/security/blog/2022/10/18/defenders-beware-a-case-for-post-ransomware-investigations/
    - https://www.cisa.gov/uscert/sites/default/files/publications/aa22-320a_joint_csa_iranian_government-sponsored_apt_actors_compromise_federal%20network_deploy_crypto%20miner_credential_harvester.pdf
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-11-17
tags:
    - attack.discovery
    - attack.t1033
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection:
        ScriptBlockText|contains|all:
            - 'Get-ADComputer '
            - ' -Filter \*'
        ScriptBlockText|contains:
            - ' | Select '
            - 'Out-File'
            - 'Set-Content'
            - 'Add-Content'
    condition: selection
falsepositives:
    - Legitimate admin scripts may use the same technique, it's better to exclude specific computers or users who execute these commands or scripts often
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ScriptBlockText|contains|all:
        - 'Get-ADComputer '
        - ' -Filter \*'
    ScriptBlockText|contains:
        - ' | Select '
        - 'Out-File'
        - 'Set-Content'
        - 'Add-Content'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • -Filter \* corpus 2 (sigma 2)
  • | Select corpus 2 (sigma 2)
  • Add-Content corpus 3 (sigma 3)
  • Get-ADComputer corpus 2 (sigma 2)
  • Out-File corpus 3 (sigma 3)
  • Set-Content corpus 3 (sigma 3)
field:"ScriptBlockText" kind:match

CVE-2024-1709 - ScreenConnect Authentication Bypass Exploitation

#
Status
test
Severity
critical
Author
Matt Anderson, Huntress
Source
github.com/SigmaHQ/sigma

Detects GET requests to '/SetupWizard.aspx/[anythinghere]' that indicate exploitation of the ScreenConnect vulnerability CVE-2024-1709.

MITRE ATT&CK Coverage

TacticTechniques
Initial AccessNo specific technique
PersistenceNo specific technique

Rule Body

title: CVE-2024-1709 - ScreenConnect Authentication Bypass Exploitation
id: d27eabad-9068-401a-b0d6-9eac744d6e67
status: test
description: |
    Detects GET requests to '/SetupWizard.aspx/[anythinghere]' that indicate exploitation of the ScreenConnect vulnerability CVE-2024-1709.
references:
    - https://www.connectwise.com/company/trust/security-bulletins/connectwise-screenconnect-23.9.8
    - https://www.huntress.com/blog/a-catastrophe-for-control-understanding-the-screenconnect-authentication-bypass
    - https://www.cve.org/CVERecord?id=CVE-2024-1709
author: Matt Anderson, Huntress
date: 2024-02-20
tags:
    - attack.initial-access
    - attack.persistence
    - cve.2024-1709
    - detection.emerging-threats
logsource:
    category: webserver
detection:
    selection:
        cs-uri-stem|contains: '/SetupWizard.aspx/'
    condition: selection
falsepositives:
    - Unknown
level: critical

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    cs-uri-stem|contains: '/SetupWizard.aspx/'

Indicators

These rows show field, operator, and value matches.

Directory Service Restore Mode(DSRM) Registry Value Tampering

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

Detects changes to "DsrmAdminLogonBehavior" registry value. During a Domain Controller (DC) promotion, administrators create a Directory Services Restore Mode (DSRM) local administrator account with a password that rarely changes. The DSRM account is an “Administrator” account that logs in with the DSRM mode when the server is booting up to restore AD backups or recover the server from a failure. Attackers could abuse DSRM account to maintain their persistence and access to the organization's Active Directory. If the "DsrmAdminLogonBehavior" value is set to "0", the administrator account can only be used if the DC starts in DSRM. If the "DsrmAdminLogonBehavior" value is set to "1", the administrator account can only be used if the local AD DS service is stopped. If the "DsrmAdminLogonBehavior" value is set to "2", the administrator account can always be used.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Directory Service Restore Mode(DSRM) Registry Value Tampering
id: b61e87c0-50db-4b2e-8986-6a2be94b33b0
related:
    - id: 53ad8e36-f573-46bf-97e4-15ba5bf4bb51
      type: similar
status: test
description: |
    Detects changes to "DsrmAdminLogonBehavior" registry value.
    During a Domain Controller (DC) promotion, administrators create a Directory Services Restore Mode (DSRM) local administrator account with a password that rarely changes. The DSRM account is an “Administrator” account that logs in with the DSRM mode when the server is booting up to restore AD backups or recover the server from a failure.
    Attackers could abuse DSRM account to maintain their persistence and access to the organization's Active Directory.
    If the "DsrmAdminLogonBehavior" value is set to "0", the administrator account can only be used if the DC starts in DSRM.
    If the "DsrmAdminLogonBehavior" value is set to "1", the administrator account can only be used if the local AD DS service is stopped.
    If the "DsrmAdminLogonBehavior" value is set to "2", the administrator account can always be used.
references:
    - https://adsecurity.org/?p=1785
    - https://www.sentinelone.com/blog/detecting-dsrm-account-misconfigurations/
    - https://book.hacktricks.xyz/windows-hardening/active-directory-methodology/dsrm-credentials
author: Nischal Khadgi
date: 2024-07-11
tags:
    - attack.credential-access
    - attack.persistence
    - attack.defense-impairment
    - attack.t1556
logsource:
    category: registry_set
    product: windows
detection:
    selection:
        TargetObject|endswith: '\Control\Lsa\DsrmAdminLogonBehavior'
    filter_main_default_value:
        Details: 'DWORD (0x00000000)' # Default value
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    TargetObject|endswith: '\Control\Lsa\DsrmAdminLogonBehavior'

Stage 2: not filter_main_default_value

filter_main_default_value:
    Details: 'DWORD (0x00000000)'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetObjectends_with
  • \Control\Lsa\DsrmAdminLogonBehavior
field:"TargetObject" kind:ends_with value:"\Control\Lsa\DsrmAdminLogonBehavior"

Exclusions

The rule actively suppresses these predicates.

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

Disable of ETW Trace - Powershell

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

Detects usage of powershell cmdlets to disable or remove ETW trace sessions

MITRE ATT&CK Coverage

TacticTechniques
Stealth
Defense Impairment

Telemetry Coverage

Rule Body

title: Disable of ETW Trace - Powershell
id: 115fdba9-f017-42e6-84cf-d5573bf2ddf8
related:
    - id: a238b5d0-ce2d-4414-a676-7a531b3d13d6
      type: derived
status: test
description: Detects usage of powershell cmdlets to disable or remove ETW trace sessions
references:
    - https://medium.com/palantir/tampering-with-windows-event-tracing-background-offense-and-defense-4be7ac62ac63
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-06-28
modified: 2022-11-25
tags:
    - attack.stealth
    - attack.defense-impairment
    - attack.t1070
    - attack.t1685
    - car.2016-04-002
logsource:
    product: windows
    category: ps_script
    definition: 'Requirements: Script Block Logging must be enabled'
detection:
    selection_pwsh_remove:   # Autologger provider removal
        ScriptBlockText|contains: 'Remove-EtwTraceProvider '
    selection_pwsh_set:   # Provider “Enable” property modification
        ScriptBlockText|contains|all:
            - 'Set-EtwTraceProvider '
            - '0x11'
    condition: 1 of selection*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

1 of selection*

Stage 1: selection_pwsh_remove

selection_pwsh_remove:
    ScriptBlockText|contains: 'Remove-EtwTraceProvider '

Stage 2: selection_pwsh_set

selection_pwsh_set:
    ScriptBlockText|contains|all:
        - 'Set-EtwTraceProvider '
        - '0x11'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ScriptBlockTextmatch
  • 0x11
  • Remove-EtwTraceProvider
  • Set-EtwTraceProvider
field:"ScriptBlockText" kind:match

EAP service activation by Liontail framework for DLL sideloading (via command)

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

Detects scenarios where an attacker enable the Eaphost component in order to perform a DLL sideloading attack.

Known False Positives

  • Administrator activity
  • VPN/IPsec server activation
  • RAS/RADIUS server activation

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: EAP service activation by Liontail framework for DLL sideloading (via command)
description: Detects scenarios where an attacker enable the Eaphost component in order to perform a DLL sideloading attack.
references:
- https://research.checkpoint.com/2023/from-albania-to-the-middle-east-the-scarred-manticore-is-listening/
- https://securelist.com/incident-response-interesting-cases-2023/113611/
tags:
- attack.privilege_escalation
- attack.t1543.003 # Create or Modify System Process: Windows Service
author: mdecrevoisier
status: stable
logsource:
  product: windows
  category: process_creation
detection: # sc.exe config Eaphost start=auto
  selection:
    Image|endswith: '\sc.exe'
    CommandLine|contains|all:
      - config 
      - Eaphost 
      - start
  condition: selection
falsepositives:
- Administrator activity 
- VPN/IPsec server activation
- RAS/RADIUS server activation
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
  Image|endswith: '\sc.exe'
  CommandLine|contains|all:
    - config
    - Eaphost
    - start

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • Eaphost
  • config corpus 16 (sigma 15, splunk 1)
  • start corpus 13 (sigma 11, splunk 2)
field:"CommandLine" kind:match
Imageends_with
  • \sc.exe corpus 30 (sigma 30)
field:"Image" kind:ends_with value:"\sc.exe"

Exploitation Indicators Of CVE-2023-20198

#
Status
test
Severity
high
Author
Lars B. P. Frydenskov (Trifork Security)
Source
github.com/SigmaHQ/sigma

Detecting exploitation indicators of CVE-2023-20198 a privilege escalation vulnerability in Cisco IOS XE Software Web UI.

Known False Positives

  • Rare false positives might occur if there are valid users named "cisco_tac_admin" or "cisco_support", which are not created by default or CISCO representatives

MITRE ATT&CK Coverage

TacticTechniques
Initial AccessNo specific technique
Privilege EscalationNo specific technique

Rule Body

title: Exploitation Indicators Of CVE-2023-20198
id: 2ece8816-b7a0-4d9b-b0e8-ae7ad18bc02b
status: test
description: Detecting exploitation indicators of CVE-2023-20198 a privilege escalation vulnerability in Cisco IOS XE Software Web UI.
references:
    - https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-iosxe-webui-privesc-j22SaA4z
    - https://www.thestack.technology/security-experts-call-for-incident-response-exercises-after-mass-cisco-device-exploitation/
author: Lars B. P. Frydenskov (Trifork Security)
date: 2023-10-20
tags:
    - attack.privilege-escalation
    - attack.initial-access
    - detection.emerging-threats
logsource:
    product: cisco
    service: syslog
    definition: 'Requirements: Cisco IOS XE system logs needs to be configured and ingested'
detection:
    keyword_event:
        - '%WEBUI-6-INSTALL_OPERATION_INFO:'
        - '%SYS-5-CONFIG_P:'
        - '%SEC_LOGIN-5-WEBLOGIN_SUCCESS:'
    keyword_user:
        - 'cisco_tac_admin'
        - 'cisco_support'
        - 'cisco_sys_manager'
    condition: keyword_event and keyword_user
falsepositives:
    - Rare false positives might occur if there are valid users named "cisco_tac_admin" or "cisco_support", which are not created by default or CISCO representatives
level: high

Stages and Predicates

Stage 0: condition

keyword_event and keyword_user

Stage 1: keyword_event

keyword_event:
    - '%WEBUI-6-INSTALL_OPERATION_INFO:'
    - '%SYS-5-CONFIG_P:'
    - '%SEC_LOGIN-5-WEBLOGIN_SUCCESS:'

Stage 2: keyword_user

keyword_user:
    - 'cisco_tac_admin'
    - 'cisco_support'
    - 'cisco_sys_manager'

Github Fork Private Repositories Setting Enabled/Cleared

#
Status
test
Severity
medium
Author
Romain Gaillard (@romain-gaillard)
Source
github.com/SigmaHQ/sigma

Detects when the policy allowing forks of private and internal repositories is changed (enabled or cleared).

Known False Positives

  • Allowed administrative activities.

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: Github Fork Private Repositories Setting Enabled/Cleared
id: 69b3bd1e-b38a-462f-9a23-fbdbf63d2294
status: test
description: |
    Detects when the policy allowing forks of private and internal repositories is changed (enabled or cleared).
references:
    - https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise#private_repository_forking
author: Romain Gaillard (@romain-gaillard)
date: 2024-07-29
tags:
    - attack.persistence
    - attack.exfiltration
    - attack.t1020
    - attack.t1537
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:
            - 'private_repository_forking.clear' # An enterprise owner cleared the policy setting for allowing forks of private and internal repositories, for a repository, organization or enterprise.
            - 'private_repository_forking.enable' # An enterprise owner enabled the policy setting for allowing forks of private and internal repositories, for a repository, organization or enterprise. Private and internal repositories are always allowed to be forked.
    condition: selection
falsepositives:
    - Allowed administrative activities.
level: medium

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    action:
        - 'private_repository_forking.clear'
        - 'private_repository_forking.enable'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
actioneq
  • private_repository_forking.clear
  • private_repository_forking.enable
field:"action" kind:eq

Google Workspace MFA Disabled

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

Detects when multi-factor authentication (MFA) is disabled.

Known False Positives

  • MFA may be disabled and performed by a system administrator.

MITRE ATT&CK Coverage

TacticTechniques
ImpactNo specific technique

Telemetry Coverage

Rule Body

title: Google Workspace MFA Disabled
id: 780601d1-6376-4f2a-884e-b8d45599f78c
status: test
description: Detects when multi-factor authentication (MFA) is disabled.
references:
    - https://cloud.google.com/logging/docs/audit/gsuite-audit-logging#3
    - https://developers.google.com/admin-sdk/reports/v1/appendix/activity/admin-security-settings#ENFORCE_STRONG_AUTHENTICATION
    - https://developers.google.com/admin-sdk/reports/v1/appendix/activity/admin-security-settings?hl=en#ALLOW_STRONG_AUTHENTICATION
author: Austin Songer
date: 2021-08-26
modified: 2023-10-11
tags:
    - attack.impact
logsource:
    product: gcp
    service: google_workspace.admin
detection:
    selection_base:
        eventService: admin.googleapis.com
        eventName:
            - ENFORCE_STRONG_AUTHENTICATION
            - ALLOW_STRONG_AUTHENTICATION
    selection_eventValue:
        new_value: 'false'
    condition: all of selection*
falsepositives:
    - MFA may be disabled and performed by a system administrator.
level: medium

Stages and Predicates

Stage 0: condition

all of selection*

Stage 1: selection_base

selection_base:
    eventService: admin.googleapis.com
    eventName:
        - ENFORCE_STRONG_AUTHENTICATION
        - ALLOW_STRONG_AUTHENTICATION

Stage 2: selection_eventValue

selection_eventValue:
    new_value: 'false'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
eventNameeq
  • ALLOW_STRONG_AUTHENTICATION
  • ENFORCE_STRONG_AUTHENTICATION
field:"aws::eventName" kind:eq
eventServiceeq
  • admin.googleapis.com corpus 7 (sigma 7)
field:"gcp::service_name" kind:eq value:"admin.googleapis.com"
new_valueeq
  • false
field:"new_value" kind:eq value:"false"

HackTool - Dumpert Process Dumper Execution

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

Detects the use of Dumpert process dumper, which dumps the lsass.exe process memory

Known False Positives

  • Very unlikely

MITRE ATT&CK Coverage

TacticTechniques
Credential Access

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: HackTool - Dumpert Process Dumper Execution
id: 2704ab9e-afe2-4854-a3b1-0c0706d03578
status: test
description: Detects the use of Dumpert process dumper, which dumps the lsass.exe process memory
references:
    - https://github.com/outflanknl/Dumpert
    - https://unit42.paloaltonetworks.com/actors-still-exploiting-sharepoint-vulnerability/
author: Florian Roth (Nextron Systems)
date: 2020-02-04
modified: 2025-01-22
tags:
    - attack.credential-access
    - attack.t1003.001
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        - Hashes|contains: 'MD5=09D278F9DE118EF09163C6140255C690'
        - CommandLine|contains: 'Dumpert.dll'
    condition: selection
falsepositives:
    - Very unlikely
level: critical

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    - Hashes|contains: 'MD5=09D278F9DE118EF09163C6140255C690'
    - CommandLine|contains: 'Dumpert.dll'

Indicators

These rows show field, operator, and value matches.

HackTool - Mimikatz Execution

#
Status
test
Severity
high
Author
Teymur Kheirkhabarov, oscd.community, David ANDRE (additional keywords), Tim Shelton
Source
github.com/SigmaHQ/sigma

Detection well-known mimikatz command line arguments

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: HackTool - Mimikatz Execution
id: a642964e-bead-4bed-8910-1bb4d63e3b4d
status: test
description: Detection well-known mimikatz command line arguments
references:
    - https://www.slideshare.net/heirhabarov/hunting-for-credentials-dumping-in-windows-environment
    - https://tools.thehacker.recipes/mimikatz/modules
author: Teymur Kheirkhabarov, oscd.community, David ANDRE (additional keywords), Tim Shelton
date: 2019-10-22
modified: 2023-02-21
tags:
    - attack.credential-access
    - attack.t1003.001
    - attack.t1003.002
    - attack.t1003.004
    - attack.t1003.005
    - attack.t1003.006
logsource:
    category: process_creation
    product: windows
detection:
    selection_tools_name:
        CommandLine|contains:
            - 'DumpCreds'
            - 'mimikatz'
    selection_function_names: # To cover functions from modules that are not in module_names
        CommandLine|contains:
            - '::aadcookie' # misc module
            - '::detours' # misc module
            - '::memssp' # misc module
            - '::mflt' # misc module
            - '::ncroutemon' # misc module
            - '::ngcsign' # misc module
            - '::printnightmare' # misc module
            - '::skeleton' # misc module
            - '::preshutdown'  # service module
            - '::mstsc'  # ts module
            - '::multirdp'  # ts module
    selection_module_names:
        CommandLine|contains:
            - 'rpc::'
            - 'token::'
            - 'crypto::'
            - 'dpapi::'
            - 'sekurlsa::'
            - 'kerberos::'
            - 'lsadump::'
            - 'privilege::'
            - 'process::'
            - 'vault::'
    condition: 1 of selection_*
falsepositives:
    - Unlikely
level: high
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_hktl_mimikatz_command_line/info.yml

Stages and Predicates

Stage 0: condition

1 of selection_*

Stage 1: selection_tools_name

selection_tools_name:
    CommandLine|contains:
        - 'DumpCreds'
        - 'mimikatz'

Stage 2: selection_function_names

selection_function_names:
    CommandLine|contains:
        - '::aadcookie'
        - '::detours'
        - '::memssp'
        - '::mflt'
        - '::ncroutemon'
        - '::ngcsign'
        - '::printnightmare'
        - '::skeleton'
        - '::preshutdown'
        - '::mstsc'
        - '::multirdp'

Stage 3: selection_module_names

selection_module_names:
    CommandLine|contains:
        - 'rpc::'
        - 'token::'
        - 'crypto::'
        - 'dpapi::'
        - 'sekurlsa::'
        - 'kerberos::'
        - 'lsadump::'
        - 'privilege::'
        - 'process::'
        - 'vault::'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • ::aadcookie
  • ::detours
  • ::memssp
  • ::mflt
  • ::mstsc
  • ::multirdp
  • ::ncroutemon
  • ::ngcsign
  • ::preshutdown
  • ::printnightmare
  • ::skeleton
  • DumpCreds
  • crypto::
  • dpapi:: corpus 2 (sigma 2)
  • kerberos:: corpus 2 (sigma 2)
  • lsadump:: corpus 2 (sigma 2)
  • mimikatz
  • privilege:: corpus 2 (sigma 2)
  • process::
  • rpc:: corpus 2 (sigma 2)
  • sekurlsa:: corpus 2 (sigma 2)
  • token:: corpus 2 (sigma 2)
  • vault::
field:"CommandLine" kind:match

Potential CVE-2022-46169 Exploitation Attempt

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

Detects potential exploitation attempts that target the Cacti Command Injection CVE-2022-46169

Known False Positives

  • Web vulnerability scanners

MITRE ATT&CK Coverage

TacticTechniques
Initial Access

Rule Body

title: Potential CVE-2022-46169 Exploitation Attempt
id: 738cb115-881f-4df3-82cc-56ab02fc5192
status: test
description: Detects potential exploitation attempts that target the Cacti Command Injection CVE-2022-46169
references:
    - https://github.com/0xf4n9x/CVE-2022-46169
    - https://github.com/Cacti/cacti/security/advisories/GHSA-6p93-p743-35gf
    - https://github.com/rapid7/metasploit-framework/pull/17407
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-12-27
modified: 2023-01-02
tags:
    - attack.initial-access
    - attack.t1190
    - cve.2022-46169
    - detection.emerging-threats
logsource:
    category: webserver
detection:
    selection:
        # Check for the presence of the X-FORWARDED-FOR header pointing to the hostname of the server running Cacti (which indicate auth bypass)
        # Check for previous requests indicating the bruteforce of the "local_data_ids" and "host_id"
        cs-method: 'GET'
        cs-uri-query|contains|all:
            - '/remote_agent.php'
            - 'action=polldata'
            - 'poller_id='
        cs-uri-query|contains:
            # From https://github.com/rapid7/metasploit-framework/pull/17407/files#diff-972a47250ccd30b935a59e8871134956a15980df5b29f9d970414646704d5258R288
            # Not tested could be shown in other format (update if you have more info)
            - '| base64 -d | /bin/bash`'
            - '%7C%20base64%20-d%20%7C%20%2Fbin%2Fbash%60' # URL encoded version
            # Add more suspicious commands accordingly
            - '`whoami'
            - 'powershell'
            - 'cmd'
            - 'wget'
    condition: selection
falsepositives:
    - Web vulnerability scanners
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    cs-method: 'GET'
    cs-uri-query|contains|all:
        - '/remote_agent.php'
        - 'action=polldata'
        - 'poller_id='
    cs-uri-query|contains:
        - '| base64 -d | /bin/bash`'
        - '%7C%20base64%20-d%20%7C%20%2Fbin%2Fbash%60'
        - '`whoami'
        - 'powershell'
        - 'cmd'
        - 'wget'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
cs-methodeq
  • GET
field:"cs-method" kind:eq value:"GET"
cs-uri-querymatch
  • %7C%20base64%20-d%20%7C%20%2Fbin%2Fbash%60
  • /remote_agent.php
  • `whoami
  • action=polldata
  • cmd
  • poller_id=
  • powershell
  • wget
  • | base64 -d | /bin/bash`
field:"cs-uri-query" kind:match

Potential DLL Sideloading Via comctl32.dll

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

Detects potential DLL sideloading using comctl32.dll to obtain system privileges

Known False Positives

  • Unlikely

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule Body

title: Potential DLL Sideloading Via comctl32.dll
id: 6360757a-d460-456c-8b13-74cf0e60cceb
status: test
description: Detects potential DLL sideloading using comctl32.dll to obtain system privileges
references:
    - https://github.com/binderlabs/DirCreate2System
    - https://github.com/sailay1996/awesome_windows_logical_bugs/blob/60cbb23a801f4c3195deac1cc46df27c225c3d07/dir_create2system.txt
author: Nasreddine Bencherchali (Nextron Systems), Subhash Popuri (@pbssubhash)
date: 2022-12-16
modified: 2022-12-19
tags:
    - attack.persistence
    - attack.privilege-escalation
    - attack.execution
    - attack.stealth
    - attack.t1574.001
logsource:
    category: image_load
    product: windows
detection:
    selection:
        ImageLoaded|startswith:
            - 'C:\Windows\System32\logonUI.exe.local\'
            - 'C:\Windows\System32\werFault.exe.local\'
            - 'C:\Windows\System32\consent.exe.local\'
            - 'C:\Windows\System32\narrator.exe.local\'
            - 'C:\windows\system32\wermgr.exe.local\'
        ImageLoaded|endswith: '\comctl32.dll'
    condition: selection
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    ImageLoaded|startswith:
        - 'C:\Windows\System32\logonUI.exe.local\'
        - 'C:\Windows\System32\werFault.exe.local\'
        - 'C:\Windows\System32\consent.exe.local\'
        - 'C:\Windows\System32\narrator.exe.local\'
        - 'C:\windows\system32\wermgr.exe.local\'
    ImageLoaded|endswith: '\comctl32.dll'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
ImageLoadedends_with
  • \comctl32.dll
field:"ImageLoaded" kind:ends_with value:"\comctl32.dll"
ImageLoadedstarts_with
  • C:\Windows\System32\consent.exe.local\
  • C:\Windows\System32\logonUI.exe.local\
  • C:\Windows\System32\narrator.exe.local\
  • C:\Windows\System32\werFault.exe.local\
  • C:\windows\system32\wermgr.exe.local\
field:"ImageLoaded" kind:starts_with

PowerShell Script Change Permission Via Set-Acl

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

Detects PowerShell execution to set the ACL of a file or a folder

MITRE ATT&CK Coverage

TacticTechniques
StealthNo specific technique

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: PowerShell Script Change Permission Via Set-Acl
id: bdeb2cff-af74-4094-8426-724dc937f20a
related:
    - id: cae80281-ef23-44c5-873b-fd48d2666f49 # PsScript Low
      type: derived
    - id: 0944e002-e3f6-4eb5-bf69-3a3067b53d73 # ProcCreation Susp
      type: derived
    - id: 3bf1d859-3a7e-44cb-8809-a99e066d3478 # PsScript High
      type: derived
status: test
description: Detects PowerShell execution to set the ACL of a file or a folder
references:
    - https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-acl?view=powershell-5.1
    - https://github.com/redcanaryco/atomic-red-team/blob/74438b0237d141ee9c99747976447dc884cb1a39/atomics/T1505.005/T1505.005.md
author: Nasreddine Bencherchali (Nextron Systems)
date: 2022-10-18
tags:
    - attack.stealth
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - OriginalFileName:
              - 'PowerShell.EXE'
              - 'pwsh.dll'
        - Image|endswith:
              - '\powershell.exe'
              - '\pwsh.exe'
    selection_cmdlet:
        CommandLine|contains|all:
            - 'Set-Acl '
            - '-AclObject '
            - '-Path '
    condition: all of selection_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_img

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

Stage 2: selection_cmdlet

selection_cmdlet:
    CommandLine|contains|all:
        - 'Set-Acl '
        - '-AclObject '
        - '-Path '

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • -AclObject corpus 2 (sigma 2)
  • -Path
  • Set-Acl corpus 2 (sigma 2)
field:"CommandLine" kind:match
Imageends_with
  • \powershell.exe corpus 181 (sigma 180, splunk 1)
  • \pwsh.exe corpus 166 (sigma 166)
field:"Image" kind:ends_with
OriginalFileNameeq
  • PowerShell.EXE corpus 134 (sigma 86, splunk 30, elastic 18)
  • pwsh.dll corpus 115 (sigma 81, splunk 30, elastic 4)
field:"OriginalFileName" kind:eq

RDP reconnaissance with valid credentials performed on multiple hosts

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

Detects scenarios where an attacker attempts to brutforce RDP services with compromised credentials via tools like Hydra. Note that this event will be reported only with valid user and password credentials, and it may be reported only when RDP session is fully opened (so not during reconnaisance phase) if NLA is disabled. For further correlation, ID 4624/4625 (logon type 3, 7 or 10) should be used.

Known False Positives

  • VAS scanners, administrator jump host

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: RDP reconnaissance with valid credentials performed on multiple hosts
name: rdp_reconnaissance_valid_cred
description: Detects scenarios where an attacker attempts to brutforce RDP services with compromised credentials via tools like Hydra. Note that this event will be reported only with valid user and password credentials, and it may be reported only when RDP session is fully opened (so not during reconnaisance phase) if NLA is disabled. For further correlation, ID 4624/4625 (logon type 3, 7 or 10) should be used.
references:
  - https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0001-Initial%20access/T1078-Valid%20accounts
  - https://github.com/mehranexpert/Crazy-RDP
  - https://github.com/3gstudent/SharpRDPCheck
  - https://ponderthebits.com/2018/02/windows-rdp-related-event-logs-identification-tracking-and-investigation/
  - https://purerds.org/remote-desktop-security/auditing-remote-desktop-services-logon-failures-1/
  - http://woshub.com/rdp-connection-logs-forensics-windows/
  - https://jpcertcc.github.io/ToolAnalysisResultSheet/details/mstsc.htm
  - https://github.com/AndrewRathbun/DFIRMindMaps/tree/main/OSArtifacts/Windows/RDP_Authentication_Artifacts
  - https://github.com/TonyPhipps/SIEM/blob/master/Notable-Event-IDs.md#microsoft-windows-remotedesktopservices-rdpcoretsoperational
  - https://dfironthemountain.wordpress.com/2019/02/15/rdp-event-log-dfir/
  - https://nullsec.us/windows-event-id-1029-hashes/
  - https://www.13cubed.com/downloads/rdp_flowchart.pdf
  - https://nullsec.us/windows-rdp-related-event-logs-the-client-side-of-the-story/
tags:
  - attack.initial_access
  - attack.t1078 # valid account
  - attack.lateral_movement
  - attack.t1021.001 # remote services: RDP
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 1149 # 'User authentication succeeded': DOES NOT indicate a successful user authentication !!!
    Channel: Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational
  filter:
    IpAddress: # In ID 1149, IP address is provided in "EventXML.Param3"
      - "%vulnerability_scanners%"
      - "%admin_jump_hosts%"
      - "127.0.0.1"
      - "::1"

  condition: selection and not filter
falsepositives:
  - VAS scanners, administrator jump host
level: high

---
title: RDP reconnaissance with valid credentials performed on multiple hosts Count
status: experimental
correlation:
  type: value_count
  rules:
    - rdp_reconnaissance_valid_cred # Referenced here
  group-by:
    - IpAddress
  timespan: 5m
  condition:
    gte: 20
    field: Computer
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
  EventID: 1149
  Channel: Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational

Stage 2: not filter

filter:
  IpAddress:
    - "%vulnerability_scanners%"
    - "%admin_jump_hosts%"
    - "127.0.0.1"
    - "::1"

Exclusions

The rule actively suppresses these predicates.

SCR File Write Event

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

Detects the creation of screensaver files (.scr) outside of system folders. Attackers may execute an application as an ".SCR" file using "rundll32.exe desk.cpl,InstallScreenSaver" for example.

Known False Positives

  • The installation of new screen savers by third party software

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 11: FileCreate

Rule Body

title: SCR File Write Event
id: c048f047-7e2a-4888-b302-55f509d4a91d
status: test
description: Detects the creation of screensaver files (.scr) outside of system folders. Attackers may execute an application as an ".SCR" file using "rundll32.exe desk.cpl,InstallScreenSaver" for example.
references:
    - https://lolbas-project.github.io/lolbas/Libraries/Desk/
author: 'Christopher Peacock @securepeacock, SCYTHE @scythe_io'
date: 2022-04-27
modified: 2023-08-23
tags:
    - attack.stealth
    - attack.t1218.011
logsource:
    category: file_event
    product: windows
detection:
    selection:
        TargetFilename|endswith: '.scr'
    filter:
        TargetFilename|contains:
            - ':\$WINDOWS.~BT\NewOS\'
            - ':\Windows\System32\'
            - ':\Windows\SysWOW64\'
            - ':\Windows\WinSxS\'
            - ':\WUDownloadCache\' # Windows Update Download Cache
    condition: selection and not filter
falsepositives:
    - The installation of new screen savers by third party software
level: medium

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
    TargetFilename|endswith: '.scr'

Stage 2: not filter

filter:
    TargetFilename|contains:
        - ':\$WINDOWS.~BT\NewOS\'
        - ':\Windows\System32\'
        - ':\Windows\SysWOW64\'
        - ':\Windows\WinSxS\'
        - ':\WUDownloadCache\'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
TargetFilenameends_with
  • .scr corpus 8 (sigma 8)
field:"TargetFilename" kind:ends_with value:".scr"

Exclusions

The rule actively suppresses these predicates.

Suspicious File Downloaded From Direct IP Via Certutil.EXE

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

Detects the execution of certutil with certain flags that allow the utility to download files from direct IPs.

MITRE ATT&CK Coverage

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Suspicious File Downloaded From Direct IP Via Certutil.EXE
id: 13e6fe51-d478-4c7e-b0f2-6da9b400a829
related:
    - id: 19b08b1c-861d-4e75-a1ef-ea0c1baf202b # Direct IP download
      type: similar
    - id: 42a5f1e7-9603-4f6d-97ae-3f37d130d794 # File sharing download
      type: similar
status: test
description: Detects the execution of certutil with certain flags that allow the utility to download files from direct IPs.
references:
    - https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/certutil
    - https://forensicitguy.github.io/agenttesla-vba-certutil-download/
    - https://news.sophos.com/en-us/2021/04/13/compromised-exchange-server-hosting-cryptojacker-targeting-other-exchange-servers/
    - https://twitter.com/egre55/status/1087685529016193025
    - https://lolbas-project.github.io/lolbas/Binaries/Certutil/
    - https://twitter.com/_JohnHammond/status/1708910264261980634
    - https://www.hexacorn.com/blog/2020/08/23/certutil-one-more-gui-lolbin
author: Nasreddine Bencherchali (Nextron Systems)
date: 2023-02-15
modified: 2025-12-01
tags:
    - attack.stealth
    - attack.t1027
    - attack.command-and-control
    - attack.t1105
logsource:
    category: process_creation
    product: windows
detection:
    selection_img:
        - Image|endswith: '\certutil.exe'
        - OriginalFileName: 'CertUtil.exe'
    selection_flags:
        CommandLine|contains:
            - 'urlcache '
            - 'verifyctl '
            - 'URL '
    selection_http:
        CommandLine|contains:
            - '://1'
            - '://2'
            - '://3'
            - '://4'
            - '://5'
            - '://6'
            - '://7'
            - '://8'
            - '://9'
    # filter_local_ips:
    #     # Note: Uncomment this filter if you want to exclude 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
    filter_main_seven_zip:
        CommandLine|contains: '://7-' # For https://7-zip.org/
    condition: all of selection_* and not 1 of filter_main_*
falsepositives:
    - Unknown
level: high
regression_tests_path: regression_data/rules/windows/process_creation/proc_creation_win_certutil_download_direct_ip/info.yml

Stages and Predicates

Stage 0: condition

all of selection_* and not 1 of filter_main_*

Stage 1: selection_img

selection_img:
    - Image|endswith: '\certutil.exe'
    - OriginalFileName: 'CertUtil.exe'

Stage 2: selection_flags

selection_flags:
    CommandLine|contains:
        - 'urlcache '
        - 'verifyctl '
        - 'URL '

Stage 3: selection_http

selection_http:
    CommandLine|contains:
        - '://1'
        - '://2'
        - '://3'
        - '://4'
        - '://5'
        - '://6'
        - '://7'
        - '://8'
        - '://9'

Stage 4: not filter_main_seven_zip

filter_main_seven_zip:
    CommandLine|contains: '://7-'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • ://1 corpus 3 (sigma 3)
  • ://2 corpus 3 (sigma 3)
  • ://3 corpus 3 (sigma 3)
  • ://4 corpus 3 (sigma 3)
  • ://5 corpus 3 (sigma 3)
  • ://6 corpus 3 (sigma 3)
  • ://7 corpus 3 (sigma 3)
  • ://8 corpus 3 (sigma 3)
  • ://9 corpus 3 (sigma 3)
  • URL corpus 3 (sigma 3)
  • urlcache corpus 3 (sigma 3)
  • verifyctl corpus 3 (sigma 3)
field:"CommandLine" kind:match
Imageends_with
  • \certutil.exe corpus 43 (sigma 43)
field:"Image" kind:ends_with value:"\certutil.exe"
OriginalFileNameeq
  • CertUtil.exe corpus 26 (sigma 14, elastic 6, splunk 6)
field:"OriginalFileName" kind:eq value:"CertUtil.exe"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
CommandLinematch://7-excludes:CommandLine field:"CommandLine" value:"://7-"

Suspicious Where Execution

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

Adversaries may enumerate browser bookmarks to learn more about compromised hosts. Browser bookmarks may reveal personal information about users (ex: banking sites, interests, social media, etc.) as well as details about internal network resources such as servers, tools/dashboards, or other related infrastructure.

MITRE ATT&CK Coverage

TacticTechniques
Discovery

Telemetry Coverage

ProviderRecord / event type
SysmonEvent ID 1: Process creation

Rule Body

title: Suspicious Where Execution
id: 725a9768-0f5e-4cb3-aec2-bc5719c6831a
status: test
description: |
    Adversaries may enumerate browser bookmarks to learn more about compromised hosts.
    Browser bookmarks may reveal personal information about users (ex: banking sites, interests, social media, etc.) as well as details about
    internal network resources such as servers, tools/dashboards, or other related infrastructure.
references:
    - https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1217/T1217.md
author: frack113, Nasreddine Bencherchali (Nextron Systems)
date: 2021-12-13
modified: 2022-06-29
tags:
    - attack.discovery
    - attack.t1217
logsource:
    category: process_creation
    product: windows
detection:
    where_exe:
        - Image|endswith: '\where.exe'
        - OriginalFileName: 'where.exe'
    where_opt:
        CommandLine|contains:
            # Firefox Data
            - 'places.sqlite'
            - 'cookies.sqlite'
            - 'formhistory.sqlite'
            - 'logins.json'
            - 'key4.db'
            - 'key3.db'
            - 'sessionstore.jsonlz4'
            # Chrome Data
            - 'History'
            - 'Bookmarks'
            - 'Cookies'
            - 'Login Data'
    condition: all of where_*
falsepositives:
    - Unknown
level: low

Stages and Predicates

Stage 0: condition

all of where_*

Stage 1: where_exe

where_exe:
    - Image|endswith: '\where.exe'
    - OriginalFileName: 'where.exe'

Stage 2: where_opt

where_opt:
    CommandLine|contains:
        - 'places.sqlite'
        - 'cookies.sqlite'
        - 'formhistory.sqlite'
        - 'logins.json'
        - 'key4.db'
        - 'key3.db'
        - 'sessionstore.jsonlz4'
        - 'History'
        - 'Bookmarks'
        - 'Cookies'
        - 'Login Data'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
CommandLinematch
  • Bookmarks corpus 2 (sigma 2)
  • Cookies corpus 2 (sigma 2)
  • History corpus 2 (sigma 2)
  • Login Data corpus 3 (sigma 2, panther 1)
  • cookies.sqlite corpus 3 (sigma 2, panther 1)
  • formhistory.sqlite
  • key3.db corpus 2 (sigma 1, panther 1)
  • key4.db corpus 2 (sigma 1, panther 1)
  • logins.json corpus 2 (sigma 1, panther 1)
  • places.sqlite corpus 2 (sigma 2)
  • sessionstore.jsonlz4
field:"CommandLine" kind:match
Imageends_with
  • \where.exe
field:"Image" kind:ends_with value:"\where.exe"
OriginalFileNameeq
  • where.exe
field:"OriginalFileName" kind:eq value:"where.exe"

System Info Discovery via Sysinfo Syscall

#
Status
experimental
Severity
low
Author
Milad Cheraghi
Source
github.com/SigmaHQ/sigma

Detects use of the sysinfo system call in Linux, which provides a snapshot of key system statistics such as uptime, load averages, memory usage, and the number of running processes. Malware or reconnaissance tools might leverage sysinfo to fingerprint the system - gathering data to determine if it's a viable target.

Known False Positives

  • Legitimate administrative activity

MITRE ATT&CK Coverage

Telemetry Coverage

Rule Body

title: System Info Discovery via Sysinfo Syscall
id: b207d563-a1d9-4275-b349-77d1eb55aa6d
status: experimental
description: |
    Detects use of the sysinfo system call in Linux, which provides a snapshot of key system statistics such as uptime, load averages, memory usage, and the number of running processes.
    Malware or reconnaissance tools might leverage sysinfo to fingerprint the system - gathering data to determine if it's a viable target.
references:
    - https://github.com/CheraghiMilad/bypass-Neo23x0-auditd-config/blob/f1c478a37911a5447d5ffcd580f22b167bf3df14/sysinfo-syscall/README.md
    - https://man7.org/linux/man-pages/man2/sysinfo.2.html
author: Milad Cheraghi
date: 2025-05-30
modified: 2025-12-05
tags:
    - attack.discovery
    - attack.t1057
    - attack.t1082
logsource:
    product: linux
    service: auditd
    definition: |
        Required auditd configuration:
        -a always,exit -F arch=b64 -S sysinfo -k discovery_sysinfo_syscall
        -a always,exit -F arch=b32 -S sysinfo -k discovery_sysinfo_syscall
detection:
    selection:
        type: 'SYSCALL'
        SYSCALL: 'sysinfo'
    filter_optional_splunk:
        exe|endswith: '/bin/splunkd'
    condition: selection and not 1 of filter_optional_*
falsepositives:
    - Legitimate administrative activity
level: low

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_optional_*

Stage 1: selection

selection:
    type: 'SYSCALL'
    SYSCALL: 'sysinfo'

Stage 2: not filter_optional_splunk

filter_optional_splunk:
    exe|endswith: '/bin/splunkd'

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
SYSCALLeq
  • sysinfo
field:"SYSCALL" kind:eq value:"sysinfo"
typeeq
  • SYSCALL corpus 27 (splunk 15, sigma 12)
field:"type" kind:eq value:"SYSCALL"

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
exeends_with/bin/splunkdexcludes:exe field:"exe" value:"/bin/splunkd"

Back to all Sigma rules