¿Qué es Caldera? Atacando y defendiendo.

¡Hola a todos! hoy vamos a ver Caldera, una herramienta que permite crear escenarios de ataques simulados y evaluar la efectividad de las defensas de una organización.

En este post, nos enfocaremos en cómo Caldera se puede utilizar en conjunto con la matriz MITRE ATT&CK para crear escenarios de ataques realistas que puedan ayudar a los equipos de seguridad a evaluar su capacidad para detectar y responder a las amenazas. Exploraremos cómo la herramienta se integra con la matriz MITRE ATT&CK y cómo se pueden utilizar los datos de la matriz para crear escenarios de ataques simulados que sean efectivos en la evaluación de la postura de seguridad de una organización.

Si eres un profesional de la ciberseguridad con experiencia y estás interesado en aprender más sobre cómo Caldera y la matriz MITRE ATT&CK pueden ayudar en la creación de escenarios de ataques realistas, ¡este post es para ti!

Hacking Caldera

1. Tácticas, técnicas y procedimientos (TTP).

Caldera utiliza el marco de referencia MITRE ATT&CK para describir y categorizar las tácticas, técnicas y procedimientos (TTP) utilizados por los atacantes en los escenarios de simulación de ataques.

El marco de referencia ATT&CK se divide en dos categorías principales: tácticas y técnicas. Las tácticas se refieren a los objetivos generales de un ataque, mientras que las técnicas son los métodos específicos utilizados para lograr esos objetivos.

Caldera utiliza el marco de referencia ATT&CK para crear escenarios de ataque que imitan las TTP de los atacantes. Los equipos de Red Team pueden utilizar las TTP que se encuentran en el marco de referencia ATT&CK para desarrollar y ejecutar ataques simulados, mientras que los equipos de Blue Team pueden utilizar el mismo marco de referencia para detectar, prevenir y responder a estos ataques.

En resumen, Caldera utiliza el marco de referencia MITRE ATT&CK para describir las tácticas, técnicas y procedimientos utilizados por los atacantes en los escenarios de simulación de ataques. Esto permite a los equipos de seguridad cibernética mejorar su conocimiento y habilidades en la detección, prevención y respuesta a ataques.

2. Arquitectura de Caldera.

La arquitectura de Caldera se basa en una estructura modular y flexible que permite a los usuarios personalizar y ajustar la herramienta según sus necesidades. La arquitectura de Caldera se divide en los siguientes componentes:

  1. Servidor de gestión: El servidor de gestión de Caldera es el componente central que se encarga de gestionar y coordinar todos los demás componentes. Proporciona una interfaz de usuario web para la configuración, gestión y monitoreo de la plataforma.
  2. Motores de escenarios: Los motores de escenarios son los componentes que ejecutan los escenarios de ataque simulados en Caldera. Cada motor de escenario se encarga de ejecutar un conjunto específico de técnicas y tácticas de ataque, y pueden ser personalizados para adaptarse a las necesidades de un equipo específico.
  3. Herramientas de integración: Caldera se integra con una amplia variedad de herramientas de seguridad cibernética, como Snort, Bro y Zeek. Estas herramientas se utilizan para recopilar datos de eventos y alertas que se generan durante los escenarios de ataque simulados.
  4. Agentes: Los agentes de Caldera son componentes que se instalan en los sistemas de destino y que se utilizan para simular la presencia de un atacante en el sistema. Estos agentes permiten a los motores de escenarios simular una amplia variedad de técnicas y tácticas de ataque.
  5. API REST: Caldera proporciona una API REST que permite la integración con otras herramientas y sistemas, lo que permite una mayor personalización y flexibilidad.

En resumen, la arquitectura de Caldera se basa en una estructura modular y flexible que permite a los usuarios personalizar y ajustar la herramienta según sus necesidades. La herramienta se compone de varios componentes, incluyendo un servidor de gestión, motores de escenarios, herramientas de integración, agentes y una API REST. Cada componente desempeña un papel importante en la simulación de ataques y la formación de equipos Red Team y Blue Team.

3. Escenarios de ataques:

Caldera es una herramienta muy flexible que permite a los equipos de Red Team crear y ejecutar una amplia variedad de escenarios de ataques simulados. Estos escenarios de ataques pueden ser personalizados y adaptados a las necesidades específicas de cada organización.

Algunos de los escenarios de ataques que se pueden utilizar con Caldera incluyen:

  1. Phishing: Los escenarios de phishing pueden ser utilizados para simular un ataque de suplantación de identidad, donde los atacantes intentan engañar a los usuarios para que proporcionen información confidencial como contraseñas o datos de tarjetas de crédito.
  2. Ataque de ransomware: Los escenarios de ransomware pueden simular un ataque de malware que encripta los archivos de una organización y solicita un rescate a cambio de la clave de descifrado.
  3. Ataque de inyección de SQL: Los escenarios de inyección de SQL pueden simular un ataque de explotación de una vulnerabilidad en una aplicación web para acceder a información confidencial o manipular la base de datos.
  4. Ataque de escalada de privilegios: Los escenarios de escalada de privilegios pueden simular un ataque donde los atacantes buscan aumentar los permisos de acceso en un sistema comprometido para acceder a información o recursos adicionales.
  5. Ataque de red interna: Los escenarios de red interna pueden simular un ataque que se propaga a través de la red interna de una organización para acceder a información o sistemas adicionales.

En resumen, Caldera es una herramienta muy flexible que permite a los equipos de Red Team crear y ejecutar una amplia variedad de escenarios de ataques simulados. Desde ataques de phishing hasta escalada de privilegios, los escenarios de ataque pueden ser personalizados y adaptados a las necesidades específicas de cada organización.

4. ¿Cómo se integra MITRE ATT&CK con Caldera?

Caldera se integra de manera nativa con el marco de referencia MITRE ATT&CK. Esto significa que los usuarios de Caldera pueden utilizar las técnicas y tácticas de MITRE ATT&CK para diseñar y ejecutar escenarios de ataque simulados.

La integración con MITRE ATT&CK se logra a través de una base de datos interna de Caldera que almacena información sobre las técnicas y tácticas de ataque de MITRE ATT&CK. Los usuarios de Caldera pueden asignar estas técnicas y tácticas a sus escenarios de ataque simulados y luego utilizar la información de MITRE ATT&CK para analizar y evaluar el impacto del ataque.

La integración con MITRE ATT&CK también permite a los usuarios de Caldera utilizar la base de conocimientos de MITRE para identificar y clasificar las técnicas de ataque utilizadas en un escenario específico. Esto permite a los usuarios de Caldera evaluar y mejorar la eficacia de sus escenarios de ataque simulados.

En resumen, Caldera se integra de manera nativa con MITRE ATT&CK, lo que permite a los usuarios de Caldera utilizar las técnicas y tácticas de MITRE ATT&CK para diseñar y ejecutar escenarios de ataque simulados. La integración se logra a través de una base de datos interna de Caldera que almacena información sobre las técnicas y tácticas de ataque de MITRE ATT&CK, lo que permite a los usuarios evaluar y mejorar la eficacia de sus escenarios de ataque simulados.

5. ¿Cómo se integra Caldera con otras herramientas?

Caldera se integra con una amplia variedad de herramientas de ciberseguridad, lo que permite a los usuarios ampliar la funcionalidad de la herramienta y personalizarla para sus necesidades específicas. A continuación, se describen algunas de las posibles integraciones de Caldera con otras herramientas y sus posibles funciones:

  1. Frameworks de automatización: Caldera se integra con varios frameworks de automatización de tareas de ciberseguridad como Phantom, Demisto, y TheHive. Estas integraciones permiten a los usuarios de Caldera automatizar la creación de tareas y la respuesta a incidentes a través de estas plataformas.
  2. Herramientas de análisis de vulnerabilidades: Caldera se integra con herramientas de análisis de vulnerabilidades como Nessus y OpenVAS. Estas integraciones permiten a los usuarios de Caldera utilizar información de vulnerabilidades detectadas para crear escenarios de ataque simulados y evaluar la efectividad de las defensas de una organización.
  3. Herramientas de análisis de malware: Caldera se integra con herramientas de análisis de malware como Cuckoo y VirusTotal. Estas integraciones permiten a los usuarios de Caldera analizar el comportamiento de los archivos maliciosos y evaluar la efectividad de los sistemas de detección y respuesta a malware.
  4. Herramientas de análisis forense: Caldera se integra con herramientas de análisis forense como Autopsy y The Sleuth Kit. Estas integraciones permiten a los usuarios de Caldera analizar el contenido de sistemas y dispositivos comprometidos y recopilar evidencia para su posterior análisis.
  5. Herramientas de gestión de credenciales: Caldera se integra con herramientas de gestión de credenciales como KeePass y HashiCorp Vault. Estas integraciones permiten a los usuarios de Caldera utilizar credenciales almacenadas para ejecutar escenarios de ataque simulados y evaluar la efectividad de los sistemas de autenticación y acceso.

En resumen, Caldera se integra con una amplia variedad de herramientas de ciberseguridad, lo que permite a los usuarios personalizar la funcionalidad de la herramienta y adaptarla a sus necesidades específicas. Las posibles integraciones incluyen frameworks de automatización, herramientas de análisis de vulnerabilidades, herramientas de análisis de malware, herramientas de análisis forense y herramientas de gestión de credenciales.

6. Caso práctico: Utilización de Caldera en diferentes escenarios de ataque.

Para este caso práctico, vamos a utilizar Caldera como agente de Red Team y como agente de Blue Team, en ambos casos vamos a mostrar cómo configurar la herramienta para que desarrolle las actividades de cada grupo de manera automática. Esto nos dará como resultado cierto tipo de comportamiento, tanto de manera ofensiva como de manera defensiva. El laboratorio que tenemos funcionando actualmente es el siguiente:

Diagrama

En el cliente de Windows 10, vamos a instalar un agente de Caldera, el cual primeramente, vamos a ver como automatizar tácticas de Red Team y una vez realizado esto, vamos proceder a ver como funcionaría en base a un ataque de Red Team, las medidas de un Blue Team desplegadas con Caldera.

6.1 Requisitos mínimos.

Para la instalación de caldera, dependiendo en qué tipo de entorno queramos desplegarlo, necesitamos cierto tipo de recursos para que pueda operar con normalidad. En caso de ser un laboratorio para realizar pruebas, a continuación, os dejo los requisitos mínimos:

  • Procesador de doble núcleo de 2 GHz o superior
  • 4 GB de memoria RAM
  • 50 GB de espacio en disco disponible
  • Sistema operativo Debian 11 o posterior
  • Python 3.7 o posterior
  • Git
  • Acceso a Internet para descargar e instalar dependencias y actualizaciones de Caldera

En caso de querer desplegarlo en un entorno de producción, os recomiendo que realicéis pruebas basadas en la magnitud de la infraestructura donde realicéis las pruebas.

6.2 Instalación de Caldera en Debian 11.

Para la instalación de Caldera, procedemos a lanzar los siguientes comandos dentro de nuestro servidor:

git clone https://github.com/mitre/caldera.git --recursive
cd caldera
pip3 install -r requirements.txt

Una vez hemos realizado la instalación de Caldera, podemos ejecutar caldera, lanzando el siguiente comando dentro del directorio de Caldera:

python3 server.py

Tras ejecutar el servidor, podemos ver, que si accedemos a través de nuestro navegador a la URL «http://<IP>:8888», veremos el siguiente login:

Caldera

6.2 Usuarios en Caldera.

Para poder acceder al dashboard, Caldera configura un usuario para acciones de Red Team y otro para las acciones de Blue Team. Podemos acceder a estas credenciales, accediendo al archivo, que se encuentra en «conf/local.yml» dentro del directorio donde hayamos realizado la instalación:

Caldera

6.3 Usuarios por defecto.

En la instalación de Caldera, se crean dos roles de usuario por defecto llamados «Blue» y «Red». A continuación, se describen las funcionalidades de cada uno de ellos:

  • Blue Team: El usuario «Blue» es el encargado de la defensa y seguridad de los sistemas de la organización. En Caldera, los usuarios con el rol «Blue» pueden crear escenarios de defensa, configurar y ejecutar herramientas de seguridad, y analizar los resultados de los ataques simulados. También pueden revisar los informes generados por los usuarios con el rol «Red».
  • Red Team: El usuario «Red» es el encargado de simular ataques y evaluar la postura de seguridad de la organización. Los usuarios con el rol «Red» pueden crear y ejecutar escenarios de ataque, utilizar herramientas y técnicas para simular ataques, y analizar los resultados de los ataques simulados. También pueden generar informes para los usuarios con el rol «Blue».

Es importante tener en cuenta que estos roles son personalizables y se pueden modificar según las necesidades de la organización. Además, Caldera también permite la creación de nuevos roles y la asignación de permisos personalizados para cada usuario.

6.4 Usando Caldera simulando un ataque de un Red Team.

6.4.1 Despliegue de agente Red Team.

