Cross-source coverage

T1555.001 / ATT&CK

Credentials from Password Stores: Keychain

19 rules · 18 families across 4 sources.

From MITRE ATT&CK 19.2

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. The default Keychain is the Login Keychain, which stores user passwords and information. The System Keychain stores items accessed by the operating system, such as items shared among users on a host. The Local Items (iCloud) Keychain is used for items synced with Apple’s iCloud service.

Keychains can be viewed and edited through the Keychain Access application or using the command-line utility security. Keychain files are located in ~/Library/Keychains/, /Library/Keychains/, and /Network/Library/Keychains/.

Adversaries may gather user credentials from Keychain storage/memory. For example, the command security dump-keychain –d will dump all Login Keychain credentials from ~/Library/Keychains/login.keychain-db. Adversaries may also directly read Login Keychain credentials from the ~/Library/Keychains/login.keychain file. Both methods require a password, where the default password for the Login Keychain is the current user’s password to login to the macOS host.

Platforms
macOS
Telemetry
macos:unifiedlog

How MITRE says to detect it DET0396

Detect Access to macOS Keychain for Credential Theft

macOS Analytic 1112

Detects suspicious access to macOS Keychain files and APIs. Observes processes invoking the 'security' utility or accessing Keychain databases directly, correlates these with abnormal parent process lineage or unexpected user context. Monitors attempts to dump, unlock, or read credential storage beyond normal application workflows.

  • macos:unifiedlog execution of security or osascript
  • macos:unifiedlog access or unlock attempt to keychain database
  • macos:unifiedlog read access to ~/Library/Keychains/login.keychain-db

elastic/protections-artifacts

12 rules
Detection Severity Format
Keychain Credential Files Collected via Archive Utility Undefined Elastic TOML
Keychain Dump via Native Security Tool Undefined Elastic TOML
Suspicious User Keychain Access via Nodejs Undefined Elastic TOML
Suspicious User Keychain DB Access by Unsigned Binary Undefined Elastic TOML
SystemKey Access via Command Line Undefined Elastic TOML
User Keychain Access in Unusual Location Undefined Elastic TOML
User Keychain copied via Script Interpreter Undefined Elastic TOML
User Keychain copied via Shell interpreter Undefined Elastic TOML
User Keychain Copied via Suspicious Parent Undefined Elastic TOML
User Keychain DB Access by Osascript Undefined Elastic TOML

+ 2 more from elastic/protections-artifacts → showing the 10 highest-severity

elastic/detection-rules

5 rules
Detection Severity Format
Dumping of Keychain Content via Security Command High Elastic TOML
Keychain CommandLine Interaction via Unsigned or Untrusted Process High Elastic TOML
Keychain Password Retrieval via Command Line High Elastic TOML
SystemKey Access via Command Line High Elastic TOML
First Time Python Accessed Sensitive Credential Files Medium Elastic TOML

SigmaHQ/sigma

1 rule
Detection Severity Format
Credentials from Password Stores - Keychain Medium Sigma

splunk/security_content

1 rule
Detection Severity Format
MacOS Keychains Dumped Undefined SPL

Detection rules belong to the projects that publish them and remain under their own licenses. This site indexes and links to them; it claims no rights in them.