Has executed OLE objects using Microsoft Equation Editor to download and run malicious payloads.1
Dynamic Data Exchange T1559.002
- Tactic
- Execution
- Platform
- Windows
- Version
- 1.4
- Created
- 12 February 2020
- Last modified
- 24 October 2025
Adversaries may use Windows Dynamic Data Exchange (DDE) to execute arbitrary commands. DDE is a client-server protocol for one-time and/or continuous inter-process communication (IPC) between applications. Once a link is established, applications can autonomously exchange transactions consisting of strings, warm data links (notifications when a data item changes), hot data links (duplications of changes to a data item), and requests for command execution.
Dynamic Data Exchange MITRE reference T1559.002
11 groups have been recorded using this technique. Newest first; each entry carries MITRE’s procedure text and a link to the group’s full record. Click a name to filter the rules below.
Has used the ActiveXObject utility to create OLE objects to obtain execution through Internet Explorer.12
Has leveraged malicious Word documents that abused DDE.1
Attempted to exploit Microsoft’s DDE protocol in order to gain access to victim machines and for execution.1
Has sent malicious Word OLE compound documents to victims.1
Has used Windows DDE for execution of commands and a malicious VBS.1
All 11 groups for this technique · 6 newest in this preview
1 campaign has been recorded using this technique. Listed newest first; dates are year-granularity and attribution is MITRE’s.
During Operation Sharpshooter, threat actors sent malicious Word OLE documents to victims.1
All 1 campaigns for this technique
8 software entries are documented implementing this technique. MITRE files each as a tool or as malware; newest first, then by how many groups carry them.
Can execute tasks via OLE.1
Has been delivered using OLE objects in malicious documents.1
Was delivered with documents using DDE to execute malicious code.1
Has used an OLE object that uses Equation Editor to drop the embedded shellcode.1
Uses the Dynamic Data Exchange (DDE) protocol to download remote payloads.1
Has been delivered via Word documents using DDE for execution.1
All 8 software entries for this technique · 6 newest in this preview
Offense vs defense T1559.002
Is defensive coverage keeping up with adversary use? Eight counts, each ranked against all 697 ATT&CK techniques. Attack sits left, defense right, so a shape leaning left means adversaries are better documented here than defenders are equipped. Hover any spoke for its percentile and the share of techniques that have more. The timeline below shows when each side arrived.
How it got here
Adversary activity (campaign spans) over cumulative rule output. Each source is plotted independently from zero, so neither line includes the other. Campaign dates are year-granularity.
Dynamic Data Exchange detection strategy DET0504
MITRE names one behaviour worth catching for this technique and breaks it into 1 analytic, one per platform. Each carries the log sources it needs and the fields you tune per environment.
Detect Abuse of Dynamic Data Exchange (T1559.002)
AN1393 · Windows
Detects anomalous use of Dynamic Data Exchange (DDE) for code execution, such as Office applications (WINWORD.EXE, EXCEL.EXE) spawning command interpreters, or loading unusual modules through DDEAUTO/DDE formulas. Correlates suspicious parent-child process relationships, registry keys enabling DDE, and module loads inconsistent with normal Office usage.
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| Module LoadDC0016 | WinEventLog:Sysmon | EventCode=7 |
| Process CreationDC0032 | WinEventLog:Sysmon | EventCode=1 |
| Windows Registry Key AccessDC0050 | WinEventLog:Security | EventCode=4663, 4670, 4656 |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| AllowedParentChildPairs | Define legitimate parent-child relationships for Office processes to reduce false positives. |
| TimeWindow | Threshold for correlating Office process creation with subsequent command execution via DDE. |
| SuspiciousDLLList | Maintain allow/block list of DLLs that Office is expected to load. |
Adversaries may use Windows Dynamic Data Exchange (DDE) to execute arbitrary commands. DDE is a client-server protocol for one-time and/or continuous inter-process communication (IPC) between applications. Once a link is established, applications can autonomously exchange transactions consisting of strings, warm data links (notifications when a data item changes), hot data links (duplications of changes to a data item), and requests for command execution.
D3FEND techniques
The defensive countermeasure this analytic implements, in MITRE’s D3FEND ontology.
| ID | Name |
|---|---|
| D3-PSA | Process Spawn Analysis |
Data model references
The CAR data model objects, actions and fields the logic reads. Map these to your own schema before implementing.
| Object | Action | Field |
|---|---|---|
| process | create | command_line |
Implementations
Pseudocode is the canonical logic; the rest are CAR’s translations into vendor query languages.
This Splunk query looks for any executable invocations from an Excel file.
index = __your_sysmon__index__ (ParentImage="*excel.exe" OR ParentImage="*word.exe" OR ParentImage="*outlook.exe") Image="*.exe"
This Splunk query looks for any executable invocations from an Excel file.
processes = search Process:Create
target_processes = filter processes where (
(parent_image="*excel.exe" OR parent_image="*word.exe" OR parent_image="*outlook.exe")
AND image="*.exe"
)
Ensure Protected View is enabled.
On Windows 10, enable Attack Surface Reduction (ASR) rules to prevent DDE attacks and spawning of child processes from Office programs.
Registry keys specific to Microsoft Office feature control security can be set to disable automatic DDE/OLE execution. Microsoft also created, and enabled by default, Registry keys to completely disable DDE execution in Word and Excel.
Consider disabling embedded files in Office programs, such as OneNote, that do not work with Protected View.
| # | Test | Platform | Executor | Elevation | Prereqs | Cleanup | Ref | |
|---|---|---|---|---|---|---|---|---|
| 01 | Execute Commands | windows | manual | — | — | — | ||
Executes commands via DDE using Microsfot Word Attack command No command — this test is a manual procedure. GUID196ed548-2001-4527-8b1e-b2f798a598df | ||||||||
| 02 | Execute PowerShell script via Word DDE | windows | cmd | — | — | — | ||
When the word document opens it will prompt the user to click ok on a dialogue box, then attempt to run PowerShell with DDEAUTO to download and execute a powershell script Attack command start "$PathToAtomicsFolder\T1559.002\bin\DDE_Document.docx" GUID7d3ed679-603b-4c10-a99b-219a8a7b70df | ||||||||
| 03 | DDEAUTO | windows | manual | — | — | — | ||
TrustedSec - Unicorn - https://github.com/trustedsec/unicorn SensePost DDEAUTO - https://sensepost.com/blog/2017/macro-less-code-exec-in-msword/ Word VBA Macro Dragon's Tail Attack command No command — this test is a manual procedure. GUID244bf403-ad6b-4357-82fe-1dacd0f19cf7 | ||||||||
Tests from Atomic Red Team (MIT licence) · technique definition