|T1546.001||Change Default File Association|
|T1546.003||Windows Management Instrumentation Event Subscription|
|T1546.004||Unix Shell Configuration Modification|
|T1546.007||Netsh Helper DLL|
|T1546.012||Image File Execution Options Injection|
|T1546.015||Component Object Model Hijacking|
Adversaries may establish persistence and/or elevate privileges by executing malicious content triggered by AppInit DLLs loaded into processes. Dynamic-link libraries (DLLs) that are specified in the
AppInit_DLLs value in the Registry keys
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows or
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows are loaded by user32.dll into every process that loads user32.dll. In practice this is nearly every program, since user32.dll is a very common library. 
Similar to Process Injection, these values can be abused to obtain elevated privileges by causing a malicious DLL to be loaded and run in the context of separate processes on the computer.  Malicious AppInit DLLs may also provide persistence by continuously being triggered by API activity.
The AppInit DLL functionality is disabled in Windows 8 and later versions when secure boot is enabled. 
Some variants of Cherry Picker use AppInit_DLLs to achieve persistence by creating the following Registry key:
If a victim meets certain criteria, T9000 uses the AppInit_DLL functionality to achieve persistence by ensuring that every user mode process that is spawned will load its malicious DLL, ResN32.dll. It does this by creating the following Registry keys:
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  tools, like Windows Defender Application Control, AppLocker,   or Software Restriction Policies  where appropriate. 
Upgrade to Windows 8 or later and enable secure boot.
|ID||Data Source||Data Component||Detects|
Monitor executed commands and arguments that may establish persistence and/or elevate privileges by executing malicious content triggered by AppInit DLLs loaded into processes.
Monitor DLL loads by processes that load user32.dll and look for DLLs that are not recognized or not normally loaded into a process.
|DS0009||Process||OS API Execution||
Monitor and analyze application programming interface (API) calls that are indicative of Registry edits such as
Monitor newly executed processes that may establish persistence and/or elevate privileges by executing malicious content triggered by AppInit DLLs loaded into processes.
|DS0024||Windows Registry||Windows Registry Key Modification||
Monitor the AppInit_DLLs Registry values for modifications that do not correlate with known software, patch cycles, etc.