Event Triggered Execution: Installer Packages

Adversaries may establish persistence and elevate privileges by using an installer to trigger the execution of malicious content. Installer packages are OS specific and contain the resources an operating system needs to install applications on a system. Installer packages can include scripts that run prior to installation as well as after installation is complete. Installer scripts may inherit elevated permissions when executed. Developers often use these scripts to prepare the environment for installation, check requirements, download dependencies, and remove files after installation.[1]

Using legitimate applications, adversaries have distributed applications with modified installer scripts to execute malicious content. When a user installs the application, they may be required to grant administrative permissions to allow the installation. At the end of the installation process of the legitimate application, content such as macOS postinstall scripts can be executed with the inherited elevated permissions. Adversaries can use these scripts to execute a malicious executable or install other malicious components (such as a Launch Daemon) with the elevated permissions.[2][3]

Depending on the distribution, Linux versions of package installer scripts are sometimes called maintainer scripts or post installation scripts. These scripts can include preinst, postinst, prerm, postrm scripts and run as root when executed.

For Windows, the Microsoft Installer services uses .msi files to manage the installing, updating, and uninstalling of applications. Adversaries have leveraged Prebuild and Postbuild events to run commands before or after a build when installing .msi files.[4][5]

ID: T1546.016
Sub-technique of:  T1546
Platforms: Linux, Windows, macOS
Permissions Required: User
Effective Permissions: root
Contributors: Brandon Dalton @PartyD0lphin
Version: 1.0
Created: 27 September 2022
Last Modified: 19 October 2022

Procedure Examples

ID Name Description
S0584 AppleJeus

During AppleJeus's installation process, it uses postinstall scripts to extract a hidden plist from the application's /Resources folder and execute the plist file as a Launch Daemon with elevated permissions.[6]

Mitigations

This type of attack technique cannot be easily mitigated with preventive controls since it is based on the abuse of system features.

Detection

ID Data Source Data Component Detects
DS0017 Command Command Execution

Monitor executed commands and arguments that may be related to abuse of installer packages, including malicious commands triggered by application installations.

DS0022 File File Creation

Monitor creation of files associated with installer packages that may be abused for malicious execution.

DS0009 Process Process Creation

Monitor processes with arguments that may be related to abuse of installer packages, including malicious, likely elevated processes triggered by application installations.

References