Logo

Purple Cloud


Por Robert Parra, Cybersecurity Consultant

El desarrollo continuo y la constante evolución de las tecnologías en la nube han transformado la infraestructura de las organizaciones. Con este auge, la dependencia de soluciones basadas en la nube ha aumentado y, a su vez, se han incrementado los posibles riesgos de seguridad asociados a estos recursos en la nube. Ante este panorama, la necesidad de proteger y mantener la seguridad de los sistemas que conforman la infraestructura en la nube se ha vuelto una prioridad.

Un ejercicio de seguridad del tipo Purple Team tiene como objetivo mejorar la visibilidad de eventos que pudieran comprometer la integridad, la confidencialidad y la disponibilidad de una organización. Este ejercicio se conforma de un equipo defensivo (Blue Team) y de un equipo ofensivo (Red Team). Este último es el responsable de realizar pruebas de seguridad siguiendo las mismas tácticas, técnicas y procedimientos usadas por un actor de amenazas.

Mediante un ejercicio de Purple Team, una organización es capaz de verificar la capacidad de cobertura y detección de amenazas sobre los servicios alojados en la nube, lo cual permite, mediante simulaciones de ataques por parte del equipo de Red Team, identificar vulnerabilidades que podrían ser aprovechadas por actores de amenazas. Las pruebas se basan en el modelo de amenazas y buscan identificar la detección y respuesta ante algún evento potencialmente malicioso. También, estas pruebas favorecen la implementación de nuevos controles que permiten tener una mejor visualización de los eventos, realizar revisiones de alertas en tiempo real y mejorar configuraciones o modelos dentro de las herramientas utilizadas por la organización.

MITRE y TTP's

La matriz de MITRE ATT&CK® categoriza comportamientos y vectores de ataque conocidos, realizados por actores de amenazas reales y que fueron utilizados para alcanzar objetivos dentro de un entorno o infraestructura. Estos vectores de ataque se definen en las tácticas, técnicas y procedimientos (Techniques, Tactics and Procedures [TTP]).

De esa manera, Matriz MITRE Cloud recopila diversas tácticas, técnicas y procedimientos que los actores de amenazas podrían emplear para atacar entornos en la nube. Así, divide estos ataques en técnicas, para luego categorizarlas en tácticas, con la finalidad de organizar y plantear un flujo de actividades que simule un posible compromiso en la red.

Estas tácticas se clasifican de la siguiente manera:

  • Reconocimiento
  • Desarrollo de recursos
  • Acceso inicial
  • Ejecución
  • Persistencia
  • Escalamiento de privilegios
  • Evasión de defensa
  • Acceso a credenciales
  • Descubrimiento
  • Movimiento lateral
  • Colección
  • Comando y control
  • Exfiltración
  • Impacto

A continuación, se muestra la matriz Cloud de MITRE adaptada (con una columna agregada por el equipo de Dreamlab Technologies a partir de la experiencia de los Purple, Team realizados) y en la que se resaltaron ciertas tácticas, técnicas y procedimientos en color rojo, que serán tratadas en este blog. Aquellas en color amarillo corresponden a otras tácticas, técnicas y procedimientos también importantes en los ejercicios de Cloud., pero que se descartan en este artículo por cuestiones de tiempo, amplitud y detalles que implicarían.

Source: https://attack.mitre.org/matrices/enterprise/cloud/

Tácticas importantes en un Purple team Cloud

Reconocimiento

La primera fase del ejercicio se centra principalmente en la obtención de información sobre los recursos y servicios que una organización mantiene en infraestructuras Cloud, desde un vector externo y sin credenciales asociadas. Para esto, se realiza una búsqueda en fuentes abiertas con la finalidad de recolectar datos disponibles que puedan revelar detalles sobre la arquitectura de la nube, configuraciones de seguridad y servicios expuestos.

Paralelamente, se realiza un reconocimiento de forma activa o pasiva para identificar información que podría ser utilizada por un adversario para planificar y ejecutar un posible Acceso inicial.

TTP asociadas

Durante esta fase, algunas de las TTP asociadas esenciales son las siguientes:

  • T1592, Gather Victim Host Information: se busca recopilar información sobre los hosts que la organización pueda poseer.
  • T1589, Gather Victim Identity Information: se intenta recopilar información sobre la identidad de posibles víctimas para ser utilizada en ataques como, por ejemplo, la búsqueda u obtención de credenciales.
  • T1590, Gather Victim Network Information: se busca recopilar información sobre las redes de la organización como, por ejemplo, rangos de IP, nombres de dominio, etc.

