Home

Awesome

This project is no longer being maintained.

Atomic-Caldera

A MITRE Caldera plugin written in Python 3 used to convert Red Canary Atomic Red Team Tests to MITRE Caldera Stockpile YAML ability files.

Backstory

While looking into tools to help test and develop Red/Blue (Purple) teams by running MITRE ATT&CK mapped tests, I investigated MITRE's Caldera (https://github.com/mitre/caldera) and liked what I saw. I did not like that Caldera does not included many abilities/tests by default. I also looked at Red Canary's Atomic Red Team (https://github.com/redcanaryco/atomic-red-team), there are lot of tests included with Atomic Red Team but the included testing framework wasn't as nice as Caldera. I also like the Sandcat (https://github.com/mitre/sandcat) plugin included with Caldera. It can easily be run on many different endpoints, it is light weight, and provides the capability to perform tests from a central Caldera server. By combining the tests from Red Canary's Atomic Red Team with the testing framework of MITRE's Caldera the best of both tool sets could be enjoyed.

I looked around and did not find any tools to convert Red Canary's Atomic Red Team tests to MITRE Caldera Stockpile (https://github.com/mitre/stockpile) format. My desire to quickly build a library using the high quality tests provided by Red Canary in MITRE's Caldera framework drove me to write a "quick" script. This desire led me down a path of developing the tool as a plugin to MITRE's Caldera. This most recent update can now be used with Caldera as a plugin. The original scripts can still be located in the legacy folder and used indipendently from the plugin.

Requirements

Python 3.6.8+ with the following libraries installed

Atomic-Caldera requires the following repositories be stored locally somewhere:

Installation

Clone the repository to MITRE's Caldera "plugins" folder:

cd <path to caldera/plugins>
git clone https://github.com/xenoscr/atomiccaldera.git

Change directories:

cd atomiccaldera

Install required Python modules:

pip install -r requirements.txt

Clone the Red Canary Atomic Red Team repository:

git clone https://github.com/redcanaryco/atomic-red-team.git

Clone the MITRE CTI repository:

git clone https://github.com/mitre/cti.git

Edit the conf/artconf.yml file to update the paths to point to your Atomic Red Team and CTI repositories. Edit Caldera's local.yml file and add atomiccaldera to the plugins section.

Usage

Atomic-Caldera

The first time you access the Atomic Caldera plugin you will need to import the Atomic Red Team YAML files to populate Atomic Caldera's database. To do this click the "Add Abilities" button. Adding the abilities for the first time will take some time to complete, please be patient, the status will update when the import is completed.

Click "Add Abilities"

Selecting an Ability

To select an ability:

  1. First select a tactic "Select ATT&CK tactic" drop down.
  2. Next select the ability from the "Select ability" drop down.

Selecting an ability

After you have selected an ability you can use the left and right arrows to quickly move through the list of available abilities related to the selected tactic.

Saving an Ability

If you have made changes to an ability and wish to save them:

  1. Click the "Save Ability" button.

Save Ability

Saving Variables

If you have made changes to variables and wish to save them:

  1. Click the "Save Variables" button.

Save variables

Export a Single Ability

If you wish to export the selected ability only to Stockpile:

  1. Click the Export Ability button.

Export ability 

Export All Abilities

If you wish to export all of the abilities from Atomic Caldera to Stockpile:

  1. Click the Export All Abilities button.

Export All Abilities

Reloading Data (i.e. Start over)

If you wish to delete everything that has been imported and wish to start over, do so by:

  1. Click the Reload Abilities button

Reload Abilities

  1. Click the Yes button.

Yes

After clicking yes, it will then take some time for the abilities to complete reloading. NOTE: It is necessary to restart Caldera to view the new abilities. At the moment there is no way to force Chain to reload its database from the GUI.

To-Do

Still not perfect but, it gets the bulk for the work done at this time. I would like to work on/fix the following eventually:

Change-Log

v3.0.1

v3.0

What didn't change?

v2.0

License

See the LICENSE

Credits