Access to Keychain Credentials Directoriesedit

Adversaries may collect the keychain storage data from a system to acquire credentials. Keychains are the built-in way for macOS to keep track of users' passwords and credentials for many services and features such as WiFi passwords, websites, secure notes and certificates.

Rule type: eql

Rule indices:

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

Severity: high

Risk score: 73

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
  • Credential Access

Version: 5 (version history)

Added (Elastic Stack release): 7.10.0

Last modified (Elastic Stack release): 7.13.0

Rule authors: Elastic

Rule license: Elastic License v2

Rule queryedit

process where event.type in ("start", "process_started") and
process.args : ( "/Users/*/Library/Keychains/*",
"/Library/Keychains/*", "/Network/Library/Keychains/*",
"System.keychain", "login.keychain-db", "login.keychain"
) and not process.args : ("find-certificate",
"add-trusted-cert", "set-keychain-settings",
"delete-certificate",
"/Users/*/Library/Keychains/openvpn.keychain-db",
"show-keychain-info", "lock-keychain",
"set-key-partition-list", "import",
"find-identity") and not process.parent.executable :
"/Applications/OpenVPN Connect/OpenVPN
Connect.app/Contents/MacOS/OpenVPN Connect"

Threat mappingedit

Framework: MITRE ATT&CKTM

Rule version historyedit

Version 5 (7.13.0 release)
  • Updated query, changed from:

    process where event.type in ("start", "process_started") and
    process.args : ( "/Users/*/Library/Keychains/*",
    "/Library/Keychains/*", "/Network/Library/Keychains/*",
    "System.keychain", "login.keychain-db", "login.keychain"
    )
Version 4 (7.12.0 release)
  • Rule name changed from: Compression of Keychain Credentials Directories
  • Updated query, changed from:

    event.category:process and event.type:(start or process_started) and
    process.name:(zip or tar or gzip or 7za or hdiutil) and
    process.args:("/Library/Keychains/" or "/Network/Library/Keychains/"
    or "~/Library/Keychains/")
Version 3 (7.11.2 release)
  • Formatting only
Version 2 (7.11.0 release)
  • Formatting only