Purple Team: ¿pero esto qué es? (II). Threat Intelligence

Tras haber hecho una introducción y exposición somera de la metodología Purple Team y enumerado las fases que la componen en la primera parte de esta serie, en esta segunda voy a entrar en más detalles sobre cómo se integra la inteligencia de amenazas (Cyber Threat Intelligence o CTI) en todo el proceso de emulación adversarial, y por ende, en los ejercicios o programas Purple Team.

Lo primero: entender la organización objetivo

Tanto si se está realizando CTI como consultor externo como si se forma parte de la organización, es importante contar con la mayor información posible sobre la organización.

Para ello, el equipo de CTI debe llevar a cabo un intenso y extenso ejercicio de obtención de información, de la misma forma que la obtendría un agente de amenazas enemigo. Además de esto, la información debe enriquecerse con la obtenida mediante entrevistas y consultas al personal de la organización.

El objetivo es identificar la superficie de ataque de las personas, procesos, tecnologías y sistemas que forman parte de la huella digital de la organización para crear una visión preliminar de la exposición desde la perspectiva del atacante, y contribuir así al descubrimiento de posibles escenarios de ataque que se incluirán en el informe de CTI.

Identificar el adversario a emular

Para afrontar con eficacia la realización de ejercicios de emulación adversarial, es necesario conocer quién tiene a nuestra organización como objetivo. Se considerarán amenazas aquellos actores que reúnan la intención, oportunidad y capacidad para producir un impacto en confidencialidad, integridad o la disponibilidad de la organización.

Las definiciones siguientes provienen en gran medida del SANS Digital Forensics Blog.

  • Intención: Se asocia con el impacto ya que es la voluntad del adversario de provocar un impacto. Está íntimamente ligada a la industria a la que pertenece la organización, aunque diferentes adversarios pueden tener intenciones ligeramente diferentes. Por ejemplo, la mayoría de los adversarios de una aseguradora tendrán como intención la obtención de información confidencial de sus clientes, aunque podría haber actores con otras intenciones ligeramente diferentes. Por todo lo anterior, la organización no puede influir en este factor.
  • Oportunidad: Relacionado con el momento o circunstancia en el que un actor puede provocar un impacto. Por ejemplo, un adversario puede aprovechar el espacio de tiempo entre la publicación de una vulnerabilidad y la mitigación de esa vulnerabilidad.
  • Capacidad: Habilidad del adversario para conseguir su objetivo y aprovechar la oportunidad. Está relacionado con las capacidades técnicas del adversario y los recursos con los que cuenta. Por ejemplo, la capacidad de un actor para explotar una vulnerabilidad para la que no existe exploit publicado.

Una vez que tengamos una lista de actores de amenaza que cumplen estas características, será tarea de la dirección (jefe de seguridad, CISO o similar), asesorada por CTI, decidir qué prioridad tienen estas amenazas en nuestros ejercicios.

Si la organización no tiene experiencia en estos ejercicios, es recomendable empezar con adversarios poco sofisticados y aumentar la sofisticación a medida que la experiencia aumenta.

Caracterizar la amenaza y extraer TTPs

Obtención de inteligencia

La ciberinteligencia puede obtenerse tanto de fuentes abiertas como a través de un proveedor, aunque puede elaborarse internamente.

Es recomendable contrastar la información de diversas fuentes como ISACs (Information Sharing and Analysis Centers), organizaciones que se encargan de la recabar y distribuir ciberinteligencia entre los miembros de una industria o colectivo).

Un framework muy utilizado para tal efecto es MISP (Malware Information Sharing Platform). Con MISP, se pueden crear servicios distribuidos de colaboración basada en roles de forma que los usuarios con determinado rol puedan subir información a la plataforma y aumentar la base de conocimiento de todos los miembros.

Merece también una mención de honor la plataforma MITRE ATT&CK. Esta plataforma contiene un inmenso volumen de inteligencia orientada a la emulación adversarial de grupos APT. Su uso será clave en apartados posteriores de este artículo.

Indicadores de compromiso

