RE:TERNAL is a centralized 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.
|API||Administrative API to schedule tasks|
|UI||VueJS-based UI buildscript and NGinx webserver|
|C2||Seperate API endpoint that agents use to communicate with|
|Agent Compiler||Service that compiles the agent (Golang) payloads|
|Mitre||Repository containing already existing mapped techniques for reternal|
|Total Stack||Build verifying entire stack via docker-compose in this repository|
Install & Configuration
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).
Examples & 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.
Reternal automatically maps available commands and techniques to actors. You can directly add all the techniques commonly used by actors to your set of tasks.
Commands are mapped to MITRE ATTCK techniques. You can browse the available commands and directly add them to your task list.
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.