[metadata] creation_date = "2020/08/14" maturity = "production" updated_date = "2022/07/13" [rule] author = ["Elastic"] description = """ 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. """ from = "now-9m" index = ["auditbeat-*", "logs-endpoint.events.*"] language = "eql" license = "Elastic License v2" name = "Access to Keychain Credentials Directories" note = """## Setup If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2, events will not define `event.ingested` and default fallback for EQL rules was not added until 8.2, so you will need to add a custom pipeline to populate `event.ingested` to @timestamp for this rule to work. """ references = [ "https://objective-see.com/blog/blog_0x25.html", "https://securelist.com/calisto-trojan-for-macos/86543/", ] risk_score = 73 rule_id = "96e90768-c3b7-4df6-b5d9-6237f8bc36a8" severity = "high" tags = ["Elastic", "Host", "macOS", "Threat Detection", "Credential Access"] timestamp_override = "event.ingested" type = "eql" query = ''' 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", "/Applications/Microsoft Defender.app/Contents/MacOS/wdavdaemon_enterprise.app/Contents/MacOS/wdavdaemon_enterprise", "/opt/jc/bin/jumpcloud-agent" ) and not process.executable : "/opt/jc/bin/jumpcloud-agent" ''' [[rule.threat]] framework = "MITRE ATT&CK" [[rule.threat.technique]] id = "T1555" name = "Credentials from Password Stores" reference = "https://attack.mitre.org/techniques/T1555/" [[rule.threat.technique.subtechnique]] id = "T1555.001" name = "Keychain" reference = "https://attack.mitre.org/techniques/T1555/001/" [rule.threat.tactic] id = "TA0006" name = "Credential Access" reference = "https://attack.mitre.org/tactics/TA0006/"