d3vzer0 / reternal-quickstart

Repo containing docker-compose files and setup scripts without having to clone the individual reternal components
107 stars 24 forks source link

Consider creating an installation Guide not using Docker #7

Open DefenceLogic opened 5 years ago

DefenceLogic commented 5 years ago

Dear Sirs,

I t would be great to have a configuration guide that used a standalone server.

Happy to try and help out. Would the starting point be:- Mongo db Redis Python 3.6 Python dependencies Webserver for flask app and vue.js

Cheers

d3vzer0 commented 5 years ago

This would be a nice suggestion. For ease of implementation I used docker since you don't have to consider dependencies on different distributions and the ability to focus on 1 single target platform. Docker also makes networking easier between the different services. I can add it to the roadmap, but I'll have to get framework fully functional first and finalise some obvious things ie. cert pinning, automatic DB password generation etc :)

To get started you can clone the submodules that are in the quickstart. Each of them have a requirements file for Python dependencies. The main services that are needed to run the stack:

Services:

  1. MongoDB 3+
  2. Redis
  3. Nginx

reternal-backend:

  1. Python: Flask Webserver (run.py) for the main API
  2. Python: Celery Worker (tasks.py) for API Socket

reternal-c2:

  1. Python: Flask Webserver (run.py) for the C2 channel

reternal-agent (compiler):

  1. Python: Celery Worker (tasks.py) to start compilation jobs when sent by the API
  2. Golang (the agents are written in Golang)

reternal-ui:

  1. NGinx to serve the Vue project
  2. NodeJS + Vue + Deps: Used to build the UI project

All the details are also available in the indivial Dockerfiles and what dependencies they install in the container :)

DefenceLogic commented 5 years ago

I will get this started with Ubuntu 18.04 as it should be easy to set up and i am familiar with it.