C2 FRAMEWORK
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.
| 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 |
git clone https://github.com/s1d9e/shadowforge.git
cd shadowforge
pip install -e ".[dev]"docker-compose up -dshadowforge dashboard --port 8080Ouvrir http://localhost:8080 dans le navigateur.
shadowforge gen --mode dropper --input payload.py --output output/dropper.pyshadowforge listen --host 0.0.0.0 --port 4443 --sslshadowforge agentshadowforge 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
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
Creer un fichier de configuration :
shadowforge init --output config.yamlOu utiliser des variables d'environnement :
export SHADOWFORGE_C2_HOST=0.0.0.0
export SHADOWFORGE_C2_PORT=8443Quand le dashboard est lance, acceder a :
- Swagger UI : http://localhost:8080/api/docs
- ReDoc : http://localhost:8080/api/redoc
# 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/Voir CONTRIBUTING.md pour les directives de contribution.
MIT License - Voir LICENSE
Developpe par s1d9e