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.(Citation: Installer Package Scripting Rich Trouton)
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.(Citation: Application Bundle Manipulation Brandon Dalton)(Citation: wardle evilquest parti)
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.(Citation: Windows AppleJeus GReAT)(Citation: Debian Manual Maintainer Scripts)
Capability ID | Capability Description | Mapping Type | ATT&CK ID | ATT&CK Name |
---|---|---|---|---|
AC-06 | Least Privilege | Protects | T1546.016 | Installer Packages |
CA-07 | Continuous Monitoring | Protects | T1546.016 | Installer Packages |
CM-05 | Access Restrictions for Change | Protects | T1546.016 | Installer Packages |
CM-06 | Configuration Settings | Protects | T1546.016 | Installer Packages |
SI-02 | Flaw Remediation | Protects | T1546.016 | Installer Packages |
SI-03 | Malicious Code Protection | Protects | T1546.016 | Installer Packages |
SI-04 | System Monitoring | Protects | T1546.016 | Installer Packages |