This write-up focuses on setting Caldera and emulating the Adversary Simulation and detection.
Understanding MITRE ATT&CK Framework in CALDERA:
Within the domain of Adversary Simulation and detection, the MITRE ATT&CK (Adversarial Tactics, Techniques, and Common Knowledge) framework serves as a foundational pillar. This framework methodically organizes the tactics and techniques employed by adversaries in the course of cyber operations.
CALDERA, a powerful tool for simulating real-world attacks, leverages the ATT&CK framework to emulate threat scenarios. By mapping its abilities to specific ATT&CK tactics and techniques, CALDERA provides a structured approach for red teaming and penetration testing.
The ATT&CK matrix encompasses various attack vectors, from initial access to impact, offering a comprehensive view of adversarial behaviors. CALDERA users can employ this framework to design and execute realistic attack simulations, ensuring a robust testing environment for security teams to evaluate and enhance their defenses.
Caldera’s Essential Terminology:
Installing Caldera in Linux
git clone https://github.com/mitre/caldera.git — recursive
cd caldera
pip3 install -r requirements.txt
python3 server.py — insecure
Note: If you are working on virtual machines, ensure your network mode is Bridged.
The default Credentials for Caldera are for the red team [red: admin] and for the blue team [blue: admin].
For simulation and detection, we need to add agents. These agents are nothing but our target systems. For this instance, we are adding our VM as an agent which will be Linux-based.
To initiate the deployment of an agent, go to the Agents tab and select the “deploy an agent” button, as indicated in the highlighted section of the accompanying screenshot.
Select an agent, such as Sandcat (recommended for beginners), and specify the platform (operating system) of your choice. Refer to the highlighted sections in the provided screenshots for guidance.
Note: Sandcat, also known as 54ndc47, stands out as a remote access agent crafted in GoLang, ensuring cross-platform compatibility. This agent will be deployed on the targeted endpoint(s) to execute our operations effectively.
Make sure the agent options are correct (ex: ensure app.contact.http matches the expected host and port for the CALDERA server).
The “agents.implant_name” field plays a crucial role in designating the base name for newly-spawned agents. In instances where needed, an extension will be appended during agent creation (e.g., transforming “splunkd” to “splunkd.exe” when spawning an agent on a Windows machine). Next, select a command to execute on the target machine, referring to the highlighted section in the provided screenshot for guidance.
Copy the Payload and Paste it to the terminal of the Targeted system. In Our case in Linux Machine.
Setting Agent -
We Added and Setup the agent now the next part is Adversaries
Access adversary profiles by navigating to the Adversary tab. Click on the “Select an existing profile” drop-down menu, as illustrated in the highlighted section of the provided screenshot.
Upon selecting an adversary profile from the drop-down menu, the interface will present the adversary name, description, and the associated abilities linked to the chosen adversary profile. This provides a comprehensive overview of the tactics, techniques, and procedures (TTPs) encapsulated within the selected adversary profile.
Once you’ve assigned a name and description to your profile, augment its capabilities by clicking the “add ability” button, as emphasized in the earlier screenshot.
To incorporate abilities into your custom profile, you can either search for a specific ability or designate a particular tactic relevant to the functionality of the desired ability. This flexibility allows you to tailor the adversary profile to your specific simulation and detection needs.
Initiating an operation offers various optional configurations, as highlighted in the provided screenshot. These configurations allow for tailored settings to meet the specific requirements of the operation.
As shown in the above screenshot caldera found the active user in our targeted system to view the result click on view output.
Overall Results —
We have completed our first adversary emulation with Caldera. At this point, you ought should be able to use Caldera to add agents, add or modify profiles, and perform operations against agents.
Caldera documentation: https://caldera.readthedocs.io/en/latest/index.html