Navigating ATT&CK Navigator: Building, Annotating, and Exporting Technique Layers

Objective: Understand how to use MITRE ATT&CK Navigator to build, annotate, combine, and export technique layers — the JSON layer format, per-technique annotation fields, gap analysis via score expressions, programmatic generation, and the operational security controls around layer files for threat-informed defense and adversary emulation.


1. What Is ATT&CK Navigator and Why It Matters

ATT&CK Navigator is a web-based tool for annotating and exploring ATT&CK matrices. It visualizes defensive coverage, supports red/blue team planning, and tracks the frequency of detected techniques. It is a meta-tool: it generates no host telemetry and maps to no single ATT&CK technique. Instead, it is the primary planning surface for structured adversary emulation and threat-informed defense.

The unit of work is the layer — a JSON file scoped to one ATT&CK domain and matrix version, listing techniques with whatever annotations have been applied. Layers can store a default view configuration (sorting, visible platforms) and can be authored interactively in the UI or generated programmatically.

The current release is v5.3.2 (April 21, 2026). The hosted instance lives at mitre-attack.github.io/attack-navigator/.


2. Tool Setup: Hosted Instance vs. Self-Hosted

The hosted instance is the fastest start. Layer files uploaded to it stay client-side — nothing is stored on MITRE’s servers. Despite that, MITRE recommends running your own instance if your layer files contain sensitive content.

Navigator is a dynamic web application that runs on Node.js and Angular CLI, and installs on Linux. A self-hosted instance can be air-gapped and fed local STIX bundles via the customDataURL field or customDataURL query parameter.

git clone https://github.com/mitre-attack/attack-navigator.git
cd attack-navigator/nav-app
npm install
ng serve   # serves the Navigator on localhost:4200

Self-hosted configuration lives in nav-app/src/assets/config.json. The banner setting (default empty string) displays HTML content at the top of the page. The features array lists togglable features; setting enabled: false on a feature hides all of its control elements.


3. Anatomy of a Layer: The JSON Schema

The current specification is Version 4.5 of the layer file format. Field names are case-sensitive — techniqueID, not techniqueId.

FieldDescription
nameHuman-readable layer name
versionsObject with attack, navigator, layer sub-fields
domain"enterprise-attack" | "mobile-attack" | "ics-attack"
descriptionFree-text description of the layer
techniquesArray of technique annotation objects
gradientScoring gradient object
legendItemsArray of legend entries
filtersPlatform/stage filter settings
sortingInteger 0–3 controlling sort order within tactics
layoutControls matrix display layout
hideDisabledBoolean — omit or grey-out disabled techniques
metadataLayer-level key/value metadata
linksLayer-level link objects
customDataURLURL of a custom STIX bundle or ATT&CK Collection

A minimal valid layer:

{
  "name": "Detection Coverage Baseline",
  "versions": {
    "attack": "15",
    "navigator": "5.3.2",
    "layer": "4.5"
  },
  "domain": "enterprise-attack",
  "description": "Blue-team detection posture",
  "techniques": []
}

The sorting field controls ordering within each tactic: 0 ascending by name, 1 descending by name, 2 ascending by score, 3 descending by score.


Hierarchy diagram of the ATT&CK Navigator v4.5 layer JSON structure, showing the root layer object branching into metadata, view configuration, gradient definition, and a techniques array whose entries each carry techniqueID, score, color, comment, and enabled fields.
Every Navigator layer is a single v4.5 JSON object; the techniques array is where all annotation data — scores, colors, comments — lives.

4. Building a Layer from Scratch (UI Walkthrough)

Open Navigator and select Create New Layer. Choose a domain (Enterprise, Mobile, or ICS) and an ATT&CK version — these become the domain and versions.attack fields. The matrix renders with every tactic as a column and techniques stacked beneath.

Use search to query by keyword, and multiselect to bulk-select techniques by platform, data source, or tactic. Selecting a technique highlights it; the right-click context menu and the technique controls bar apply annotations to the current selection. Expand a parent technique to reveal and individually annotate its sub-techniques (showSubtechniques: true).

This is the core discipline: select the techniques relevant to your engagement or coverage assessment, then annotate the selection rather than each cell one at a time.


5. Annotating Techniques: Colors, Scores, Comments, Metadata, and Links

Each object in the techniques array supports these fields:

FieldDescription
techniqueIDTechnique ID, e.g. "T1059" or sub-technique "T1059.001"
tacticTactic identifier, e.g. "execution"; if absent, annotation applies under every tactic the technique belongs to
scoreNumeric score; if omitted the technique is “unscored” and gets no gradient color
colorExplicit hex color — overrides any color implied by the score
commentAnalyst comment; rendered as a tooltip with an underline indicator
enabledBoolean; false disables/hides the technique
metadataArray of user-defined key/value objects
linksArray of label + url objects
showSubtechniquesBoolean; expands sub-techniques in the view
"techniques": [
  {
    "techniqueID": "T1078",
    "color": "#fc3b3b"
  },
  {
    "techniqueID": "T1059.001",
    "tactic": "execution",
    "score": 75,
    "comment": "Script Block Logging on; no behavioral alert yet"
  },
  {
    "techniqueID": "T1055",
    "enabled": false,
    "metadata": [
      { "name": "owner", "value": "detection-eng" },
      { "name": "ticket", "value": "DET-4412" }
    ]
  }
]

Scored techniques draw their fill color from the gradient. Define a red→yellow→green scale to read low coverage at a glance:

"gradient": {
  "colors": ["#ff6666", "#ffe766", "#8ec843"],
  "minValue": 0,
  "maxValue": 100
}

Make the scale legible to stakeholders with legendItems:

"legendItems": [
  { "label": "No Coverage", "color": "#ff6666" },
  { "label": "Logged Only", "color": "#ffe766" },
  { "label": "Alerted",     "color": "#8ec843" }
]

Use an explicit color for binary states (in-scope vs. out-of-scope), and score + gradient for graded coverage. Set enabled: false to grey out techniques irrelevant to the assessment so the heat-map stays readable.


6. Working with Pre-Built Threat Group Layers

ATT&CK publishes pre-built Navigator layers for documented threat groups. From any group’s page on attack.mitre.org, use the option to view or export the group’s technique usage as a Navigator layer — stored as a JSON file.

Import these as the baseline for adversary emulation planning: the group layer becomes the what they do, and your detection-coverage layer becomes the what you can see. Loading the group’s JSON via Open Existing Layer instantly highlights every technique attributed to that adversary across the matrix.


7. Combining Layers: Gap Analysis via Score Expressions

Layers compose. Create New Layer → Create Layer from Other Layers lets Navigator produce a calculated layer from arithmetic over loaded layers, which is how you build gap analysis without spreadsheets.

Each open layer is assigned a variable (a, b, c). Entering a score expression of a+b+c combines scores across three threat-group layers, surfacing technique overlap among multiple adversaries.

The high-value workflow for detection engineering: load the adversary group layer (a) and your detection-coverage layer (b), then evaluate b - a. Techniques the adversary uses but you cannot detect render with negative scores — these are your prioritized work items. Set sorting: 3 to float the highest-scored (or, inverted, the worst-gap) techniques to the top of each tactic.

{
  "name": "Coverage Gap (b - a)",
  "domain": "enterprise-attack",
  "sorting": 3,
  "gradient": {
    "colors": ["#ff6666", "#ffffff", "#8ec843"],
    "minValue": -100,
    "maxValue": 100
  }
}

Flowchart showing how an adversary group layer (a) and a detection coverage layer (b) feed into the score expression b minus a, producing positive scores for covered techniques and negative scores that become the prioritised detection engineering backlog.
Subtracting an adversary layer from a coverage layer instantly exposes undetectable TTPs as negative-scored, highest-priority detection work items.

