New

The executive guide to generative AI

Read more

Apple Script Execution followed by Network Connection

edit

Apple Script Execution followed by Network Connection

edit

Detects execution via the Apple script interpreter (osascript) followed by a network connection from the same process within a short time period. Adversaries may use malicious scripts for execution and command and control.

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
  • Command and Control
  • 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, process.entity_id with maxspan=30s [process
where event.type == "start" and process.name == "osascript"] [network
where event.type != "end" and process.name == "osascript" and
destination.ip != "::1" and not cidrmatch(destination.ip,
"10.0.0.0/8", "127.0.0.0/8", "169.254.0.0/16", "172.16.0.0/12",
"192.0.0.0/24", "192.0.0.0/29", "192.0.0.8/32", "192.0.0.9/32",
"192.0.0.10/32", "192.0.0.170/32", "192.0.0.171/32", "192.0.2.0/24",
"192.31.196.0/24", "192.52.193.0/24", "192.168.0.0/16",
"192.88.99.0/24", "224.0.0.0/4", "100.64.0.0/10", "192.175.48.0/24",
"198.18.0.0/15", "198.51.100.0/24", "203.0.113.0/24", "240.0.0.0/4",
"::1", "FE80::/10", "FF00::/8")]

Threat mapping

edit

Framework: MITRE ATT&CKTM

Rule version history

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

    sequence by host.id, process.entity_id with maxspan=30s [process
    where event.type == "start" and process.name == "osascript"] [network
    where event.type != "end" and process.name == "osascript" and
    destination.ip != "::1" and not cidrmatch(destination.ip,
    "10.0.0.0/8", "172.16.0.0/12",
    "192.168.0.0/16", "127.0.0.0/8",
    "169.254.0.0/16", "224.0.0.0/4",
    "FE80::/10", "FF00::/8") ]
Version 2 (7.12.0 release)
  • Formatting only
Was this helpful?
Feedback