Try in Splunk Security Cloud


GNU Octave is a high-level programming language primarily intended for scientific computing and numerical computation. Octave helps in solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB. If sudo right is given to the application for the user, then the user can run system commands as root and possibly get a root shell.

  • Type: Anomaly
  • Product: Splunk Enterprise, Splunk Enterprise Security, Splunk Cloud
  • Datamodel: Endpoint
  • Last Updated: 2022-08-11
  • Author: Gowthamaraj Rajendran, Splunk
  • ID: 78f7487d-42ce-4f7f-8685-2159b25fb477




ID Technique Tactic
T1548.003 Sudo and Sudo Caching Privilege Escalation, Defense Evasion
T1548 Abuse Elevation Control Mechanism Privilege Escalation, Defense Evasion
Kill Chain Phase
  • Exploitation
  • DE.CM
  • CIS 3
  • CIS 5
  • CIS 16
| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process="*octave-cli*" AND Processes.process="*--eval*" AND Processes.process="*system*" AND Processes.process="*sudo*" by Processes.dest Processes.user Processes.parent_process_name Processes.process_name Processes.process Processes.process_id Processes.parent_process_id Processes.process_guid 
| `drop_dm_object_name(Processes)` 
| `security_content_ctime(firstTime)` 
| `security_content_ctime(lastTime)` 
| `linux_octave_privilege_escalation_filter`


The SPL above uses the following Macros:

:information_source: linux_octave_privilege_escalation_filter is a empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.

Required fields

List of fields required to use this analytic.

  • _time
  • Processes.dest
  • Processes.user
  • Processes.parent_process_name
  • Processes.process_name
  • Processes.process
  • Processes.process_id
  • Processes.parent_process_id

How To Implement

To successfully implement this search, you need to be ingesting logs with the process name, parent process, and command-line executions from your endpoints into the Endpoint datamodel. If you are using Sysmon, you can use the Add-on for Linux Sysmon from Splunkbase.

Known False Positives

False positives may be present, filter as needed.

Associated Analytic Story


Risk Score Impact Confidence Message
20.0 40 50 An instance of $parent_process_name$ spawning $process_name$ was identified on endpoint $dest$

:information_source: The Risk Score is calculated by the following formula: Risk Score = (Impact * Confidence/100). Initial Confidence and Impact is set by the analytic author.


Test Dataset

Replay any dataset to Splunk Enterprise by using our tool or the UI. Alternatively you can replay a dataset into a Splunk Attack Range

source | version: 1