MITRE ATT&CKtechnique
T1647 Plist File Modification
- Domain
- enterprise
- Tactics
- Defense Impairment
- Platforms
- macOS
- Version
- 2.0
- Created
- 2022-04-09
Description
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.
Related
Tactic · MITRE ATT&CK (1)
- TA0112 Defense Impairment tactic
Referenced by MITRE ATT&CK · mitigates (1)
- M1013 Application Developer Guidance mitigation
Referenced by MITRE ATT&CK · uses (2)
Referenced by CAPEC · att&ck technique (1)
- CAPEC-203 Manipulate Registry Information attack pattern
Referenced by Compliance · mitigates (17)
- CIS-16.10 Apply Secure Design Principles in Application Architectures CIS Safeguard v8.1
- CIS-16.12 Implement Code-Level Security Checks CIS Safeguard v8.1
- NIST-AC-16 Security and Privacy Attributes NIST 800-53 control
- NIST-AC-17 Remote Access NIST 800-53 control
- NIST-AC-3 Access Enforcement NIST 800-53 control
- NIST-AC-6 Least Privilege NIST 800-53 control
- NIST-CA-7 Continuous Monitoring NIST 800-53 control
- NIST-CM-2 Baseline Configuration NIST 800-53 control
- NIST-CM-3 Configuration Change Control NIST 800-53 control
- NIST-CM-5 Access Restrictions for Change NIST 800-53 control
- NIST-CM-6 Configuration Settings NIST 800-53 control
- NIST-CM-7 Least Functionality NIST 800-53 control
- NIST-SA-10 Developer Configuration Management NIST 800-53 control
- NIST-SA-11 Developer Testing and Evaluation NIST 800-53 control
- NIST-SA-8 Security and Privacy Engineering Principles NIST 800-53 control
- NIST-SI-4 System Monitoring NIST 800-53 control
- NIST-SI-7 Software, Firmware, and Information Integrity NIST 800-53 control
References
- https://www.welivesecurity.com/wp-content/uploads/200x/white-papers/osx_flashback.pdf eset_osx_flashback
- https://fileinfo.com/extension/plist fileinfo plist file description
- https://taomm.org/PDFs/vol1/CH%200x02%20Persistence.pdf wardle chp2 persistence