RE:TERNAL : Repo Containing Docker-Compose Files & Setup Scripts

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.

Reternal Components

ComponentDescriptionCodeBuild
APIAdministrative API to schedule tasks
UIVueJS-based UI buildscript and NGinx webserver
C2Seperate API endpoint that agents use to communicate with
Agent CompilerService that compiles the agent (Golang) payloads
MitreRepository containing already existing mapped techniques for reternal
ComponentDescriptionBuild
Total StackBuild verifying entire stack via docker-compose in this repository

Also Read – Fireprox : AWS API Gateway Management Tool For Creating On The Fly HTTP

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 content Done
  • Loading Saved Campaign: Finalise ability to load saved campaigns Done
  • Finalise Ansible playbooks: Finish the Ansible playbook that configures and deploys all reternal components Done
  • 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.

Agent Overview

Actor Mapping

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.

Technique Mapping

Commands are mapped to MITRE ATTCK techniques. You can browse the available commands and directly add them to your task list.

Recipe Builder

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.

Demo