Detection rules › Elastic

Linux System Information Discovery via Getconf

Status
production
Kind
building block (feeds higher-level correlation rules; not a standalone alert)
Severity
low
Time window
119m
Group by
process.parent.executable
Author
Elastic
Source
github.com/elastic/detection-rules

This rule identifies Linux system information discovery via the "getconf" command. The "getconf" command is used to query system configuration variables and system limits. Adversaries may use this command to gather information about the system, such as the page size, maximum number of open files, and other system limits, to aid in further exploration and exploitation of the system.

MITRE ATT&CK coverage

TacticTechniques
Discovery

Rule body

[metadata]
creation_date = "2025/01/07"
integration = ["endpoint"]
maturity = "production"
updated_date = "2025/12/24"

[rule]
author = ["Elastic"]
building_block_type = "default"
description = """
This rule identifies Linux system information discovery via the "getconf" command. The "getconf" command is used to query system configuration
variables and system limits. Adversaries may use this command to gather information about the system, such as the page size, maximum number
of open files, and other system limits, to aid in further exploration and exploitation of the system.
"""
from = "now-119m"
index = ["logs-endpoint.events.process*"]
interval = "60m"
language = "kuery"
license = "Elastic License v2"
name = "Linux System Information Discovery via Getconf"
references = ["https://blog.exatrack.com/Perfctl-using-portainer-and-new-persistences/"]
risk_score = 21
rule_id = "90e5976d-ed8c-489a-a293-bfc57ff8ba89"
severity = "low"
tags = [
  "Domain: Endpoint",
  "OS: Linux",
  "Use Case: Threat Detection",
  "Tactic: Discovery",
  "Rule Type: BBR",
  "Data Source: Elastic Defend",
]
timestamp_override = "event.ingested"
type = "new_terms"
query = '''
event.category:process and host.os.type:linux and event.type:start and event.action:exec and process.name:getconf and not (
  process.parent.executable:(
    "/usr/bin/google_guest_agent_manager" or "/opt/commvault/Base64/cvlaunchd" or /usr/local/manageengine/uems_agent/bin/*
  ) or
  process.working_directory:(
    "/opt/oracle/mgmt_agent/agent_inst/bin" or "/var/lib/oracle-cloud-agent/plugins/oci-managementagent/polaris" or
    "/opt/commvault/Base/cvlaunchd" or "/opt/simpana" or "/opt/commvault" or "/opt/ITSPlatform/agentcore" or
    "/u01/app/oracle/EMBase/agent_inst/sysman/emd" or "/opt/abacus/lib"
  ) or
  process.parent.args:(
    /opt/oracle/mgmt_agent/agent_inst/* or "/opt/datadog-agent/bin/agent/agent" or "/usr/bin/byobu-status" or
    "/usr/local/nagios/libexec/check_ssl_cert" or "/usr/lib64/nagios/plugins/cpanel/check_ssl_cert"
  ) or
  process.parent.command_line:(
    "/bin/sh -s unix:cmd" or "ruby /usr/local/bundle/bin/bundle exec rackup"
  )
)
'''

[[rule.threat]]
framework = "MITRE ATT&CK"

[[rule.threat.technique]]
id = "T1082"
name = "System Information Discovery"
reference = "https://attack.mitre.org/techniques/T1082/"

[rule.threat.tactic]
id = "TA0007"
name = "Discovery"
reference = "https://attack.mitre.org/tactics/TA0007/"

[rule.new_terms]
field = "new_terms_fields"
value = ["process.parent.executable"]

[[rule.new_terms.history_window_start]]
field = "history_window_start"
value = "now-5d"

Stages and Predicates

Stage 1: new_terms

event.category:process and host.os.type:linux and event.type:start and event.action:exec and process.name:getconf and not (
  process.parent.executable:(
    "/usr/bin/google_guest_agent_manager" or "/opt/commvault/Base64/cvlaunchd" or /usr/local/manageengine/uems_agent/bin/*
  ) or
  process.working_directory:(
    "/opt/oracle/mgmt_agent/agent_inst/bin" or "/var/lib/oracle-cloud-agent/plugins/oci-managementagent/polaris" or
    "/opt/commvault/Base/cvlaunchd" or "/opt/simpana" or "/opt/commvault" or "/opt/ITSPlatform/agentcore" or
    "/u01/app/oracle/EMBase/agent_inst/sysman/emd" or "/opt/abacus/lib"
  ) or
  process.parent.args:(
    /opt/oracle/mgmt_agent/agent_inst/* or "/opt/datadog-agent/bin/agent/agent" or "/usr/bin/byobu-status" or
    "/usr/local/nagios/libexec/check_ssl_cert" or "/usr/lib64/nagios/plugins/cpanel/check_ssl_cert"
  ) or
  process.parent.command_line:(
    "/bin/sh -s unix:cmd" or "ruby /usr/local/bundle/bin/bundle exec rackup"
  )
)

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
process.parent.argseq/opt/datadog-agent/bin/agent/agentexcludes:process.parent.args field:"process.parent.args" value:"/opt/datadog-agent/bin/agent/agent"
process.parent.argseq/usr/bin/byobu-statusexcludes:process.parent.args field:"process.parent.args" value:"/usr/bin/byobu-status"
process.parent.argseq/usr/lib64/nagios/plugins/cpanel/check_ssl_certexcludes:process.parent.args field:"process.parent.args" value:"/usr/lib64/nagios/plugins/cpanel/check_ssl_cert"
process.parent.argseq/usr/local/nagios/libexec/check_ssl_certexcludes:process.parent.args field:"process.parent.args" value:"/usr/local/nagios/libexec/check_ssl_cert"
process.parent.argsstarts_with/opt/oracle/mgmt_agent/agent_inst/excludes:process.parent.args field:"process.parent.args" value:"/opt/oracle/mgmt_agent/agent_inst/"
process.parent.command_linein/bin/sh -s unix:cmd, ruby /usr/local/bundle/bin/bundle exec rackupexcludes:process.parent.command_line field:"process.parent.command_line" value:"/bin/sh -s unix:cmd" field:"process.parent.command_line" value:"ruby /usr/local/bundle/bin/bundle exec rackup"
process.parent.executableeq/opt/commvault/Base64/cvlaunchdexcludes:process.parent.executable field:"process.parent.executable" value:"/opt/commvault/Base64/cvlaunchd"
process.parent.executableeq/usr/bin/google_guest_agent_managerexcludes:process.parent.executable field:"process.parent.executable" value:"/usr/bin/google_guest_agent_manager"
process.parent.executablestarts_with/usr/local/manageengine/uems_agent/bin/excludes:process.parent.executable field:"process.parent.executable" value:"/usr/local/manageengine/uems_agent/bin/"
process.working_directoryin/opt/ITSPlatform/agentcore, /opt/abacus/lib, /opt/commvault, /opt/commvault/Base/cvlaunchd, /opt/oracle/mgmt_agent/agent_inst/bin, /opt/simpana, /u01/app/oracle/EMBase/agent_inst/sysman/emd, /var/lib/oracle-cloud-agent/plugins/oci-managementagent/polarisexcludes:process.working_directory

Indicators

These rows show field, operator, and value matches.