Detect DLL in Sumo Logic CSE
Adversaries may abuse dynamic-link library (DLL) mechanisms to achieve persistence, privilege escalation, and defense evasion. Techniques include DLL search order hijacking (planting a malicious DLL earlier in the search path), DLL side-loading (placing a malicious DLL alongside a legitimate signed executable), phantom DLL hijacking (targeting references to non-existent DLLs), DLL substitution (replacing a valid DLL), and DLL redirection (using .manifest or .local files). Groups including Chimera, TONESHELL/Mustang Panda, Velvet Ant, APT41, and Aquatic Panda have extensively used these techniques to load malicious payloads under trusted process contexts.
MITRE ATT&CK
- Technique
- T1574 Hijack Execution Flow
- Sub-technique
- T1574.001 DLL
- Canonical reference
- https://attack.mitre.org/techniques/T1574/001/
Sumo Detection Query
(_sourceCategory="windows/sysmon" OR _sourceCategory="*sysmon*") EventID=7
| parse "<Image>*</Image>" as loader_image
| parse "<ImageLoaded>*</ImageLoaded>" as loaded_dll
| parse "<Signed>*</Signed>" as signed
| parse "<SignatureStatus>*</SignatureStatus>" as signature_status
| parse "<Hashes>*</Hashes>" as hashes
| parse "<User>*</User>" as user
| where (matches(toLowerCase(loaded_dll), ".*\\appdata\\.*") OR matches(toLowerCase(loaded_dll), ".*\\programdata\\.*") OR matches(toLowerCase(loaded_dll), ".*\\users\\public\\.*") OR matches(toLowerCase(loaded_dll), ".*\\windows\\temp\\.*"))
| where (matches(toLowerCase(loader_image), ".*\\windows\\system32\\.*") OR matches(toLowerCase(loader_image), ".*\\windows\\syswow64\\.*") OR matches(toLowerCase(loader_image), ".*\\program files.*"))
| where (signed="false" OR (signed="true" AND signature_status!="Valid"))
| eval unsigned_dll = if(signed="false", "Yes", "No")
| eval mismatched_sig = if(signed="true" AND signature_status!="Valid", "Yes", "No")
| fields _messagetime, _sourceHost, user, loader_image, loaded_dll, signed, signature_status, hashes, unsigned_dll, mismatched_sig
| sort by _messagetime desc Detects DLL search order hijacking and side-loading in Sumo Logic by parsing Sysmon Event 7 (ImageLoad) fields to identify when a trusted process from System32 or Program Files loads an unsigned or invalidly-signed DLL from a suspicious user-writable path. This pattern is characteristic of T1574.001 DLL hijacking used by threat groups including APT41 and Mustang Panda.
Data Sources
Required Tables
False Positives & Tuning
- Legitimate portable applications that store their DLL dependencies in AppData\Roaming and are launched by a process that resides in Program Files
- Software update mechanisms that download and stage unsigned DLLs in Temp directories before a privileged parent process loads them
- Game clients or creative software with third-party unsigned plugins loaded from user profile directories under a signed launcher process
Other platforms for T1574.001
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 1DLL Search Order Hijacking via Phantom DLL
Expected signal: Sysmon Event ID 11 (FileCreate): Target file path containing 'dll-hijack-test\cryptsp.dll'. Sysmon Event ID 7 (ImageLoad) if the DLL is loaded. Process creation events showing calc.exe running from a non-standard path.
- Test 2DLL Side-Loading with Legitimate Signed Binary
Expected signal: Sysmon Event ID 11 (FileCreate): Legitimate executable copied to TEMP directory. Sysmon Event ID 1 (Process Create): Process launched from TEMP instead of its legitimate System32 home. File creation events in the temp directory.
- Test 3DLL Redirection via .local File
Expected signal: Sysmon Event ID 11 (FileCreate): .local file created alongside a legitimate executable copy. The presence of [executable].local causes Windows to prioritize the application's directory for all DLL searches, enabling DLL hijacking of any DLL that calc.exe imports.
References (7)
- https://attack.mitre.org/techniques/T1574/001/
- https://unit42.paloaltonetworks.com/dll-hijacking-techniques/
- https://www.crowdstrike.com/en-us/blog/4-ways-adversaries-hijack-dlls/
- https://www.wietzebeukema.nl/blog/hijacking-dlls-in-windows
- https://www.hexacorn.com/blog/2013/12/08/beyond-good-ol-run-key-part-5/
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1574.001/T1574.001.md
- https://learn.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order
Unlock Pro Content
Get the full detection package for T1574.001 including response playbook, investigation guide, and atomic red team tests.