Suspicious Microsoft Diagnostics Wizard Executionedit

Identifies potential abuse of the Microsoft Diagnostics Troubleshooting Wizard (MSDT) to proxy malicious command or binary execution via malicious process arguments.

Rule type: eql

Rule indices:

  • logs-endpoint.events.*
  • winlogbeat-*
  • 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
  • Defense Evasion

Version: 3 (version history)

Added (Elastic Stack release): 8.3.0

Last modified (Elastic Stack release): 8.4.0

Rule authors: Elastic

Rule license: Elastic License v2

Investigation guideedit


Rule queryedit

process where event.type in ("start", "process_started") and
(process.pe.original_file_name == "msdt.exe" or process.name :
"msdt.exe") and ( process.args : ("IT_RebrowseForFile=*", "ms-
msdt:/id", "ms-msdt:-id", "*FromBase64*") or (process.args :
"-af" and process.args : "/skip" and process.parent.name :
("explorer.exe", "cmd.exe", "powershell.exe", "cscript.exe",
"wscript.exe", "mshta.exe", "rundll32.exe", "regsvr32.exe") and
process.args : ("?:\\WINDOWS\\diagnostics\\index\\PCWDiagnostic.xml",
"PCWDiagnostic.xml", "?:\\Users\\Public\\*", "?:\\Windows\\Temp\\*"))
or (process.pe.original_file_name == "msdt.exe" and not
process.name : "msdt.exe" and process.name != null) or
(process.pe.original_file_name == "msdt.exe" and not
process.executable : ("?:\\Windows\\system32\\msdt.exe",
"?:\\Windows\\SysWOW64\\msdt.exe")) )

Threat mappingedit

Framework: MITRE ATT&CKTM

Rule version historyedit

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

    process where event.type in ("start", "process_started") and
    (process.pe.original_file_name == "msdt.exe" or process.name :
    "msdt.exe") and ( process.args : ("IT_RebrowseForFile=*", "ms-
    msdt:/id", "ms-msdt:-id", "*FromBase64*") or (process.args :
    "-af" and process.args : "/skip" and process.parent.name :
    ("explorer.exe", "cmd.exe", "powershell.exe", "cscript.exe",
    "wscript.exe", "mshta.exe", "rundll32.exe", "regsvr32.exe") and
    process.args : ("?:\\WINDOWS\\diagnostics\\index\\PCWDiagnostic.xml",
    "PCWDiagnostic.xml", "?:\\Users\\Public\\*", "?:\\Windows\\Temp\\*"))
    or (process.pe.original_file_name == "msdt.exe" and not
    process.name : "msdt.exe" and process.name != null) or
    (process.pe.original_file_name == "msdt.exe" and not
    process.executable : ("?:\\Windows\\system32\\msdt.exe",
    "?:\\Windows\\SysWOW64\\msdt.exe")) )