Categories
self-hosted cybersecurity education ctf-platform security-training container-orchestration competition-managementStars
Forks
Watchers
Developer links
GZCTF
When cybersecurity instructors and competition organizers host Capture The Flag tournaments, GZCTF orchestrates isolated per-team challenge containers, dynamic anti-cheat flags, and live exponential scoreboards from a single web platform. Event administrators can configure four distinct challenge modes covering static attachments, team-specific dynamic attachments, shared static containers, and isolated dynamic containers where unique flags are injected into each team's environment at launch. A customizable exponential scoring engine adjusts point values automatically as more teams solve a problem while awarding first, second, and third blood bonuses to top contenders. Built-in flag-sharing detection monitors every submission in real time, flagging suspicious cross-team flag reuse alongside live event streams and container logs. Participants can group into divisions, track their ranking trajectory on interactive score timelines, and upload post-game writeups directly into the portal for organizer review and batch archiving. Built-in network proxying forwards challenge traffic over WebSocket tunnels with optional packet capture so referees can audit exploit payloads during active matches. Multi-language localization, customizable branding, invitation gates, and email domain restrictions adapt the portal to university courses, corporate security drills, or international tournaments. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. AGPL-3.0 licensed.
Benefits
- Automated Docker and Kubernetes Containers
- Provision on-demand challenge containers per team using local Docker Engine sockets, remote Docker APIs, or Kubernetes namespaces with automated open and isolated network policies.
- Dynamic Flags and Cheat Detection
- Inject unique environment-variable flags or team-specific attachment files for every squad and automatically detect cross-team flag sharing in real time during live competitions.
- Exponential Scoring and Blood Bonuses
- Configure decay curves using initial points, minimum score ratios, and difficulty coefficients while automatically granting 5%, 3%, and 1% bonuses to the first three solvers.
- Traffic Capture and Live Monitoring
- Forward challenge TCP traffic through built-in WebSocket proxies with optional packet recording and stream competition events, flag submissions, and logs via SignalR.
Features
- Four Challenge Deployment Modes
- Create Static Attachment, Dynamic Attachment, Static Container, and Dynamic Container challenges with hot-reload challenge activation and hint releases during active games.
- Kubernetes and Docker Orchestration
- Manage container lifecycles, port mappings, CIDR allowlists, and automated Kubernetes NetworkPolicies across isolated challenge namespaces from the ASP.NET Core backend.
- Interactive Division Scoreboards
- Group participating teams into separate divisions, render multi-team score progression timelines, and export complete scoreboards and submission audit trails to spreadsheets.
- SignalR Real-Time Monitoring Console
- Push instant competition broadcasts to players and inspect live flag submissions, cheat alerts, and container events over persistent SignalR WebSocket connections.
- Built-In Writeup Collection Portal
- Collect PDF and document writeups from participating teams inside the platform with deadline enforcement, administrator review panels, and single-click batch archive downloads.
- Redis and S3 Storage Backend
- Scale tournament state with PostgreSQL persistence, Redis distributed cluster caching, Cloudflare Turnstile registration protection, and S3 or MinIO object storage for attachments.