Herramientas

https://github.com/belane/CloudHunter: búsqueda de buckets storage en Cloud y listado de los permisos disponibles sobre los buckets.

https://github.com/initstring/cloud_enum: herramienta Multi-cloud para enumerar recursos públicos de infraestructura Cloud.

https://github.com/sa7mon/S3Scanner: herramienta para enumerar S3.

https://github.com/0xsha/CloudBrute: búsqueda de archivos, aplicaciones e infraestructura Cloud.

https://github.com/RhinoSecurityLabs/GCPBucketBrute: para enumerar buckets en GCP y determinar qué acceso se tiene a ellos.

https://github.com/redhuntlabs/BucketLoot: inspector para Buckets S3.

https://www.whatismytenantid.com/: para obtener el Tenant ID de Azure según un nombre de dominio entregado.

Acceso Inicial

Durante esta etapa del ejercicio, se implementan técnicas y vectores de ataque diseñados con la finalidad de comprometer y obtener un punto de entrada inicial en la red de la organización. Un ejemplo podría ser la explotación de debilidades en servidores web públicos con el fin de obtener credenciales de acceso. El objetivo final de esta fase es obtener acceso inicial a la infraestructura Cloud de la organización.

Por lo tanto, esta fase se suele desarrollar bajo el supuesto de que un actor de amenazas ha logrado comprometer una cuenta de la organización con acceso a la infraestructura Cloud.

TTP asociadas

Durante esta fase, algunas de las TTP asociadas esenciales son las siguientes:

  • T1078, Valid Accounts: se realiza una validación de las credenciales y se accede al portal Cloud de la organización
  • T1190, Exploit Public-Facing Application: los adversarios pueden intentar explotar una debilidad en un host o sistema orientado a Internet para acceder a ciertos recursos de la infraestructura Cloud.

Herramientas

https://aws.amazon.com/cli/: instalación de AWS CLI para la autenticación y ejecución de comandos.

https://learn.microsoft.com/es-es/cli/azure/install-azure-cli: instalación de Azure CLI para la autenticación y ejecución de comandos.

https://cloud.google.com/sdk/docs/install: instalación de GCloud CLI para la autenticación y ejecución de comandos.

https://github.com/levid0s/AzurePortals: listado de portales de autenticación Azure.

Ejecución

Durante esta etapa del ejercicio de Purple Team, el equipo de Red Team se centra en la ejecución de técnicas y herramientas controladas, como scripts, para obtener información detallada sobre los servicios y recursos disponibles en la infraestructura _Cloud de la organización.

El objetivo principal de esta fase es identificar malas configuraciones utilizando las herramientas posibles, prácticas peligrosas y debilidades potenciales en la infraestructura Cloud, que podrían ser aprovechadas por algún actor de amenazas.

Esto incluye, a modo de ejemplo, configuraciones inseguras, acceso no autorizado a archivos sensibles en servicios de almacenamiento (AWS S3, Azure Storage, por mencionar algunos), falta de parches de seguridad, credenciales en servicios y otros riesgos de seguridad que podrían ser usados por un adversario para etapas posteriores.

TTP asociadas

Durante esta fase, algunas de las TTP asociadas esenciales son las siguientes:

  • T1059, Command and Scripting Interpreter: se realiza la ejecución de diferentes scripts y herramientas para obtener información sobre los recursos disponibles en el Cloud.
  • T1651, Cloud Administration Command: se intenta ejecutar funciones administrativas en el entorno de nube como la ejecución de comandos en las máquinas virtuales.
  • T1648, Serverless Execution: se intenta abusar de los servicios de computación, integración y automatización para ejecutar código arbitrario en entornos en la nube.

Herramientas

https://github.com/nccgroup/ScoutSuite: herramienta automatizada multi-cloud que realiza una búsqueda de información y evalúa posibles configuraciones peligrosas con la finalidad de clasificar estas configuraciones.

https://github.com/prowler-cloud/prowler: herramienta automatizada que busca realizar evaluaciones de mejores prácticas de seguridad en la infraestructura Cloud.

https://github.com/aquasecurity/cloudsploit: permite la detección de riesgos de seguridad en cuentas de infraestructura en la nube.

