Adversary Models: MITRE ATT&CK and Related Frameworks
- Adversary Models: MITRE ATT&CK and Related Frameworks
Why model the adversary?
Adversary modeling frameworks give analysts a shared vocabulary for describing attacker behavior. Without a common language, one analyst’s “lateral movement” is another’s “network pivot,” and correlating findings across cases, tools, and teams becomes impossible. These frameworks exist at two levels: kill chains describe the sequence of an intrusion from first contact to mission completion, while technique catalogs like ATT&CK describe the specific actions an adversary takes at each stage.
This page covers the major frameworks and how to apply them in both digital forensics investigations and malware reverse engineering.
ℹ️ These frameworks are complementary, not competing. A real analysis uses the Kill Chain to describe the arc, the Diamond Model to track actors and infrastructure, and ATT&CK to label every specific technique observed. Keep that division of labor in mind as you read.
The Cyber Kill Chain
Lockheed Martin introduced the Cyber Kill Chain in 2011, borrowing the military concept of a “kill chain” — a series of steps that must all complete for an attack to succeed. Disrupting any single link breaks the chain.
The Seven Phases
Reconnaissance → Weaponization → Delivery → Exploitation
→ Installation → C2 → Actions on Objectives
| Phase | Description | Example |
|---|---|---|
| Reconnaissance | Research the target: people, infrastructure, software | LinkedIn scraping, Shodan scans, WHOIS lookups |
| Weaponization | Combine an exploit with a backdoor into a deliverable payload | Malicious macro in a Word document |
| Delivery | Transmit the weaponized payload to the victim | Spear-phishing email, watering-hole website |
| Exploitation | Trigger code execution on the target system | CVE-2024-XXXX in a browser or Office |
| Installation | Install persistent malware on the system | Drop a DLL into %APPDATA%, add a Run key |
| Command and Control (C2) | Establish outbound channel to the attacker | HTTPS beacon to a domain fronted CDN |
| Actions on Objectives | Accomplish the mission | Exfiltrate data, encrypt for ransom, pivot to OT network |
Strengths and Limitations
Strengths:
- Simple mental model; easy to explain to non-technical stakeholders
- Each phase is a defensive opportunity: block delivery and exploitation never happens
- Maps well to perimeter-centric defenses
Limitations:
- Linear — doesn’t capture adversaries who cycle back or operate in parallel
- No coverage of insider threats or supply chain attacks (no initial delivery needed)
- Does not describe how any phase is accomplished (no technique detail)
- Reconnaissance (phase 1) often happens entirely outside the defender’s visibility
The Kill Chain answers “where in the attack are we?” It does not answer “exactly what did the attacker do?”
The Diamond Model of Intrusion Analysis
Developed by Caltagirone, Pendergast, and Betz (2013), the Diamond Model is built on the observation that every intrusion event has exactly four features: an adversary uses a capability over infrastructure against a victim. These four features form the corners of a diamond, with edges representing their relationships.
Adversary
/ \
Capability ─── Infrastructure
\ /
Victim
The Four Features
| Feature | Definition | Examples |
|---|---|---|
| Adversary | The actor responsible for the event | A threat group, a nation-state, a criminal org; often initially unknown |
| Capability | The tool or technique used | A specific exploit, a piece of malware, a credential-stuffing script |
| Infrastructure | The physical and logical resources the adversary uses | C2 domains, IP addresses, compromised relay nodes |
| Victim | The target of the event | An organization, a specific host, a user account |
Meta-Features
Each diamond can be annotated with meta-features:
- Timestamp — when the event occurred
- Phase — Kill Chain phase
- Result — success, failure, unknown
- Direction — adversary-to-victim or victim-to-adversary (C2 check-in vs. exfil)
- Methodology — category of technique (social engineering, exploit, brute force)
- Resources — what the adversary needed (specific software version, inside knowledge)
Activity Threads and Campaigns
A single diamond represents a single event. Connecting diamonds over time builds an activity thread — the sequence of events in a single intrusion. Grouping threads that share a common adversary or infrastructure creates a campaign. This is how forensic investigators and threat intelligence teams pivot from “one infected host” to “this is APT29.”
Event 1 Event 2 Event 3
[Phishing email] → [Macro execution] → [Beacon to C2]
Same victim Same victim Same adversary infra
─────────────── activity thread ──────────────────────────▶
Diamond Model in Practice
For forensics:
- Start with what you know: the victim (infected host) and the capability (malware hash found on disk).
- Pivot to infrastructure: what IP/domain did the malware contact? Who else has reported that IP?
- Pivot to adversary: does the infrastructure overlap with known threat groups in threat intelligence feeds?
For malware analysis:
- The capability (your sample) is the center of the analysis.
- Reverse engineering reveals infrastructure (hard-coded C2s, domains).
- Behavioral analysis reveals victim targeting (targeted file extensions, geographic checks, specific process names killed).
MITRE ATT&CK
ATT&CK (Adversarial Tactics, Techniques, and Common Knowledge) is a globally accessible knowledge base of adversary behavior. MITRE began building it in 2013 from observations of real intrusions against real organizations. It is the current industry standard for technique-level threat description.
Structure
ATT&CK is organized as a three-level hierarchy:
Tactic (the adversary's goal — the "why")
└── Technique (how they achieve the goal — the "what")
└── Sub-technique (a more specific implementation)
A Tactic is a high-level objective: Persistence, Lateral Movement, Exfiltration. There are 14 tactics in the Enterprise matrix.
A Technique is a specific approach to achieving a tactic. Each technique has a T-number: T1059 is Command and Scripting Interpreter.
A Sub-technique refines the technique: T1059.001 is PowerShell, T1059.003 is Windows Command Shell. Sub-techniques share the parent’s T-number with a decimal suffix.
Each technique entry includes:
- Plain-language description
- Known procedure examples (real-world usage by named groups)
- Detection guidance (what evidence to look for)
- Mitigation guidance
- References to source reporting
The Three Matrices
| Matrix | Scope | Tactics |
|---|---|---|
| Enterprise | Windows, macOS, Linux, cloud, containers, network | 14 tactics, 200+ techniques |
| Mobile | Android and iOS | 14 tactics, focused on mobile-specific abuse |
| ICS | Industrial Control Systems | 12 tactics, covers OT/SCADA-specific techniques |
The Enterprise matrix is the most commonly used. It covers the full intrusion lifecycle from initial access through impact.
Enterprise Tactics
| ID | Tactic | Description |
|---|---|---|
| TA0043 | Reconnaissance | Gather information before the attack |
| TA0042 | Resource Development | Acquire infrastructure and capabilities |
| TA0001 | Initial Access | Enter the environment |
| TA0002 | Execution | Run malicious code |
| TA0003 | Persistence | Maintain a foothold |
| TA0004 | Privilege Escalation | Gain higher-level permissions |
| TA0005 | Defense Evasion | Avoid detection |
| TA0006 | Credential Access | Steal credentials |
| TA0007 | Discovery | Learn about the environment |
| TA0008 | Lateral Movement | Move through the network |
| TA0009 | Collection | Gather data of interest |
| TA0011 | Command and Control | Communicate with compromised systems |
| TA0010 | Exfiltration | Steal data |
| TA0040 | Impact | Manipulate, interrupt, or destroy |
Reading a Technique Entry
Take T1055 — Process Injection:
- Tactic: Defense Evasion, Privilege Escalation
- Description: Adversaries inject code into other processes to evade process-based defenses and elevate privileges.
- Sub-techniques:
.001DLL Injection,.002PE Injection,.003Thread Execution Hijacking,.004Asynchronous Procedure Call,.012Process Hollowing,.013Process Doppelgänging, and more. - Procedure examples: lists specific malware families and APT groups observed using this technique.
- Detection: Look for
CreateRemoteThread, unusual cross-process memory writes, modules loaded from unexpected paths. - Mitigations: Privileged process protection, behavior-based AV, limited
SeDebugPrivilege.
The ATT&CK Navigator
The Navigator is a web-based tool for visualizing and annotating the ATT&CK matrix. Access it at https://mitre-attack.github.io/attack-navigator/.
Core workflows:
Threat actor profiling — Load a pre-built layer for a known group (e.g., APT29, FIN7) to see which techniques they are known to use. Compare two groups to find overlap.
Incident annotation — Start a blank layer and color techniques as you find them during an investigation. Red = confirmed, yellow = suspected, green = ruled out.
Coverage gap analysis — Load your detection layer and your threat-actor layer side by side. Techniques in the actor layer but not your detection layer are blind spots.
Exporting — Layers export as JSON (for sharing) or SVG/PNG (for reports).
MITRE D3FEND
D3FEND is ATT&CK’s counterpart for defenders. Where ATT&CK catalogs what attackers do, D3FEND catalogs what defenders can do to detect, harden against, isolate, deceive, or evict threats. Each defensive technique is linked to the ATT&CK offensive techniques it counters.
Structure
D3FEND organizes defensive techniques into five top-level categories:
| Category | Description |
|---|---|
| Harden | Reduce the attack surface before an attack occurs |
| Detect | Identify adversary activity while it is happening |
| Isolate | Contain an adversary’s movement and access |
| Deceive | Misdirect the adversary; gather intelligence on their actions |
| Evict | Remove the adversary from the environment |
Example mapping:
| ATT&CK Technique | D3FEND Counter |
|---|---|
| T1059 — Command and Scripting Interpreter | D3-PSEP — Process Spawn Analysis; Script Execution Analysis |
| T1055 — Process Injection | D3-PA — Process Analysis; System Call Analysis |
| T1003 — OS Credential Dumping | D3-UBA — User Behavior Analysis; Credential Hardening |
| T1071 — App Layer Protocol (C2) | D3-NTA — Network Traffic Analysis; DNS Allowlisting |
The D3FEND knowledge base is at https://d3fend.mitre.org/.
MITRE ENGAGE
ENGAGE is a framework for adversary engagement — actively using deception, denial, and disruption to interfere with the adversary while gathering intelligence about them. It sits between pure defense (D3FEND) and offensive counter-operations.
Goals
| Goal | Description |
|---|---|
| Expose | Surface adversary TTPs through deliberate baiting |
| Affect | Degrade the adversary’s capability or confidence |
| Elicit | Cause the adversary to reveal information or capabilities |
Practical Applications
- Honeypots and honeynets: Deploy realistic-looking systems with no legitimate users. Any access is malicious by definition.
- Honeyfiles and honeytokens: Plant files with unique canary tokens embedded. When accessed or exfiltrated, an alert fires. Useful for detecting data theft and tracking where stolen data ends up.
- Credential lures: Create fake service accounts. Any login attempt using those credentials is an indicator of compromise.
- Manipulation: Feed false data to an adversary who is already inside (deception operations). Requires care and legal consideration.
ENGAGE is most relevant in mature security programs; most students will encounter it in threat intelligence and red team contexts rather than standard SOC work.
The Unified Kill Chain
The Unified Kill Chain (UKC), developed by Paul Pols (2017), merges the Lockheed Kill Chain with ATT&CK tactics into a single 18-phase model. It was designed to address the linearity problem of the original Kill Chain: real intrusions cycle through phases repeatedly and often involve multiple independent chains.
Three Macro-Phases
┌─────────────────────────────────┐
│ IN (Initial Foothold) │ Reconnaissance through Persistence
│ THROUGH (Network Propagation) │ Pivoting through the internal network
│ OUT (Action on Objectives) │ Collection through Impact
└─────────────────────────────────┘
The UKC acknowledges that an adversary may complete the “IN” chain multiple times (redundant footholds), and that “THROUGH” may involve multiple waves of lateral movement before “OUT” begins.
18 Phases (abbreviated)
| Phase | Macro | ATT&CK Tactic Alignment |
|---|---|---|
| Reconnaissance | IN | TA0043 |
| Weaponization | IN | TA0042 |
| Delivery | IN | TA0001 |
| Social Engineering | IN | TA0001 |
| Exploitation | IN | TA0002 |
| Persistence | IN | TA0003 |
| Defense Evasion | IN | TA0005 |
| Command and Control | IN | TA0011 |
| Pivoting | THROUGH | TA0008 |
| Discovery | THROUGH | TA0007 |
| Privilege Escalation | THROUGH | TA0004 |
| Credential Access | THROUGH | TA0006 |
| Lateral Movement | THROUGH | TA0008 |
| Collection | OUT | TA0009 |
| Exfiltration | OUT | TA0010 |
| Impact | OUT | TA0040 |
The UKC is less widely adopted than ATT&CK alone but is useful for threat modeling complex intrusions where a simple linear kill chain misrepresents the activity.
Applying the Frameworks
In Digital Forensics Investigations
Forensic investigations work backward: you start from artifacts and reconstruct what happened. The frameworks provide structure for that reconstruction.
Evidence → Technique → Tactic → Campaign
Evidence ATT&CK Annotation
───────────────────────────── ──────────────────────────────────
Scheduled task in HKLM\...\Run T1053.005 — Scheduled Task/Job
LSASS minidump in C:\Windows\Temp T1003.001 — LSASS Memory
Prefetch for powershell.exe T1059.001 — PowerShell
Base64 in PowerShell ScriptBlock T1027.010 — Obfuscated Files
DNS query for *.onion gateway T1090.003 — Multi-hop Proxy
Timeline reconstruction by tactic: Once you have ATT&CK annotations on each artifact, group them by tactic. The temporal ordering within each tactic group reveals the attack progression.
| Time | Artifact | Technique | Tactic |
|---|---|---|---|
| T+0:00 | outlook.exe spawns cmd.exe | T1566.001 | Initial Access |
| T+0:02 | cmd.exe runs certutil -decode | T1140 | Defense Evasion |
| T+0:03 | payload.exe appears in %TEMP% | T1105 | Command and Control |
| T+0:05 | payload.exe queries beacon domain | T1071.001 | C2 |
| T+0:12 | payload.exe reads LSASS | T1003.001 | Credential Access |
Diamond Model integration: Each event in the timeline becomes a diamond. Pivot from the capability (malware) to infrastructure (C2 domain) to attribution (threat actor). Infrastructure overlaps between this case and prior reports are how forensic investigators link campaigns.
Reporting to non-technical stakeholders: Kill Chain phase labels translate technical findings into business-risk terms. “The attacker was in the Installation phase; they had persistence but had not yet reached lateral movement” is more useful to leadership than a list of registry keys.
In Malware Analysis
Static and dynamic analysis generate observations. ATT&CK technique IDs turn those observations into a structured, shareable report.
Build the technique list as you analyze:
| Analysis finding | Technique |
|---|---|
Import of CreateRemoteThread in IAT |
T1055.001 — DLL Injection |
String cmd /c whoami decoded at runtime |
T1059.003 — Windows Command Shell |
Registry write to HKCU\...\Run |
T1547.001 — Registry Run Keys |
| Connects to 185.x.x.x:443, self-signed cert | T1071.001 — Web Protocols |
| Sleeps 60s, then checks in (repeating) | T1029 — Scheduled Transfer |
Calls GetTickCount twice to detect sandbox |
T1497.003 — Time Based Evasion |
Process name list checked against tasklist.exe |
T1057 — Process Discovery |
Annotate in the Navigator: Color each confirmed technique. Export the layer as JSON and include it in the analysis report. This makes the report immediately comparable to other reports using the same sample family or the same threat actor.
Look up known procedure examples: Once you suspect a malware family, find it in ATT&CK’s software catalog. Every technique that family is known to use appears there. Use this to guide further analysis — if your sample is suspected Emotet and you haven’t found its persistence mechanism yet, the ATT&CK entry for Emotet tells you where to look.
Threat Intelligence Integration
ATT&CK is the lingua franca of structured threat intelligence. STIX (Structured Threat Information Expression) is the serialization format used to exchange it:
- STIX 2.1 objects represent ATT&CK techniques, threat actors, campaigns, malware, and relationships between them.
- TAXII (Trusted Automated eXchange of Intelligence Information) is the transport protocol for STIX data.
- Feeds like MISP, OpenCTI, and commercial TIPs ingest STIX/TAXII and automatically link IOCs to ATT&CK techniques.
This means: a domain your malware contacted may already be tagged in a MISP instance as infrastructure for a known campaign, with all associated techniques pre-populated.
Framework Comparison
| Framework | Granularity | Primary Use | Perspective |
|---|---|---|---|
| Cyber Kill Chain | Phase (7) | Incident response, detection gap analysis | Defender |
| Diamond Model | Event (unlimited) | Attribution, campaign tracking | Investigator |
| MITRE ATT&CK | Technique (200+) | Detection engineering, malware analysis, reporting | Both |
| Unified Kill Chain | Phase (18) | Threat modeling complex intrusions | Defender |
| D3FEND | Defensive technique | Countermeasure mapping | Defender |
| ENGAGE | Engagement activity | Deception, threat intelligence collection | Active defender |
These are complementary, not competing. A complete analysis uses all of them:
- Kill Chain to describe the campaign arc
- Diamond Model to track actors and infrastructure
- ATT&CK to annotate every specific technique observed
- D3FEND to recommend what controls would have stopped each technique
Tools
| Tool | Purpose | URL |
|---|---|---|
| ATT&CK Navigator | Visualize, annotate, and export ATT&CK layers | attack.mitre.org/resources/attack-navigator |
| D3FEND | Browse defensive technique mappings | d3fend.mitre.org |
| MITRE ENGAGE | Adversary engagement planning | engage.mitre.org |
| ATT&CK Workbench | Host your own ATT&CK instance, add custom techniques | GitHub |
| MISP | Open-source threat intelligence platform with ATT&CK integration | misp-project.org |
| OpenCTI | Threat intelligence graph database with ATT&CK objects | opencti.io |
| CISA Known Exploited Vulnerabilities | CVEs mapped to ATT&CK exploitation techniques | cisa.gov/kev |
| Sigma | Detection rule format that maps directly to ATT&CK techniques | sigmahq.io |
| YARA + ATT&CK | Malware detection rules linked to technique IDs (via Malpedia) | malpedia.caad.fkie.fraunhofer.de |
Key takeaways
- Adversary models give analysts a shared vocabulary so findings correlate across cases, tools, and teams — “lateral movement” means the same thing to everyone.
- They operate at different granularities: kill chains describe the sequence of an intrusion, the Diamond Model tracks the actors and infrastructure behind each event, and ATT&CK catalogs the specific techniques used at each step. Use them together, not instead of each other.
- ATT&CK is the industry lingua franca. Tactics (the “why”) contain techniques (the “what”, e.g.
T1059) which contain sub-techniques (T1059.001PowerShell). The Enterprise matrix has 14 tactics and 200+ techniques. - Every observation should become a technique ID: in forensics you work backward from artifacts to techniques to a campaign; in malware analysis you build the technique list forward as you reverse the sample.
- D3FEND maps defensive countermeasures back to ATT&CK techniques, and ENGAGE covers active deception — together they answer “what would have stopped this?” and “how do we turn the tables?”
- ATT&CK is the backbone of structured threat intelligence: STIX/TAXII, MISP, and OpenCTI all express techniques as ATT&CK IDs, so a domain your sample contacted may already be tagged to a known campaign.
References
- MITRE ATT&CK — the Enterprise, Mobile, and ICS matrices. https://attack.mitre.org/
- MITRE ATT&CK — Design and Philosophy (PDF). https://attack.mitre.org/docs/ATTACK_Design_and_Philosophy_March_2020.pdf
- MITRE D3FEND — defensive technique knowledge base. https://d3fend.mitre.org/
- MITRE ENGAGE — adversary engagement framework. https://engage.mitre.org/
- Hutchins, Cloppert & Amin (2011) — “Intelligence-Driven Computer Network Defense … and Intrusion Kill Chains,” Lockheed Martin. https://www.lockheedmartin.com/content/dam/lockheed-martin/rms/documents/cyber/LM-White-Paper-Intel-Driven-Defense.pdf
- Caltagirone, Pendergast & Betz (2013) — “The Diamond Model of Intrusion Analysis.” https://www.activeresponse.org/wp-content/uploads/2013/07/diamond.pdf
- Pols (2021) — “The Unified Kill Chain.” https://www.unifiedkillchain.com/
- OASIS — STIX/TAXII 2.1 specifications. https://oasis-open.github.io/cti-documentation/
- A. Shostack (2014), Threat Modeling: Designing for Security, Wiley — applying these models during system design, not just post-incident.
Related course pages: Introduction to Networking · Capturing traffic with tcpdump · Analyzing traffic with Wireshark
🛠️ Maintenance note: MITRE revises ATT&CK roughly twice a year — tactic/technique counts (currently 14 Enterprise tactics, 200+ techniques) and T-numbers drift between releases, so re-verify the figures and the
T1055/T1059sub-technique lists against the live matrix each term. The Navigator URL (mitre-attack.github.io/attack-navigator) and D3FEND/ENGAGE are still maturing and occasionally restructure their categories.