8. Programmatic Layer Generation with Python

Author layers at scale with mitreattack-python. Query the STIX data for a named intrusion-set, collect the techniques tied to it, and serialize a v4.5 layer dict.

import json
from mitreattack.stixdata import MitreAttackData

mad = MitreAttackData("enterprise-attack.json")

group = mad.get_groups_by_alias("APT29")[0]
techniques = mad.get_techniques_used_by_group(group["id"])

annotations = []
for t in techniques:
    attack_id = mad.get_attack_id(t["object"]["id"])
    annotations.append({
        "techniqueID": attack_id,
        "score": 1,
        "comment": "Attributed via STIX intrusion-set relationship"
    })

layer = {
    "name": f"{group['name']} TTPs",
    "versions": {"attack": "15", "navigator": "5.3.2", "layer": "4.5"},
    "domain": "enterprise-attack",
    "description": "Auto-generated group layer",
    "techniques": annotations,
    "gradient": {"colors": ["#ffffff", "#fc3b3b"], "minValue": 0, "maxValue": 1}
}

with open("apt_layer.json", "w") as f:
    json.dump(layer, f, indent=2)

Generated JSON round-trips straight back into the UI via Open Existing Layer. Consuming a finished layer is equally simple — ingest it into reporting tooling and emit a Markdown gap table:

import json

with open("coverage_gap.json") as f:
    layer = json.load(f)

print("| Technique | Score | Comment |")
print("|---|---|---|")
for t in layer["techniques"]:
    print(f"| {t['techniqueID']} | {t.get('score','-')} | {t.get('comment','')} |")

9. Exporting Layers: JSON, SVG, Excel, and Multi-Layer Bundles

Search and filter the matrix to the exact view you want, then export it.

ExportControlUse
JSON“Code Blocks” downloadVersion control, pipeline ingestion
Excel“Table View” exportStakeholder spreadsheets
SVGCamera iconReport and CISO-deck renders
Multi-layer bundleDownload all open layersShare a layer set as one file

Embed a hosted layer directly in a report or internal portal with the layerURL query parameter:

<iframe
  src="https://mitre-attack.github.io/attack-navigator/#layerURL=https://intranet.local/layers/coverage_gap.json"
  width="100%" height="900" frameborder="0">
</iframe>

10. Layer Versioning and Migration

The sub-techniques update replaced many techniques with sub-techniques carrying new IDs, so layers authored before that release may not render correctly in newer matrices. The official update-layers.py script both upgrades a layer to the latest format and remaps technique IDs to their replacers where possible.

python3 update-layers.py --input old_layer.json --output migrated_layer.json

The in-app layer upgrade wizard (added in v5.x alongside STIX 2.1 Collection Index and TAXII 2.1 support) walks changed techniques interactively: it lists each technique’s previous and current state with links to both versions. Enable show annotated techniques only to focus on your annotations, then copy them from the previous version to the current one.


11. Common Attacker Techniques

Navigator is a planning tool — the “techniques” it manipulates are ATT&CK TTPs encoded as techniqueID values. The table below shows representative primitives a red team maps post-engagement and a blue team scores for coverage.

TechniqueDescription
Valid AccountsReuse of legitimate credentials; mapped as T1078
PowerShell ExecutionScript-based execution; mapped as T1059.001
Process InjectionCode execution in another process; mapped as T1055
OS Credential DumpingLSASS access for credential theft; mapped as T1003.001

Each cell in Navigator links to the technique’s ATT&CK page, which exposes Data Sources, Detections, and Mitigations — use Navigator as the bridge into those fields, not the endpoint.


12. Defensive Strategies & Detection

The Navigator generates no telemetry; the defensive concern is twofold — layer-file OPSEC and translating scores into real detection.

Layer-file operational security:
– Layer JSON may contain red-team TTPs, engagement timelines, and detection-gap scoring. Do not upload sensitive layers to the public hosted instance.
– Hosted-instance uploads stay client-side, but run a self-hosted, access-controlled instance (auth proxy or VPN-only) for operational data.
– Version-control layers in Git with access controls equal to other sensitive operational documentation.

Translating scores to detection: a technique scored 0 in your coverage layer should map to a missing Sysmon rule, ETW subscription, or audit policy. Cross-reference each low-scored techniqueID against the ATT&CK page’s data sources. For T1059.001 (PowerShell): Sysmon Event ID 1 (Process Create), Event ID 4104 (Script Block Logging via the Microsoft-Windows-PowerShell ETW provider), and audit policy Audit Process Creation.

A Sigma rule sketch for the missing detection identified by a gap layer:

title: Suspicious PowerShell Script Block Execution
logsource:
  product: windows
  service: powershell
detection:
  selection:
    EventID: 4104
    ScriptBlockText|contains:
      - 'IEX'
      - 'DownloadString'
      - 'FromBase64String'
  condition: selection
level: high

Overlaying an adversary layer (a) against a coverage layer (b) with the score expression b - a surfaces negative-score techniques — adversary TTPs you cannot detect — as the highest-priority detection-engineering backlog.


Flow diagram illustrating how a negative-score gap technique is cross-referenced against the ATT&CK page for data sources, mapped to Sysmon or ETW telemetry, addressed with a Sigma rule, and then rescored in the coverage layer to close the gap.
Each detection gap closes through a defined pipeline: ATT&CK data sources guide the telemetry check, a Sigma rule fills the gap, and the coverage layer score is updated to reflect reality.

13. Tools for Layer Analysis

ToolDescriptionLink
ATT&CK NavigatorBuild/annotate/export technique layersmitre-attack.github.io
mitreattack-pythonQuery STIX data, generate layers programmaticallygithub.com
update-layers.pyMigrate layers across ATT&CK versionsgithub.com
attack.mitre.orgSource of pre-built group layers + detection dataattack.mitre.org
SysmonHost telemetry to back coverage scoreslearn.microsoft.com
SigmaPortable detection rules for scored gapssigmahq.io

14. MITRE ATT&CK Mapping

Navigator has no technique ID of its own — it is a blue/purple-team planning tool. Its ATT&CK relevance is the technique IDs you place inside layers and the detection guidance each one links to.

TechniqueMITRE IDDetection
Valid AccountsT1078Auth logs, anomalous logon (Event ID 4624)
PowerShellT1059.001Sysmon Event ID 1, Event ID 4104
Process InjectionT1055Sysmon Event ID 8, Event ID 10
OS Credential Dumping: LSASST1003.001Sysmon Event ID 10 (lsass.exe access)

Summary

  • ATT&CK Navigator is the standard planning surface for threat-informed defense and adversary emulation — it visualizes coverage, it does not attack.
  • Layers are v4.5-format JSON files scoped to one domain; per-technique fields (techniqueID, score, color, comment, metadata, enabled) drive the heat-map.
  • Score expressions like b - a turn adversary and coverage layers into automatic gap analysis, surfacing undetectable TTPs as detection-engineering work.
  • Generate layers programmatically with mitreattack-python, migrate them with update-layers.py, and export to JSON, SVG, or Excel.
  • Treat layer files as sensitive: self-host with access control, version them in Git, and cross-reference every low score against real Sysmon/ETW/audit-policy detections.

Related Tutorials

References

Introduction to MITRE ATT&CK: Structure, Tactics, Techniques, and Sub-Techniques

Objective: Understand what the MITRE ATT&CK knowledge base is, how it is structured — domains, matrices, tactics, techniques, sub-techniques, and procedures — and how defenders, threat hunters, and authorized red teamers use it as a shared operational language for threat-informed defense and adversary emulation.


1. What Is MITRE ATT&CK and Why It Matters

