Welcome to MITRE Caldera’s documentation!
Caldera™ is an adversary emulation platform designed to easily run autonomous breach-and-attack simulation exercises. It can also be used to run manual red-team engagements or automated incident response. Caldera is built on the MITRE ATT&CK™ framework and is an active research project at MITRE.
The framework consists of two components:
1. The core system. This is the framework code, including an asynchronous command-and-control (C2) server with a REST API and a web interface.
2. Plugins. These are separate repositories that hang off of the core framework, providing additional functionality. Examples include agents, GUI interfaces, collections of TTPs and more.
Visit Installing Caldera for installation information.
For getting familiar with the project, visit Getting started, which documents step-by-step guides for the most common use cases of Caldera, and Basic usage, which documents how to use some of the basic components in core Caldera. Visit Learning the terminology for in depth definitions of the terms used throughout the project.
For information about Caldera plugins, visit Plugin Library and How to Build Plugins if you are interested in building your own.
Usage Guides
- Installing MITRE Caldera
- Getting started
- Learning the terminology
- Basic Usage
- Server Configuration
- Plugin library
- Parsers
- Relationships
- Requirements
- Objectives
- Operation Results
- Initial Access Attacks
- Windows Lateral Movement Guide
- Dynamically-Compiled Payloads
- Exfiltration
- Peer-to-Peer Proxy Functionality for Sandcat Agents
- C2 Communications Tunneling
- Uninstall MITRE Caldera
- Troubleshooting
- Resources
The following section contains documentation from installed plugins.
Plugin Documentation
The following section contains information intended to help developers understand the inner workings of the Caldera adversary emulation tool, Caldera plugins, or new tools that interface with the Caldera server.
Developer Information
Core System API
- app package
- app.api namespace
- app.api.packs namespace
- app.api.v2 package
- app.api.v2.handlers namespace
- Submodules
- app.api.v2.handlers.ability_api module
- app.api.v2.handlers.adversary_api module
- app.api.v2.handlers.agent_api module
- app.api.v2.handlers.base_api module
- app.api.v2.handlers.base_object_api module
- app.api.v2.handlers.config_api module
- app.api.v2.handlers.contact_api module
- app.api.v2.handlers.fact_api module
- app.api.v2.handlers.fact_source_api module
- app.api.v2.handlers.health_api module
- app.api.v2.handlers.obfuscator_api module
- app.api.v2.handlers.objective_api module
- app.api.v2.handlers.operation_api module
- app.api.v2.handlers.payload_api module
- app.api.v2.handlers.planner_api module
- app.api.v2.handlers.plugins_api module
- app.api.v2.handlers.schedule_api module
- app.api.v2.managers namespace
- Submodules
- app.api.v2.managers.ability_api_manager module
- app.api.v2.managers.adversary_api_manager module
- app.api.v2.managers.agent_api_manager module
- app.api.v2.managers.base_api_manager module
- app.api.v2.managers.config_api_manager module
- app.api.v2.managers.contact_api_manager module
- app.api.v2.managers.fact_api_manager module
- app.api.v2.managers.fact_source_manager module
- app.api.v2.managers.operation_api_manager module
- app.api.v2.managers.schedule_api_manager module
- app.api.v2.schemas namespace
- Submodules
- app.api.v2.schemas.base_schemas module
- app.api.v2.schemas.caldera_info_schemas module
- app.api.v2.schemas.config_schemas module
- app.api.v2.schemas.deploy_command_schemas module
- app.api.v2.schemas.error_schemas module
- app.api.v2.schemas.link_result_schema module
- app.api.v2.schemas.payload_schemas module
- app.contacts namespace
- Subpackages
- Submodules
- app.contacts.contact_dns module
- app.contacts.contact_ftp module
- app.contacts.contact_gist module
- app.contacts.contact_html module
- app.contacts.contact_http module
- app.contacts.contact_slack module
- app.contacts.contact_tcp module
- app.contacts.contact_udp module
- app.contacts.contact_websocket module
- app.contacts.handles namespace
- app.contacts.tunnels namespace
- app.data_encoders namespace
- app.learning namespace
- app.objects namespace
- Subpackages
- Submodules
- app.objects.c_ability module
- app.objects.c_adversary module
- app.objects.c_agent module
- app.objects.c_data_encoder module
- app.objects.c_obfuscator module
- app.objects.c_objective module
- app.objects.c_operation module
- app.objects.c_planner module
- app.objects.c_plugin module
- app.objects.c_schedule module
- app.objects.c_source module
- app.objects.interfaces namespace
- app.objects.secondclass namespace
- Submodules
- app.objects.secondclass.c_executor module
- app.objects.secondclass.c_fact module
- app.objects.secondclass.c_goal module
- app.objects.secondclass.c_instruction module
- app.objects.secondclass.c_link module
- app.objects.secondclass.c_parser module
- app.objects.secondclass.c_parserconfig module
- app.objects.secondclass.c_relationship module
- app.objects.secondclass.c_requirement module
- app.objects.secondclass.c_result module
- app.objects.secondclass.c_rule module
- app.objects.secondclass.c_variation module
- app.objects.secondclass.c_visibility module
- app.planners namespace
- app.service namespace
- Subpackages
- Submodules
- app.service.app_svc module
- app.service.auth_svc module
- app.service.contact_svc module
- app.service.data_svc module
- app.service.event_svc module
- app.service.file_svc module
- app.service.knowledge_svc module
- app.service.learning_svc module
- app.service.planning_svc module
- app.service.rest_svc module
- app.service.interfaces namespace
- Submodules
- app.service.interfaces.i_app_svc module
- app.service.interfaces.i_auth_svc module
- app.service.interfaces.i_contact_svc module
- app.service.interfaces.i_data_svc module
- app.service.interfaces.i_event_svc module
- app.service.interfaces.i_file_svc module
- app.service.interfaces.i_knowledge_svc module
- app.service.interfaces.i_learning_svc module
- app.service.interfaces.i_login_handler module
- app.service.interfaces.i_object_svc module
- app.service.interfaces.i_planning_svc module
- app.service.interfaces.i_rest_svc module
- app.service.login_handlers namespace
- app.utility namespace
- Submodules
- app.utility.base_knowledge_svc module
- app.utility.base_obfuscator module
- app.utility.base_object module
- app.utility.base_parser module
- app.utility.base_planning_svc module
- app.utility.base_service module
- app.utility.base_world module
- app.utility.config_generator module
- app.utility.file_decryptor module
- app.utility.payload_encoder module
- app.utility.rule_set module
- app