:warning: WARNING THIS IS A EXPERIMENTAL analytic

We have not been able to test, simulate, or build datasets for this object. Use at your own risk. This analytic is NOT supported.

Try in Splunk Security Cloud

Description

This search looks for processes in an MacOS system that is tapping keyboard events in MacOS, and essentially monitoring all keystrokes made by a user. This is a common technique used by RATs to log keystrokes from a victim, although it can also be used by legitimate processes like Siri to react on human input

  • Type: TTP
  • Product: Splunk Enterprise, Splunk Enterprise Security, Splunk Cloud

  • Last Updated: 2019-01-25
  • Author: Jose Hernandez, Splunk
  • ID: 2a371608-331d-4034-ae2c-21dda8f1d0ec

Annotations

ATT&CK
Kill Chain Phase
  • Command & Control
NIST
  • DE.DP
CIS20
  • CIS 4
  • CIS 8
CVE
1
2
3
4
5
6
7
| from datamodel Alerts.Alerts 
| search app=osquery:results name=pack_osx-attacks_Keyboard_Event_Taps 
| rename columns.cmdline as cmd, columns.name as process_name, columns.pid as process_id
| dedup host,process_name 
| table host,process_name, cmd, process_id 
| `processes_tapping_keyboard_events_filter`

Macros

The SPL above uses the following Macros:

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

Required field

  • _time
  • app
  • name
  • columns.cmdline
  • columns.name
  • columns.pid
  • host

How To Implement

In order to properly run this search, Splunk needs to ingest data from your osquery deployed agents with the osx-attacks.conf pack enabled. Also the TA-OSquery must be deployed across your indexers and universal forwarders in order to have the osquery data populate the Alerts data model.

Known False Positives

There might be some false positives as keyboard event taps are used by processes like Siri and Zoom video chat, for some good examples of processes to exclude please see this comment.

Associated Analytic story

RBA

Risk Score Impact Confidence Message
25.0 50 50 tbd

: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.

Reference

Test Dataset

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

source | version: 1