
NetSpyC2 – Serveur C2 Python avec échange de clés RSA et sessions chiffrées AES-GCM
NetSpyC2 est un serveur de commande et contrôle (C2) basé sur Python, créé à des fins éducatives, de recherche en sécurité et dans des environnements de laboratoire contrôlés.
Le projet démontre comment la communication client-serveur chiffrée, la gestion des sessions et le transfert sécurisé de fichiers peuvent être implémentés au niveau du protocole d'application en utilisant Python.
NetSpyC2 ne dépend pas de piles TLS externes. Au lieu de cela, il implémente sa propre poignée de main cryptographique et son canal chiffré en utilisant des primitives modernes.
NetSpyC2 établit une communication sécurisée selon les étapes suivantes :
Chaque client connecté maintient sa propre session chiffrée indépendante.
cryptography paquet Pythonprompt_toolkit paquet PythonInstaller les dépendances :
pip install cryptography
pip install prompt_toolkit
Lancez le serveur C2 :
python3 NetSpy2.py
Configuration par défaut :
0.0.0.04444Le serveur génère une nouvelle paire de clés RSA au démarrage.
Commandes disponibles dans la console NetSpyC2 :
help – Afficher le menu d'aidelist – Lister toutes les sessions clientes activesselect <ID> – Interagir avec un client spécifiqueinfo – Afficher les logs du serveurrsa keys – Afficher les clés publique et privée RSAset host <HOST> – Modifier l'hôte d'écouteset port <PORT> – Modifier le port d'écoutebanner – Afficher la bannièreexit – Arrêter le serveurToute commande non reconnue est exécutée localement sur le serveur.
Dans une session sélectionnée :
get <file> – Télécharger un fichier depuis le clientput <file> – Téléverser un fichier vers le clientTous les transferts de fichiers sont chiffrés et vérifiés avec SHA-256.
Les logs sont écrits dans :
NetSpyC2Server.log
.
├── NetSpy2.py
├── banner.py
├── colores.py
├── NetSpyC2Server.log
└── README.md
Ce projet est destiné uniquement à un usage éducatif, de recherche et en laboratoire contrôlé.
Toute utilisation non autorisée contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas l'autorisation de tester est interdite.
Creative Commons Attribution – Pas d’Utilisation Commerciale – Partage dans les Mêmes Conditions 4.0 International (CC BY-NC-SA 4.0)
Vous pouvez modifier et redistribuer ce projet uniquement à des fins non commerciales, à condition de conserver cette licence et de mentionner la paternité appropriée.
Ce logiciel est fourni uniquement à des fins éducatives et de recherche.
Utilisez-le uniquement sur des systèmes et réseaux que vous possédez ou pour lesquels vous avez une autorisation explicite.