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

相关文章
|
Web App开发 XML 安全
ZeroShell防火墙存在远程命令执行漏洞(CVE-2019-12725)
zeroshell防火墙存在远程命令执行漏洞,攻击者可通过特定URL链接对目标进行攻击!!!
2093 1
|
安全 开发工具 git
CTF工具隐写分离神器Binwalk安装和详细使用方法
CTF工具隐写分离神器Binwalk安装和详细使用方法
2982 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进行验证。
|
存储 Linux Android开发
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility 是一个完全开源的工具,用于从内存 (RAM) 样本中提取数字工件。支持Windows,Linux,MaC,Android等多类型操作系统系统的内存取证。针对竞赛这块(CTF、技能大赛等)基本上都是用在Misc方向的取证题上面,很多没有听说过或者不会用这款工具的同学在打比赛的时候就很难受。以前很多赛项都是使用vol2.6都可以完成,但是由于操作系统更新,部分系统2.6已经不支持了,如:Win10 等镜像,而Volatility3是支持这些新版本操作系统的。
1796 0
|
9月前
|
NoSQL Ubuntu Linux
CTF-Pwn 入门:环境搭建
CTF-Pwn 入门:环境搭建
|
10月前
|
存储 安全 算法
CTF磁盘取证分析方法案例
CTF磁盘取证分析方法案例
255 0
|
容器 Cloud Native 安全
CTF本地靶场搭建——基于阿里云ACR实现动态flag题型的创建
本文介绍了如何利用阿里云ACR服务创建动态flag题型。阿里云容器镜像服务ACR是一个支持 OCI 标准的云原生制品托管和分发平台,提供全球化加速、大规模分发等功能,简化云原生应用交付。由于dockerhub访问不便,文章建议使用ACR作为替代。步骤包括在虚拟机内创建【GZCTF】->【WEB】->【src】文件夹,编写index.php和flag.sh文件,然后创建Dockerfile。接着,用户需在阿里云注册并使用ACR,构建、推送镜像,并在靶场部署动态容器。通过ACR,可以实现不同账号看到不同flag的动态更新,完成了动态flag题型的创建。
|
存储 Linux 数据安全/隐私保护
AccessData AD1镜像格式完全剖析
流行的数字取证工具FTK Imager创造了一种逻辑镜像格式,在取证界广泛使用,但鲜少有人对其格式进行研究。
1189 4
AccessData AD1镜像格式完全剖析
|
SQL Python
[CISCN2019 华北赛区 Day2 Web1]Hack World 1 题目分析与详解
[CISCN2019 华北赛区 Day2 Web1]Hack World 1 题目分析与详解
[CISCN2019 华北赛区 Day2 Web1]Hack World 1 题目分析与详解