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好用一些,也推荐网络安全的学习者使用这个。

相关文章
|
6月前
|
存储 NoSQL Unix
Redis安装教程(保姆级教程)
Redis安装教程(保姆级教程)
|
11月前
|
Ubuntu Linux 数据安全/隐私保护
嵌入式Linux开发环境搭建之六---搭建Samba服务器
嵌入式Linux开发环境搭建之六---搭建Samba服务器
136 1
|
11月前
|
Linux 程序员 网络安全
【Linux环境搭建】用云服务器搭建Linux环境
【Linux环境搭建】用云服务器搭建Linux环境
211 0
|
Linux 定位技术 数据安全/隐私保护
Linux虚拟机的安装与创建【超详细】【手把手教学】.2
Linux虚拟机的安装与创建【超详细】【手把手教学】2
141 0
Linux虚拟机的安装与创建【超详细】【手把手教学】.2
|
Linux 数据库
Linux虚拟机的安装与创建【超详细】【手把手教学】1
Linux虚拟机的安装与创建【超详细】【手把手教学】1
392 0
一款非常萌的桌面工具 --- Bongo Cat Mver 附使用教程
一款非常萌的桌面工具 --- Bongo Cat Mver 附使用教程
1631 0
一款非常萌的桌面工具 --- Bongo Cat Mver 附使用教程
|
关系型数据库 MySQL 数据库
LAMP及论坛搭建纯实操(二)
LAMP及论坛搭建纯实操(二)
111 0
LAMP及论坛搭建纯实操(二)
|
弹性计算 网络协议 Linux
冬季实战营 动手实战-Linux文本处理入门深入解析动手实操 领鼠标 云小宝 背包 无影
五期冬季实战,从入门到进阶,以最佳实践帮助开发者,快速云上实践,云上学习。 体验有礼,点击前往 https://developer.aliyun.com/adc/series/wintercamp
冬季实战营 动手实战-Linux文本处理入门深入解析动手实操 领鼠标 云小宝 背包 无影
|
弹性计算 关系型数据库 MySQL
动手实操快速搭建LAMP环境
本实验介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
182 0
|
弹性计算 关系型数据库 MySQL
冬季实战营动手实战-上云必备环境准备,动手实操快速搭建LAMP环境 (领鼠标 云小宝 背包 无影)
单期任务奖励:实战营技能证书+定制鼠标 三期任务奖励:全网首发冬奥限量版云小宝 五期任务奖励:冬季实战营奖牌+定制书包+无影试用
冬季实战营动手实战-上云必备环境准备,动手实操快速搭建LAMP环境 (领鼠标 云小宝 背包 无影)