Starting in Mac OS X 10.7 (Lion), users can specify certain applications to be re-opened when a user reboots their machine. While this is usually done via a Graphical User Interface (GUI) on an app-by-app basis, there are property list files (plist) that contain this information as well located at~/Library/Preferences/com.apple.loginwindow.plist
and~/Library/Preferences/ByHost/com.apple.loginwindow.* .plist
.An adversary can modify one of these files directly to include a link to their malicious executable to provide a persistence mechanism each time the user reboots their machine (Citation: Methods of Mac Malware Persistence).
Plist Method
Supported Platforms: macOS
-
create a custom plist:
~/Library/Preferences/com.apple.loginwindow.plist
or
~/Library/Preferences/ByHost/com.apple.loginwindow.*.plist
Mac Defaults
Supported Platforms: macOS
Name | Description | Type | Default Value |
---|---|---|---|
script | path to script | path | /path/to/script |
sudo defaults write com.apple.loginwindow LoginHook #{script}
sudo defaults delete com.apple.loginwindow LoginHook