Detect AppCert DLLs in Sumo Logic CSE
Adversaries may establish persistence and/or elevate privileges by executing malicious content triggered by AppCert DLLs loaded into processes. Dynamic-link libraries (DLLs) that are specified in the AppCertDLLs Registry key under HKLM\System\CurrentControlSet\Control\Session Manager are loaded into every process that calls the commonly used application programming interface (API) functions CreateProcess, CreateProcessAsUser, CreateProcessWithLoginW, CreateProcessWithTokenW, or WinExec. This provides adversaries a way to have code execute in the security context of every process on the system, including processes with high privilege levels.
MITRE ATT&CK
- Tactic
- Privilege Escalation Persistence
- Technique
- T1546 Event Triggered Execution
- Sub-technique
- T1546.009 AppCert DLLs
- Canonical reference
- https://attack.mitre.org/techniques/T1546/009/
Sumo Detection Query
(_sourceCategory=*windows*sysmon* OR _sourceCategory=*wineventlog* OR _sourceCategory=*winlogbeat*)
| where EventCode in ("12", "13", "14", "7")
| where (
(EventCode in ("12", "13", "14")
and TargetObject matches "*Session Manager*AppCertDlls*")
or
(EventCode = "7"
and toLowerCase(ImageLoaded) matches "*appcert*"
and not (toLowerCase(ImageLoaded) matches "*\\system32\\*"
or toLowerCase(ImageLoaded) matches "*\\syswow64\\*"))
)
| eval DetectionType = if(EventCode in ("12", "13", "14"), "APPCERT_DLL_REGISTERED", "APPCERT_DLL_LOADED")
| eval IsSuspiciousPath = if(
EventCode in ("12", "13", "14")
and not (toLowerCase(Details) matches "*\\windows\\system32\\*"
or toLowerCase(Details) matches "*\\windows\\syswow64\\*"),
"true", "false"
)
| fields _messageTime, Computer, User, EventCode, DetectionType, IsSuspiciousPath, TargetObject, Details, Image, ImageLoaded
| sort by _messageTime desc Detects AppCert DLL persistence using Sysmon events ingested into Sumo Logic. Flags registry create/modify events (Event IDs 12/13/14) targeting the AppCertDlls key, and DLL image load events (Event ID 7) where the loaded path contains 'appcert' but originates from outside system directories. Enriches results with detection type classification and suspicious path flag for analyst triage.
Data Sources
Required Tables
False Positives & Tuning
- Endpoint detection and response (EDR) agents that self-register non-system DLLs in AppCertDlls for behavioral monitoring of process creation chains
- Legacy application compatibility wrappers or shim databases installed by enterprise IT in non-standard paths to support line-of-business applications on modern Windows
- Privileged Access Management (PAM) or session recording software that hooks process creation via AppCertDlls from a vendor installation directory outside Program Files
Other platforms for T1546.009
Testing Methodology
Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Register DLL in AppCertDlls Registry Key
Expected signal: Sysmon Event ID 13: TargetObject=HKLM\System\CurrentControlSet\Control\Session Manager\AppCertDlls\ArgusTestDll, Details=C:\Users\Public\argus_appcert_test.dll. Security Event ID 4657 if registry auditing enabled.
- Test 2Query Existing AppCertDlls Registrations
Expected signal: Process creation for reg.exe with query arguments for the AppCertDlls key. Registry access events if object access auditing is enabled. The output reveals all currently registered DLLs.
- Test 3Create and Register AppCert DLL for Process Injection
Expected signal: File creation event for argus_appcert.dll in Public folder. Sysmon Event ID 13 for AppCertDlls registry key modification. Subsequently, Sysmon Event ID 7 records showing the DLL loaded by various processes that call CreateProcess (e.g., cmd.exe spawning children).
References (4)
- https://attack.mitre.org/techniques/T1546/009/
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1546.009/T1546.009.md
- https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-windows
- https://pentestlab.blog/2019/12/16/persistence-appcert-dlls/
Unlock Pro Content
Get the full detection package for T1546.009 including response playbook, investigation guide, and atomic red team tests.