MITRE ATT&CK is a living, open-source knowledge base that documents real-world adversary tactics, techniques, and procedures (TTPs). It was created by the MITRE Corporation and first released in 2013. ATT&CK focuses on how attackers behave — the actions they take inside an environment — rather than on the indicators of compromise (IOCs) they leave behind.

This distinction matters. IOCs (hashes, IPs, domains) are brittle and disposable; an adversary rotates them cheaply. Behaviors — injecting code, dumping credentials, abusing valid accounts — are expensive to change. ATT&CK catalogs the durable behaviors, grounded in empirical evidence from intrusions observed across industries and geographies.

ATT&CK builds on the Lockheed Martin Cyber Kill Chain (Hutchins, Cloppert & Amin, 2011). The Matrix columns are ordered roughly along the chronological flow of an intrusion, but ATT&CK goes deeper, enumerating concrete mechanisms under each phase rather than naming abstract stages.


2. The Three Domains: Enterprise, Mobile, and ICS

ATT&CK is partitioned into three domains, each with its own matrices.

DomainScope
Enterprise ATT&CKWindows, Linux, macOS, and cloud platforms (Azure AD, Office 365, IaaS, SaaS)
Mobile ATT&CKThreats targeting mobile devices and operating systems
ICS ATT&CKIndustrial control systems and operational technology

This site focuses on Enterprise ATT&CK because it covers the Windows, Linux, and cloud surfaces most relevant to blue teams, DFIR, and authorized red teaming.


3. Tactics, Techniques, Sub-Techniques, and Procedures

The ATT&CK data model is a four-level hierarchy. Each level answers a different question.

ComponentQuestionID FormatMeaning
TacticWhyTA####The adversary’s tactical goal — the reason for an action
TechniqueHowT####How the adversary achieves a tactical goal
Sub-techniqueHow (specific)T####.###A lower-level, more specific behavior
ProcedureWhat exactly(described in text)Real-world implementation by a named group, tool, or malware

Tactics represent the “why.” Techniques represent the “how.” Sub-techniques describe a narrower variation. For example, the technique Account Manipulation (T1098) encompasses sub-techniques such as Additional Email Delegate Permissions (T1098.002) and Exchange Email Delegate Permissions (T1098.003), each detailing a distinct method.

Procedures are the real-world implementations — specific tools, malware families, or hands-on-keyboard methods observed in active campaigns. This is what makes ATT&CK actionable: you can study the actual tradecraft, not just the abstraction.


Hierarchical diagram showing the four-level ATT&CK data model: Tactic at the top, branching down through Technique and Sub-Technique to Procedure, with T1098 Account Manipulation as a concrete example
The ATT&CK data model flows from abstract tactical goals down to specific real-world procedures, each level answering a progressively narrower question about adversary behavior.

4. Walking the Enterprise Matrix: The 14 Tactics

The Matrix column headings are the tactics, presented in roughly chronological order. The cells under each column are the techniques that achieve that tactical objective. The baseline below reflects ATT&CK v16.1 (14 tactics, 203 techniques, 453 sub-techniques). For reference, v18 lists 14 tactics, 216 techniques, 475 sub-techniques, 44 mitigations, and over 1,700 analytics. Always pin counts to a version.

#TacticTactic ID
1ReconnaissanceTA0043
2Resource DevelopmentTA0042
3Initial AccessTA0001
4ExecutionTA0002
5PersistenceTA0003
6Privilege EscalationTA0004
7Defense EvasionTA0005
8Credential AccessTA0006
9DiscoveryTA0007
10Lateral MovementTA0008
11CollectionTA0009
12Command and ControlTA0011
13ExfiltrationTA0010
14ImpactTA0040

v19 note (April 2026): ATT&CK v19 introduced a major structural change — the Defense Evasion tactic (TA0005) was split into two new tactics, Stealth and Defense Impairment. TA0005 is deprecated in the current release. Retrieve the exact new tactic IDs and transition guidance from attack.mitre.org/resources/updates/ before mapping against v19.


5. Anatomy of a Technique Page

Every technique page is a structured record. Take T1059.001 — PowerShell (a sub-technique of T1059 Command and Scripting Interpreter, under Execution).

FieldExample Value for T1059.001
IDT1059.001 (parent T1059)
Tactic(s)Execution (TA0002)
PlatformsWindows
Permissions RequiredUser / Administrator (context-dependent)
Data SourcesCommand, Process, Module, Script
MitigationsLinked M#### objects
Procedure ExamplesNamed Groups and Campaigns observed using PowerShell

A technique can belong to multiple tactics. The Detection section lists data source / data component pairs, free-text analytic notes, and — since v14 — structured pseudocode analytics from the MITRE Cyber Analytics Repository (CAR). These data-source fields tell you exactly which telemetry to collect.


6. Related Objects: Groups, Software, Campaigns, and Mitigations

ATT&CK is more than a list of behaviors. A graph of related objects ties techniques to threat intelligence.

ObjectPrefixDescription
GroupsG####Named threat actors (APTs, crimeware crews) mapped to techniques they use
SoftwareS####Tools, malware, and utilities used by adversaries
CampaignsC####Intrusion activity over a time window with common targets; may or may not be attributed
MitigationsM####Recommended defensive controls mapped to techniques
Data Sources / ComponentsObservable artifacts and telemetry that detect a technique

This turns the Matrix into an operational tool: not just “T1056.001 exists,” but which group uses it, with what software, in which campaign, and which mitigations apply. The Group pages are the entry point for threat-actor-centric research and emulation planning.


Graph diagram showing how ATT&CK related objects — Groups, Campaigns, Software, and Mitigations — interconnect around central Technique nodes, forming an operational threat intelligence web
ATT&CK’s related objects transform isolated technique IDs into an intelligence graph, linking threat actors, their tooling, active campaigns, and applicable defensive controls.

7. Programmatic Access via STIX and the ATT&CK Python Library

ATT&CK is published as STIX 2.1 — the structured threat intelligence format from the OASIS CTI Technical Committee. In STIX, an intrusion-set object (Group) links to attack-pattern objects (techniques/sub-techniques), malware and tool objects (software), and campaign objects. MITRE distributes the bundles on GitHub.

The canonical library is mitreattack-python (github.com/mitre-attack/mitreattack-python). Load a bundle and query the data model directly.

from mitreattack.stix2 import MitreAttackData

mitre = MitreAttackData("enterprise-attack.json")

# List every technique under the Persistence tactic (TA0003)
for t in mitre.get_techniques_by_tactic("persistence", "enterprise-attack"):
    print(mitre.get_attack_id(t.id), t.name)

Fetch a single technique by its ATT&CK ID and inspect the schema fields:

tech = mitre.get_object_by_attack_id("T1059.001", "attack-pattern")
print(tech.name)                 # PowerShell
print(tech.x_mitre_platforms)    # ['Windows']
for phase in tech.kill_chain_phases:
    print(phase.phase_name)      # execution

Walk the relationship graph to list every Group observed using a technique:

for g in mitre.get_groups_using_technique(tech.id):
    grp = g["object"]
    print(mitre.get_attack_id(grp.id), grp.name, grp.aliases)

The raw attack-pattern object behind that technique looks like this (trimmed and annotated):

{
  "type": "attack-pattern",
  "id": "attack-pattern--970a3432-3237-47ad-bcca-7d8cbb217736",
  "name": "PowerShell",
  "x_mitre_platforms": ["Windows"],
  "x_mitre_is_subtechnique": true,
  "kill_chain_phases": [
    { "kill_chain_name": "mitre-attack", "phase_name": "execution" }
  ],
  "external_references": [
    {
      "source_name": "mitre-attack",
      "external_id": "T1059.001",
      "url": "https://attack.mitre.org/techniques/T1059/001"
    }
  ]
}

To stay current across releases, diff two STIX bundles to surface added or modified techniques:

