Detection rules › Sigma

Potential Mpclient.DLL Sideloading

Status
test
Severity
high
Log source
category image_load, product windows
Author
Bhabesh Raj
Source
github.com/SigmaHQ/sigma

Detects potential sideloading of "mpclient.dll" by Windows Defender processes ("MpCmdRun" and "NisSrv") from their non-default directory.

Known false positives

  • Unlikely

MITRE ATT&CK coverage

Telemetry coverage

ProviderRecord / event type
SysmonEvent ID 7: Image loaded

Rule body

title: Potential Mpclient.DLL Sideloading
id: 418dc89a-9808-4b87-b1d7-e5ae0cb6effc
related:
    - id: 7002aa10-b8d4-47ae-b5ba-51ab07e228b9
      type: similar
status: test
description: Detects potential sideloading of "mpclient.dll" by Windows Defender processes ("MpCmdRun" and "NisSrv") from their non-default directory.
references:
    - https://www.sentinelone.com/blog/living-off-windows-defender-lockbit-ransomware-sideloads-cobalt-strike-through-microsoft-security-tool
author: Bhabesh Raj
date: 2022-08-02
modified: 2023-08-04
tags:
    - attack.privilege-escalation
    - attack.persistence
    - attack.execution
    - attack.stealth
    - attack.t1574.001
logsource:
    product: windows
    category: image_load
detection:
    selection:
        ImageLoaded|endswith: '\mpclient.dll'
        Image|endswith:
            - '\MpCmdRun.exe'
            - '\NisSrv.exe'
    filter_main_known_locations:
        Image|startswith:
            - 'C:\Program Files (x86)\Windows Defender\'
            - 'C:\Program Files\Microsoft Security Client\'
            - 'C:\Program Files\Windows Defender\'
            - 'C:\ProgramData\Microsoft\Windows Defender\Platform\'
            - 'C:\Windows\WinSxS\'
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unlikely
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    ImageLoaded|endswith: '\mpclient.dll'
    Image|endswith:
        - '\MpCmdRun.exe'
        - '\NisSrv.exe'

Stage 2: not filter_main_known_locations

filter_main_known_locations:
    Image|startswith:
        - 'C:\Program Files (x86)\Windows Defender\'
        - 'C:\Program Files\Microsoft Security Client\'
        - 'C:\Program Files\Windows Defender\'
        - 'C:\ProgramData\Microsoft\Windows Defender\Platform\'
        - 'C:\Windows\WinSxS\'

Exclusions

The rule actively suppresses these predicates.

FieldKindExcluded valuesSearch
Imagestarts_withC:\Program Files (x86)\Windows Defender\excludes:Image field:"Image" value:"C:\Program Files (x86)\Windows Defender\"
Imagestarts_withC:\Program Files\Microsoft Security Client\excludes:Image field:"Image" value:"C:\Program Files\Microsoft Security Client\"
Imagestarts_withC:\Program Files\Windows Defender\excludes:Image field:"Image" value:"C:\Program Files\Windows Defender\"
Imagestarts_withC:\ProgramData\Microsoft\Windows Defender\Platform\excludes:Image field:"Image" value:"C:\ProgramData\Microsoft\Windows Defender\Platform\"
Imagestarts_withC:\Windows\WinSxS\excludes:Image field:"Image" value:"C:\Windows\WinSxS\"

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Imageends_with
  • \MpCmdRun.exe corpus 4 (sigma 4)
  • \NisSrv.exe corpus 2 (sigma 2)
field:"Image" kind:ends_with
ImageLoadedends_with
  • \mpclient.dll
field:"ImageLoaded" kind:ends_with value:"\mpclient.dll"