JeesHome JeesHome
  • 首页
  • 日常拾趣
  • 宠物生活
  • 技术分享
  • 好物推荐
  • 到处去玩

Jee

管理员
一只养狗的工具人
文章
5
评论
0

博主

Jee

一只养狗的工具人

LXY

一枚淡人
Jee
1 年前

AWD平台搭建(腾讯云服务器)——Cardinal

文章字数:3001
阅读时间: 8 分钟

5月初参加了宁波市“天一永安杯”2024宁波第七届网络安全大赛暨第九届大学生网络技术与信息安全大赛初赛,侥幸进了决赛🥹。因为决赛形式为线下AWD,平时不怎么接触的到,所以搭建一个AWD平台给队友和同事们试试水,在这里记录一下部署过程。

一、平台介绍🖥️

找了很多部署的案例,最后选择了Cardinal,因为他的大屏功能真的很酷。

Cardinal 是由 Vidar-Team 开发的 AWD 比赛平台,使用 Go 编写。本程序可以作为 CTF 线下比赛平台,亦可用于团队内部 AWD 模拟练习。

指南书:https://cardinal.ink

二、部署环境🛠️

主机:

  • 腾讯轻量应用服务器-1C2G6M

操作系统:

  • 使用基于操作系统镜像-Debian 11.1 64bit

应用环境:

  • docker
  • docker-compose
  • mysql

Cardina版本:

  • https://github.com/vidar-team/Cardinal/releases ​

使用靶机:

  • https://github.com/glzjin/20190511_awd_docker

三、管理平台搭建🔧

1.用ssh以root用户进入主机,两个apt-get基础操作,等一会。

sudo apt-get update
sudo apt-get upgrade

2.安装docker

sudo apt-get install docker
sudo apt-get install docker-compose

3.安装mysql,在某些新版本的Debian或Ubuntu中,mysql-server可能已经被替代为其他包名称,如default-mysql-server。腾讯云的Debian镜像就要使用default-mysql-server,不然会报错。

sudo apt install default-mysql-server

4.去Cardinal-Releases下载linux_amd64的压缩包后,上传到/root目录,解压缩。

tar -zxvf Cardinal_v0.7.3_linux_amd64.tar.gz

注:mac系统下载的压缩包自带解压,若上传文档为Cardinal_v0.7.3_linux_amd64.tar,文件的后缀是 .tar 而不是 .tar.gz,则不需要使用 -z 选项,使用以下命令

tar -xvf /root/Cardinal_v0.7.3_linux_amd64.tar

5.给Cardinal权限

chmod +x ./Cardinal

6.创建mysql数据库

service mysql start
mysql -uroot -p

回车免密进入数据库,创建cardinal的数据库。

CREATE DATABASE `cardinal` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

查看数据库是否创建成功。

show databases;

因为我们刚才是空密码进来的,为了部署成功必须使用密码。

SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘你的密码’);

使用quit命令退出数据库

7.平台搭建

完成上面的步骤后,可以开始搭建平台了。

./Cardinal

按照格式输入,默认的直接回车就行,生成后的配置文件在/root/conf/Cardinal.toml,后期可以编辑相关配置,或者直接删除,重新输入指令。

成功后可以去查看页面了,记得在腾讯云控制台的主机防火墙里放通对应端口,不然打不开。

  • 选手页面:http://ip:port/
  • 管理页面:http://ip:port/manager/

四、靶机搭建🖥️

1.git clone靶机,这是2019 年 5 月 11 日防灾科技学院 “应急挑战杯” 大学生网络安全邀请赛 AWD 靶机题目。

  • 1号靶机为 PWN。
  • 2号靶机为 Nginx + Python(Flask) 题。
  • 3号靶机为 Apache + PHP(ThinkPHP5) 题。
  • 4号靶机为 Nginx + PHP 题。

git clone https://github.com/glzjin/20190511_awd_docker.git

然后给它重命名

mv 20190511_awd_docker web1_1

