kevmap

TechniquesT1547.015 › AN0340

AN0340 Analytic 0340

macOS · attack.mitre.org · ATT&CK Enterprise v19.2

<p>Creation or modification of Login Items using AppleScript or Service Management Framework. Detection focuses on file creation/modification of backgrounditems.btm, new executables in Contents/Library/LoginItems/, use of SMLoginItemSetEnabled API, or suspicious processes triggered post-login without user interaction. Behavioral pivot includes anomalous AppleEvents, suspicious parent-child process pairs, and login-triggered execution chains.</p>
Detects
T1547.015 Login Items
Part of
DET0121 Detection Strategy for T1547.015 – Login Items on macOS

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:unifiedlogPost-login execution of unrecognized child process from launchd or loginwindowDC0032 Process Creation
macos:unifiedlogModification of backgrounditems.btm or creation of LoginItems subdirectory in .app bundleDC0061 File Modification
macos:unifiedlogInvocation of SMLoginItemSetEnabled by non-system or recently installed applicationDC0021 OS API Execution
macos:unifiedlogAppleScript creating login item via 'System Events' dictionaryDC0029 Script 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
TimeWindowCorrelate file and process activity within a defined interval post-login (e.g., 0–5 minutes)
UserContextDistinguish between system users, interactive users, and daemon contexts
ExecutableAllowlistDefine known-good login items to suppress false positives
PathRegexExclusionExclude common enterprise paths (e.g., Jamf, MDM-managed apps)