# Illustrative: compare two domain bundles and emit a change report
from mitreattack.diffStix.changelog_helper import get_new_changelog_md

get_new_changelog_md(
    old="enterprise-attack-16.1.json",
    new="enterprise-attack-18.0.json",
    domains=["enterprise-attack"],
    markdown_file="attack-v16-to-v18-changes.md",
)

8. The ATT&CK Navigator and Coverage Layers

The ATT&CK Navigator renders the Matrix as an interactive heat map. You assign scores and colors to techniques to build layers — coverage maps for detection engineering, gap analysis, and emulation scoping. Layers are JSON and version-controllable.

{
  "name": "Detection Coverage - Execution & Persistence",
  "versions": { "attack": "16", "navigator": "5.1.0", "layer": "4.5" },
  "domain": "enterprise-attack",
  "techniques": [
    { "techniqueID": "T1059.001", "score": 100, "color": "#31a354",
      "comment": "Sysmon EID 1 + Script Block Logging" },
    { "techniqueID": "T1547.001", "score": 50, "color": "#fee08b",
      "comment": "Partial registry telemetry" },
    { "techniqueID": "T1055", "score": 0, "color": "#de2d26",
      "comment": "No process-injection detection" }
  ]
}

Overlay an adversary’s known techniques (red) against your detection coverage (green) and the white space is your gap list.


9. Applying ATT&CK in Defense and Authorized Emulation

As a defender, map every SIEM alert and detection rule to a technique ID. Build Navigator layers to measure coverage, then prioritize engineering against the techniques most relevant to your threat model — threat-informed defense instead of blanket coverage.

As an authorized red teamer / adversary emulator, pull a Group page (e.g., a relevant APT), extract its technique set, and build a TTP-driven emulation plan. This is fundamentally different from vulnerability-based scoping: you exercise the behaviors the defense must catch. Tools like MITRE CALDERA and Atomic Red Team chain ATT&CK-mapped tests so blue and red teams speak the same IDs.


Flow diagram illustrating the threat-informed defense workflow: from ATT&CK Group pages through TTP extraction to parallel red-team emulation planning and blue-team detection engineering, converging on a Navigator coverage layer
Both red and blue teams start from the same ATT&CK Group profile, ensuring emulation exercises and detection rules address the same adversary behaviors and share a common technique-ID language.

10. Common Attacker Techniques

The framework catalogs thousands of behaviors. A handful illustrate the model’s range and the important fact that one technique can serve multiple tactics.

TechniqueDescription
T1059.001 — PowerShellExecute commands and scripts via the PowerShell interpreter
T1566 — PhishingGain initial access through malicious messages
T1078 — Valid AccountsAbuse legitimate credentials across persistence, privesc, and evasion
T1055Process InjectionRun code in another process’s address space to evade defenses
T1003.001 — LSASS MemoryDump credentials from lsass.exe
T1547.001 — Registry Run KeysPersist via autostart registry locations

T1078 (Valid Accounts) is the teaching case: it appears under four tactics — Initial Access, Persistence, Privilege Escalation, and Defense Evasion — because the same behavior serves different adversary goals depending on context.


11. Defensive Strategies & Detection

Because ATT&CK is structural, the goal here is wiring it into your detection workflow. Each technique page lists Data Sources (e.g., Process, Command, Windows Registry, Network Traffic) and Data Components (e.g., Process Creation, Network Connection Creation). These map directly to telemetry you must collect.

On Windows, Sysmon supplies much of that telemetry.

Sysmon Event IDDescriptionRelevant To
1Process CreateExecution (TA0002), Discovery (TA0007)
3Network ConnectionC2 (TA0011), Lateral Movement (TA0008)
7Image Loaded (DLL)Defense Evasion, Persistence
8CreateRemoteThreadProcess Injection (T1055.*)
10ProcessAccessCredential Access (T1003.001)
11FileCreatePersistence, staging
12/13/14Registry Create/ModifyRegistry persistence (T1547.001)
22DNS QueryC2 (T1071.004)

Sigma is the vendor-neutral detection format that carries ATT&CK IDs in its tags block, letting every rule trace back to a technique and tactic.

title: PowerShell EncodedCommand Execution
logsource:
  product: windows
  service: sysmon
detection:
  selection:
    EventID: 1
    Image|endswith: '\powershell.exe'
    CommandLine|contains:
      - '-enc'
      - '-EncodedCommand'
  condition: selection
tags:
  - attack.execution        # tactic name (lowercase)
  - attack.t1059.001        # sub-technique ID (lowercase)
level: medium

Mitigations use M#### IDs (verify against attack.mitre.org/mitigations/enterprise/ before citing in production):

MitigationDescription
M1038Execution Prevention (application control)
M1042Disable or Remove Feature or Program
M1049Antivirus / Anti-malware
M1026Privileged Account Management

12. Tools for ATT&CK Analysis

ToolDescriptionLink
ATT&CK NavigatorHeat-map and coverage layersmitre-attack.github.io/attack-navigator
mitreattack-pythonCanonical STIX query librarygithub.com/mitre-attack
ATT&CK WorkbenchSelf-hosted ATT&CK extension/editingattack.mitre.org
MITRE CALDERAAutomated adversary emulationcaldera.mitre.org
Atomic Red TeamSmall, ATT&CK-mapped testsatomicredteam.io
SysmonWindows telemetry for detectionlearn.microsoft.com
SigmaVendor-neutral detection rulessigmahq.io

13. MITRE ATT&CK Mapping

Every other tutorial on this site closes with a mapping table. Read it as technique → tactic → context. This is the worked example.

Technique IDNameTactic(s)Notes
T1059Command and Scripting InterpreterExecution (TA0002)Parent technique; multiple sub-techniques
T1059.001PowerShellExecution (TA0002)Sub-technique used throughout this tutorial
T1566PhishingInitial Access (TA0001)Pre-execution delivery technique
T1078Valid AccountsInitial Access (TA0001), Persistence (TA0003), Privilege Escalation (TA0004), Defense Evasion (TA0005)One technique, four tactics
T1055Process InjectionPrivilege Escalation (TA0004), Defense Evasion (TA0005)Parent with many sub-techniques

