Exploitation for Client Execution
Adversaries may exploit software vulnerabilities in client applications to execute code. This includes browser-based exploitation via drive-by compromise or spearphishing links, Office application exploitation through malicious attachments (CVE-2017-11882, CVE-2017-0262, CVE-2021-40444), and third-party application exploitation (Adobe Reader, Flash). These exploits cause vulnerable client software to execute attacker-controlled code, often spawning unexpected child processes or injecting shellcode into memory.
What is T1203 Exploitation for Client Execution?
Exploitation for Client Execution (T1203) maps to the Execution tactic — the adversary is trying to run malicious code in MITRE ATT&CK.
This page provides production-ready detection logic for Exploitation for Client Execution, covering the data sources and telemetry it touches: Process: Process Creation, Microsoft Defender for Endpoint, Command: Command Execution. The queries below are rated critical severity at high confidence, and ship for 7 SIEM platforms — KQL, SPL, Elastic, QRadar, Sumo, YARA-L, LogScale.
MITRE ATT&CK
- Tactic
- Execution
- Technique
- T1203 Exploitation for Client Execution
- Canonical reference
- https://attack.mitre.org/techniques/T1203/
let OfficeApps = dynamic(["winword.exe", "excel.exe", "powerpnt.exe", "outlook.exe", "mspub.exe", "visio.exe", "onenote.exe", "msaccess.exe"]);
let BrowserApps = dynamic(["chrome.exe", "firefox.exe", "msedge.exe", "iexplore.exe", "opera.exe", "brave.exe"]);
let PDFApps = dynamic(["acrord32.exe", "acrobat.exe", "foxit reader.exe", "foxitpdfeditor.exe", "sumatrapdf.exe"]);
let SuspiciousChildren = dynamic([
"cmd.exe", "powershell.exe", "pwsh.exe", "wscript.exe", "cscript.exe",
"mshta.exe", "rundll32.exe", "regsvr32.exe", "certutil.exe", "bitsadmin.exe",
"msbuild.exe", "installutil.exe", "regasm.exe", "regsvcs.exe",
"schtasks.exe", "at.exe", "wmic.exe", "msiexec.exe"
]);
DeviceProcessEvents
| where Timestamp > ago(24h)
| where InitiatingProcessFileName has_any (OfficeApps)
or InitiatingProcessFileName has_any (BrowserApps)
or InitiatingProcessFileName has_any (PDFApps)
| where FileName has_any (SuspiciousChildren)
| extend ExploitVector = case(
InitiatingProcessFileName has_any (OfficeApps), "Office Application",
InitiatingProcessFileName has_any (BrowserApps), "Browser",
InitiatingProcessFileName has_any (PDFApps), "PDF Reader",
"Other"
)
| extend HighRisk = FileName in~ ("powershell.exe", "pwsh.exe", "mshta.exe", "regsvr32.exe", "rundll32.exe", "wscript.exe", "cscript.exe")
| project Timestamp, DeviceName, AccountName, ExploitVector,
InitiatingProcessFileName, InitiatingProcessCommandLine,
FileName, ProcessCommandLine, FolderPath, HighRisk,
InitiatingProcessParentFileName
| sort by Timestamp desc Detects client application exploitation by identifying suspicious child process spawning from Office applications, browsers, and PDF readers. Monitors for exploitation payloads including CVE-2017-11882 (Equation Editor), CVE-2021-40444 (MSHTML), and browser exploit chains that spawn cmd.exe, PowerShell, LOLBins, or scripting engines. Flags high-risk child processes for prioritization.
Data Sources
Required Tables
False Positives
- Office macros legitimately launching PowerShell or cmd.exe for automation tasks (SCCM, IT scripts embedded in documents)
- Browser helper objects or extensions that spawn child processes for download handling or media playback
- PDF readers launching external viewers or handlers for embedded attachments (e.g., opening an Excel file embedded in a PDF)
- Equation Editor (eqnedt32.exe) being spawned during legitimate document rendering on older Office versions
- Developer tools or IDE integrations within browsers that spawn terminal processes
Sigma rule & cross-platform mapping
The detection logic for Exploitation for Client Execution (T1203) above is provided in a vendor-neutral
form so you can deploy it on any SIEM. The same logic is shipped here as native
KQL (Microsoft Sentinel / Defender), SPL (Splunk), Elastic (Elastic Security (EQL)), QRadar (IBM QRadar (AQL)), Sumo (Sumo Logic CSE), YARA-L (Google Chronicle / SecOps), LogScale (CrowdStrike LogScale (CQL)) queries. In Sigma terms, this detection targets the
following logsource:
logsource:
category: process_creation
product: windows Browse the community-maintained Sigma rules for this technique:
Platform-specific guides for T1203
References (7)
- https://attack.mitre.org/techniques/T1203/
- https://msrc.microsoft.com/update-guide/vulnerability/CVE-2017-11882
- https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-40444
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1203/T1203.md
- https://www.mandiant.com/resources/blog/evasive-attacker-leverages-solarwinds-supply-chain-compromises-with-sunburst-backdoor
- https://github.com/SigmaHQ/sigma/tree/master/rules/windows/process_creation
- https://www.sentinelone.com/blog/agent-tesla-old-rat-uses-new-tricks-to-stay-on-top/
Testing Methodology
Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Simulate Office Exploitation — Equation Editor Child Process
Expected signal: Sysmon Event ID 1: Process Create with ParentImage containing eqnedt32.exe and Image=cmd.exe. Security Event ID 4688 with similar parent/child relationship if command line auditing enabled.
- Test 2Office Application Spawning PowerShell via Macro Simulation
Expected signal: Sysmon Event ID 1: Process Create chain showing cmd.exe spawning powershell.exe. The detection focuses on the child process spawning pattern. PowerShell ScriptBlock Log Event ID 4104 will record the Write-Output command.
- Test 3Browser Renderer Process Spawning Cmd
Expected signal: Sysmon Event ID 1: Process Create for cmd.exe with subsequent net.exe and whoami.exe child processes. This represents the reconnaissance commands commonly executed immediately following successful browser exploitation.
- Test 4Mshta Spawned from Office Context (CVE-2021-40444 Pattern)
Expected signal: Sysmon Event ID 1: Process Create for mshta.exe. In real exploitation this process would have a parent of winword.exe or excel.exe. Security Event ID 4688 will also record the mshta.exe launch with command line arguments.
Unlock Pro Content
Get the full detection package for T1203 including response playbook, investigation guide, and atomic red team tests.