Skip to content

vymvn/RustBucket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RustBucket

A simple C2 framework written in Rust.

This is basically learning project for me and my team, to learn Rust and how C2 frameworks work. It is in no way a finished project that's ready for a production environment.

Requirements

Rust

Follow the official instructions to install Rust.

Mingw

Mingw is needed to cross compile the windows payload. You can install it using your package manager.

Debian Based Distros (Ubuntu, Kali, etc)

sudo apt update
sudo apt install mingw-w64

Arch Linux / Arch Based Distros (Manjaro, etc)

sudo pacman -S mingw-w64-gcc

RH Based Distros (Fedora, CentOS, etc)

sudo dnf install mingw32-gcc mingw64-gcc

Cargo cross compilation capabilities

You also need to add windows cross compilation features to cargo to be able to cross compile the windows payload.

rustup target add x86_64-pc-windows-gnu

Build

To build the entire project, you can use the following command:

cargo build --release

This builds all the binaries in the target/release folder.

To build a specific crate, you can use the following command for crates with the main.rs entry point:

cargo build --bin <crate_name> --release

Or for crates with a lib.rs entry point:

cargo build --lib <crate_name> --release

Usage

  1. Run the server
./rb_server

Runs the server on default port 6666. This can be customized later when we add config files.

  1. Run the client
./rb_client

This will connect to the default server on localhost:6666. You can change the connection details with command line flags. Run ./rb_client --help for more details.

TODO

  • Cleaner state management (and cleaner code in general).
  • Implement actual commands to do stuff instead of just powershell commands.
  • Nicer cli experience (tab completion, syntax highlighting, etc).
  • A DB to save server state.
  • Config file for server.
  • Operator profiles and a command to generate them.
  • Make server send the generated payload to the client (currently it just stays on the server).

About

C2

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages