Execution Prevention

Block execution of code on a system through application control, and/or script blocking.

ID: M1038
Version: 1.1
Created: 11 June 2019
Last Modified: 20 June 2020

Techniques Addressed by Mitigation

Domain ID Name Use
Enterprise T1548 Abuse Elevation Control Mechanism

System settings can prevent applications from running that haven't been downloaded from legitimate repositories which may help mitigate some of these issues. Not allowing unsigned applications from being run may also mitigate some risk.

.004 Elevated Execution with Prompt

System settings can prevent applications from running that haven't been downloaded through the Apple Store which may help mitigate some of these issues. Not allowing unsigned applications from being run may also mitigate some risk.

Enterprise T1547 .004 Boot or Logon Autostart Execution: Winlogon Helper DLL

Identify and block potentially malicious software that may be executed through the Winlogon helper process by using application control [1] tools like AppLocker [2] [3] that are capable of auditing and/or blocking unknown DLLs.

.006 Boot or Logon Autostart Execution: Kernel Modules and Extensions

Application control and software restriction tools, such as SELinux, KSPP, grsecurity MODHARDEN, and Linux kernel tuning can aid in restricting kernel module loading.[4][5][6][7][8] Since macOS High Sierra 10.13, Secure Kernel Extension Loading (SKEL) can also be used to restrict the loading of kernel modules.[9]

Enterprise T1176 Browser Extensions

Set a browser extension allow or deny list as appropriate for your security policy. [10]

Enterprise T1059 Command and Scripting Interpreter

Use application control where appropriate.

.001 PowerShell

Use application control where appropriate.

.002 AppleScript

Use application control where appropriate.

.003 Windows Command Shell

Use application control where appropriate.

.004 Unix Shell

Use application control where appropriate.

.005 Visual Basic

Use application control where appropriate.

.006 Python

Denylist Python where not required.

.007 JavaScript

Denylist scripting where appropriate.

.008 Network Device CLI

TACACS+ can keep control over which commands administrators are permitted to use through the configuration of authentication and command authorization. [11]

Enterprise T1609 Container Administration Command

Use read-only containers and minimal images when possible to prevent the execution of commands.

Enterprise T1611 Escape to Host

Use read-only containers and minimal images when possible to prevent the running of commands.

Enterprise T1546 .002 Event Triggered Execution: Screensaver

Block .scr files from being executed from non-standard locations.

.006 Event Triggered Execution: LC_LOAD_DYLIB Addition

Allow applications via known hashes.

.008 Event Triggered Execution: Accessibility Features

Adversaries can replace accessibility features binaries with alternate binaries to execute this technique. Identify and block potentially malicious software executed through accessibility features functionality by using application control [1] tools, like Windows Defender Application Control[12], AppLocker, [2] [3] or Software Restriction Policies [13] where appropriate. [14]

.009 Event Triggered Execution: AppCert DLLs

Adversaries install new AppCertDLL binaries to execute this technique. Identify and block potentially malicious software executed through AppCertDLLs functionality by using application control [1] tools, like Windows Defender Application Control[12], AppLocker, [2] [3] or Software Restriction Policies [13] where appropriate. [14]

.010 Event Triggered Execution: AppInit DLLs

Adversaries can install new AppInit DLLs binaries to execute this technique. Identify and block potentially malicious software executed through AppInit DLLs functionality by using application control [1] tools, like Windows Defender Application Control[12], AppLocker, [2] [3] or Software Restriction Policies [13] where appropriate. [14]

Enterprise T1068 Exploitation for Privilege Escalation

Consider blocking the execution of known vulnerable drivers that adversaries may exploit to execute code in kernel mode. Validate driver block rules in audit mode to ensure stability prior to production deployment.[15]

Enterprise T1564 .003 Hide Artifacts: Hidden Window

Limit or restrict program execution using anti-virus software. On MacOS, allowlist programs that are allowed to have the plist tag. All other programs should be considered suspicious.

.006 Hide Artifacts: Run Virtual Instance

Use application control to mitigate installation and use of unapproved virtualization software.

Enterprise T1574 Hijack Execution Flow

Adversaries may use new payloads to execute this technique. Identify and block potentially malicious software executed through hijacking by using application control solutions also capable of blocking libraries loaded by legitimate software.

.001 DLL Search Order Hijacking

Adversaries may use new DLLs to execute this technique. Identify and block potentially malicious software executed through search order hijacking by using application control solutions capable of blocking DLLs loaded by legitimate software.

.006 Dynamic Linker Hijacking

Adversaries may use new payloads to execute this technique. Identify and block potentially malicious software executed through hijacking by using application control solutions also capable of blocking libraries loaded by legitimate software.

.007 Path Interception by PATH Environment Variable

Adversaries will likely need to place new binaries in locations to be executed through this weakness. Identify and block potentially malicious software executed path interception by using application control tools, like Windows Defender Application Control, AppLocker, or Software Restriction Policies where appropriate.[16][12][2][3][17][18]

.008 Path Interception by Search Order Hijacking

Adversaries will likely need to place new binaries in locations to be executed through this weakness. Identify and block potentially malicious software executed path interception by using application control tools, like Windows Defender Application Control, AppLocker, or Software Restriction Policies where appropriate.[16][12][2][3][17][18]

.009 Path Interception by Unquoted Path

Adversaries will likely need to place new binaries in locations to be executed through this weakness. Identify and block potentially malicious software executed path interception by using application control tools, like Windows Defender Application Control, AppLocker, or Software Restriction Policies where appropriate.[16][12][2][3][17][18]

