RTFM - Installing MITRE Caldera
WHERE
This will be our walk-through for getting this environment setup. I want to run this on Ubuntu Server 24.04 LTS.
So, this isn’t the place to put a whole bunch of images and screenshots walking you through an install of the OS.
THE EASY WAY! (* per the docs)
git clone https://github.com/mitre/caldera.git --recursive
cd caldera
pip3 install -r requirements.txt
python3 server.py --insecure --build
NETPLAN
I wanted to ensure that I set this box up with a static IP address, so that I can mimic the "C2"
experience and because I don’t like remembering things, so the IP I used is easy to remember. This will help when deploying agents for the Caldera "C2"
commands and ensure that my home lab environment doesn’t change.
NETPLAN is a decent way to set the static IP for our server…but it can be painful to setup. Which is why I’ll be giving you the snippet here for you to use. This is working as of 02/03/2025.
I set up Ubuntu 24.04 LTS. The default location for netplan is /etc/netplan
.
TO CLUTTERED CLICK HERE TO COLLAPSE
There is a default file in this location if you are running the same version of Ubuntu Server. 50-cloud-init.yaml
is what you’ll likely want to edit.
version: 2
renderer: networkd
ethernets:
enp0s18:
dhcp4: yes
This was my custom file for netplan that was apart of my local network. Find more here NetPlan Info and Docs
network:
version: 2
ethernets:
enp0s18:
addresses: [10.130.130.10/24]
routes:
- to: default
via: 10.130.130.1
nameservers:
addresses: [1.1.1.1, 8.8.8.8]
Once you have the file created you can run the commands to test the netplan
# Navigate to the directory
user@system:~$ cd /etc/netplan
# Now run the try command *Needs elevation
user@system:/etc/netplan$ sudo netplan try
# If you don't get any errors you should be good to apply
user@system:/etc/netplan$ sudo netplan apply
DEPENDENCIES: (Prereq’s)
There were some issues with getting the dependencies to work and I’m still in troubleshooting for the manx
agents not working.
What I’ve found so far is that, some (not all), of my issues have come from not reading the Requirements for the tools carefully enough. The docs are enough sometime to avoid these challenges. Here I found that I was missing golang and now I’m looking into what could be the issue. After installing the suggested version. I’m still experiencing issues with manx. This is important because you can’t get flags from the training to progress. I will likely try to rebuild the app locally and if I keep hitting the errors I will reinstall the OS. I’m finding that if you are using Ubuntu….stay away from using SNAP to install certain tools because they are not the same as the native installs.