A comprehensive platform for cybersecurity training, featuring isolated lab environments and virtual machine management. Perfect for educational institutions, cybersecurity professionals, and organizations conducting security training.
π Secure Lab Environments
- Isolated networking for safe exploit practice
- Pre-configured security lab templates
- Multi-VM scenario support
π₯οΈ Advanced VM Management
- Create and manage virtual machines with ease
- Real-time VM status monitoring
- Secure remote access (RDP/SSH)
π₯ User Management
- Role-based access control
- Progress tracking
- Team collaboration features
π Enterprise-Grade Security
- JWT-based authentication
- Network isolation
- Secure remote connections
- Python 3.7+
- VirtualBox 7.0+
- 8GB+ RAM
- 50GB+ free disk space
- Windows/Linux host OS
# Clone the repository
git clone https://github.com/your-username/cyber-training-platform.git
# Run the setup script
./setup.sh # Linux/Mac
# or
setup.bat # Windows
For detailed setup instructions, see our Installation Guide.
We welcome contributions! See our Contributing Guide for details.
This project is licensed under the MIT License - see the LICENSE file for details.
Give a βοΈ if this project helped you!
backend/
βββ app/
β βββ api/
β β βββ routes/ # API endpoints
β βββ core/ # Core functionality
β βββ services/ # Business logic
βββ tests/ # Test cases
βββ scripts/ # Utility scripts
- Set up Python environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
- Configure environment
cp .env.example .env
# Edit .env with your settings
- Install VirtualBox
# Windows
./scripts/install_virtualbox.bat
# Linux
./scripts/install_virtualbox.sh
- Start the backend
python -m uvicorn app.main:app --reload
- Create your first lab
# Get auth token
curl -X POST http://localhost:8000/api/auth/token -d "username=admin&password=admin123"
# Create a lab
curl -X POST http://localhost:8000/api/labs -H "Authorization: Bearer YOUR_TOKEN"
pytest
pytest --cov=app tests/
- Change default credentials in production
- Use HTTPS in production
- Follow security guidelines in Security Guide
See ROADMAP.md for planned features and development timeline.