Shell Execution via Apple Scripting

edit

Identifies the execution of the shell process (sh) via scripting (JXA or AppleScript). Adversaries may use the doShellScript functionality in JXA or do shell script in AppleScript to execute system commands.

Rule type: eql

Rule indices:

  • auditbeat-*
  • logs-endpoint.events.*

Severity: medium

Risk score: 47

Runs every: 5 minutes

Searches indices from: now-9m (Date Math format, see also Additional look-back time)

Maximum alerts per execution: 100

References:

Tags:

  • Elastic
  • Host
  • macOS
  • Threat Detection
  • Execution

Version: 100 (version history)

Added (Elastic Stack release): 7.11.0

Last modified (Elastic Stack release): 8.5.0

Rule authors: Elastic

Rule license: Elastic License v2

Rule query

edit
sequence by host.id with maxspan=5s [process where event.type in
("start", "process_started", "info") and process.name == "osascript"]
by process.pid [process where event.type in ("start",
"process_started") and process.name == "sh" and process.args == "-c"]
by process.parent.pid

Threat mapping

edit

Framework: MITRE ATT&CKTM

Rule version history

edit
Version 100 (8.5.0 release)
  • Formatting only
Version 4 (8.4.0 release)
  • Formatting only
Version 3 (7.14.0 release)
  • Updated query, changed from:

    sequence by host.id with maxspan=5s [process where event.type in
    ("start", "process_started", "info") and process.name == "osascript"]
    by process.pid [process where event.type in ("start",
    "process_started") and process.name == "sh" and process.args == "-c"]
    by process.ppid
Version 2 (7.12.0 release)
  • Formatting only