https://github.com/NetSPI/MicroBurst: conjunto de scripts en PowerShell para realizar ataques automatizados a la infraestructura de Azure.

https://github.com/dirkjanm/ROADtools: herramienta para recolectar información sobre la infraestructura de Azure AD.

https://github.com/silverhack/monkey365: módulo de PowerShell para obtener posibles configuraciones peligrosas y problemas de seguridad.

https://github.com/BloodHoundAD/AzureHound. recopilador de datos BloodHound para Microsoft Azure.

Escalamiento de privilegios

En esta fase del ejercicio de Purple Team, el equipo de Red Team se enfoca en la ejecución de pruebas utilizando técnicas y herramientas con el objetivo de obtener permisos elevados dentro de la infraestructura Cloud. Esta fase suele ser crítica puesto que es para simular cómo un atacante podría obtener control sobre los recursos Cloud de la organización.

Para completar este objetivo, el Red Team busca activamente vulnerabilidades, malas prácticas o permisos elevados dentro de la infraestructura Cloud que puedan ser aprovechados para lograr una escalada de privilegios y obtener permisos adicionales.  Algunos ejemplos son la búsqueda de permisos para modificar valores y permisos sobre los grupos del Cloud, crear o manipular cuentas, impersonar usuarios para conseguir permisos elevados, modificar proyectos, entre otros.

TTP asociadas

Durante esta fase, algunas de las TTP asociadas esenciales son las siguientes:

  • T1098, Account Manipulation: se realizan intentos de manipular cuentas para elevar el acceso dentro de la infraestructura Cloud. La manipulación de cuentas puede consistir en la modificación de credenciales o grupos de permisos.
  • T1078, Valid Accounts: se realiza una validación en caso de conseguir nuevas credenciales Cloud de la organización
  • T1546, Abuse Elevation Control Mechanism: se intenta abusar de las configuraciones de permisos que permiten obtener acceso elevado de manera temporal a los recursos de la nube, como, por ejemplo, impersonar cuentas de usuario o crear tokens de acceso temporales para servicios.

Herramientas

https://github.com/RhinoSecurityLabs/pacu: herramienta que contiene módulos para escalamiento de privilegios en AWS.

https://github.com/RhinoSecurityLabs/GCP-IAM-Privilege-Escalation: contiene scripts para GCP que permiten la búsqueda de permisos asociados con posibles vectores de escalamiento de privilegios. También contiene ciertos scripts que realizan la explotación automatizada para obtener un escalamiento de privilegios según ciertos permisos.

https://github.com/carlospolop/bf_my_gcp_permissions: script para GCP que tiene como finalidad enumerar los permisos asociados a una cuenta.

https://github.com/NetSPI/MicroBurst: herramienta para Azure que contiene scripts para la creación de procesos, obtener keys, secretos y contraseñas.

https://github.com/silverhack/monkey365: módulo de PowerShell para obtener posibles configuraciones peligrosas de Azure.

Mejores prácticas

Para una óptima realización del ejercicio, se debe cumplir con ciertas prácticas. Entre estas destacan las siguientes:

Asignación de permisos

Una vez que se dé comienzo al acceso inicial, se espera una buena coordinación para recibir los permisos a tiempo y asignar los diferentes permisos entre usuarios, con la finalidad de simular posibles escenarios de compromiso en la infraestructura Cloud.

Un ejemplo sería la creación de una cuenta con privilegios de lectura sobre la infraestructura y otra cuenta de usuario con permisos similares o iguales a los que se le daría a un colaborador que opere sobre la infraestructura Cloud.

Comunicación con el Blue Team

Durante el ejercicio, es esencial que exista una constante comunicación entre equipos, que consista en la conversación de las actividades a realizar, los acuerdos y la toma de decisiones acerca de estos últimos. También es recomendable considerar que ambos equipos tengan la posibilidad de mostrar las tareas realizadas, como, por ejemplo, ataques realizados por el Red Team y las detecciones, alertas o metodologías para la búsqueda de amenazas en tiempo real por parte del Blue Team.

Agradecimientos

Agradecimientos especiales a Carlos Azua, jefe del equipo de Offensive Security de Dreamlab Technologies por la constante ayuda en el ámbito Cloud y a César Soto, miembro del equipo de Offensive Security de Dreamlab Technologies por su enseñanza y apoyo sobre Purple Team.

Purple Cloud

Todas las entradas