CTF本地靶场搭建——GZ:CTF基础使用

简介: GZ::CTF是一个基于ASP.NET Core的开源CTF竞赛平台,支持Docker或K8s容器部署,提供静态和动态题目类型,包括静态附件、动态附件、静态容器和动态容器,具备动态分值功能,如三血奖励和动态flag作弊检测。平台还具有实时通知、邮件验证、用户权限管理、Writeup收集、流量代理转发等功能。此外,它包含比赛管理、队伍管理、用户管理等多个管理模块,适合举办和参与网络安全竞赛。

GZ::CTF 是一个基于 ASP.NET Core 的开源 CTF 平台。

简介

GZ::CTF 是一个基于 ASP.NET Core 的开源 CTF 平台,采用 Docker 或 K8s 作为容器部署后端,提供了可自定义的题目类型、动态容器和动态分值功能。

本项目缘起于作者认为 CTFd 的实现不优雅,动态容器配置需要采用插件的方式,且前端不好看,同时为了办校赛和帮助其他学校的同学办赛,于是自己动手写了一个。

特性

创建高度可自定义的题目

题目类型:静态附件、动态附件、静态容器、动态容器

  • 静态附件:共用附件,任意添加的 flag 均可提交。

  • 动态附件:需要至少满足队伍数量的 flag 和附件,附件及 flag 按照队伍进行分发。

  • 静态容器:共用容器模版,不下发 flag,任意添加的 flag 均可提交。

  • 动态容器:自动生成并通过容器环境变量进行 flag 下发,每个队伍 flag 唯一。

动态分值

分值曲线:

image.png

三血奖励: 平台对一二三血分别奖励 5%、3%、1% 的当前题目分值。

比赛进行中可启用、禁用题目,可多次放题

动态 flag 中启用作弊检测,可选的 flag 模版,leet flag 功能。

分组队伍得分时间线、分组积分榜

其他

基于 Docker 或 K8s 的动态容器分发、管理、多种端口映射方式

基于 SignalR 的实时比赛通知、比赛事件和 flag 提交监控及日志监控

SMTP 邮件验证功能、基于 Google ReCaptchav3 的恶意注册防护

用户封禁、用户三级权限管理

可选的队伍审核、邀请码、注册邮箱限制

平台内 Writeup 收集、查阅、批量下载

可下载导出积分榜、可下载全部提交记录

比赛期间裁判监控、提交和主要事件日志

题目流量 TCP over WebSocket 代理转发、可配置流量捕获

基于 Redis 的集群缓存、基于 PGSQL 的数据库存储后端

面向 Prometheus / OpenTelemetry 的监控和数据追踪

全局配置项自定义、平台标题、备案信息

基础使用

管理员账号进去后如下图所示:

image.png

左侧分为五个功能模块,分别为首页、文章、赛事、队伍、关于、管理

image.png

首页的话没有太多需要介绍的,展示的是置顶文章和最近赛事。

文章栏主要是用来写一些告示内容,一般都是比赛时前几天发一些前情须知和比较大的分析文件的链接(加密的应急响应包啥的)。新建的方式也很简单,填写如下所示即可:

image.png

赛事可以查看所有的比赛情况,包括比赛的细节、排名、得分情况、比赛监控等。

image.png

队伍模块则是集中展示各个参赛队伍的详细信息,可以加入队伍或者创建队伍。

image.png
image.png

管理模块是整个内容的核心部分,其中又包括比赛管理、队伍管理、用户管理、实例管理、系统日志、系统设置。

比赛管理

进入后点击新建比赛,如下位置:

image.png

修改题目为你自己的,再设置对应时间即可。

image.png

填写内容如下,按照自己要求来即可~,修改完点击保存更新。

image.png

同时也可以新增比赛公告,这也比较容易,在此不赘述。

image.png

新增题目是一个重点,也是难点,具体放到后面来单独细说,这里先只看看基础的怎么建。

image.png

点击新建,输入题目名字,下拉选择题目标签和题目类型。

image.png
image.png

像MISC和Crypto一般也都是静态的文件,但是PWN和WEB一般都是动态的了,而如果考察应急响应的话对标之前陇剑杯的题型也是静态文件,但是帕鲁杯时就直接给的大的虚拟机,反正总之,出题方式多种多样。

