Techniques › T1547.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 source | Channel | Data component |
|---|---|---|
| macos:unifiedlog | Post-login execution of unrecognized child process from launchd or loginwindow | DC0032 Process Creation |
| macos:unifiedlog | Modification of backgrounditems.btm or creation of LoginItems subdirectory in .app bundle | DC0061 File Modification |
| macos:unifiedlog | Invocation of SMLoginItemSetEnabled by non-system or recently installed application | DC0021 OS API Execution |
| macos:unifiedlog | AppleScript creating login item via 'System Events' dictionary | DC0029 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.
| Field | Description |
|---|---|
TimeWindow | Correlate file and process activity within a defined interval post-login (e.g., 0–5 minutes) |
UserContext | Distinguish between system users, interactive users, and daemon contexts |
ExecutableAllowlist | Define known-good login items to suppress false positives |
PathRegexExclusion | Exclude common enterprise paths (e.g., Jamf, MDM-managed apps) |