Try in Splunk Security Cloud


This analytic is to look for possible ssh key file creation on ~/.ssh/ folder. This technique is commonly abused by threat actors and adversaries to gain persistence and privilege escalation to the targeted host. by creating ssh private and public key and passing the public key to the attacker server. threat actor can access remotely the machine using openssh daemon service.

  • Type: Anomaly
  • Product: Splunk Enterprise, Splunk Enterprise Security, Splunk Cloud
  • Datamodel: Endpoint
  • Last Updated: 2022-01-11
  • Author: Teoderick Contreras, Splunk
  • ID: c04ef40c-72da-11ec-8eac-acde48001122


ID Technique Tactic
T1098.004 SSH Authorized Keys Persistence
T1098 Account Manipulation Persistence

| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Filesystem where Filesystem.file_path IN ("*/.ssh*") by Filesystem.dest Filesystem.file_name Filesystem.process_guid Filesystem.file_path 
| `drop_dm_object_name(Filesystem)` 
| `security_content_ctime(lastTime)` 
| `security_content_ctime(firstTime)` 
| `linux_possible_ssh_key_file_creation_filter`

Associated Analytic Story

How To Implement

To successfully implement this search, you need to be ingesting logs with the file name, file path, and process_guid executions from your endpoints. If you are using Sysmon, you can use the Add-on for Linux Sysmon from Splunkbase.

Required field

  • _time
  • Filesystem.dest
  • Filesystem.file_create_time
  • Filesystem.file_name
  • Filesystem.process_guid
  • Filesystem.file_path

Kill Chain Phase

  • Privilege Escalation

Known False Positives

Administrator or network operator can create file in ~/.ssh folders for automation purposes. Please update the filter macros to remove false positives.


Risk Score Impact Confidence Message
36.0 60 60 A file $file_name$ is created in $file_path$ on $dest$


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