Suspicious DLL Loaded for Persistence or Privilege Escalationedit

Identifies the loading of a non Microsoft signed DLL that is missing on a default Windows install (phantom DLL) or one that can be loaded from a different location by a native Windows process. This may be abused to persist or elevate privileges via privileged file write vulnerabilities.

Rule type: eql

Rule indices:

  • winlogbeat-*
  • logs-endpoint.events.*
  • logs-windows.*

Severity: high

Risk score: 73

Runs every: 5 minutes

Searches indices from: now-9m (Date Math format, see also Additional look-back time)

Maximum alerts per execution: 100

References:

Tags:

  • Elastic
  • Host
  • Windows
  • Threat Detection
  • Persistence
  • Privilege Escalation

Version: 6 (version history)

Added (Elastic Stack release): 7.12.0

Last modified (Elastic Stack release): 8.4.0

Rule authors: Elastic

Rule license: Elastic License v2

Investigation guideedit


Rule queryedit

any where (event.category == "library" or (event.category ==
"process" and event.action : "Image loaded*")) and ( /* compatible
with Elastic Endpoint Library Events */ (dll.name : ("wlbsctrl.dll",
"wbemcomn.dll", "WptsExtensions.dll", "Tsmsisrv.dll", "TSVIPSrv.dll",
"Msfte.dll", "wow64log.dll",
"WindowsCoreDeviceInfo.dll", "Ualapi.dll", "wlanhlp.dll",
"phoneinfo.dll", "EdgeGdi.dll", "cdpsgshims.dll",
"windowsperformancerecordercontrol.dll", "diagtrack_win.dll") and
(dll.code_signature.trusted == false or dll.code_signature.exists ==
false)) or /* compatible with Sysmon EventID 7 - Image Load */
(file.name : ("wlbsctrl.dll", "wbemcomn.dll", "WptsExtensions.dll",
"Tsmsisrv.dll", "TSVIPSrv.dll", "Msfte.dll",
"wow64log.dll", "WindowsCoreDeviceInfo.dll", "Ualapi.dll",
"wlanhlp.dll", "phoneinfo.dll", "EdgeGdi.dll",
"cdpsgshims.dll", "windowsperformancerecordercontrol.dll",
"diagtrack_win.dll") and not file.code_signature.status == "Valid")
)

Threat mappingedit

Framework: MITRE ATT&CKTM

Rule version historyedit

Version 6 (8.4.0 release)
  • Updated query, changed from:

    library where dll.name : ( "wlbsctrl.dll", "wbemcomn.dll",
    "WptsExtensions.dll", "Tsmsisrv.dll", "TSVIPSrv.dll",
    "Msfte.dll", "wow64log.dll", "WindowsCoreDeviceInfo.dll",
    "Ualapi.dll", "wlanhlp.dll", "phoneinfo.dll", "EdgeGdi.dll",
    "cdpsgshims.dll", "windowsperformancerecordercontrol.dll",
    "diagtrack_win.dll" ) and not (dll.code_signature.subject_name :
    ("Microsoft Windows", "Microsoft Corporation") and
    dll.code_signature.status : "trusted")
Version 4 (8.3.0 release)
  • Formatting only
Version 3 (8.2.0 release)
  • Formatting only
Version 2 (7.14.0 release)
  • Updated query, changed from:

    library where dll.name : ( "wlbsctrl.dll", "wbemcomn.dll",
    "WptsExtensions.dll", "Tsmsisrv.dll", "TSVIPSrv.dll",
    "Msfte.dll", "wow64log.dll", "WindowsCoreDeviceInfo.dll",
    "Ualapi.dll", "wlanhlp.dll", "phoneinfo.dll", "EdgeGdi.dll",
    "cdpsgshims.dll", "windowsperformancerecordercontrol.dll",
    "diagtrack_win.dll" ) and not (dll.code_signature.subject_name :
    "Microsoft Windows" and dll.code_signature.status : "trusted")