FudgeC2
FudgeC2 is a Powershell command and control platform designed to facilitate team collaboration and campaign timelining. This aims to help clients better understand red team activities by presenting them with more granular detail of adversarial techniques.
Built on Python3 with a web frontend, FudgeC2 aims to provide red teamers a simple interface in which to manage active implants across their campaigns.
FudgeC2 is currently in beta, and should be used with caution in non-test environments. The beta was released at BlackHat Arsenal USA 2019.
Installation
To install and configure FudgeC2 run the following:
git clone https://github.com/Ziconius/FudgeC2
cd FudgeC2/FudgeC2
sudo pip3 install -r requirements.txt
sudo python3 Controller.py
This will generate a new database, and first time credentials. You will then be able to access the platform from http[s]://127.0.0.1:5001/. The logon credentials are:
admin
:letmein
For more information on installation and configuration see the wiki, here.
Usage
FudgeC2 breaks projects down into campaigns. Each campaign will have a their own implant templates, active implants, users, and targets.
Once you have generated a campaign and implants you will be able to interact with any active implants from the campaign specific homepage. This can be reached by clicking on the campaign name in the Campaign column, or via the Campaigns dropdown in the top navigation menu.
An overview of functionality can be seen below, for more information see the implant functionality pages on FudgeC2s' wiki, found here.
Implant functionality
Command | Info |
---|---|
<command> |
If no builtin prefix in used the submitted value will be directly executed by Powershell. |
:: sys_info |
Collects username, hostname, domain, and local IP |
:: enable_persistence |
Enables persistence by embedding a stager payload into the following autorun registry key |
:: export_clipboard |
Attempts to collect any text data stored in the users clipboard. |
:: load_module [target script] |
This will load external powershell modules, such as JAWS. |
:: exec_module [loaded module name] |
Executes a specific function of a loaded module. |
:: list_modules |
Lists all loaded modules by the implant. |
:: download_file [target file] |
Downloads the target file to the FudgeC2 server |
:: upload_file [local file] [remote path/filename] |
Uploads a file to the target path and specific filename |
:: play_audio [audio file (mp3)] |
Plays an audio file on the compromised host. |
Contributing
All contributions, suggestions, and feature requests are welcome. Feel free to reach out over GitHub, or via Twitter with ideas, suggestions and questions.
License
The FudgeC2 project and all module are under the GNU General Public License v3.0 unless explicitly noted otherwise. You can find the full licence here
Commit History @e4611096-945a-4ce3-801c-47a69e2e172a/main
- Set upstream metadata fields: Bug-Database, Bug-Submit, Repository, Repository-Browse. Kali Janitor 3 years ago
- Fix patch: Create home user dir before import Sophie Brun 4 years ago
- Add GitLab's CI configuration file Sophie Brun 4 years ago
- Configure git-buildpackage for Kali Sophie Brun 4 years ago
- Initial release Sophie Brun 4 years ago
- New upstream version 0.5.0 Sophie Brun 4 years ago