Plist Modification - T1547.011 (6747daa2-3533-4e78-8fb8-446ebb86448a)
Adversaries can modify property list files (plist files) to execute their code as part of establishing persistence. Plist files are used by macOS applications to store properties and configuration settings for applications and services. Applications use information plist files, Info.plist
, to tell the operating system how to handle the application at runtime using structured metadata in the form of keys and values. Plist files are formatted in XML and based on Apple's Core Foundation DTD and can be saved in text or binary format.(Citation: fileinfo plist file description)
Adversaries can modify paths to executed binaries, add command line arguments, and insert key/pair values to plist files in auto-run locations which execute upon user logon or system startup. Through modifying plist files in these locations, adversaries can also execute a malicious dynamic library (dylib) by adding a dictionary containing the DYLD_INSERT_LIBRARIES
key combined with a path to a malicious dylib under the EnvironmentVariables
key in a plist file. Upon user logon, the plist is called for execution and the malicious dylib is executed within the process space. Persistence can also be achieved by modifying the LSEnvironment
key in the application's Info.plist
file.(Citation: wardle artofmalware volume1)
Cluster A | Galaxy A | Cluster B | Galaxy B | Level |
---|---|---|---|---|
Plist Modification - T1547.011 (6747daa2-3533-4e78-8fb8-446ebb86448a) | Attack Pattern | Plist File Modification - T1647 (7d20fff9-8751-404e-badd-ccd71bda0236) | Attack Pattern | 1 |