kevmap

TechniquesT1647 › 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 sourceChannelData component
macos:unifiedlogwrite: File modifications to *.plist within LaunchAgents, LaunchDaemons, Application Support, or Preferences directoriesDC0061 File Modification
macos:unifiedlogexec: Execution of defaults, plutil, or common editors (vim/nano) targeting plist filesDC0032 Process Creation
macos:unifiedlogexec: Invocation of /usr/bin/defaults write or /usr/bin/plutil modifying plist keysDC0064 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.

FieldDescription
MonitoredDirectoriesSet of directories where plist modifications are considered suspicious (e.g., ~/Library/LaunchAgents, /Library/LaunchDaemons)
SuspiciousKeysList of plist keys associated with evasion or persistence (e.g., LSUIElement, LSEnvironment, ProgramArguments)
TimeWindowTemporal correlation window to link plist file modifications with subsequent suspicious process launches