Skip to content

A sophisticated Command and Control (C2) server implementation built with Python, featuring both CLI and GUI interfaces for remote system management and administration. This project demonstrates advanced networking concepts, socket programming, and multi-threaded client management.

Notifications You must be signed in to change notification settings

iot-lab-kiit/C2-Server

Repository files navigation

Command and Control (C2) Server Project

Python License Contributions welcome Hacktoberfest

A sophisticated Command and Control (C2) server implementation built with Python, featuring both CLI and GUI interfaces for remote system management and administration. This project demonstrates advanced networking concepts, socket programming, and multi-threaded client management.

🎯 About the Project

This C2 server project is designed as an educational tool and system administration framework that showcases:

  • Advanced Network Programming: Implements custom TCP protocol for client-server communication
  • Multi-threaded Architecture: Handles multiple concurrent client connections seamlessly
  • Cross-platform Compatibility: Works on Windows, Linux, and macOS environments
  • Security Implementation: Includes cryptographic utilities for secure communications
  • Dual Interface Design: Offers both command-line and graphical user interfaces
  • File Management: Robust file upload/download capabilities with integrity checking
  • Remote Administration: Complete remote system control including shell access and screenshots

Key Features

Multi-client Connection Handling - Manage multiple remote agents simultaneously
Remote Command Execution - Execute system commands on connected clients
Bidirectional File Transfers - Upload and download files securely
Screenshot Capabilities - Capture and retrieve screen content from remote systems
Interactive Reverse Shell - Establish real-time shell sessions
Modern GUI Interface - User-friendly graphical management console
Automatic Reconnection - Persistent connections with fault tolerance
Encrypted Communications - Optional cryptographic protection for data in transit

Project Components

  • c2_server.py - Command-line server implementation with full feature set
  • c2_server_gui.py - Graphical user interface for easier server management
  • c2_agent.py - Lightweight client agent for deployment on target systems
  • crypto_utils.py - Cryptographic utilities for secure communication protocols
  • requirements.txt - Python package dependencies

🚀 Quick Start

Installation

git clone https://github.com/iot-lab-kiit/C2-Server
cd c2-server
pip install -r requirements.txt

Usage

# Start the CLI server
python c2_server.py

# Start the GUI server  
python c2_server_gui.py

# Connect an agent
python c2_agent.py [server_ip] [server_port]

🤝 Contributing

We welcome contributions! Please see our CONTRIBUTING.md for detailed guidelines.

Quick contribution steps:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Make your changes and test thoroughly
  4. Submit a pull request with a clear description

Tech Stack

  • Language: Python 3.8+
  • GUI: Tkinter
  • Networking: Socket programming, threading
  • Security: Custom encryption utilities

📞 Communication

  • Project Maintainer: Bajinder17
  • Issues: Please use GitHub Issues for bug reports and feature requests
  • Discussions: Use GitHub Discussions for general questions and ideas

👥 Maintainers

  • @Bajinder17 - Project Owner & Lead Developer
    • Reviews all pull requests
    • Manages project roadmap and releases
    • Final decision on feature implementations

PR Review Process:

  1. Automated Checks: Code style and basic functionality
  2. Maintainer Review: Code quality and project alignment
  3. Testing: Manual testing of new features
  4. Merge: Integration into main branch

⚠️ Important Security Notice

This project is designed for educational purposes and legitimate system administration only.

Please ensure:

  • Always obtain proper authorization before deploying on any systems
  • Use only in controlled environments or systems you own
  • Comply with all applicable laws and regulations
  • Implement proper security measures in production environments

🌟 Show Your Support

If you found this project helpful, please consider:

  • ⭐ Starring this repository
  • 🍴 Forking and contributing
  • 📢 Sharing with others interested in network programming
  • 🐛 Reporting bugs and suggesting improvements

Happy Coding! 🚀

About

A sophisticated Command and Control (C2) server implementation built with Python, featuring both CLI and GUI interfaces for remote system management and administration. This project demonstrates advanced networking concepts, socket programming, and multi-threaded client management.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages