name: Linux Ruby Privilege Escalation id: 097b28b5-7004-4d40-a715-7e390501788b version: 1 date: '2022-08-09' author: Gowthamaraj Rajendran, Splunk type: Anomaly datamodel: - Endpoint description: Ruby is one of the most used and easy to use programming languages. Ruby is an open-source, object-oriented interpreter that can be installed on a Linux system. If sudo right is given to ruby application for the user, then the user can run system commands as root and possibly get a root shell. search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.process="*ruby*-e*" AND Processes.process="*exec*" 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_ruby_privilege_escalation_filter`' 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 are present based on automated tooling or system administrative usage. Filter as needed. references: - https://gtfobins.github.io/gtfobins/ruby/ tags: analytic_story: - Linux Privilege Escalation - Linux Living Off The Land asset_type: Endpoint cis20: - CIS 3 - CIS 5 - CIS 16 confidence: 50 context: - Source:Endpoint - Stage:Privilege Escalation dataset: - https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1548/ruby/sysmon_linux.log impact: 60 kill_chain_phases: - Exploitation message: An instance of $parent_process_name$ spawning $process_name$ was identified on endpoint $dest$ mitre_attack_id: - T1548.003 - T1548 nist: - DE.CM observable: - name: dest type: Hostname role: - Victim - name: parent_process_name type: Process role: - Parent Process - name: process_name type: Process role: - Child Process product: - Splunk Enterprise - Splunk Enterprise Security - Splunk Cloud required_fields: - _time - Processes.dest - Processes.user - Processes.parent_process_name - Processes.process_name - Processes.process - Processes.process_id - Processes.parent_process_id risk_score: 30 security_domain: endpoint