ID | Name |
---|---|
T1569.001 | Launchctl |
T1569.002 | Service Execution |
Adversaries may abuse launchctl to execute commands or programs. Launchctl interfaces with launchd, the service management framework for macOS. Launchctl supports taking subcommands on the command-line, interactively, or even redirected from standard input.[1]
Adversaries use launchctl to execute commands and programs as Launch Agents or Launch Daemons. Common subcommands include: launchctl load
,launchctl unload
, and launchctl start
. Adversaries can use scripts or manually run the commands launchctl load -w "%s/Library/LaunchAgents/%s"
or /bin/launchctl load
to execute Launch Agents or Launch Daemons.[2][3]
ID | Name | Description |
---|---|---|
S0584 | AppleJeus |
AppleJeus has loaded a plist file using the |
S0274 | Calisto |
Calisto uses launchctl to enable screen sharing on the victim’s machine.[5] |
S1153 | Cuckoo Stealer |
Cuckoo Stealer can use |
S0451 | LoudMiner |
LoudMiner launched the QEMU services in the |
S1048 | macOS.OSAMiner |
macOS.OSAMiner has used |
S0658 | XCSSET |
XCSSET loads a system level launchdaemon using the |
ID | Mitigation | Description |
---|---|---|
M1018 | User Account Management |
Prevent users from installing their own launch agents or launch daemons. |
ID | Data Source | Data Component | Detects |
---|---|---|---|
DS0017 | Command | Command Execution |
Monitor the execution of the Note: This analytic monitors the execution of the launchctl command and its key subcommands. Exclude known administrative users to minimize false positives. Analytic 1 - Suspicious Launchctl
|
DS0022 | File | File Modification |
Every Launch Agent and Launch Daemon must have a corresponding plist file on disk which can be monitored. Plist files are located in the root, system, and users Analytic 1 - Suspicious plist file modifications.
|
DS0009 | Process | Process Creation |
Monitor for newly executed daemons that may abuse launchctl to execute commands or programs. Analytic 1 - Executable path is in unusual directories
|
DS0019 | Service | Service Creation |
Monitor the creation or modification of Launch Agents or Launch Daemons via the launchctl command. Analytic 1 - Create Service In Suspicious File Path
|