.012 COR_PROFILER

Identify and block potentially malicious unmanaged COR_PROFILER profiling DLLs by using application control solutions like AppLocker that are capable of auditing and/or blocking unapproved DLLs.[1][2][3]

Enterprise T1036 Masquerading

Use tools that restrict program execution via application control by attributes other than file name for common operating system utilities that are needed.

.005 Match Legitimate Name or Location

Use tools that restrict program execution via application control by attributes other than file name for common operating system utilities that are needed.

Enterprise T1106 Native API

Identify and block potentially malicious software executed that may be executed through this technique by using application control [1] tools, like Windows Defender Application Control[12], AppLocker, [2] [3] or Software Restriction Policies [13] where appropriate. [14]

Enterprise T1219 Remote Access Software

Use application control to mitigate installation and use of unapproved software that can be used for remote access.

Enterprise T1505 .004 Server Software Component: IIS Components

Restrict unallowed ISAPI extensions and filters from running by specifying a list of ISAPI extensions and filters that can run on IIS.[19]

Enterprise T1129 Shared Modules

Identify and block potentially malicious software executed through this technique by using application control tools capable of preventing unknown DLLs from being loaded.

Enterprise T1218 Signed Binary Proxy Execution

Consider using application control to prevent execution of binaries that are susceptible to abuse and not required for a given system or network.

.001 Compiled HTML File

Consider using application control to prevent execution of hh.exe if it is not required for a given system or network to prevent potential misuse by adversaries.

.002 Control Panel

Identify and block potentially malicious and unknown .cpl files by using application control [1] tools, like Windows Defender Application Control[12], AppLocker, [2] [3] or Software Restriction Policies [13] where appropriate. [14]

.003 CMSTP

Consider using application control configured to block execution of CMSTP.exe if it is not required for a given system or network to prevent potential misuse by adversaries.

.004 InstallUtil

Use application control configured to block execution of InstallUtil.exe if it is not required for a given system or network to prevent potential misuse by adversaries.

.005 Mshta

Use application control configured to block execution of mshta.exe if it is not required for a given system or network to prevent potential misuse by adversaries. For example, in Windows 10 and Windows Server 2016 and above, Windows Defender Application Control (WDAC) policy rules may be applied to block the mshta.exe application and to prevent abuse.[20]

.008 Odbcconf

Use application control configured to block execution of Odbcconf.exe if it is not required for a given system or network to prevent potential misuse by adversaries.

.009 Regsvcs/Regasm

Block execution of Regsvcs.exe and Regasm.exe if they are not required for a given system or network to prevent potential misuse by adversaries.

.012 Verclsid

Use application control configured to block execution of verclsid.exe if it is not required for a given system or network to prevent potential misuse by adversaries.

.013 Mavinject

Use application control configured to block execution of mavinject.exe if it is not required for a given system or network to prevent potential misuse by adversaries.

.014 MMC

Use application control configured to block execution of MMC if it is not required for a given system or network to prevent potential misuse by adversaries.

Enterprise T1216 Signed Script Proxy Execution

Certain signed scripts that can be used to execute other programs may not be necessary within a given environment. Use application control configured to block execution of these scripts if they are not required for a given system or network to prevent potential misuse by adversaries.

.001 PubPrn

Certain signed scripts that can be used to execute other programs may not be necessary within a given environment. Use application control configured to block execution of these scripts if they are not required for a given system or network to prevent potential misuse by adversaries.

Enterprise T1553 Subvert Trust Controls

System settings can prevent applications from running that haven't been downloaded through the Apple Store (or other legitimate repositories) which can help mitigate some of these issues. Also enable application control solutions such as AppLocker and/or Device Guard to block the loading of malicious content.

.001 Gatekeeper Bypass

System settings can prevent applications from running that haven't been downloaded through the Apple Store which can help mitigate some of these issues.

.003 SIP and Trust Provider Hijacking

Enable application control solutions such as AppLocker and/or Device Guard to block the loading of malicious SIP DLLs.

.005 Mark-of-the-Web Bypass

Consider blocking container file types at web and/or email gateways. Consider unregistering container file extensions in Windows File Explorer.[21]

Enterprise T1080 Taint Shared Content

Identify potentially malicious software that may be used to taint content or may result from it and audit and/or block the unknown programs by using application control [1] tools, like AppLocker, [2] [3] or Software Restriction Policies [13] where appropriate. [14]

Enterprise T1127 Trusted Developer Utilities Proxy Execution

Certain developer utilities should be blocked or restricted if not required.

.001 MSBuild

Use application control configured to block execution of msbuild.exe if it is not required for a given system or network to prevent potential misuse by adversaries. For example, in Windows 10 and Windows Server 2016 and above, Windows Defender Application Control (WDAC) policy rules may be applied to block the msbuild.exe application and to prevent abuse.[20]

Enterprise T1204 User Execution

Application control may be able to prevent the running of executables masquerading as other files.

.002 Malicious File

Application control may be able to prevent the running of executables masquerading as other files.

Enterprise T1047 Windows Management Instrumentation

Use application control configured to block execution of wmic.exe if it is not required for a given system or network to prevent potential misuse by adversaries. For example, in Windows 10 and Windows Server 2016 and above, Windows Defender Application Control (WDAC) policy rules may be applied to block the wmic.exe application and to prevent abuse.[20]

Enterprise T1220 XSL Script Processing

If msxsl.exe is unnecessary, then block its execution to prevent abuse by adversaries.

References