MITRE Caldera Hands-on Labs¶
Use the Interactive Lab to practise the MITRE Caldera workflow without executing a command, or use the Full Lab to deploy one authorised agent and validate a harmless discovery operation in isolated virtual machines.
Hands-on adversary-emulation proof of concept
Scope it. Emulate it. Validate it.
Start with one server, one agent, and two harmless discovery abilities. Prove what MITRE Caldera executed, compare the expected defensive evidence with what actually appeared, and report a conclusion that stays within scope.
MITRE Caldera Full Lab
Use an isolated, authorised environment
Run abilities only on systems you own or are explicitly authorised to test. Review commands before execution, use low-impact discovery, and maintain a tested stop and recovery path.
How to use this guide with different releases
This lab describes outcomes and checkpoints rather than asking you to copy every screenshot. Navigation labels and button positions may change between releases. Keep this page open, follow the linked journey for each task, and return here when its checkpoint passes. The official getting-started guide remains the authority for the interface supplied with your pinned release.
Before you begin
You need: one Ubuntu server VM, one Ubuntu or Windows client VM, an isolated network, administrator access, temporary authorised download access, snapshots, and a place to retain operation and defensive evidence.
How to use this lab
Complete one session at a time. Stop when a checkpoint fails. Do not add another ability or endpoint until the existing scope, execution, evidence, cleanup, and recovery checks pass.
Recommended first
Beginner Core Lab¶
Use one MITRE Caldera server and one authorised client. Run hostname and process discovery, then compare MITRE Caldera results with defensive telemetry.
Expected time: 3–5 hours across three sessions.
Optional extension
Wider validation¶
After the core passes, add one agent, one reviewed ability, or one detection control. Change only one variable and repeat the baseline operation.
Expected time: one additional session.
- Session 1Build and authorise
- Session 2Connect and design
- Session 3Run and validate
Objective¶
You are validating whether harmless discovery on WIN-LAB01 is visible and
reviewable. Deploy MITRE Caldera, enrol only that endpoint, create profile CDK Safe
Discovery, run two reviewed abilities, preserve MITRE Caldera and defensive evidence,
clean up, and state what the exercise does and does not prove.
The beginner route contains only:
- one Ubuntu VM running the MITRE Caldera server;
- one isolated Windows or Ubuntu endpoint running Sandcat;
- one agent group containing only that endpoint; and
- two low-impact discovery abilities in one adversary profile.
Do not add PEASS-ng, credential access, persistence, destructive cleanup, multiple agents, or another planner until the core route passes.
01
Activity 1: Build and authorise¶
Record the test boundary¶
Before building anything, write down:
| Decision | Beginner value |
|---|---|
| Validation question | Can the approved discovery actions execute on WIN-LAB01, and which defensive records observe them? |
| Authorised target | One disposable endpoint only |
| Permitted behaviour | Host/user identification and process discovery |
| Stop condition | Unexpected target, command, privilege, impact, or loss of service health |
| Recovery | Terminate the operation and agent; restore the last verified snapshot |
| Evidence owner | Named learner or analyst responsible for the final record |
Prepare the downloads and virtual machines¶
Record the filename, release, architecture, source, checksum, download date, and licence condition for every item.
| Item | Purpose | Authoritative source |
|---|---|---|
| Ubuntu installation media | Server operating system | Ubuntu releases |
| MITRE Caldera pinned release | Adversary-emulation server and plugins | MITRE Caldera releases |
| Windows or Ubuntu installation media | Authorised test endpoint | Vendor download source used by your organisation |
| VM | Suggested beginner allocation | Example address |
|---|---|---|
| MITRE Caldera server | 2+ vCPU, 8 GB RAM, 40 GB disk | 10.0.0.100 |
| Authorised endpoint | 2 vCPU, 4 GB RAM, 40 GB disk | 10.0.0.50 |
- Create an isolated virtual network and provide temporary NAT only for authorised downloads or updates.
- Create the two VMs from the proof-of-concept topology.
- Configure hostnames, addresses, DNS and time synchronisation, adapting the complete address plan consistently when necessary.
- Confirm the VMs can reach only the required lab and update services.
- Take
base-ossnapshots. - Follow Install MITRE Caldera, using a pinned release and the matching official requirements. Protect the generated credentials.
- Confirm the interface opens and the server reaches
All systems ready. - Take a
working-caldera-serversnapshot.
Expected result Another analyst can identify exactly what may run, where, when, by whom, and how it will be stopped and reversed.
02
Activity 2: Connect and design¶
Follow these checkpoints in order. Stop at the first failed checkpoint rather than changing several settings at once.
- The server is healthyRestore or clone
working-caldera-server, open the interface, and confirm the selected release and enabled plugins. - One agent checks inFollow Deploy MITRE Caldera Agents, enrol only the authorised endpoint, and confirm its status is alive.
- The identity matchesRecord the paw, hostname, platform, group, privilege, executors, contact and last-seen time. Stop if any value identifies the wrong system.
- Removal is understoodRecord how to terminate the Sandcat process, remove its files and restore the endpoint before running an ability.
- Two abilities are reviewedFollow Build Abilities and Adversaries. Confirm every platform command, executor, ATT&CK mapping, timeout, output and cleanup action.
- The profile is boundedCreate
CDK Safe Discoverywith host/user identification first and process discovery second. Include no other abilities. - The core is recoverableAsk another person to review the profile, then take a
working-caldera-coresnapshot.
Before continuing, predict one result for each ability:
| Ability | Expected MITRE Caldera result | Expected defensive evidence |
|---|---|---|
| Identify host and user | Hostname and account output with exit code 0 |
Process creation plus command-line or shell telemetry |
| Process discovery | A process list with exit code 0 |
Process or PowerShell telemetry showing the discovery command |
Expected result The profile contains only the two approved discovery actions and targets no system outside the written boundary.
03
Activity 3: Run and validate¶
Run the operation¶
Restore or clone working-caldera-core. Confirm the server and endpoint are
healthy and the single agent has checked in recently.
Use this configuration when following Run Operations and Report:
| Setting | Required value |
|---|---|
| Operation name | VAL-1042 Safe Discovery |
| Agent group | The group containing only the authorised endpoint |
| Adversary | CDK Safe Discovery |
| Planner | atomic, so the reviewed profile order is followed |
| Obfuscator | plain-text for the first run |
| Autonomous mode | Use the release default only after confirming the exact two-ability plan |
- Recheck the group membership immediately before starting.
- Start the operation and watch the two links and service health.
- Stop immediately if the target, command, privilege or impact differs from the written boundary.
- Open each completed or failed link and preserve the ability, agent, command, executor, timestamps, status, stdout, stderr and skipped reason.
- Export the operation report or event logs and store them as potentially sensitive evidence.
Compare execution with defensive evidence¶
Search a narrow time window around each link. Use the defensive product already available in your lab; installing a SIEM or EDR is not a prerequisite for proving MITRE Caldera execution.
| Checkpoint | Expected | Observed | Result |
|---|---|---|---|
| Intended agent ran the ability | Matching paw and hostname | Record your evidence | Pass / fail |
| Command completed | Exit status and expected output | Record your evidence | Pass / fail |
| Endpoint telemetry arrived | Process, shell or PowerShell record | Record your evidence or not available |
Pass / gap / not tested |
| Detection fired | Only when a relevant rule was expected | Record alert evidence or not expected |
Pass / gap / not tested |
Do not call the defence validated merely because a link succeeded. Equally, do not call the operation failed merely because no SIEM or EDR was installed.
Conclude and clean up¶
- Remove the agent and temporary test material using the recorded procedure.
- Confirm the endpoint and MITRE Caldera server remain healthy.
- Restore the working baseline when cleanup cannot be verified.
- Assign each defensive gap an owner and retest date.
Answer:
- Did each ability execute on the intended endpoint?
- Which defensive evidence appeared, and which was missing?
- What is the first failed control boundary?
- Does the evidence prove execution, detection, both, or neither?
- What should change before the same operation is retested?
Expected result MITRE Caldera execution is separated from defensive-control validation, and the conclusion does not claim broader ATT&CK or fleet coverage.
Full Lab evidence checklist¶
This checklist applies to the self-hosted Full Lab. If you completed only the Interactive Lab, retain its downloaded evidence summary instead.
Troubleshooting¶
| Symptom | First check |
|---|---|
| Interface does not open | Server status, bind address, port, firewall, generated configuration, and selected release documentation |
| Agent does not appear | Contact address, network route, platform command, process state, group, and server logs |
| Ability is skipped | Platform, executor, required facts, payload, privilege, and adversary ordering |
| Link succeeds but no detection appears | Confirm the expected data source exists before changing the detection rule |
| Operation exceeds scope | Stop it, preserve logs, terminate agents, assess impact, and restore the last verified snapshot |
Clean up¶
Stop operations, terminate and remove agents, delete test payloads and outputs, restore altered security controls, protect reports and credentials, and revert disposable VMs when appropriate.