Techniques › T1647 › AN0306
AN0306 Analytic 0306
macOS · attack.mitre.org · ATT&CK Enterprise v19.2
<p>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.</p>
- Detects
- T1647 Plist File Modification
- Part of
- DET0109 Detection Strategy for Plist File Modification (T1647)
Log sources and channels
Exactly as MITRE states them in x_mitre_log_source_references. Where a channel is vague, it is vague in the source; kevmap does not tidy it.
| Log source | Channel | Data component |
|---|---|---|
| macos:unifiedlog | write: File modifications to *.plist within LaunchAgents, LaunchDaemons, Application Support, or Preferences directories | DC0061 File Modification |
| macos:unifiedlog | exec: Execution of defaults, plutil, or common editors (vim/nano) targeting plist files | DC0032 Process Creation |
| macos:unifiedlog | exec: Invocation of /usr/bin/defaults write or /usr/bin/plutil modifying plist keys | DC0064 Command Execution |
Mutable elements
Parameters MITRE marks as environment-specific. These are the knobs you are expected to tune; they are why an analytic is not a rule.
| Field | Description |
|---|---|
MonitoredDirectories | Set of directories where plist modifications are considered suspicious (e.g., ~/Library/LaunchAgents, /Library/LaunchDaemons) |
SuspiciousKeys | List of plist keys associated with evasion or persistence (e.g., LSUIElement, LSEnvironment, ProgramArguments) |
TimeWindow | Temporal correlation window to link plist file modifications with subsequent suspicious process launches |