A command and control server that uses a prepared github repository as it's backend 'server' and public gists for side band communication
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
This tool may be used for legal purposes only. Users take full responsibility for any actions performed using this tool. The author accepts no liability for damage caused by this tool. If these terms are not acceptable to you, then do not use this tool.
To get a local copy up and running follow these simple steps.
This is the only non-standard library you need to use the software.
- GitHub3
pip install github3.py
-
Clone the repo
git clone https://github.com/JochiRaider/VPI_FS_project.git
-
Set Up a gist with a token base 64 encoded in the description
-
Add IP address and port for your reverse shell listener to the bootstrapper on line 71
-
Run the bootstrapper in your preferred python shell
-
Add the username of the target account to the client file on line 15
-
The client file is now ready to be executed on a target system
This is a Github-based C2 (Command and Control) server written in Python 3.
The bootstrapper is the constructor for the C2 server repository. It contains the code for the modules that the clients can run, information on the host of the server, and the structure of the entire repository.
Once the client program is executed on an infected machine, it will periodically check a specified Github repository to receive commands. It determines the correct repository via the gist. When the infected machine makes its first communication with the C2 server, a new file with the machine’s information in the config directory. This file tells the infected machine which module from the modules directory to run and can be edited to allow for custom instructions for each machine in the botnet.
The modules directory is, predictably, where the code for the modules is kept. Each module is essentially a task that the server can tell the clients to perform. The most notable modules we’ve included are dir_lister, enviro, shell_module, and sleep. Dir_lister makes the client list all of the files in the present working directory. Enviro copies the hosts enviromental variables to the data section in the repo. Shell_module opens a reverse shell on a client of their choosing. Sleep puts the client into a standby state so that it will wait for a set time then check for new instructions from the server.
The config directory contains the personalized instructions for each client. As stated before, each client has its own config file which can be edited to customize the instructions for each machine.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Project Link: https://github.com/JochiRaider/VPI_FS_project