diff --git a/README.md b/README.md index 83cbb08..8f7159f 100644 --- a/README.md +++ b/README.md @@ -47,20 +47,16 @@ The victim client is generated after the attacker client authenticates with a se # Design considerations Clients and the server will be wirtten in rust. The core modules will all be written in rust. Plugins are written in RHAI script (javascript like). -The server will keep the states of all clients, projects, and notes. The clients will interact with the server. Each client will have it's own handler thread. I intend to manage the threads with either Tokio or some sort of agent system. MPSC channels will be utilized to talk to all threads. +The server will act as a relay, allowing clients to talk to one another. The attacker client will keep the states of projects, notes, and be the holder of what commands can be run. Collaboration will work with one client querying the source client for projet information and any data related to a project. This will require authentication not only to the server, but the source client as well. By default collaborating on a project will not save the project into your tracked projects configuration information, but that will be doable via a command. Collaboration is not implemented yet. -The network communication for all clients will be encrypted. Victim clients will use a beacon model to check if there are any commands to run. Attacker clients will just use a tcp connection that stays open. +The network communication for all clients will be TLS encrypted. Clients will use a beacon model to check if there are any commands to run. -Any important data should be either printed to the attacker client, or saved in markdown format to the notes. The markdown format will be configurable, with Obsidian being the default. +Any important data should be either printed to the attacker client, and/or saved in markdown format to the notes. The markdown format will be configurable, with Obsidian being the default. -There will be both a CLI and a GUI for the Attacker clients. The server and victim clients will be CLI only. - -The attacker clients should have an easy function to spin up a server on the same machine they're running on, or any server that the attacker has SSH access to. +There will be a TUI for the Attacker clients. The server and victim clients will be CLI only. I plan to document how to properly write the network communications so that users can create their own modules that talk to the server or extend functionality with other tools. -This repo will be empty for a bit while I get the initial client/server communications working. - # WIP This is very much a work in progress. The current status of features is shown below.