重命名后,cd web1_1/找到docker-compose.yml文件编辑,此处我只开启b3和b4两组,把其他的注释,修改容器的端口,同时记得在腾讯云控制台放通对应端口。

2.运行docker

docker-compose up -d –build

发现报错,phusion/baseimage 镜像可能不提供一个名为 latest 的标签,所以要指定具体的版本号。去phusion/baseimage-docker看到最新的Releases是noble-1.0.0

于是去到cd web1_1/b3找到Dockerfile,修改第一行,指定版本号。

FROM phusion/baseimage:noble-1.0.0

重新运行docker

docker-compose up -d –build

成功后,查看容器是否运行

docker ps

同时修改容器的ssh中root账户的密码,后续批量修改flag要用到

docker exec -it 容器ID passwd

注:容器里低权限账户的用户名和密码需要在build之前,对web1_1/b3、web1_1/b4中的Dockerfile里内容修改,还可以删掉那个flag.txt输出😀,不知道glzjin找到girl friend没有,哈哈。

部署多个队伍容器,就是套娃操作

mv web1_1 web1_2

然后修改docker-compose.yml对应的端口号后docker-compose up -d --build,端口不能重复,会报错,再次提醒去云主机的防火墙放通端口。

五、管理平台设置🪜

1.登陆平台管理界面,先去配置管理里面,修改比赛名称和flag前缀,仪式感最重要!里面的队伍靶机互相可见可以选择性打开或者关闭,服务器足够承载的情况下,可以关闭,让大家扫着打。

2.队伍管理添加队伍,保存好相应的账号和密码,不然只能重置密码或者去cardinal数据库看了。

注:删除队伍之前,一定要查看是否有关联靶机,不然靶机管理页面可能会打不开,只能去cardinal数据库修改了。

3.去题目管理添加题目,开了两个容器,就两道题,后期可以分时开启题目推送。

4.在靶机管理里,添加对应靶机,题目描述需要告诉大家低权限账号和对应密码,再填写完root对应的密码保存后,利用测试SSH连接测试是否通过。

5.在Flag管理页面生成Flag后,再到靶机管理更新所有Flag,比赛开始后生效。

6.公告管理可以上传比赛规则和提示通知,选手界面可以看到。

7.大屏管理需要下载Asteroid,用给到的URL修改\Asteroid_Data\StreamingAssets\asteroid.ini里的内容,mac的App在/Asteroid.app/Contents/Resources/Data/StreamingAssets/asteroid.ini路径下更改。

8.关于check,文档里有说明,需要建立一个check账号,这里不作介绍。

9.登陆选手页面,题目需要在管理端的题目管理里设置可见才可以展示,根据比赛进行的时间顺序修改。

至此,平台搭建设置和靶机搭建都完成了🎆

感谢上面开源项目的作者,伟大!

  • 技术分享
  • AWD
  • 技术
等 人表示很赞
1,722
0

评论

空空如也
  • 去阿那亚逛一逛
  • 2024年唐山旅游记录
  • 终于去了红山森林动物园!
  • 2023年去宁夏旅游的一些照片

⏰ 文章聚合

  • 去阿那亚逛一逛
  • 2024年唐山旅游记录
  • 喝瓶装乌龙茶让我有了牙茶渍有感
  • AWD平台搭建(腾讯云服务器)——Cardinal
  • 终于去了红山森林动物园!
  • 2023年去宁夏旅游的一些照片
  • 这世界不能没有修狗儿

🌁 图集

🍯 推荐标签

  • 生活
  • 旅行
  • 吐槽
  • 技术
  • AWD
  • 柴犬
  • 数码
  • 剁手
  • 宠物
Copyright © 2025 JeesHome. World is powered by solitude.
浙ICP备15005034号-3.浙公网安备 33021202001624号
欢迎回来
账号注册 忘记密码?
欢迎回来
账号注册 忘记密码?
其他登录方式
微信扫码登录
未注册的微信号将自动创建账号
扫码回复关键词「登录」获取验证码
其他登录方式
免费注册
其他登录方式
重设密码
返回登录