T1555.001 Elastic Security · Elastic

Detect Keychain in Elastic Security

Adversaries may acquire credentials from Keychain. Keychain (or Keychain Services) is the macOS credential management system that stores account names, passwords, private keys, certificates, sensitive application data, payment data, and secure notes. There are three types of Keychains: Login Keychain, System Keychain, and Local Items (iCloud) Keychain. Adversaries may gather user credentials from Keychain storage/memory using the security command-line utility (e.g., security dump-keychain -d), by directly reading Keychain database files from ~/Library/Keychains/, or programmatically via Keychain Services API functions like SecKeychainFindInternetPassword and SecItemCopyMatching.

MITRE ATT&CK

Tactic
Credential Access
Technique
T1555 Credentials from Password Stores
Sub-technique
T1555.001 Keychain
Canonical reference
https://attack.mitre.org/techniques/T1555/001/

Elastic Detection Query

Elastic Security (Elastic)
eql
process where event.type == "start"
  and host.os.type == "macos"
  and (
    (
      process.name == "security"
      and process.args : ("dump-keychain", "find-generic-password", "find-internet-password", "find-certificate")
    )
    or process.name == "keychaindump"
    or process.command_line : ("*SecKeychainFindInternetPassword*", "*SecItemCopyMatching*", "*SecKeychainItemCopyAttributesAndData*")
    or process.args : ("*/Library/Keychains/*", "*login.keychain*", "*login.keychain-db*", "*System.keychain*", "*keychain-2.db*")
  )
high severity high confidence

Detects macOS Keychain credential access via the security CLI utility, keychaindump tool, or Keychain Services API function references in process command lines using Elastic ECS process events.

Data Sources

Elastic Endpoint Security Agent (macOS)Auditbeat (macOS)OSQuery with ECS normalization via Elastic Agent

Required Tables

logs-endpoint.events.process-*auditbeat-*

False Positives & Tuning

  • IT administrators running authorized keychain audits using the security CLI for credential inventory or rotation tasks
  • Password manager desktop clients (1Password CLI, Bitwarden) accessing login.keychain-db during normal vault unlock or credential sync operations
  • macOS application developers testing Keychain Services API integration (SecItemCopyMatching) on local development endpoints
  • Certificate management automation scripts using security find-certificate to export code signing certs for CI/CD pipeline deployment
Download portable Sigma rule (.yml)

Other platforms for T1555.001


Testing Methodology

Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Dump Login Keychain with security command

    Expected signal: macOS Unified Log entry for /usr/bin/security process with 'dump-keychain -d' arguments. ESF process execution event. EDR process creation event with full command line.

  2. Test 2Extract specific password from Keychain

    Expected signal: macOS Unified Log entry for /usr/bin/security with 'find-generic-password' and '-w' arguments. ESF Keychain item access event.

  3. Test 3Copy Keychain database file for offline extraction

    Expected signal: ESF file copy event for login.keychain-db. Sysmon for macOS or EDR file creation event at destination path. macOS Unified Log may not capture this if only CLI cp is used.

Unlock Pro Content

Get the full detection package for T1555.001 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections