The Atomic plugin converts Red Canary’s Atomic Red Team tests from their open-source GitHub repository into CALDERA abilities for granular ATT&CK simulation.
Atomic-level detection validation
- ART tests only specify techniques they address. This plugin creates a mapping and import abilities under the corresponding tactic. Yet sometimes multiple tactics are a match, and we do not know which one the test addresses. This will be fixed in the future thanks to the ATT&CK sub-techniques. As of now, we use a new tactic category called "multiple".
- When a command/cleanup expands over multiple lines with one of them being a comment, it messes up the whole command/cleanup (as we reduce multiple lines into one with semi-colons).
- ART tests are not full adversary attack chains/ emulations.
- Some ART tests are incomplete.
- 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.ymlfile to update the paths to point to your Atomic Red Team and CTI repositories. - Edit Caldera's
local.ymlfile and addatomiccalderato the plugins section.
- Python 3.8+ with the following libraries installed:
- Atomic-Caldera requires the following repositories be stored locally somewhere:
The first time you access the Atomic 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.
To select an ability:
- First select a tactic "Select ATT&CK tactic" drop down.
- Next select the ability from the "Select ability" drop down.
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.
If you have made changes to an ability and wish to save them:
- Click the "Save Ability" button.
If you have made changes to variables and wish to save them:
- Click the "Save Variables" button.
If you wish to export the selected ability only to Stockpile:
- Click the Export Ability button.
If you wish to export all of the abilities from Atomic Caldera to Stockpile:
- Click the Export All Abilities button.
If you wish to delete everything that has been imported and wish to start over, do so by:
- Click the Reload Abilities button
- Click the Yes button.
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.
- When importing tests from Atomic Red Team, this plugin also catches
$PathToAtomicsFolderusages pointing to an existing file. It then imports the files as payloads and fixes path usages. Note other usages are not handled. If a path with$PathToAtomicsFolderpoints to an existing directory or an unexisting file, we will not process it any further and ingest it "as it is". Examples of such usages below: - https://github.com/redcanaryco/atomic-red-team/blob/a956d4640f9186a7bd36d16a63f6d39433af5f1d/atomics/T1022/T1022.yaml#L99
- https://github.com/redcanaryco/atomic-red-team/blob/ab0b391ac0d7b18f25cb17adb330309f92fa94e6/atomics/T1056/T1056.yaml#L24