Plist File Modification T1647

Tactic: Defense Impairment

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.

Events covered

3 catalog events are tagged with this technique by at least one rule.

Authoring guide

These 14 rules share fields, values, and exclusions.

Fields filtered most (19 distinct)

These fields appear most often in rule filters.

FieldRulesHowSample values
event.type7ne 4, in 3deletion, process_started, start
process_basename7eq 4, wildcard 3, in 1bash, chmod, defaults, PlistBuddy, base64
EventType4eq 4, in 1exec, fork, launch_daemon, modification
TargetFilename4wildcard 4/Library/LaunchAgents/*, /Library/LaunchDaemons/*, /System/Library/LaunchAgents/*, /Library/LaunchAgents/.*.plist, /Library/LaunchDaemons/.*.plist
file.name4eq 3, wildcard 1*com.adobe*.plist, *com.apple*.plist, *com.dropbox*.plist, SyncedRules.plist, com.apple.dock.plist
CommandLine3contains 2, ends_with 1, wildcard 1* &, *.amazonaws.com*, *.cloudfront.net*, *IncludeDevelopMenu*, *JavaScript*
process.args3eq 3, starts_with 1, wildcard 1*/bin/base64*-d*, */bin/chmod +x*, */bin/curl*.amazonaws.com*, -bool, /Library/Preferences/com.apple.SoftwareUpdate.plist
process.code_signature.exists3eq 3false
process.code_signature.trusted3eq 3false
Image1starts_with 1/Library/Fonts/*, /Library/Graphics/*, /Library/WebServer/*
Persistence.args1is_null 1
Persistence.keepalive1eq 1true
Persistence.runatload1eq 1true
columns.path1eq 1/usr/bin/plutil
event.category1eq 1file

Top indicator values (135 distinct)

These values appear most often in rule predicates.

FieldKindValueRules (here)Corpus reach
event.typene
deletion
433
event.typein
process_started
339
event.typein
start
340
process.code_signature.existseq
false
3118
process.code_signature.trustedeq
false
3114
process_basenamewildcard
osascript
331
process_basenamewildcard
python*
351
process_basenamewildcard
bash
233
process_basenamewildcard
curl
228
process_basenamewildcard
nscurl
215
process_basenamewildcard
sh
233
EventTypeeq
exec
2547
EventTypeeq
launch_daemon
14
EventTypeeq
modification
172
process.argseq
write
24
process_basenameeq
defaults
26
CommandLinecontains
*.amazonaws.com*
1
CommandLinecontains
*.cloudfront.net*
1
CommandLinecontains
*IncludeDevelopMenu*
12
CommandLinecontains
*JavaScript*
15
CommandLinecontains
*com.apple.Safari*
12
CommandLinecontains
*raw.githubusercontent.com*
1
CommandLineends_with
* &
1
CommandLinewildcard
osascript*login item*hidden:true*
1
EventTypein
exec
1180
EventTypein
fork
16
Imagestarts_with
/Library/Fonts/*
13
Imagestarts_with
/Library/Graphics/*
13
Imagestarts_with
/Library/WebServer/*
13
Imagestarts_with
/private/tmp/*
15

Exclusions (107 distinct)

These values appear most often in top-level exclusions.

FieldKindValueRules excluding
CommandLinecontains
*$CFFIXED_USER_HOME/.zoteroIntegrationPipe*
1
CommandLinewildcard
*http://127.0.0.1:6969/binary*ppShuttle_*.bin*
1
Imageeq
/Applications/Mail.app/Contents/MacOS/Mail
1
Imageeq
/System/Applications/Mail.app/Contents/MacOS/Mail
1
Imageeq
/System/Library/CoreServices/Finder.app/Contents/MacOS/Finder
1
Imageeq
/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd
1
Imageeq
/System/Library/Frameworks/FileProvider.framework/Support/fileproviderd
1
Imageeq
/System/Library/PrivateFrameworks/CloudDocsDaemon.framework/Versions/A/Support/bird
1
Imageeq
/bin/bash
1
Imageeq
/opt/chef/embedded/bin/ruby
1
Imageeq
/sbin/launchd
1
Imageeq
/usr/libexec/xpcproxy
1
Imagein
/bin/bash
1
Imagein
/usr/bin/sed
1
Imagestarts_with
/Library/PrivilegedHelperTools/*
1

Rules under this technique

These vendors publish rules tagged with this technique.

Platform: macOS

Domain: Endpoint

Elastic 12 rules

Splunk 1 rule

Panther 1 rule