Keychain Password Retrieval via Command Line
editKeychain Password Retrieval via Command Line
editAdversaries may collect keychain storage data from a system to in order to acquire credentials. Keychains are the built-in way for macOS to keep track of users' passwords and credentials for many services and features, including Wi-Fi and website passwords, secure notes, certificates, and Kerberos.
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.12.0
Last modified (Elastic Stack release): 8.5.0
Rule authors: Elastic
Rule license: Elastic License v2
Potential false positives
editApplications for password management.
Investigation guide
editRule query
editprocess where event.type == "start" and process.name : "security" and process.args : "-wa" and process.args : ("find-generic-password", "find-internet-password") and process.args : ("Chrome*", "Chromium", "Opera", "Safari*", "Brave", "Microsoft Edge", "Edge", "Firefox*") and not process.parent.executable : "/Applications/Keeper Password Manager.app/Contents/Frameworks/Keeper Password Manager Helper*/Contents/MacOS/Keeper Password Manager Helper*"
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 5 (8.4.0 release)
-
- Formatting only
- Version 3 (8.2.0 release)
-
- Formatting only
- Version 2 (7.13.0 release)
-
-
Updated query, changed from:
event.category:process and event.type:(start or process_started) and process.name:security and process.args:("find-generic-password" or "find-internet-password")
-