Boot or Logon Initialization Scripts: Login Hook T1037.002

Tactics: Persistence, Privilege Escalation

Adversaries may use a Login Hook to establish persistence executed upon user logon. A login hook is a plist file that points to a specific script to execute with root privileges upon user logon. The plist file is located in the /Library/Preferences/com.apple.loginwindow.plist file and can be modified using the defaults command-line utility. This behavior is the same for logout hooks where a script can be executed upon user logout. All hooks require administrator permissions to modify or create hooks.

Authoring guide

These 3 rules share fields, values, and exclusions.

Fields filtered most (7 distinct)

These fields appear most often in rule filters.

FieldRulesHowSample values
host.os.type2eq 2
CommandLine1contains 1defaults , loginhook, loginwindow
event.category1eq 1file
event.type1eq 1start
file.name1eq 1com.apple.loginwindow.plist
process.args1eq 1loginhook, logouthook, write
process_name1eq 1defaults

Top indicator values (11 distinct)

These values appear most often in rule predicates.

FieldKindValueRules (here)Corpus reach
CommandLinecontains
defaults
1
CommandLinecontains
loginhook
1
CommandLinecontains
loginwindow
1
CommandLinecontains
write
1
event.categoryeq
file
143
event.typeeq
start
11087
file.nameeq
com.apple.loginwindow.plist
1
process.argseq
loginhook
1
process.argseq
logouthook
1
process.argseq
write
15
process_nameeq
defaults
17

Exclusions (18 distinct)

These values appear most often in top-level exclusions.

FieldKindValueRules excluding
event.typeeq
deletion
1
process.argseq
/library/application support/jamf/managementframeworkscripts/loginhook.sh
1
process.argseq
/library/application support/jamf/managementframeworkscripts/logouthook.sh
1
process.argseq
support/jamf/managementframeworkscripts/loginhook.sh
1
process.argseq
support/jamf/managementframeworkscripts/logouthook.sh
1
process_namein
backupd
1
process_namein
cfprefsd
1
process_namein
clonekitservice
1
process_namein
desktopserviceshelper
1
process_namein
diskmanagementd
1
process_namein
imazing profile editor
1
process_namein
launchd
1
process_namein
managedclient
1
process_namein
mcxcompositor
1
process_namein
rsync
1

Rules under this technique

These vendors publish rules tagged with this technique.

Platform: macOS

Domain: Endpoint

Elastic 2 rules

Splunk 1 rule