Check out the results from our first round of ATT&CK Evaluations at attackevals.mitre.org!

AppCert DLLs

Dynamic-link libraries (DLLs) that are specified in the AppCertDLLs value in the Registry key HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager are loaded into every process that calls the ubiquitously used application programming interface (API) functions: [1]

  • CreateProcess
  • CreateProcessAsUser
  • CreateProcessWithLoginW
  • CreateProcessWithTokenW
  • WinExec

Similar to Process Injection, this value can be abused to obtain persistence and privilege escalation by causing a malicious DLL to be loaded and run in the context of separate processes on the computer.

ID: T1182

Tactic: Persistence, Privilege Escalation

Platform:  Windows

Permissions Required:  Administrator, SYSTEM

Effective Permissions:  Administrator, SYSTEM

Data Sources:  Loaded DLLs, Process monitoring, Windows Registry

Version: 1.0

Examples

NameDescription
Honeybee

Honeybee's service-based DLL implant can execute a downloaded file with parameters specified using CreateProcessAsUser.[2]

PUNCHBUGGY

PUNCHBUGGY can establish using a AppCertDLLs Registry key.[3]

Mitigation

Identify and block potentially malicious software that may be executed through AppCert DLLs by using whitelisting [4] tools, like AppLocker, [5] [6] that are capable of auditing and/or blocking unknown DLLs.

Detection

Monitor DLL loads by processes, specifically looking for DLLs that are not recognized or not normally loaded into a process. Monitor the AppCertDLLs Registry value for modifications that do not correlate with known software, patch cycles, etc. Monitor and analyze application programming interface (API) calls that are indicative of Registry edits such as RegCreateKeyEx and RegSetValueEx. [1]

Tools such as Sysinternals Autoruns may overlook AppCert DLLs as an auto-starting location. [7] [8]

Look for abnormal process behavior that may be due to a process loading a malicious DLL. Data and events should not be viewed in isolation, but as part of a chain of behavior that could lead to other activities, such as making network connections for Command and Control, learning details about the environment through Discovery, and conducting Lateral Movement.

References