Skip to content

Repository files navigation

SHADOWFORGE

C2 FRAMEWORK

Python Version License Tests CI


A propos

ShadowForge est un framework C2 (Command & Control) pour les operations red team et les tests d'intrusion autorises. Developpe en Python moderne, il offre une architecture modulaire pour la post-exploitation, la defense evasion et les operations offensives.

Avertissement Legal : ShadowForge est destine uniquement aux tests de securite autorises. Utilisez-le uniquement sur des systemes vous appartenant ou pour lesquels vous avez une autorisation ecrite. Les auteurs ne sont pas responsables de tout usage non autorise.


Fonctionnalites

Composant Description
C2 Server Serveur asynchrone avec gestion d'agents en temps reel
Dashboard Web Interface style Wireshark pour le monitoring
Agent Cross-Platform Support Windows, Linux, macOS
Chiffrement AES-256-GCM, ChaCha20, XOR
Evasion Bypass AMSI/ETW, unhooking, syscalls directs
Base de donnees SQLite avec migrations automatiques
Logs structures JSON avec structlog
96 Tests unitaires Couverture de code complete
Docker Containers optimises + docker-compose
CI/CD Pipeline GitHub Actions automatise

Installation

Depuis la source (recommande)

git clone https://github.com/s1d9e/shadowforge.git
cd shadowforge
pip install -e ".[dev]"

Avec Docker

docker-compose up -d

Demarrage rapide

1. Lancer le Dashboard

shadowforge dashboard --port 8080

Ouvrir http://localhost:8080 dans le navigateur.

2. Generer un Payload

shadowforge gen --mode dropper --input payload.py --output output/dropper.py

3. Demarrer un Listener

shadowforge listen --host 0.0.0.0 --port 4443 --ssl

4. Lancer l'Agent

shadowforge agent

Commandes CLI

shadowforge dashboard    Lancer le dashboard web
shadowforge gen          Generer des payloads (dropper/stager)
shadowforge listen       Demarrer un listener
shadowforge server       Demarrer le serveur C2
shadowforge agent        Lancer l'agent
shadowforge exploit      Executer des exploits (smb/traversal)
shadowforge utils        Fonctions utilitaires (hash/encodage)
shadowforge init         Generer un fichier de config
shadowforge status       Afficher l'etat du systeme

Structure du projet

shadowforge/
├── src/shadowforge/          # Code source principal
│   ├── core/                 # Composants fondamentaux
│   │   ├── config.py        # Configuration Pydantic
│   │   ├── crypto.py        # Utilitaires de chiffrement
│   │   ├── exceptions.py    # Exceptions personnalisees
│   │   └── logging.py       # Logging structure
│   ├── server/               # Serveur C2
│   │   ├── c2_server.py     # Serveur principal
│   │   └── listener.py      # Gestionnaire de listeners
│   ├── web/                  # Dashboard
│   │   ├── __init__.py      # Application FastAPI
│   │   └── templates/       # Templates HTML
│   └── cli.py                # Interface CLI
├── tests/                    # Tests unitaires (96 tests)
├── config/                   # Fichiers de configuration
├── .github/workflows/        # Pipelines CI/CD
├── Dockerfile               # Build Docker
└── pyproject.toml           # Configuration projet

Configuration

Creer un fichier de configuration :

shadowforge init --output config.yaml

Ou utiliser des variables d'environnement :

export SHADOWFORGE_C2_HOST=0.0.0.0
export SHADOWFORGE_C2_PORT=8443

API Documentation

Quand le dashboard est lance, acceder a :


Developpement

# Installer les dependances de dev
pip install -e ".[dev]"

# Lancer les tests
pytest

# Lancer le linter
ruff check src/ tests/

# Formater le code
ruff format src/ tests/

Contribuer

Voir CONTRIBUTING.md pour les directives de contribution.


Licence

MIT License - Voir LICENSE


Developpe par s1d9e

About

Advanced Red Team C2 Framework - Post-exploitation, defense evasion, and offensive security toolkit

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages