Detection Engineering

Understanding MITRE ATT&CK

Tactics, techniques and IDs explained, plus how to map an incident or CTI report to ATT&CK and build Navigator layers.

1 Introduction

MITRE ATT&CK (Adversarial Tactics, Techniques, and Common Knowledge) is a free, public knowledge base of how real attackers behave once they target an organization. It is maintained by MITRE, a US non-profit, and built only from behaviour that has been observed in the wild and documented in public reports: incident write-ups, vendor research, government advisories.

Its main value is a shared vocabulary. Instead of writing "the attacker used a malicious Word document and then dumped passwords", an analyst writes T1566.001 and T1003.001. A CTI team in Paris, a SOC in Montreal and a detection vendor in Tokyo all understand exactly the same thing, and can compare threats, detections and gaps without ambiguity.

15

Tactics in the Enterprise matrix (v20, October 2026)

3

Domains: Enterprise, Mobile and ICS

2× / year

New versions, usually in April and October

What ATT&CK is used for

CTI: describing what a threat actor does in a structured, comparable way
Detection engineering: tagging each rule (Sigma, EDR, SIEM) with the technique it detects
Gap analysis: visualising which techniques you can and cannot see
Red / purple teaming: building realistic attack scenarios to test defences

ATT&CK is not a checklist, a maturity model or a compliance framework. It catalogues what adversaries have done; it does not tell you which techniques matter most for your organization. That prioritisation comes from your own threat intelligence.

2 Core Concepts

ATT&CK is organised as a hierarchy that goes from the attacker's goal down to the exact commands they typed. Keeping these four levels apart is the single most important skill when you use the framework.

From "why" to "exactly how"

1

Tactic — the "why" (e.g. TA0006 Credential Access)

The adversary's short-term objective at a given moment: get in, run code, stay, steal credentials, move, exfiltrate. Tactics are the columns of the matrix.

2

Technique — the "how" (e.g. T1003 OS Credential Dumping)

A general way of achieving a tactic. One technique can serve several tactics: T1078 Valid Accounts appears under Initial Access, Persistence, Privilege Escalation and Stealth.

3

Sub-technique — a more specific "how" (e.g. T1003.001 LSASS Memory)

A specific variant of a technique. Dumping LSASS memory, reading the SAM database and DCSync are all credential dumping, but they leave very different traces and need different detections.

4

Procedure — the concrete implementation

What one specific actor or tool actually did, e.g. "Mimikatz sekurlsa::logonpasswords run from a renamed binary". Procedures have no ID of their own: they are listed as "Procedure Examples" on each technique page.

Reading an ID

Every object in ATT&CK has a stable identifier whose prefix tells you its type:

Prefix Object Example
TA####TacticTA0001 Initial Access
T####TechniqueT1566 Phishing
T####.###Sub-technique (parent ID + 3 digits)T1566.001 Spearphishing Attachment
G####Group (threat actor)G0016 APT29
S####Software (malware or tool)S0002 Mimikatz
C####CampaignA dated set of intrusions sharing objectives and tradecraft
M####MitigationM1032 Multi-factor Authentication
DET#### / AN#### / DC####Detection strategy / analytic / data componentDET0236 detection strategy for Spearphishing Attachment

On the website, the dot of a sub-technique becomes a slash in the URL: https://attack.mitre.org/techniques/T1566/001/.

The three matrices

Enterprise

Windows, macOS, Linux, cloud (IaaS, SaaS, Office Suite, Identity Provider), network devices, containers and ESXi. This is the matrix SOC and CTI teams use 95% of the time.

Mobile

Android and iOS: malicious apps, abuse of device permissions, mobile spyware. Its tactics have their own IDs (Mobile Initial Access is TA0027).

ICS

Industrial control systems: PLCs, HMIs, safety systems. Techniques use the T08xx range and include impacts such as loss of control or manipulation of the physical process.

The 15 Enterprise tactics (v20)

They roughly follow the life of an intrusion, but an attacker does not have to go through every column, nor in this order. Since v19 (April 2026), the former Defense Evasion tactic is split in two: Stealth (blending in, which kept the TA0005 ID) and Defense Impairment (TA0112, actively breaking security tooling). Older reports and tools still say "Defense Evasion".

TA0043

Reconnaissance

TA0042

Resource Development

TA0001

Initial Access

TA0002

Execution

TA0003

Persistence

TA0004

Privilege Escalation

TA0005

Stealth

TA0112

Defense Impairment

TA0006

Credential Access

TA0007

Discovery

TA0008

Lateral Movement

TA0009

Collection

TA0011

Command and Control

TA0010

Exfiltration

TA0040

Impact

3 Knowledge Base

The matrix is only the front door. Behind it, ATT&CK links techniques to the actors that use them, the software that implements them, and the ways to mitigate and detect them. All of it is published as STIX 2.1 data, so your tools can import it directly.

Groups

One page per threat actor with all known aliases (vendors name the same group differently: APT29, Cozy Bear, Midnight Blizzard… are all G0016), the techniques attributed to it with sources, and the software it uses.

Software

Split into malware (custom or criminal code) and tools (legitimate or dual-use software such as Mimikatz S0002, Cobalt Strike S0154, PsExec). Each lists the techniques it implements.

Campaigns

Intrusion activity over a defined period with common targets and objectives, sometimes linked to a group. Useful when attribution is uncertain but behaviour is well documented.

Mitigations

Preventive controls mapped to techniques, e.g. M1017 User Training against phishing, M1032 MFA against abuse of valid accounts.

Detection: strategies, analytics and data components

Older versions of ATT&CK gave each technique a free-text "Detection" paragraph and a list of "Data Sources". Since v18 (October 2025), detection is modelled in three linked layers that you will find at the bottom of each technique page:

Detection strategy (DET####)

The overall approach for detecting a technique, independent of any product. Example: DET0236 for Spearphishing Attachment.

Analytic (AN####)

Platform-specific detection logic (Windows, Linux, macOS…): which events to correlate, and which fields are worth tuning in your environment.

Data component (DC####)

The telemetry you need: "Process Creation", "Command Execution", "Network Traffic Flow", "File Creation"… If you do not collect it, no rule will ever fire. This is the first thing to check in a gap analysis.

4 Mapping a Report

"Mapping" means translating a narrative (an incident timeline, a CTI report, a sandbox report) into ATT&CK IDs. The method below follows the approach recommended by CISA's Best Practices for MITRE ATT&CK Mapping.

Find the behaviours

Read the text and highlight every action the adversary performed. Ignore IOCs for now: an IP address is not a behaviour, "connects over HTTPS to its C2" is.

Research them

If you do not fully understand a behaviour (what is rundll32? what is LSASS?), look it up before mapping. Mapping something you don't understand produces wrong IDs.

Identify the tactic

Ask "what was the attacker trying to achieve with this step?". The tactic narrows the list of candidate techniques.

Pick the (sub-)technique

Browse the techniques of that tactic, read their descriptions and procedure examples. Go down to the sub-technique only if the text gives enough detail.

Keep the evidence

For each ID, note the sentence or log line that justifies it. Someone must be able to verify your mapping later.

Have it reviewed

Two analysts mapping the same report rarely agree 100%. Compare, discuss the differences and settle on the version with the best evidence.

Worked example

Here is an excerpt from a (fictional) incident report about a financially-motivated actor:

The victim received an email posing as a supplier, with an attachment
"Invoice_4471.docm". After the user opened it and clicked "Enable
Content", a VBA macro launched PowerShell with a base64-encoded command.
The script downloaded upd.dll from https://cdn-update[.]example/s2/ and
executed it with rundll32.exe. The DLL created the Run registry value
"OneDriveUpdate" to restart at each logon, then beaconed over HTTPS.
Two days later, the operator ran Mimikatz to dump LSASS memory, used the
stolen domain admin credentials to RDP into the file server, compressed
the finance share with 7-Zip and uploaded the archives to a cloud
storage service.
Behaviour (evidence) Tactic Technique
Email with malicious .docm attachmentInitial AccessT1566.001 Spearphishing Attachment
User opens the file and enables contentExecutionT1204.002 User Execution: Malicious File
VBA macro runsExecutionT1059.005 Visual Basic
PowerShell launchedExecutionT1059.001 PowerShell
Base64-encoded command lineStealthT1027.010 Command Obfuscation
upd.dll downloaded from the webCommand and ControlT1105 Ingress Tool Transfer
DLL executed via rundll32.exeStealthT1218.011 Rundll32
Run key "OneDriveUpdate"PersistenceT1547.001 Registry Run Keys / Startup Folder
Beaconing over HTTPSCommand and ControlT1071.001 Web Protocols
Mimikatz dumps LSASSCredential AccessT1003.001 LSASS Memory (software S0002)
Logs in with stolen domain admin accountPrivilege Escalation / StealthT1078 Valid Accounts (T1078.002 if confirmed as a domain account)
RDP to the file serverLateral MovementT1021.001 Remote Desktop Protocol
Finance share compressed with 7-ZipCollectionT1560.001 Archive via Utility
Archives uploaded to cloud storageExfiltrationT1567.002 Exfiltration to Cloud Storage

Notice what is not in the table: the domain cdn-update[.]example, the file name and the hashes. Those are IOCs: they go into your feeds and blocklists, not into the ATT&CK mapping. The mapping describes behaviour, which is what survives when the attacker changes infrastructure.

5 Navigator Layers

The ATT&CK Navigator is a free web app from MITRE (usable online or self-hosted) that displays the matrix and lets you colour, score and comment techniques. Each view is a layer, saved as a small JSON file that you can share, version in Git, or generate with a script.

The layer below highlights the techniques from the worked example (shortened to five entries):

{
  "name": "Incident 2026-041 - invoice phishing",
  "versions": {
    "attack": "20",
    "navigator": "5.3.2",
    "layer": "4.5"
  },
  "domain": "enterprise-attack",
  "description": "Techniques observed during incident 2026-041",
  "techniques": [
    { "techniqueID": "T1566.001", "tactic": "initial-access", "score": 1, "comment": "Invoice_4471.docm" },
    { "techniqueID": "T1059.001", "tactic": "execution", "score": 1, "comment": "Encoded PowerShell from macro" },
    { "techniqueID": "T1547.001", "tactic": "persistence", "score": 1, "comment": "Run value OneDriveUpdate" },
    { "techniqueID": "T1003.001", "tactic": "credential-access", "score": 1, "comment": "Mimikatz on WKS-042" },
    { "techniqueID": "T1021.001", "tactic": "lateral-movement", "score": 1, "comment": "RDP to FS-01" }
  ],
  "gradient": {
    "colors": ["#ffffff", "#20c997"],
    "minValue": 0,
    "maxValue": 1
  }
}

Adjust versions to the ATT&CK and Navigator releases you actually use. The tactic field is optional: without it, the technique is highlighted in every column where it appears.

Threat profile

One layer per actor that targets your sector (score = how often the technique is reported).

Detection coverage

One layer generated from the ATT&CK tags of your rules (score = number of tested rules).

Gap analysis

Combine both layers with a score expression such as a - b: what remains is used by your adversaries but not detected.

6 Related Frameworks

MITRE D3FEND: the defensive mirror

Where ATT&CK describes offence, D3FEND catalogues defensive techniques and links them to the ATT&CK techniques they counter, through the digital artifacts both sides touch (a process, a file, a network flow). Its techniques use IDs such as D3-AM (Access Modeling) and are grouped into seven tactics:

Model
Harden
Detect
Isolate
Deceive
Evict
Restore

In practice: once you have mapped an incident to ATT&CK, D3FEND helps you answer "which controls would have prevented, detected or contained each step?".

The Pyramid of Pain

Proposed by David Bianco in 2013, the Pyramid of Pain ranks indicators by how much it costs the attacker when defenders detect and block them. It explains why detection engineering focuses on TTPs rather than on hashes alone.

ToughTTPsThe attacker must change how they operate: retraining, new tooling.
ChallengingToolsThey must find or develop a new tool (YARA on a malware family).
AnnoyingNetwork / host artifactsURI patterns, user agents, registry values, mutexes.
SimpleDomain namesA new domain costs a few euros and minutes.
EasyIP addressesChanging a VPS or proxy is trivial.
TrivialHash valuesRecompiling or changing one byte gives a new hash.

Try it on mlab.sh

Look up threat actors and the indicators tied to them, then practise mapping their reported behaviour to ATT&CK techniques.

Start analyzing on mlab.sh

7 Common Mistakes

Mapping the tool instead of the behaviour

"PowerShell was used" is not enough. PowerShell can download files, run discovery commands or disable Defender: map what it did, plus T1059.001 only when the interpreter itself was the means of execution.

Over-mapping (guessing)

Adding "Discovery" because "the attacker must have explored the network" is speculation. Map only what the evidence shows; note assumptions separately.

Wrong level of detail

Stopping at T1003 when the report says "LSASS dump" loses information. Inventing T1003.001 when the report only says "credentials were stolen" adds false precision.

Ignoring versions

Techniques get renamed, merged, deprecated or revoked, and tactics change (Defense Evasion became Stealth + Defense Impairment in v19). Always record which ATT&CK version a mapping was made against.

"One rule = technique covered"

A single rule for T1059.001 catches a few procedures, not the whole technique. A green cell in Navigator is a claim to verify by testing, not a guarantee.

Chasing 100% coverage

Many techniques are rare, irrelevant to your platforms, or too noisy to detect alone. Prioritise the techniques used by the actors that actually target you.

Go further

Turn your mapping into detections with Sigma rules (host logs), Suricata/Snort rules (network) and YARA rules (files and memory), and share it with partners in STIX 2.1 as attack-pattern objects.

Related Modules