LoFP LoFP / third-party security products or custom av-integration tooling that legitimately calls into the defender client api may load mpclient.dll outside the defender platform directories. filter as necessary for your environment.

Techniques

Sample rules

Windows Defender MpClient.dll Loaded by Non-Defender Process

Description

The following analytic detects mpclient.dll, the Windows Defender client API library, being loaded by a process that is not part of the Windows Defender platform. mpclient.dll exposes the API surface used to drive on-demand Defender scans (IOAV, MpScan). In the ShieldBreak exploit, the attacker binary loads mpclient.dll directly and calls its scan APIs against an object-manager path in order to trigger a Defender scan against attacker-controlled content as part of a race condition targeting Defender’s placeholder-hydration behavior. If confirmed malicious, this activity indicates an attempt to weaponize Windows Defender’s own scanning pipeline for local privilege escalation.

Detection logic


| tstats `security_content_summariesonly`
  count min(_time) as firstTime
        max(_time) as lastTime
from datamodel=Endpoint.Processes where

Processes.loaded_file="mpclient.dll"
NOT Processes.user IN ("* SERVICE", "SYSTEM")
NOT Processes.process_path="*\MpCmdRun.exe"
Processes.process_path IN (
    "*:\\AppData\\Local\\Temp\\*",
    "*:\\Perflogs\\*",
    "*:\\ProgramData\\*",
    "*:\\Temp\\*",
    "*:\\Users\\*",
    "*:\\Windows\\Tasks\\*"
)
by Processes.action Processes.dest Processes.original_file_name Processes.parent_process
   Processes.parent_process_exec Processes.parent_process_guid Processes.parent_process_id
   Processes.parent_process_name Processes.parent_process_path Processes.loaded_file Processes.process
   Processes.process_exec Processes.process_guid Processes.process_hash Processes.process_id
   Processes.process_integrity_level Processes.process_name Processes.process_path
   Processes.user Processes.user_id Processes.vendor_product


| `drop_dm_object_name(Processes)`

| `security_content_ctime(firstTime)`

| `security_content_ctime(lastTime)`

| `windows_defender_mpclient_dll_loaded_by_non_defender_process_filter`