Parte: 7 — Red Team y operaciones ofensivas · Fuente: MITRE ATT&CK Framework (attack.mitre.org) ⏱️ Duración estimada: 90 min · Nivel: Intermedio
Dominar MITRE ATT&CK como el vocabulario común entre atacantes y defensores. El alumno aprenderá la estructura del framework (tácticas, técnicas, subtécnicas, procedimientos), a mapear acciones ofensivas a IDs concretos y a usar ATT&CK Navigator para planificar cobertura y comunicar resultados de forma que el Blue Team pueda accionarlos.
Al finalizar, el alumno podrá:
T1059.001).| # | Tema | Por qué importa |
|---|---|---|
| 1 | Tácticas (el "por qué") | Son las 14 metas del adversario (TA00xx) |
| 2 | Técnicas y subtécnicas | El "cómo" concreto (Txxxx / Txxxx.00x) |
| 3 | Procedimientos | Implementación real de una técnica por un grupo |
| 4 | Grupos (G) y Software (S) | Vinculan técnicas a actores reales |
| 5 | Data Sources y detección | Une ofensiva con telemetría defensiva |
| 6 | ATT&CK Navigator | Visualiza cobertura y planifica |
| 7 | Matrices Enterprise/ICS/Mobile | Distinto alcance según el entorno |
ATT&CK no es "una lista de ataques": es un vocabulario compartido entre quien ataca y quien defiende. Antes de ATT&CK, un informe decía "el atacante usó técnicas avanzadas de persistencia" y cada lector entendía algo distinto. Hoy decimos T1547.001 (Registry Run Keys) y todos —Red Team, SOC, threat intel— hablan del mismo comportamiento, con la misma detección asociada. Ese lenguaje común es lo que convierte un ejercicio ofensivo en algo que la defensa puede medir y accionar.
El framework se organiza en cuatro niveles que van de lo abstracto a lo concreto:
| Nivel | Responde a | Ejemplo |
|---|---|---|
| Táctica | El por qué (la meta) | Credential Access |
| Técnica | El cómo general | T1003 OS Credential Dumping |
| Subtécnica | El cómo específico | T1003.001 LSASS Memory |
| Procedimiento | La implementación real observada | APT29 vuelca LSASS con comsvcs.dll |
Entender esta jerarquía es lo que evita el error más común: confundir la táctica (el objetivo) con la técnica (el método). Hay 14 tácticas en la matriz Enterprise —de Initial Access a Impact— y cientos de técnicas colgando de ellas.
Por qué ATT&CK importa tanto se entiende con la Pyramid of Pain: bloquear un hash o una IP le cuesta al adversario segundos (cambia el fichero, rota el servidor). Pero detectar un comportamiento —volcar LSASS, kerberoasting— le obliga a cambiar su forma de operar, que es caro y lento. ATT&CK cataloga precisamente esa capa alta de la pirámide: los TTPs, lo que de verdad duele al adversario cuando lo detectas.
ATT&CK no cataloga solo comportamientos: los ata a la realidad. Los Grupos (G0016 APT29) enumeran las técnicas atribuidas a un actor; el Software (S0154 Cobalt Strike) las que implementa una herramienta. Y cada técnica lista sus Data Sources —la telemetría que permite verla: Process Creation, Command Execution, Network Traffic—. Ese campo es el puente hacia el SIEM: te dice qué log necesitas para detectar la técnica que planeas ejecutar.
El ATT&CK Navigator es la hoja de cálculo del framework: una matriz coloreable donde marcas las técnicas de tu plan (una layer ofensiva) y el Blue Team marca las que sabe detectar (una layer defensiva). Superponer ambas revela los huecos de cobertura de un vistazo —las técnicas que ejecutarás y nadie verá—. Es a la vez herramienta de planificación del Red Team y de comunicación con la defensa.
ATT&CK no es una sola matriz. Enterprise cubre Windows, Linux, macOS, nube y contenedores; Mobile cubre Android/iOS; ICS cubre entornos industriales (con tácticas propias como Inhibit Response Function). Aplicar una técnica de la matriz equivocada —emular un ataque a un PLC en una red puramente ofimática— produce un plan irreal. Elegir la matriz correcta es el primer paso de cualquier mapeo.
T1059 Command and Scripting Interpreter). Característica: responde al "cómo".T1059.001 PowerShell). Característica: granularidad para detección.G0016 APT29). Característica: agrupa técnicas atribuidas.| Término | Definición concisa |
|---|---|
| ATT&CK | Base de conocimiento de tácticas y técnicas adversarias observadas |
| Táctica | Objetivo del adversario; el "por qué" (14 en Enterprise) |
| Técnica | Método para lograr una táctica; el "cómo" general (Txxxx) |
| Subtécnica | Variante específica de una técnica (Txxxx.00x) |
| Procedimiento | Implementación concreta de una técnica por un actor real |
| Grupo (Gxxxx) | Actor de amenaza catalogado con sus técnicas atribuidas |
| Software (Sxxxx) | Malware o herramienta con las técnicas que implementa |
| Data Source | Telemetría que permite observar una técnica |
| ATT&CK Navigator | Herramienta para colorear la matriz y visualizar cobertura |
| Layer | Capa de Navigator que representa un plan o una cobertura |
| Pyramid of Pain | Modelo que jerarquiza los IOC por su coste para el adversario |
| Cyber Kill Chain | Modelo lineal de fases de intrusión (Lockheed Martin) |
| Matriz Enterprise | ATT&CK para Windows, Linux, macOS, nube y contenedores |
| Matriz ICS | ATT&CK para entornos de control industrial |
| STIX/TAXII | Formato y protocolo para intercambiar conocimiento de amenazas |
| Cobertura | Grado en que la defensa detecta las técnicas de la matriz |
pip install mitreattack-python para consultar el conocimiento por API (STIX/TAXII).bash
git clone https://github.com/mitre-attack/attack-navigator
cd attack-navigator/nav-app && npm install && npm start
enterprise-attack.json) del repo mitre/cti.⚠️ Esta clase es de conocimiento y planificación: no se ejecuta técnica ofensiva alguna, solo se cataloga y visualiza.
T1059.001).G0016 (APT29) y anota 5 técnicas que usa; observa el software asociado (ej. S0154 Cobalt Strike).pip install mitreattack-python y lista técnicas de una táctica:python
from mitreattack.stix20 import MitreAttackData
data = MitreAttackData("enterprise-attack.json")
for t in data.get_techniques_by_tactic("credential-access", "enterprise-attack"):
print(t.external_references[0].external_id, t.name)
T1059.001 → Command Execution / Script Block Logging).T1059.Construye un ATT&CK Navigator layer que represente el plan de emulación de un grupo real (elige entre APT29, FIN7 o Wizard Spider), con al menos 15 técnicas mapeadas y un comentario por técnica. Criterio de aceptación: el JSON importa sin errores en Navigator y cada técnica marcada existe realmente en el perfil del grupo según su página de ATT&CK.
| Síntoma / mensaje | Causa y cómo arreglar |
|---|---|
| Confundir táctica con técnica | La táctica es el "por qué", la técnica el "cómo"; revisa la jerarquía |
| ID inválido en Navigator | Usaste un ID deprecado; verifica en attack.mitre.org la versión actual |
| Layer no importa | JSON mal formado o versión de Navigator distinta; ajusta el campo versions |
| Técnica sin detección clara | No revisaste Data Sources; abre la técnica y lee la sección Detection |
| Mezclar matrices | Aplicaste una técnica ICS a Enterprise; confirma la matriz correcta |
❓ ¿ATT&CK es solo para defensores? No. Para el Red Team es el mapa de planificación y el idioma del informe: mapear tus TTPs permite que la defensa mida su cobertura.
❓ ¿Cada técnica tiene una única detección? No; una técnica puede detectarse por varias Data Sources y una detección puede cubrir varias técnicas. Por eso el mapeo es many-to-many.
❓ ¿Qué diferencia hay con la Cyber Kill Chain? La Kill Chain (Lockheed Martin) es lineal y de alto nivel; ATT&CK es un catálogo detallado y no secuencial de comportamientos observados.
mitreattack-python. https://github.com/mitre-attack/mitreattack-pythonClase 161 — Red Team vs pentest: filosofía y objetivos