T1543.001: Launch Agent

Adversaries may create or modify launch agents to repeatedly execute malicious payloads as part of persistence. When a user logs in, a per-user launchd process is started which loads the parameters for each launch-on-demand user agent from the property list (.plist) file found in /System/Library/LaunchAgents, /Library/LaunchAgents, and ~/Library/LaunchAgents. Property list files use the Label, ProgramArguments , and RunAtLoad keys to identify the Launch Agent's name, executable location, and execution time. Launch Agents are often installed to perform updates to programs, launch user specified programs at login, or to conduct other developer tasks.

Launch Agents can also be executed using the Launchctl command.

Adversaries may install a new Launch Agent that executes at login by placing a .plist file into the appropriate folders with the RunAtLoad or KeepAlive keys set to true. The Launch Agent name may be disguised by using a name from the related operating system or benign software. Launch Agents are created with user level privileges and execute with user level permissions.

Positive Technologies products that cover the technique

Description of detection methods is not available yet

Detection

IDDS0022Data source and componentFile: File ModificationDescription

Launch Agents also require files on disk for persistence which can also be monitored via other file monitoring applications.

IDDS0019Data source and componentService: Service CreationDescription

Monitor Launch Agent creation through additional plist files and utilities such as Objective-See’s KnockKnock application.

IDDS0019Data source and componentService: Service ModificationDescription

Monitor for changes made to launch agents to repeatedly execute malicious payloads as part of persistence.

IDDS0022Data source and componentFile: File CreationDescription

Monitor for newly constructed files that may create or modify launch agents to repeatedly execute malicious payloads as part of persistence.

IDDS0017Data source and componentCommand: Command ExecutionDescription

Ensure Launch Agent's ProgramArguments key pointing to executables located in the /tmp or /shared folders are in alignment with enterprise policy. Ensure all Launch Agents with the RunAtLoad key set to true are in alignment with policy.

Mitigation

IDM1022NameRestrict File and Directory PermissionsDescription

Set group policies to restrict file permissions to the ~/launchagents folder.