Detection rules › Splunk

Windows Known Abused DLL Created

Author
Steven Dick
Source
upstream

The following analytic identifies the creation of Dynamic Link Libraries (DLLs) with a known history of exploitation in atypical locations. It leverages data from Endpoint Detection and Response (EDR) agents, focusing on process and filesystem events. This activity is significant as it may indicate DLL search order hijacking or sideloading, techniques used by attackers to execute arbitrary code, maintain persistence, or escalate privileges. If confirmed malicious, this activity could allow attackers to blend in with legitimate operations, posing a severe threat to system integrity and security.

MITRE ATT&CK coverage

TacticTechniques
PersistenceT1574.001 Hijack Execution Flow: DLL
Privilege EscalationT1574.001 Hijack Execution Flow: DLL
Defense EvasionT1574.001 Hijack Execution Flow: DLL

Event coverage

ProviderEvent IDTitle
Sysmon11FileCreate

Stages and Predicates

Stage 1: tstats

tstats WHERE Filesystem.file_name="*.dll" Filesystem.file_path IN ("*\\Windows\Temp\\*", "*\\programdata\\*", "*\\users\\*") BY Filesystem.action, Filesystem.dest, Filesystem.file_access_time, Filesystem.file_create_time, Filesystem.file_hash, Filesystem.file_modify_time, Filesystem.file_name, Filesystem.file_path, Filesystem.file_acl, Filesystem.file_size, Filesystem.process_guid, Filesystem.process_id, Filesystem.user, Filesystem.vendor_product

Stage 2: search

search

Stage 3: lookup

lookup <lookup> comment, desc, file_name, islibrary, library, ttp

Stage 4: lookup

lookup <lookup> excluded, excludes, file_name, file_path, islibrary, library

Stage 5: search

search excluded!=TRUE islibrary=TRUE

Stage 6: where

where isnotnull(file_name)

Stage 7: search

search

Stage 8: search

search

Stage 9: search

search `macro`

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
Filesystem.file_nameeq
  • "*.dll" corpus 3 (splunk 3)
Filesystem.file_pathin
  • "*\\Windows\Temp\\*"
  • "*\\programdata\\*"
  • "*\\users\\*"
excludedne
  • TRUE
islibraryeq
  • TRUE corpus 2 (splunk 2)