Access to Keychain Credentials Directories
editAccess to Keychain Credentials Directories
editAdversaries 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: 100 (version history)
Added (Elastic Stack release): 7.10.0
Last modified (Elastic Stack release): 8.5.0
Rule authors: Elastic
Rule license: Elastic License v2
Investigation guide
editRule query
editprocess 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", "/Applications/Microsoft Defender.app/Contents/MacOS/wdavdaemon_enterp rise.app/Contents/MacOS/wdavdaemon_enterprise", "/opt/jc/bin/jumpcloud-agent" ) and not process.executable : "/opt/jc/bin/jumpcloud-agent"
Threat mapping
editFramework: MITRE ATT&CKTM
-
Tactic:
- Name: Credential Access
- ID: TA0006
- Reference URL: https://attack.mitre.org/tactics/TA0006/
-
Technique:
- Name: Credentials from Password Stores
- ID: T1555
- Reference URL: https://attack.mitre.org/techniques/T1555/
Rule version history
edit- Version 100 (8.5.0 release)
-
- Formatting only
- Version 8 (8.4.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" ) 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"
-
- Version 6 (8.2.0 release)
-
- Formatting only
- 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