这里我们选择静态文件。

image.png

然后看难度来给提示吧,如果难就多提示一下,最后预览了没问题保存更改即可,题目就已经更新上去了。

image.png

队伍审核主要是审核参赛队伍的资格。

image.png

writeup是下载所有参赛队伍的wp来进行赛后核验的。

image.png

这几点就是比赛管理中的基础功能。

队伍管理

顾名思义,对队伍进行管理。

image.png

用户管理

对平台注册的用户进行管理。

image.png

实例管理

这个后面会讲到,主要是对动态容器的实例进行查看和管理。

image.png

系统日志

查看所有的日志信息。

image.png

系统设置

可以自己做一些二开的操作,同时设置一些账号策略、容器策略等。

image.png

以上都是管理下的子功能,除去管理外,还有几个个性化的按钮。

image.png

调整文字、界面颜色选择、用户信息查看和登出。

总的来说,GZ:CTF这个开源靶场确实还是制作的非常用心的,比CTFD好用一些,也推荐网络安全的学习者使用这个。

相关文章
|
安全 网络安全 PHP
CISP-PTE综合靶机-WinServer2008学习
CISP-PTE综合靶机-WinServer2008学习
1343 0
|
Ubuntu 网络安全 开发者
CTF本地靶场搭建——GZ:CTF安装
GZCTF是一个开源的网络安全竞技平台,由GZTimeWalker维护,提供环境供爱好者和专业人士通过解决CTF题目提升技能。本文档介绍了在Ubuntu 20.04上部署GZCTF的步骤,包括安装操作系统、配置清华镜像源、更新软件、安装Docker和docker-compose,以及根据GZCTF文档创建配置文件并启动服务。完成部署后,用户可在浏览器中看到GZCTF平台。
|
安全 容器 数据安全/隐私保护
CTF本地靶场搭建——静态flag题型的创建
【6月更文挑战第1天】本文介绍了如何在CTF比赛中创建静态flag题型。静态flag是预先设定且不变的,常用于攻防模式或Misc、Crypto等题目中作为验证答案的一部分。创建步骤包括:选择比赛,新建题目,设置题目类型和内容,上传附件,添加静态flag,启用题目。选手则需下载附件,解密或解决问题后提交静态flag进行验证。
|
网络协议 Shell 网络安全
【新手向】VulnHub靶场MONEYBOX:1 | 详细解析
这是一篇关于网络安全攻防的详细分析文章,主要讲述了新手如何通过VulnHub靶场中的MoneyBox:1来学习渗透测试的过程。文章首先介绍了环境配置,包括导入虚拟机和网络设置。接着,通过nmap工具扫描目标IP,发现了FTP服务和SSH服务。通过dirsearch工具爆破FTP服务,获取了用户名renu和密码987654321。使用该信息登录FTP,找到了一个提示性的图片,通过steghide工具发现了一个隐藏的数据文件,并通过SSH公钥验证登录
779 1
|
开发框架 安全 网络安全
阿里云先知安全沙龙(杭州站) ——实网攻防中信息收集的艺术
渗透测试的核心在于信息收集,涵盖人和系统的多维度数据。实网攻防流程包括资产收集、漏洞利用、稳固据点、内网横向和控制靶标五个阶段。外网信息收集旨在全面了解目标单位的公开信息,寻找突破口;内网信息收集则聚焦网络连通性和密码凭证,确保攻击行动的有效性和针对性。整个过程强调逐步深入的信息分析,为后续攻击提供支持。
|
NoSQL 安全 Redis
Bugku S3 AWD排位赛-3(带你入门awd流程)
Bugku S3 AWD排位赛-3(带你入门awd流程)
1538 1
|
存储 安全 Java
🌟Java零基础-反序列化:从入门到精通
【10月更文挑战第21天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
327 5
|
NoSQL Ubuntu Linux
CTF-Pwn 入门:环境搭建
CTF-Pwn 入门:环境搭建
|
安全 Shell Linux
Webshell管理工具:AntSword(中国蚁剑)
中国蚁剑的下载、安装、详细使用步骤
8023 1