MITRE CALDERA PRIMEROS PASOS 🔥
¿Que es mitre caldera?
Es un sistema automatizado de simulación de adversarios o simulación de brechas de
seguridad opensource y permite ejecutar comportamientos o acciones posteriores al
compromiso de un equipo dentro de las redes corporativas en ambientes Windows,
Linux, Mac.
Además es una herramienta que se convertirá por excelencia en unas de las mejores para
validación de controles de seguridad implementados, validación de técnicas utilizadas por
adversarios, simulación de adversarios y para entrenamientos de equipos de respuesta a
incidentes en los próximos años.
Puede ser utilizado desde un enfoque ofensivo (Red Team) o defensivo (Blue Team).
CORE System
Es el Sistema principal (código) que incluye un servidor de comando
y control (C2) asincrono con un API REST y una interfaz web para administrarlo.
Plugins
Son funciones adicionales, por ejemplo: agentes, interfaces GUI, colecciones de TTP’s, profiles, etc.
¿Que se pueda hacer con CALDERA?
Casos de USO
- Automatización de actividades RED TEAM
Se puede desarrollar un perfil de un adversario específico para testear las defensas de seguridad implementadas actualmente y poder identificar cuales son las que requieren de mejoras, permitirá un entrenamiento más ágil para los defensores en “como” detectan amenazas. - Personalización manual de ejercicios de RED TEAM
Es bueno para reemplazar o agregar un conjunto de herramientas ofensivas en una evaluación manual, ya que este framework permite ampliarse e incluir cualquier herramienta personalizada que pueda tener, gracias al uso de plugins. - Incident response autonomo
Permite identificar de forma autonoma TTPs que otras herramientas de Incident Response no puedan ver o bloquear. - Investigación con base en inteligancia artificial
Poder elegir entre NO utilizar los modos de redteam y blueteam, en su lugar utilizar la inteligencia artificial y uso de algoritmos para la toma de decisiones, requiere configuración previa.
Terminología que debemos usar con este
framework mitre – caldera.
AGENT
- Es un simple programa de software.
- No requiere de instalación de un programa en el equipo a ser evaluado
- Es el encargado de CONECTAR a CALDERA, recibe las instrucciones (comandos) y regresa el resultado a caldera.
- CALDERA incluye un plugin llamado Sandcat, es nuestro agente por default.
GROUP
- Un grupo es un conjunto de Agentes conectados a caldera.
- Un grupo permite iniciar una operación hacía muchas computadoras
al mismo tiempo en vez de una a una. - El grupo por default al que los agentes se registran de forma automática, se llama: my_group
ABILITY (habilidad)
- Una habilidad es una implementación específica de una técnica del ATT&CK
(procedimiento). - Las habilidades se crean en formato YML y se cargan en CALDERA cada
vez que se inicia. - Todas las Abilities son almacenadas en el plugin Stockpile con los perfiles que las utilizan.
ADVERSARY
- Un Adversario es conjunto de Abilities, pueden ser clasificadas o utilizadas en fases… tal cual lo muestra la matriz ATT&CK.
- Pueden ser creadas a través de la GUI o en formato YML y almacenados en data/adversaries.
Recueda: Adversario es un conjunto de abilities ejecutados en una o más fases de ataque.
OPERATION
Una operación se inicia cuando lanzas un adversario a un grupo e inicias la instrucción que ejecute todas las habilidades (abilities) capaces.
requiere de configuración previa.
FACT (una cadena de texto)
- Un “fact” es información identificable sobre un host en particular.
- Las fact estan directamente relacionadas con las variables, es decir, son el resultado de las instrucciones, que serán utilizadas por las habilidades.
Ejemplo:
host.user.name
host.user.password
SOURCE
- Una fuente es una colección de facts que ha agrupado.
- Una fuente de fact se puede aplicar a una operación.cuando la inicia.
- Los fact proporcionan información a las variables que serán utilizadas por las habilidades.
RULE
- Una regla es una forma de restringir o colocar límites en CALDERA.
- Las reglas están directamente relacionadas con las fact y deben incluirse en una hoja de datos (ATT&CK).
PLANNER
Es un módulo dentro de CALDERA que contiene la lógica de cómo una operación en ejecución debe tomar las decisiones sobre qué habilidades usará y en qué orden.
PLUGIN
- CALDERA está construido utilizando una arquitectura de plugins en la parte superior del sistema central.
- Los plugins son repositorios separados de git que conectan nuevas
funcionalidades en el sistema central. - Cada plugin es almacenado en el directorio de plugins y se carga a caldera añadiéndolo en el archivo de configuración default.yml
SERVIDOR
Por default CALDERA se inicializa en el puerto 8888 con los siguientes plugins cargados:
- Sandcat
- Stockpile
- Compass
- Terminal
Con 3 tipos de usuarios; redteam, blueteam, admin.
IMPORTANTE:
Los 3 tienen por default como contraseña ‘admin’, NO olvides cambiarlas
antes de iniciar el servidor.
El Archivo de configuración se llama default.yml, tú puedes crear tu propio archivo de configuración y cargarlo con el parámetro. -E
Ejemplo:
python caldera.py -E foo
INSTALACIÓN MITRE CALDERA
Es relativamente sencilla, puedes seguir las insutrcciones aquí:
https://github.com/mitre/caldera
Recomendaciones antes de instalar:
Dependencias que probablemente necesitarás, si vas por la opción difícil y que te brinda
mayor control.
- pip3
- sphinx
- python3.6 o superiot
- aiohttp_security
- aiohttp_session
SI la instalación ha ido bien, para iniciar el servidor, tan solo hay que ejecutar:
./server.py
Ilustración 1 Página de inicio
Ilustración 2 Usuario Red Team
Ilustración 3 Usuario Blue Team
Grupos, Operaciones, Perfiles, Campañas, entre otras funcionalidades.
Ilustración 4 Ejemplo de ejecución de operaciones
Ilustración 5 Resultado (agent, fact, abilities, adversary,operation )
Links de referencia:
MITRA CALDERA
https://github.com/mitre/caldera
MITRE ATTACK
https://attack.mitre.org/
¿Que es MITRE ATT&CK Navigator? y como podemos usarlo
https://natasec.com/que-es-mitre-attck-navigator-y-como-podemos-usarlo/