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 |
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.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