https://github.com/captain-woof/hydrangea-c2
A cross-platform, collaborative C2 for red-teaming. Agents are cross-compilable (e.g, you can generate Windows DLLs on Linux), cross-compatible, and built with evasion, anti-analysis and stability in mind. All capabilities are natively implemented from scratch.
https://github.com/captain-woof/hydrangea-c2
c2 malware-development pentest-tool red-team red-team-tools windows-internals
Last synced: 6 months ago
JSON representation
A cross-platform, collaborative C2 for red-teaming. Agents are cross-compilable (e.g, you can generate Windows DLLs on Linux), cross-compatible, and built with evasion, anti-analysis and stability in mind. All capabilities are natively implemented from scratch.
- Host: GitHub
- URL: https://github.com/captain-woof/hydrangea-c2
- Owner: captain-woof
- License: gpl-3.0
- Created: 2025-01-29T16:41:03.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-03-02T15:59:07.000Z (7 months ago)
- Last Synced: 2025-03-24T22:02:34.162Z (7 months ago)
- Topics: c2, malware-development, pentest-tool, red-team, red-team-tools, windows-internals
- Language: Python
- Homepage:
- Size: 6.06 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hydrangea C2

## Components
### Team server
Team server (`team-server/main.py`) mediates between agents, listeners and clients.
### Client
Client (`client/main.py`) is the client to use to connect to Team server.
### Listener
Listeners (`team-server/listeners/*.py`) are scripts that start a server, intended to receive communication from agents. They are part of team server since they are started on team server.
### Database
There's a MySQL database in `team-server/database` that needs to be setup with docker. This database stores all necessary persistent information.
## Team server guide
**Note: All team server stuff is in `team-server/` directory. Unless otherwise stated, use this folder as your current directory when starting the team server.**
### Environment variables
Create a `.env` file (use `.env.example` as a template) for usage.
### Starting MySQL database
Once done, start the database:
```bash
docker compose up -f ./database/compose.yaml -d # starts MySQL in a docker and performs database setup
```This starts a local (`127.0.0.1:3306`) MySQL database, with your chosen username and password in `.env`. Use this if you need to manually interact with the database.
### Starting team server
```bash
python3 -m virtualenv venv
source ./venv/bin/activatepython3 ./main.py -H 127.0.0.1 -P 6060
```### Stopping team server
```bash
Ctrl + C # yes, just interrupt
```### Stopping MySQL database
```bash
docker compose down -f ./database/compose.yaml -d
```### Removing MySQL volume
```bash
sudo docker volume rm team-server_hydrangea-mysql # remove MySQL's docker volume
```## Client guide
**Note: All client stuff is in `client/` directory. Unless otherwise stated, use this folder as your current directory when starting the client.**
### Starting client
```bash
python3 ./main.py -H 127.0.0.1 -P 6060
```At any point, invoke `help` command to see available commands. These commands are also listed below.
### Administration commands
Enter the `admin` context with below command first:
```
USER@xx.xx.xx.xx:xx > context admin
```**Create new user**
```
USER@xx.xx.xx.xx:xx > Admin > newuser USERNAME PASSWORD ROLE
```*Remember: Usernames are unique*
**Edit existing user's username**
```
USER@xx.xx.xx.xx:xx > Admin > editusername USERNAME NEW_USERNAME
```**Edit existing user's password**
```
USER@xx.xx.xx.xx:xx > Admin > editpassword USERNAME NEW_PASSWORD
```**Edit existing user's role**
```
USER@xx.xx.xx.xx:xx > Admin > editrole USERNAME NEW_ROLE
```**Delete existing user**
```
USER@xx.xx.xx.xx:xx > Admin > deluser USERNAME
```### Listener commands
### Agent commands