Tras acceder al panel de Caldera, el siguiente paso que tendremos que realizar será desplegar el agente de Caldera en el equipo Windows 10 de nuestro laboratorio, para esto tendremos que dirigirnos dentro del panel a la siguiente sección:

Caldera

Cuando pulsamos en «Deploy an agent», se nos abrirá una nueva ventana donde podremos seleccionar el tipo de agente que deseamos desplegar en el objetivo, en nuestro caso, vamos a seleccionar el agente por defecto de Caldera «Sandcat | Caldera’s Default Agent»:

Caldera

Cuando seleccionamos el tipo de agente que deseamos desplegar, tendremos que seleccionar el tipo de arquitectura de nuestro objetivo, en nuestro caso es un Windows 10:

Caldera

Tras ejecutar en que arquitectura deseamos ejecutar nuestro agente, procedemos a configurar el campo «app.contact.http», en este campo vamos a establecer la dirección IP de nuestro servidor de Caldera:

Caldera

Tras configurar dicho campo, vemos en la sección posterior como se nos ha generado un código de Power Shell, el cual tendremos que ejecutar en nuestro objetivo. Tened en cuenta que estas acciones se deberán ejecutar en una consola con permisos de administrador:

Caldera

Procedemos a ejecutar los comandos en una consola de Power Shell con permisos de administrador:

Caldera

Tras ejecutar los comandos correspondientes, tendremos que comprobar cuando finalicen de ejecutarse que el agente aparece en el panel:

Caldera

6.4.2 Ejecución de técnicas.

Tras desplegar el agente, ya podemos elegir qué tipo de adversario de los esquemas de MITTRE ATT&CK deseamos lanzar en nuestro objetivo. Para poder realizar esto, tendremos que dirigirnos a la sección «Adversaries»:

Caldera

Una vez en la sección correspondiente, vamos a buscar un perfil de adversario que deseamos ejecutar, en este caso, para el laboratorio vamos a utilizar el perfil «Discovery»:

Caldera

Tras seleccionar el tipo de perfil que queremos ejecutar como adversario, vemos la cantidad de «Abilities» que ejecutará dicho perfil, es decir, todas las técnicas de descubrimiento que ejecutará en la máquina objetivo:

Caldera

Una vez tenemos claro que tipo de técnicas vamos a utilizar con el perfil elegido, para poder lanzar el ataque en el objetivo a través de nuestro agente, vamos a la sección «Operations»:

Caldera

El siguiente paso, será utilizar la opción de «Create Operation», para poder lanzar el perfil anteriormente revisado contra nuestro agente. Dicho botón, nos ejecutará un asistente que ejecutaremos de la siguiente manera:

Caldera

Tras configurar dicho «Operation», vamos a lanzarlo, el cual hará que se ejecuten todas las tácticas que vimos anteriormente en el perfil. A continuación, vamos a ver como se ejecutan todas las tácticas en orden:

Caldera

Como se puede ver en la anterior imagen, podemos apreciar que se han ejecutado comandos de enumeración. En este caso, no vamos a profundizar en la interfaz. Por otra lado, podemos ver los comandos que se han lanzado en cada uno de los pasos y que podemos utilizar para aprender nuevas técnicas para utilizar en nuestros ejercicios de Red Team:

Caldera

Por otro lado, también podemos ver el resultado de los comandos ejecutados:

Caldera

Incluso, podemos descargar los resultados obtenidos a través de la propia interfaz de Caldera:

Caldera

Podemos elegir entre varios formatos:

Caldera

Y como ejemplo podemos ver el resultado en formato JSON:

Caldera

En este ejemplo hemos lanzado un perfil de descubrimiento de información, pero podemos lanzar perfiles más agresivos y de esta manera aprender qué tipo de ataques son utilizados por los APT’s. Estos recursos nos ayudarán a mejorar nuestras técnicas y procedimientos de Red Team.

Todos los campos utilizados, se podrían personalizar. Se podría ejecutar operaciones con perfiles de adversarios diferentes, crear nuevos perfiles de adversarios, podemos crear nuevas habilidades para nuestros nuevos perfiles, etc.

6.5 Usando Caldera simulando el comportamiento de un equipo de respuesta ante incidentes.

Para esta sección, lo primero que deberemos realizar, será desconectar el usuario actual «red» para poder conectarnos con nuestro usuario «blue»:

Caldera

Tras foguearnos con el usuario «blue», vamos a automatizar la respuesta ante incidentes cuando se detecta algún tipo de amenaza. Para realizar esto, lo primero que vamos a realizar es desplegar un agente de Blue Team.

6.5.1 Desplegando agente Blue Team.

La manera de desplegar el agente de Blue Team, es parecido a cómo desplegamos el agente de Red Team. Nos dirigimos a la sección de «Agent» para poder generar el código correspondiente:

Caldera

Como hemos realizado con el agente de Red Team, procedemos a configurar el campo «app.contact.http» para establecer la dirección IP del servidor de Caldera seleccionado el agente de «Sandcat»:

Caldera

Para poder ejecutar los comandos, hay que seleccionar los comandos establecidos en el segundo apartado del asistente:

Caldera

Tras configurar nuestro agente, procedemos a ejecutar los comandos en una consola de Power Shell:

Caldera

Tras ejecutar los comandos, tendremos que comprobar si vemos nuestro agente desplegado:

Caldera

6.5.2 Ejecución de técnicas.

A continuación, como hemos realizado con el agente de Red Team, vamos a revisar el perfil que vamos a utilizar, para esto nos tenemos que dirigir a la página «Defenders». En este caso, vamos a utilizar el perfil «Incident Responder»:

Caldera

A continuación, vamos a ver que técnicas se utilizarán para la detección de dichos ataques:

Caldera

El siguiente paso, será ejecutar la operación con el perfil que hemos seleccionado, para esto tendremos que dirigirnos al apartado de «Operations»:

Caldera

Creamos la operación con la siguiente configuración, utilizaremos por defecto la sección «Fact source»:

Caldera

Tras ejecutar la operación, vamos a ver las técnicas que quedarán monitorizadas:

Caldera

Por ejemplo, si vemos el resultado de «Acquire suspicious files», podemos ver qué información nos proporciona. Tener en cuenta que para que salga información he forzado la acción maliciosa que supuestamente se debe monitorizar:

Caldera

Para entender que es lo que ha pasado, tenemos que ver el comando que es ejecutado para monitorizar las actividades maliciosas:

if (Test-Path C:\Users\Public\malicious_files.txt -PathType Leaf) {  $hashes = Get-Content C:\Users\Public\malicious_files.txt -Raw;  Remove-Item C:\Users\Public\malicious_files.txt;  $hashes;}

Este código de PowerShell se utiliza para verificar si existe un archivo llamado «malicious_files.txt» en la ruta «C:\Users\Public». Si existe el archivo, el script lee su contenido y lo guarda en la variable $hashes. Luego, elimina el archivo «malicious_files.txt» y finalmente devuelve el contenido de la variable $hashes.

Esto lo podemos personalizar para que se monitoricen varios directorios y posibles archivos.

7. Conclusión.

Caldera ofrece múltiples ventajas como herramienta de formación y simulación de ataques a nivel corporativo, permitiendo mejorar la detección y respuesta a amenazas. Sin embargo, requiere de una configuración y mantenimiento adecuado para su uso efectivo. Asimismo, su implementación debe ser acompañada de otras medidas de seguridad para garantizar la protección de la red y la privacidad de los datos. En resumen, Caldera es una herramienta útil para mejorar la seguridad de una empresa, pero su uso debe ser realizado con precaución y planificación adecuada.

8. Fuentes.

Página oficial de Caldera: https://www.mitre.org/research/projects/caldera

Repositorio de código de Caldera en GitHub: https://github.com/mitre/caldera

Documentación oficial de Caldera: https://github.com/mitre/caldera/wiki

Matriz de MITRE ATT&CK: https://attack.mitre.org/

Página de inicio de MITRE: https://www.mitre.org/

Blog oficial de MITRE sobre seguridad cibernética: https://www.mitre.org/capabilities/cybersecurity/cybersecurity-blogs


🔒 Hardsoft Security ofrece servicios de consultoría en ciberseguridad, asegurando que tu negocio esté siempre protegido contra las amenazas más recientes. Y si estás buscando un alojamiento que ponga la seguridad primero, Secure Hosting es tu solución ideal. Ayudamos a mantener seguro tu sitio web con las mejores prácicas de ciberseguridad con nuestro asesoramiento en ciberseguridad especializado.

No esperes a ser el próximo objetivo. Asegura tu presencia online con las mejores soluciones y servicios del mercado. ¡Contacta con Hardsoft Security y Secure Hosting hoy mismo!

(La ciberseguridad no es un lujo, sino una necesidad. Protege tu inversión y tu reputación en línea.).

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.