Los Indicadores de Compromiso o «Indicators of Compromise» (IOCs) hacen referencia a una tecnología estandarizada que consiste en definir las características técnicas de una amenaza por medio de las evidencias existentes en un equipo comprometido, es decir, se identifican diferentes acciones como ficheros creados, entradas de registro modificadas, procesos o servicios nuevos, etc. de manera que puedan servir para identificar otros ordenadores afectados por la misma amenaza o prevenirlos de la misma.”(https://www.incibe-cert.es/blog/indicadores-de-compromiso)

Como forma de organizar los Indicadores de Compromiso de nuestra amenaza, tomaremos la Pirámide del dolor, concepto acuñado en 2013 por David Bianco que se encarga de segregar la información que podemos obtener de una amenaza y darle una prelación desde la información más sencilla de obtener pero que es menos útil para caracterizar un ataque (abajo) a la más relevante, pero a la vez más complicada de obtener (arriba).

De esta forma, se irán exponiendo los IOC de abajo a arriba.

  • Hashes: Son IOC útiles en el corto plazo pero, por definición, un solo bit cambiado en un archivo produce un hash completamente diferente. Por lo tanto, es trivial para un atacante modificar las herramientas para que cada poco tiempo se cambien los hashes e incluso se cambien de forma dinámica (con un string random en el código bastaría).
  • Direcciones IP: Este IOC es también muy sencillo de modificar. Los agentes de amenaza a menudo contratan contenedores en la nube para usarlos como punto de ataque. De esta forma pueden replicar el ataque de forma sencilla desde muchos de estos contenedores. De hecho, una práctica común es usar estos contenedores en la nube como proxy para sus acciones de forma que la verdadera máquina de ataque no expone su IP.
  • Nombres de dominio: Aunque este IOC es más complicado de modificar, habitualmente se utilizan miles de dominios diferentes usando las mismas técnicas que para enmascarar las IP. Además, también es una práctica común usar proveedores de nombres de dominio dinámicos como duckdns o dyndns.
  • Artifacts de host o de red: Se trata de aquellos rastros que el atacante deja en su ataque como archivos depositados en el sistema, comandos ejecutados, paquetes de red formados de maneras determinadas, etc. Estos IOC son más difíciles de modificar, aunque un mismo actor puede contar con pequeñas variaciones que los modifiquen ligeramente como aleatorizar nombres de archivos, ofuscar trafico de red o cambiar User Agents de peticiones HTTP, por nombrar algunos.
  • Herramientas: Esto se refiere principalmente aquellas herramientas no nativas del sistema usadas para conseguir comprometer el sistema tanto del lado del PC de atacante como de la víctima. Es un desafío importante para un atacante modificar estas herramientas, por lo que este IOC nos garantiza mejores detecciones. Por ello, los atacantes intentan que las herramientas se camuflen en la medida de lo posible con las herramientas nativas que la organización utiliza en producción (p.ej. usar comandos de powershell para enumerar o usar WMI como sistema de C2).

TTPs (Tácticas, Técnicas y Procedimientos)

Esta es la inteligencia más difícil de obtener y al mismo tiempo lo que provee de información más relevante para que el Blue Team pueda desarrollar un plan de detección y respuesta más efectivo.

Es muy complicado para un agente de amenazas modificar sus TTP ya que es una descripción a alto nivel de sus acciones, y para modificarlas tendrían que cambiar por completo su forma de atacar.

Al mismo tiempo, es complejo para el Blue Team implementar medidas de detección para detectar TTP, no siendo suficiente el uso de las fuentes de detección individualmente, sino que son necesarias reglas de correlación y agregación de alertas de fuentes diversas.

En esta etapa, el equipo de CTI deberá usar la inteligencia obtenida para construir un mapa de las TTPs del adversario.

Como adelantábamos hace unas líneas, para ello se utilizará usualmente lo que se ha convertido el estándar de la industria, el ya mencionado MITRE ATT&CK Framework. MITRE se ha encargado de crear un marco común para organizar acciones, procedimientos o herramientas según una división que permite tener una visión más organizada de una amenaza.

Es importante definir cuáles son los diferentes componentes en los que se dividen las TTPs para MITRE:

  • Tácticas: Representadas como columnas de la Matriz, son la descripción de los objetivos de una acción a alto nivel. Por ejemplo, la táctica Persistence incluye aquellas acciones que el atacante utiliza para mantener el acceso a un sistema ya comprometido a pesar de reseteos, cambios de contraseñas y otras acciones que puedan poner en peligro su acceso a la víctima.
  • Técnicas: Representadas como cajas debajo de las columnas, son descripciones más exhaustivas de acciones ofensivas, pero sin entrar en detalles particulares en función de Sistema Operativo o tipo de herramienta. Una técnica siempre está englobada dentro de una Táctica. Por ejemplo la Técnica T1053 Scheduled Task/Job consiste en crear una tarea programada para que recurrentemente que ejecute un código malicioso. Si este código malicioso fuera algún canal de C2 podría incluirse dentro de la táctica Persistence anteriormente ejemplificada.
  • Subtécnicas: Se representan como menús desplegables dentro de cada táctica y dan una descripción técnica de diferentes variantes de la técnica. Para seguir con el ejemplo anterior, las subtécnicas de la técnica Scheduled Task/Job serían diferentes variantes de esta acción según el sistema operativo víctima o el tipo de tarea programada a usar (ver imagen).
  • Procedimientos: No figuran en la matriz por ser excesivamente numerosos. Son los pasos concretos, comandos, herramientas y su uso para un caso particular. En nuestro caso, podría ser un ejemplo de procedimiento usar Powershell para crear la tarea programada como se puede ver en este artículo.

Analizar y organizar

Crear un perfil adversarial es una muy buena forma de establecer un plan a alto nivel para las tareas del Red Team durante la ejecución del ejercicio. MITRE ha desarrollado la herramienta ATT&CK Navigator, una aplicación web open source en la que se pueden representar gráficamente las TTPs de una amenaza. MITRE también cuenta con una recolección de grupos de APT y software con sus TTP asociadas que se pueden introducir en ATT&CK Navigator.

A continuación, se puede ver un ejemplo en el que se muestran las TTPs relacionadas con el grupo APT29 en ATT&CK Navigator.

Puesta en común (Tabletop)

Los promotores del ejercicio y managers de los equipos deben revisar las TTPs ofrecidas por el equipo de CTI y hacer un ejercicio de puesta en común para elegir cuales de esas TTPs serán emuladas durante el ejercicio de Purple Team.

Las TTPs elegidas deben estar siendo usadas por los adversarios en la actualidad. En el caso de operaciones continuas de Purple Team, nuevas TTPs se irán añadiendo en cada iteración.

Aquí se deberán cubrir todas las TTPs (las TTPs a emular suelen denominarse Test Cases en el ámbito de la emulación adversarial) y decidir cuáles serán los controles y equipos que tendrán visibilidad de esta, así como la detección, bloqueo o registro esperado para ella.

Se deberá crear una matriz similar a la siguiente en la que se mostrarán los resultados esperados y que servirá como referencia para la creación del plan de ejecución así como para valorar el éxito del ejercicio en la fase de Lecciones aprendidas.

Continuará…

Para la ejecución de ejercicios de cierta entidad es necesario una herramienta que proporcione una plataforma de gestión y seguimiento del ejercicio.

Para ser coherentes con el tema que estamos tratando, la herramienta que elijamos tiene que tener la capacidad de integrar tanto la coordinación de las actividades Red como las del equipo Blue para incluir al mismo tiempo las acciones de emulación y sus respectivas medidas de detección.

A estos efectos, en el próximo capítulo de la serie (III), se utilizará la herramienta gratuita Vectr.io. Con ella, veremos como se pueden coordinar todos los elementos del ejercicio y, ademas, contar con una base de conocimiento para el futuro con el objetivo de estudiar la evolución de la postura de seguridad de la organización, pero eso, es otra historia…

Ver también en: