Skip to content
Every technique
T1647No distinct observable

Plist File Modification

Defense ImpairmentmacOS

Where this stands

A reviewer read the telemetry and concluded there is nothing here to detect that a sibling technique does not already cover.

T1647's only analytic, AN0306, offers exactly three Sigma logsources -- plist file modification, execution of defaults/plutil/text editors targeting plist files, and invocation of 'defaults write' or 'plutil' modifying plist keys -- and all three map to the identical {product: macos, service: unifiedlog}. No rule anywhere in this corpus has an established Sigma field vocabulary for macos:unifiedlog (scripts/mitre/logsource.mjs passes every macOS family straight through with the bare note 'macOS log', and translate.ts carries no macOS field-name table), so any selection written against it would parse, render in four backends, and match nothing -- the exact silent-failure trap this pipeline exists to avoid. The technique is macOS-only, so there is no Windows or Linux leg to fall back to. […]

Covered instead by T1543.001, T1543.004, T1547.007, T1564.003.

What the technique is

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.

Read it on attack.mitre.org

What MITRE says you would watch

  • AN0306

    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.

Technique names and descriptions © MITRE ATT&CK®, CC BY 4.0. Not endorsed by MITRE.