RE:TERNAL is a centralised purple team simulation platform. Reternal uses agents installed on a simulation network to execute various known red-teaming techniques in order to test blue-teaming capabilities. The simulations are mapped to the MITRE ATT&CK framework. This repo contains the compose file in order to set up the reternal platform via docker. An additional import script is available to create your first user and import Mitre and Metta databases.
This repository contains an Ansible deployment playbook to automate the installation and configuration for Reternal. The guide can be found on the repo’s Wiki @ https://github.com/d3vzer0/reternal-quickstart/wiki/1.A-Ansible-Install-Guide. A manual docker-compose file is also available for local testing.
Roadmap for first beta (06-2019)
- Validation techniques: Implement commands that validate and confirm succesfull run techniques/tasks
- Agent conditionals: Design tasks that rely on the execution of tasks on different agents. Ie. if agent A finished task B, let agent X execute task Y
- Develop timeline for executed tasks
- More bug fixingg
Roadmap before offical Alpha release (end of 05-2019)
- Certificate Pinning: Only accept commands from server with fixed TLS fingerprint
Key Exchange: Implement method to exchange encryption keys beween agent and server to encrypt agent contentDone
Loading Saved Campaign: Finalise ability to load saved campaignsDone
Finalise Ansible playbooks: Finish the Ansible playbook that configures and deploys all reternal componentsDone
- Bug fixes
Whats up with the name?
This project has been re-developed so many times, it will probably never really finish. Hence RE (Redo) and Ternal (Eternal).
- MITRE ATT&CK – Framework used for mapping simulations: https://attack.mitre.org/wiki/Main_Page
- Uber Metta – Using Metta’s templates for MITRE techniques with small (optional) adjustments to the purple_action format: https://github.com/uber-common/metta
Examples and screenshots
All of the features will be documented on the Welcome page of the Wiki @ https://github.com/d3vzer0/reternal-quickstart/wiki. Below are a few examples of the main components.
Scheduling tasks to be run on an agent is called a recipe. You can add manual commands to a recipe or select one of the existing mapped techniques or actor TTPs. You can drag/drop to change the order of the tasks in your recipe.
Video showing intro to Recipe building