14. Summary

  • MITRE ATT&CK is a behavior-based, empirically grounded knowledge base of adversary TTPs — not an IOC feed.
  • The data model is a hierarchy: tactics (why, TA####) → techniques (how, T####) → sub-techniques (T####.###) → procedures (real-world instances).
  • Related objects — Groups (G####), Software (S####), Campaigns (C####), Mitigations (M####) — turn the Matrix into an operational, intelligence-led tool.
  • Pin counts and structure to a specific version; v19 (April 2026) split Defense Evasion (TA0005) into Stealth and Defense Impairment — confirm the new IDs at attack.mitre.org/resources/updates/.
  • Operationalize ATT&CK by mapping data sources to Sysmon telemetry, tagging Sigma rules with technique IDs, and tracking coverage in Navigator layers for both detection engineering and authorized emulation.

Related Tutorials

References

Adversary Emulation vs. Adversary Simulation: Definitions, Differences, and Why It Matters

Objective: Understand adversary emulation and adversary simulation as distinct offensive-security disciplines, how each maps onto MITRE ATT&CK and real tooling, and how to choose the right methodology so your detection and response controls are tested against the threat you actually care about.


1. Setting the Stage: Why Terminology Precision Matters

The words emulation, simulation, and red teaming are routinely used interchangeably in vendor decks and statements of work. That imprecision has an operational cost. If you commission a generic penetration test and believe you have validated your detection capability against a named threat actor, you have made a category error — you bought a vulnerability-finding exercise and assumed it tested your SOC’s behavioral analytics.

Precise language drives correct scope. Adversary emulation answers “would we detect and respond to what APT29 actually does?” Adversary simulation answers “can an attacker reach our crown jewels through any plausible path?” Both are valuable; they are not substitutes.


2. Foundational Vocabulary: TTPs and the ATT&CK Matrix

Both disciplines speak ATT&CK. The framework decomposes adversary behavior into a hierarchy that red and blue teams share as a common language.

TermATT&CK MeaningExample
TacticThe why — the adversary’s tactical goalPrivilege Escalation, Lateral Movement, Exfiltration
TechniqueThe how — the method achieving the tacticT1059.001 – PowerShell
Sub-techniqueA more specific implementation of a techniqueT1003.001 – LSASS Memory
ProcedureThe exact hands-on-keyboard implementation, step by stepThe specific commands and parameters used to dump LSASS

ATT&CK technique IDs (T1566.001, T1078, T1021.002) function as stable identifiers that bind a CTI report, an emulation step, and a detection rule together. When a red-team finding cites T1003.001 and a Sigma rule keys on the same ID, the loop from offense to defense closes cleanly.


Hierarchy diagram showing how ATT&CK tactics decompose into techniques and sub-techniques, with a CTI report and Sigma detection rule bound to the same technique ID
ATT&CK technique IDs act as stable identifiers that link a CTI report, an emulation step, and a detection rule into a closed feedback loop.

3. Adversary Emulation Defined

Adversary emulation is a structured offensive exercise in which the operator replicates the specific TTPs of a named threat actor — derived from cyber threat intelligence (CTI) — to test whether the organization’s controls detect, prevent, or respond to that actor’s real-world playbook.

The defining constraint is intelligence. Introduced by MITRE, the discipline shifts testing away from tools, exploits, and indicators of compromise toward adversary behaviors as described in ATT&CK. The goal is not to replay a malware sample or rebuild exact C2 infrastructure, but to emulate how a real actor selects, chains, and adapts techniques over time to reach its objective.

Because CTI rarely captures complete hands-on-keyboard detail, emulation is behavioral, not scripted. The operator exercises judgment while remaining bound by intelligence-defined objectives, tradecraft patterns, and risk tolerance. Ideally the blue team is blind — the exercise should look like a genuine intrusion, using TTPs known to work in the target environment.


4. Anatomy of an Adversary Emulation Plan

An Adversary Emulation Plan (AEP) is the deliverable that operationalizes a named actor. MITRE’s ATT&CK Evaluations (the APT29 structure) define three components:

ComponentPurpose
Intelligence SummaryOverview of the adversary with references to cited CTI
Operational FlowChains techniques into the logical major steps that recur across the actor’s operations
Emulation PlanThe TTP-by-TTP, command-by-command walkthrough implementing the tradecraft

MITRE publishes AEPs for actors including APT3 (G0022), APT29 (G0016), FIN6, and menuPass through the Center for Threat-Informed Defense. A minimal AEP skeleton is intentionally a behavioral framework, not an exploit script:

# emulation-plan/generic-apt.yaml  (conceptual)
intelligence_summary:
  actor: "GENERIC-APT (illustrative)"
  references: ["G0016", "internal-cti-2024-114"]
  objective: "Access and exfiltrate finance data"

operational_flow:
  - phase: initial-access
    technique: T1566.001        # Spearphishing Attachment
  - phase: execution
    technique: T1059.001        # PowerShell
  - phase: persistence
    technique: T1547.001        # Registry Run Key
  - phase: credential-access
    technique: T1003.001        # LSASS Memory
  - phase: lateral-movement
    technique: T1021.002        # SMB / Admin Shares
  - phase: exfiltration
    technique: T1041            # Exfiltration Over C2 Channel

Each emulation step references an ATT&CK ID and a short behavioral description — never a weaponized payload.


5. Adversary Simulation Defined

Adversary simulation is a comprehensive assessment of an organization’s preparedness and responsiveness to cyber threats and incidents. It tests detection, response, and recovery procedures while replicating real-world scenarios — but it is goal-oriented and flexible rather than bound to one actor.

The simulating team acts as a hypothetical or generic threat actor and draws TTPs from the ATT&CK matrix broadly, choosing whatever path achieves the objective. Simulation is the right call when the environment is heterogeneous, the threat profile is unknown, or leadership wants a general posture assessment rather than validation against a specific named playbook.

The key axis of difference: simulation is a flexible, goal-oriented test of your security program’s ability to stop an attack path, while emulation is a rigid, intelligence-driven test of your ability to detect and respond to the behaviors of a named threat actor.


6. Side-by-Side Comparison

DimensionAdversary EmulationAdversary Simulation
Threat actor fidelityNamed actor (APT29, FIN7, Scattered Spider)Hypothetical / generic threat category
ScopeScoped to a specific adversary or campaignBroad; operator acts as a hypothetical actor
TTP sourceCTI reports, AEPs, ATT&CK group pagesATT&CK matrix broadly; goal-based
Blue team awarenessIdeally blindMay be announced (purple) or unannounced
Primary outputEvidence of which ATT&CK techniques are detected, blocked, or missedGap analysis across a broad attack surface

A convergence zone exists where vendor marketing uses both terms interchangeably — particularly Breach & Attack Simulation platforms that actually perform emulation of named-actor TTPs. Read past the label: ask whether the test is bound to specific CTI (emulation) or open-ended toward a goal (simulation).


Graph diagram contrasting adversary emulation (intelligence-bound, named-actor, detection validation) against adversary simulation (goal-oriented, actor-agnostic, posture assessment)
Emulation and simulation diverge on two fundamental axes: the source of their constraints and the outcome they are designed to validate.

7. Red Teaming, Purple Teaming, and BAS on the Spectrum

These methodologies are not competitors; they occupy different points on a spectrum.

MethodologyDriverCadenceBlue Team Role
Adversary EmulationCTI / named actorPeriodicBlind, reactive
Adversary SimulationGoal / objectivePeriodicBlind or announced
Red TeamingOpen-ended objectivePeriodicBlind
Purple TeamingDetection validationIterative, collaborativeActive, co-located
BASAutomated TTP coverageContinuousConsumes results

Red teaming is the parent concept: using TTPs to emulate a real-world threat and measure the effectiveness of people, processes, and technology. Purple teaming runs red and blue collaboratively to tune detections in real time. Breach & Attack Simulation (BAS) — Picus, Cymulate, AttackIQ — automates and continuously runs TTPs against deployed controls, distinguished from manual emulation by automation and cadence.


Flow diagram showing offensive security methodologies on a spectrum from automated BAS through purple teaming and simulation to intelligence-driven emulation and full red teaming
BAS, purple teaming, simulation, emulation, and red teaming are not competing labels but distinct points on a spectrum of operational depth and intelligence fidelity.

8. The Regulatory Dimension: TIBER-EU, CBEST, and DORA

Intelligence-led emulation is now mandated for critical financial infrastructure.

FrameworkAuthorityMandate
TIBER-EUEuropean Central BankControlled, bespoke, intelligence-led emulation against live production systems
CBESTUK financial sectorNational equivalent of TIBER-EU
DORAEU regulationThreat-Led Penetration Testing (TLPT) consistent with TIBER-EU methodology

These frameworks operationalize adversary emulation at enterprise scale: a threat-intelligence provider produces a targeting package, an independent red-team provider executes against live systems, and the engagement is governed to manage operational risk. “TLPT” is the regulatory term for exactly the intelligence-led emulation described in Section 3.


9. Tooling Landscape

ToolRoleLink
MITRE CALDERAAutomated and manual ATT&CK-mapped campaign emulation; async C2, REST API, web UIcaldera.mitre.org
Atomic Red TeamRed Canary’s single-technique “atomic” test scriptsatomicredteam.io
Picus / Cymulate / AttackIQCommercial BAS; continuous automated emulationvendor

Atomic Red Team atomics map one test to one technique, ideal for detection validation:

# atomics/T1059.001/T1059.001.yaml  (conceptual)
attack_technique: T1059.001
display_name: "Command and Scripting Interpreter: PowerShell"
atomic_tests:
  - name: "Run a benign discovery command"
    supported_platforms: [windows]
    input_arguments:
      cmd:
        description: "Command to execute"
        type: string
        default: "Get-Process"
    executor:
      name: powershell
      command: "#{cmd}"

CALDERA abilities bind a runnable action to an ATT&CK tactic and technique ID, letting the planner chain them into autonomous campaigns:

# caldera ability (conceptual)
id: 9b1f0c2e-...-illustrative
name: "Local account discovery"
tactic: discovery
technique:
  attack_id: T1087.001
  name: "Account Discovery: Local Account"
platforms:
  windows:
    psh:
      command: |
        Get-LocalUser | Select-Object Name,Enabled

Combine them pragmatically: atomics validate single-technique detections; CALDERA chains techniques into operational flows; BAS provides continuous regression testing of the controls you have already tuned.


10. Building an Emulation Plan from Threat Intelligence

The AEP authoring process turns a CTI report into an ordered operational flow. Conceptually, you extract referenced techniques, resolve them against ATT&CK STIX data, group by tactic, and order the result into the kill-chain progression.

# Conceptual CTI-to-AEP mapping (pseudocode, not tooling)
TACTIC_ORDER = ["initial-access", "execution", "persistence",
                "privilege-escalation", "defense-evasion",
                "credential-access", "lateral-movement",
                "collection", "exfiltration"]

def build_operational_flow(cti_technique_ids, attack_stix):
    steps = []
    for tid in cti_technique_ids:
        obj = attack_stix.lookup(tid)          # resolve T-ID -> ATT&CK object
        steps.append({"id": tid,
                      "tactic": obj.tactic,
                      "name": obj.name})
    # order by kill-chain phase to produce a logical flow
    return sorted(steps, key=lambda s: TACTIC_ORDER.index(s["tactic"]))

The resulting Operational Flow is the behavioral spine of the campaign:

T1566.001 ─► T1059.001 ─► T1547.001 ─► T1078 ─► T1003.001 ─► T1021.002 ─► T1041
Spearphish   PowerShell   Run Key      Valid    LSASS        SMB Admin    Exfil
Attachment   Execution    Persistence  Accounts Credentials  Lateral Mvmt over C2

Operators retain flexibility within each node — emulation constrains the what and why, not every keystroke.


Flow diagram illustrating the pipeline from a raw CTI report through technique extraction, ATT&CK STIX resolution, and tactic grouping to a final Adversary Emulation Plan and execution
A CTI report becomes an executable emulation plan through a structured pipeline that resolves, groups, and orders techniques into a kill-chain-aligned operational flow.

11. Choosing the Right Methodology

Pick based on maturity, threat model, and blue-team readiness:

  • Use emulation when you have a clear threat model (a known actor targets your sector) and want to validate detection of that actor’s specific behaviors.
  • Use simulation when the threat profile is unknown, the environment is heterogeneous, or you need broad posture coverage.
  • Use purple teaming when detections are immature and you want fast, collaborative tuning.
  • Use BAS for continuous regression once detections exist.

Hard prerequisite: Simulation is inappropriate when logging infrastructure is insufficient to benefit from gap analysis. A small business that commissions a full simulation without Sysmon, PowerShell logging, and audit policy has wasted resources — there is nothing to see the attack with.


12. Common Attacker Techniques Exercised During Emulation

A representative AEP chains the following primitives; each is a discrete detection opportunity.

TechniqueDescription
Spearphishing AttachmentInitial access via weaponized document (T1566.001)
PowerShell ExecutionTradecraft execution and discovery (T1059.001)
Registry Run KeyAutostart persistence (T1547.001)
Valid AccountsReuse of captured credentials (T1078)
LSASS Memory DumpingCredential access (T1003.001)
SMB / Admin SharesLateral movement (T1021.002)
Process InjectionDefense evasion, featured in CALDERA/ART (T1055)
Exfiltration Over C2Terminal objective (T1041)

The program design principle: build analytics for ATT&CK behaviors, not detections for a single IOC or tool. Behavior-based analytics outlive the infrastructure of any one campaign.


13. Defensive Strategies & Detection

Instrument before you emulate. The events below should fire during a properly logged exercise.

Sysmon Event IDEventRelevance
1Process CreateCommandLine, ParentImage; primary atomic-test signal
3Network ConnectC2 / lateral movement; DestinationIp, DestinationPort
7Image LoadDLL side-loading (T1574-series)
8CreateRemoteThreadProcess injection (T1055-series)
10ProcessAccessLSASS access (T1003.001); TargetImage, GrantedAccess
11FileCreateStaging / dropper artifacts
12/13/14Registry Add/Set/DeleteRun-key persistence (T1547.001)
17/18PipeCreate / PipeConnectNamed-pipe C2 and lateral movement
22DNSEventC2 domain resolution

Augment with ETW: Microsoft-Windows-Threat-Intelligence (injection, RX allocations — requires PPL/kernel consumer), Microsoft-Windows-PowerShell/Operational (4103, 4104 script-block logging for T1059.001), and WMI-Activity/Operational (58575861). Enable Audit Process Creation with ProcessCreationIncludeCmdLine_Enabled = 1 for full-command-line 4688, plus Audit Object Access → Kernel Object for 4656/4663 on LSASS handles.

Close the loop from finding to detection with a Sigma rule keyed on the same ATT&CK ID the emulation exercised:

title: LSASS Memory Access Consistent with Credential Dumping
logsource:
  product: windows
  service: sysmon
detection:
  selection:
    EventID: 10
    TargetImage|endswith: '\lsass.exe'
    GrantedAccess: '0x1010'
  condition: selection
level: high
tags:
  - attack.credential_access
  - attack.t1003.001

MITRE ATT&CK Mapping

TechniqueMITRE IDDetection
Spearphishing AttachmentT1566.001Sysmon 1/11; mail-gateway telemetry
PowerShellT1059.001ScriptBlock 4104; Sysmon 1
Registry Run KeysT1547.001Sysmon 13; Audit Registry
Valid AccountsT10784624/4672; anomalous logon analytics
LSASS MemoryT1003.001Sysmon 10 (GrantedAccess); 4656/4663
SMB / Admin SharesT1021.002Sysmon 3; 4624 type 3
Exfiltration Over C2T1041Sysmon 3 (Initiated: true), 22

14. Tools for Adversary Emulation Analysis

ToolDescriptionLink
MITRE CALDERAATT&CK-mapped autonomous campaign emulationcaldera.mitre.org
Atomic Red TeamSingle-technique detection-validation atomicsatomicredteam.io
WazuhOpen-source SIEM for ATT&CK detection validationwazuh.com
SysmonEndpoint telemetry source for emulation monitoringsysinternals.com
SigmaVendor-agnostic detection rule formatsigmahq.io
VolatilityMemory forensics for credential-access validationvolatilityfoundation.org

Summary

  • Emulation is intelligence-driven and named-actor-specific; simulation is goal-driven and actor-agnostic — they are not synonyms.
  • An Adversary Emulation Plan binds CTI to behavior through three parts: Intelligence Summary, Operational Flow, and Emulation Plan — a behavioral framework, not a script.
  • Red teaming, purple teaming, and BAS occupy distinct points on the spectrum; regulators (TIBER-EU, CBEST, DORA) now mandate intelligence-led emulation as TLPT.
  • CALDERA chains ATT&CK-mapped abilities; Atomic Red Team validates single techniques — both speak technique IDs so findings convert directly into detections.
  • Instrument before you emulate: deploy Sysmon, ScriptBlock logging, and audit policy first, then close the loop from finding → Sigma rule → SIEM, building analytics for behaviors rather than a single IOC.

Related Tutorials

References

Red Teaming Fundamentals: Mindset, Methodology, and Engagement Types

Objective: Understand what a red team engagement actually is, how it differs from vulnerability assessment and penetration testing, the adversarial mindset and methodologies that structure it, the typology of engagement formats, and how every offensive action maps back to MITRE ATT&CK to produce measurable defender value.


1. What Red Teaming Actually Is

Red teaming is objective-driven adversary simulation that tests an organization’s detection and response capability — not an exhaustive enumeration of every vulnerability. A penetration test prioritizes coverage of the attack surface; a red team engagement prioritizes realism and a targeted goal: reaching high-value assets such as executive workstations, code repositories, or financial systems while remaining undetected.

TermPrecise Meaning
Vulnerability AssessmentAutomated/semi-automated enumeration of known weaknesses; no exploitation
Penetration TestScoped, time-boxed exploitation to confirm impact; goal is coverage
Red Team EngagementObjective-driven, adversary-realistic campaign testing detection & response
Adversary EmulationRed team constrained to a specific threat actor’s documented TTPs, mapped to ATT&CK
Purple Team ExerciseCollaborative, transparent session where red and blue tune specific techniques together

The defining trait: red team engagements deliberately do not seek full coverage. They genuinely test whether the organization can block or detect an attack chain, which is why they are the longest-running of all assessment types — stealth and patience are part of the deliverable.


2. The Adversarial Mindset

A red operator thinks objective-first, not checklist-first. Compliance testing asks “is this control present?” Adversarial thinking asks “what is the cheapest path to the crown jewels that the SOC will not see?”

Three mental anchors define the mindset:

  • Objective-first — every action serves a defined goal (data, access, impact). Noise that does not advance the objective is risk.
  • Stealth-conscious — assume the environment is instrumented. Prefer living-off-the-land over noisy tooling; pace operations to blend with baseline activity.
  • Iterative — reconnaissance, hypothesis, action, observation, adapt. A blocked path is intelligence, not a dead end.

The premise underpinning modern engagements is assume breach: perimeter compromise is treated as inevitable, so the real measurement is how fast the defender detects and contains post-compromise activity.


3. Industry Methodologies

Red teaming inherits structure from established testing methodologies, then layers ATT&CK on top for adversary realism.

MethodologyFocus
PTESSeven-phase end-to-end execution model
OSSTMMOperational security measurement and metrics
NIST SP 800-115Technical guide to information security testing

PTES (Penetration Testing Execution Standard) provides the canonical seven phases:

  1. Pre-engagement Interactions — scope, objectives, rules of engagement, timelines, legal/compliance
  2. Intelligence Gatheringreconnaissance, OSINT, passive and active scanning
  3. Threat Modeling
  4. Vulnerability Analysis
  5. Exploitation
  6. Post-Exploitation
  7. Reporting

These methodologies describe how to test; ATT&CK describes how adversaries behave. A red team uses PTES/NIST for process discipline and ATT&CK as the operating language to choose and document technique-level actions.


4. Engagement Types Deep Dive

Engagement format is chosen by organizational maturity and the question being answered.

Engagement TypeDefinition
Full Scope (Black Box)Simulates a real attacker against the entire environment; no insider knowledge granted
Assumed BreachStarts inside the network to measure post-compromise detection and containment speed
Objective-BasedTargets a specific outcome or asset without a full organizational assessment
Threat-InformedMirrors the TTPs of adversaries most likely to target the industry (adversary emulation)
Purple TeamCollaborative, shared-visibility execution with a debrief after each TTP

In an Assumed Breach, the client grants the foothold — executing a payload, issuing a single-use VPN or VDI session, or staging a “stolen laptop” scenario — so the team skips Initial Access and focuses on post-exploitation.

Knowledge levels cut across all formats:

LevelInformation Provided
Black boxNone; no insider/privileged information
Grey boxLimited (e.g., network diagrams, low-priv credentials, no source)
White boxFull system and security-control information (typical for Assumed Breach)

Low-maturity orgs benefit most from purple or objective-based work; mature orgs with a functioning SOC gain the most from full-scope, unannounced engagements.


Hierarchy diagram showing five red team engagement types branching from a central node, with arrows indicating that purple team suits low-maturity organizations and full-scope suits high-maturity SOCs
Engagement format is selected by organizational maturity and the specific defensive question being tested.

5. MITRE ATT&CK as the Red Team Operating Language

MITRE ATT&CK is a globally recognized knowledge base of adversary tactics and techniques built from real-world observations. It gives red and blue a common language: tactics are the adversary’s objectives, techniques are how they achieve them, and procedures are the specific implementations.

The Enterprise Matrix spans Windows, macOS, Linux, and cloud, organized into 14 tactics: Reconnaissance, Resource Development, Initial Access, Execution, Persistence, Privilege Escalation, Defense Evasion, Credential Access, Discovery, Lateral Movement, Collection, Command and Control, Exfiltration, and Impact.

ATT&CK Navigator lets teams annotate technique coverage as a JSON layer — color and score per technique — to track what was attempted, alerted, or blocked.

{
  "name": "Engagement-2024 Coverage",
  "domain": "enterprise-attack",
  "techniques": [
    { "techniqueID": "T1566.001", "score": 100, "color": "#e60d0d", "comment": "Initial access - undetected" },
    { "techniqueID": "T1059.001", "score": 50,  "color": "#fce93a", "comment": "Executed - alerted, not blocked" },
    { "techniqueID": "T1003.001", "score": 0,   "color": "#31a354", "comment": "Blocked by Credential Guard" }
  ]
}

Although ATT&CK was created to support adversary emulation, it is equally valuable to blue teams for detection, hunting, and response — which is precisely why red teams document in ATT&CK terms.


6. The Engagement Lifecycle

The Red Team Guide condenses execution into three macro-phases: gain access, establish persistence, and perform operational impact. Expanded against ATT&CK tactics, the flow is:

Pre-Engagement ──► Recon ──► Initial Access ──► Execution ──► Persistence
   (RoE/SoW)     (TA0043)     (TA0001)          (TA0002)      (TA0003)
                                                                  │
                                                                  ▼
   Debrief/Report ◄── Exfiltration ◄── Collection ◄── Lateral Move ◄── Priv Esc
     (ATT&CK map)      (TA0010)         (TA0009)        (TA0008)       (TA0004)

Each phase produces a deliverable: pre-engagement yields the signed scope and RoE; recon yields a target profile; exploitation yields proof-of-access artifacts; reporting yields the ATT&CK-mapped findings and detection-gap backlog.


Left-to-right flow diagram of the six-stage red team engagement lifecycle from pre-engagement scoping through ATT&CK-mapped reporting
Each lifecycle phase produces a concrete deliverable, ending in an ATT&CK-mapped findings report and detection-gap backlog.

7. Rules of Engagement and Pre-Engagement

No packet is sent without written authorization. The Rules of Engagement (RoE) and Statement of Work define the legal and operational guardrails. A minimal RoE skeleton:

RULES OF ENGAGEMENT — <Client> / <Vendor>
1. Scope (in-bounds):    IP ranges, domains, cloud tenants, physical sites
2. Out-of-Scope:         Systems/data explicitly forbidden (e.g., prod payroll)
3. Authorized Actions:   Exploitation? Lateral movement? Data exfil simulation?
4. Notification State:   Announced | Unannounced (does SOC know?)
5. Deconfliction:        24/7 emergency contact, get-out-of-jail signal phrase
6. Data Handling:        Treatment of sensitive data encountered mid-op
7. Engagement Window:    Start/end dates, permitted hours
8. Legal Authorization:  Signatures, SoW reference, indemnification

The deconfliction channel and notification state are non-negotiable: they prevent a real incident response from spinning up against an authorized test and define whether the blue team is being tested blind.


8. Reconnaissance — Passive Versus Active

ATT&CK separates passive collection from active probing. T1596 (Search Open Technical Databases) sends no traffic to the target — it queries third-party indexes. T1595 (Active Scanning) probes victim infrastructure directly and is noisier and higher-risk.

import shodan, whois  # read-only OSINT libraries

api = shodan.Shodan("<authorized-engagement-key>")

# Passive WHOIS lookup — registrar/registration metadata only
record = whois.whois("scoped-target.example")
print(record.registrar, record.creation_date)

# Query Shodan's EXISTING index — no packets sent to the target host
host = api.host("203.0.113.10")
for service in host["data"]:
    print(service["port"], service["product"])

Passive recon is favored early because it leaves no trace in the target’s telemetry. Active scanning is sequenced only when scope and stealth budget permit, since it surfaces in firewall and IDS logs.


9. Adversary Emulation and the Tooling Ecosystem

Threat-informed engagements use Adversary Emulation Plans — MITRE prototype documents built from public threat reports — so operators behave like a specific group (e.g., APT29, FIN7), sticking to that actor’s known TTPs with latitude in implementation.

ToolRole
MITRE CALDERAAutomated post-compromise emulation driven by an ATT&CK-based adversary model
Atomic Red TeamLibrary of small, focused tests mapping one-to-one to ATT&CK techniques
Cobalt Strike / Sliver / HavocC2 frameworks that simulate adversary command-and-control channels (conceptual)
ATT&CK NavigatorVisualizes technique coverage and compares threat profiles

Atomic Red Team enables unit-style TTP testing. The pattern below runs a benign discovery technique on a lab VM to validate telemetry — it produces no harm:

# Lab VM only - benign discovery, no exploitation
Import-Module Invoke-AtomicRedTeam

# T1016 - System Network Configuration Discovery
Invoke-AtomicTest T1016 -ShowDetails
Invoke-AtomicTest T1016 -TestNumbers 1   # runs: ipconfig /all, route print

10. Red, Blue, and Purple Team Dynamics

The mode of collaboration defines the exercise. In an unannounced red team, the blue team is blind — this measures real-world detection. In a purple team, red and blue share visibility and debrief after each TTP, maximizing tradecraft coverage and detection tuning.

ModeInformation SharingBest For
Red (unannounced)None until debriefMeasuring true SOC detection/response
Red (announced)Blue knows test is occurringControlled validation, reduced IR risk
PurpleFull, real-timeRapid detection engineering, low-maturity uplift

Purple is the fastest route to closing gaps; unannounced red is the truest measure of readiness. Mature programs alternate between them.


Abstract illustration of a glowing blue dividing line separating a red offensive side from a blue defensive side, symbolizing red and blue team collaboration in a purple team exercise
Purple teaming bridges the adversarial and defensive perspectives by replacing opacity with shared visibility and real-time feedback.

11. Common Attacker Techniques

A red team chains techniques across tactics. A canonical illustrative chain for teaching — not a how-to — runs:

T1566.001 Spearphishing Attachment → T1059.001 PowerShell → T1003.001 LSASS Memory → T1021.002 SMB/Admin Shares → T1048.003 Exfiltration Over Non-C2 Protocol.

TechniqueDescription
PhishingSpearphishing attachment as initial access vector
Valid AccountsCredential abuse; the assumed-breach entry point
PowerShell ExecutionMost-observed Execution interpreter in intrusions
Process InjectionStealth execution and defense evasion primitive
Credential DumpingLSASS memory access for lateral movement material
Lateral MovementSMB/admin shares to reach high-value hosts

MITRE ATT&CK Mapping

TechniqueMITRE IDDetection
Spearphishing AttachmentT1566.001Mail gateway, attachment sandboxing
Valid AccountsT1078Anomalous logon, Security EID 4624
PowerShellT1059.001Script Block Logging EID 4104, AMSI
Process InjectionT1055Sysmon EID 7/EID 8
LSASS MemoryT1003.001Sysmon EID 10 GrantedAccess
SMB/Admin SharesT1021.002EID 5145, logon type 3
Web Protocol C2T1071.001Sysmon EID 3, proxy logs
Exfil Over C2T1041Sysmon EID 3, egress volume

Flow diagram showing a five-step ATT&CK technique chain from spearphishing attachment through PowerShell execution, LSASS credential dumping, SMB lateral movement, to exfiltration
A canonical teaching chain illustrating how ATT&CK techniques link across tactics to form a complete attack path.

12. Defensive Strategies and Detection

A red team’s value is realized only when the blue team instruments the environment to measure it. Deploy Sysmon with a tuned config and enable the relevant audit policies.

Event IDWhat It Captures
Event ID 1Process Create — execution lineage
Event ID 3Network Connection — beaconing / C2 callouts
Event ID 7Image Loaded — DLL load (injection detection)
Event ID 11File Create — drops to disk
Event ID 22DNS Query — DNS-based C2 / tunneling

Enable Audit Process Creation (feeds Sysmon EID 1 and Security EID 4688 with command-line logging), Audit Logon Events for credential-based lateral movement, Audit Object Access for exfiltration/persistence, and Audit Privilege Use for escalation. Key ETW providers include Microsoft-Windows-Kernel-Process, Microsoft-Windows-DNS-Client, AMSI, and Microsoft-Windows-PowerShell.

A foundational Sigma sketch for surfacing reconnaissance commands in process-creation telemetry:

title: Red Team Awareness - Host & Domain Discovery Commands
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 4688
    CommandLine|contains:
      - 'ipconfig /all'
      - 'route print'
      - 'net group "Domain Admins"'
  condition: selection
level: low

After the engagement, generate a coverage report and feed it into ATT&CK Navigator to drive a prioritized detection backlog:

TACTICS = {
    "T1596": "Reconnaissance", "T1566.001": "Initial Access",
    "T1059.001": "Execution",  "T1003.001": "Credential Access",
    "T1021.002": "Lateral Movement", "T1041": "Exfiltration",
}
detected = {"T1059.001", "T1003.001"}   # techniques the SOC alerted on

for tid, tactic in TACTICS.items():
    status = "HIT" if tid in detected else "GAP"
    print(f"[{status}] {tactic:20} {tid}")

Adopt an assume-breach posture: segment networks so lateral movement is detectable and costly, enable PowerShell Script Block Logging via GPO, and turn on command-line auditing. Map successful detections and missed techniques back to the ATT&CK matrix to build the remediation backlog.


13. Tools for Red Team Operations

ToolDescriptionLink
MITRE CALDERAAutomated ATT&CK-based adversary emulationcaldera.mitre.org
Atomic Red TeamUnit tests per ATT&CK techniqueatomicredteam.io
ATT&CK NavigatorCoverage visualization and planningattack.mitre.org
SysmonDeep process/network/file telemetrysysinternals.com
SigmaVendor-agnostic detection rule formatsigmahq.io
VolatilityMemory forensics for post-engagement analysisvolatilityfoundation.org

Summary

  • Red teaming is objective-driven adversary simulation that measures detection and response — not exhaustive vulnerability enumeration.
  • The adversarial mindset is objective-first, stealth-conscious, and iterative, anchored on an assume-breach premise.
  • Engagement type (full scope, assumed breach, objective-based, threat-informed, purple) is chosen by organizational maturity and the question being asked.
  • MITRE ATT&CK’s 14 tactics provide the common language that lets red document operations and blue translate findings into detections.
  • Every offensive TTP is paired with Sysmon/audit telemetry and an ATT&CK-mapped debrief that produces a prioritized detection-gap backlog.

Related Tutorials

References