Execution with Explicit Credentials via Scripting

edit

Execution with Explicit Credentials via Scripting

edit

Identifies execution of the security_authtrampoline process via a scripting interpreter. This occurs when programs use AuthorizationExecute-WithPrivileges from the Security.framework to run another program with root privileges. It should not be run by itself, as this is a sign of execution with explicit logon credentials.

Rule type: query

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
  • Privilege Escalation

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
event.category:process and event.type:(start or process_started) and
process.name:"security_authtrampoline" and
process.parent.name:(osascript or com.apple.automator.runner or sh or
bash or dash or zsh or python* or Python or perl* or php* or ruby or
pwsh)

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)
  • Updated query, changed from:

    event.category:process and event.type:(start or process_started) and
    process.name:"security_authtrampoline" and
    process.parent.name:(osascript or com.apple.automator.runner or sh or
    bash or dash or zsh or python* or perl* or php* or ruby or pwsh)
Version 2 (7.12.0 release)
  • Rule name changed from: Execution with Explicit Credentials via Apple Scripting
  • 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 == "security_authtrampoline"] by
    process.ppid