A newer version is available. For the latest information, see the
current release documentation.
Persistence via Login or Logout Hook
editPersistence via Login or Logout Hook
editIdentifies use of the Defaults command to install a login or logoff hook in MacOS. An adversary may abuse this capability to establish persistence in an environment by inserting code to be executed at login or logout.
Rule type: eql
Rule indices:
- auditbeat-*
- logs-endpoint.events.*
Severity: medium
Risk score: 47
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
- Persistence
Version: 4 (version history)
Added (Elastic Stack release): 7.11.0
Last modified (Elastic Stack release): 7.13.0
Rule authors: Elastic
Rule license: Elastic License v2
Rule query
editprocess where event.type == "start" and process.name == "defaults" and process.args == "write" and process.args in ("LoginHook", "LogoutHook") and not process.args : ( "Support/JAMF/ManagementFrameworkScripts/logouthook.sh", "Support/JAMF/ManagementFrameworkScripts/loginhook.sh", "/Library/Application Support/JAMF/ManagementFrameworkScripts/logouthook.sh", "/Library/Application Support/JAMF/ManagementFrameworkScripts/loginhook.sh" )
Threat mapping
editFramework: MITRE ATT&CKTM
-
Tactic:
- Name: Persistence
- ID: TA0003
- Reference URL: https://attack.mitre.org/tactics/TA0003/
-
Technique:
- Name: Boot or Logon Initialization Scripts
- ID: T1037
- Reference URL: https://attack.mitre.org/techniques/T1037/
Rule version history
edit- Version 4 (7.13.0 release)
-
-
Updated query, changed from:
process where event.type in ("start", "process_started") and process.name == "defaults" and process.args == "write" and process.args in ("LoginHook", "LogoutHook")
-
- Version 3 (7.12.0 release)
-
- Formatting only
- Version 2 (7.11.2 release)
-
- Formatting only