Cross-source coverage
T1647 / ATT&CK
Plist File Modification
11 rules across 3 sources.
From MITRE ATT&CK 19.2
Adversaries may modify property list files (plist files) to enable other malicious activity, while also potentially evading and bypassing system defenses. macOS applications use plist files, such as the info.plist file, to store properties and configuration settings that inform the operating system how to handle the application at runtime. Plist files are structured metadata in key-value pairs formatted in XML based on Apple's Core Foundation DTD. Plist files can be saved in text or binary format.
Adversaries can modify key-value pairs in plist files to influence system behaviors, such as hiding the execution of an application (i.e. Hidden Window) or running additional commands for persistence (ex: Launch Agent/Launch Daemon or Re-opened Applications).
For example, adversaries can add a malicious application path to the ~/Library/Preferences/com.apple.dock.plist file, which controls apps that appear in the Dock. Adversaries can also modify the LSUIElement key in an application’s info.plist file to run the app in the background. Adversaries can also insert key-value pairs to insert environment variables, such as LSEnvironment, to enable persistence via Dynamic Linker Hijacking.
- Tactics
- Defense Impairment
- Platforms
- macOS
- Telemetry
-
macos:unifiedlog
How MITRE says to detect it DET0109
Detection Strategy for Plist File Modification (T1647)
macOS Analytic 0306
Monitor for unexpected modifications of plist files in persistence or configuration directories (e.g., ~/Library/LaunchAgents, ~/Library/Preferences, /Library/LaunchDaemons). Detect when modifications are followed by execution of new or unexpected binaries. Track use of utilities such as defaults, plutil, or text editors making changes to Info.plist files. Correlate file modifications with subsequent process launches or service starts that reference the altered plist.
macos:unifiedlogwrite: File modifications to *.plist within LaunchAgents, LaunchDaemons, Application Support, or Preferences directoriesmacos:unifiedlogexec: Execution of defaults, plutil, or common editors (vim/nano) targeting plist filesmacos:unifiedlogexec: Invocation of /usr/bin/defaults write or /usr/bin/plutil modifying plist keys
elastic/detection-rules
5 rules| Detection | Severity | Format |
|---|---|---|
| Creation of Hidden Login Item via Apple Script | Medium | Elastic TOML |
| Modification of Safari Settings via Defaults Command | Medium | Elastic TOML |
| Potential Persistence via Login Hook | Medium | Elastic TOML |
| SoftwareUpdate Preferences Modification | Medium | Elastic TOML |
| Suspicious Apple Mail Rule Plist Modification | Medium | Elastic TOML |
elastic/protections-artifacts
5 rules| Detection | Severity | Format |
|---|---|---|
| Initial Access or Execution via Microsoft Office Application | Undefined | Elastic TOML |
| Initial Access via macOS Installer Package | Undefined | Elastic TOML |
| Persistence via a Masqueraded Plist Filename | Undefined | Elastic TOML |
| Suspicious Dock Plist Configuration Modification | Undefined | Elastic TOML |
| Unusual Launch Service Creation via Unsigned or Untrusted Binary | Undefined | Elastic TOML |
splunk/security_content
1 rule| Detection | Severity | Format |
|---|---|---|
| MacOS plutil | Undefined | SPL |