资讯专栏INFORMATION COLUMN

AWD平台搭建(Cardinal 从零开始) 2021/11/17

fuchenxuan / 1492人阅读

摘要:中间有一些坑点都已解决。下载完成后,用等工具我用的上传下载好的压缩包到服务器。此时在怀疑是否开启了外部链接感谢的提醒,如果没有开启则只能服务器自己登入,而开启了之后才能让其他应用也进行登录。

#Time 2021/11/17
因为之后要在校内组织AWD比赛,所以在github上找了一会,试了试最多star的,虽然说好用但是没有好康的界面,全是一堆代码感觉很枯燥,于是最终还是选择了使用Cardinal来搭建。中间有一些坑点都已解决。

Cardinal环境搭建

环境の搭建

选择debain和ubuntu应该都没问题,我选的是debain9.9

首先拿到一台新的机器,基操

sudo apt-get update
sudo apt-get upgrade

其次,因为要用到docker,所以之后我们还要安装docker。

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

因为阿里云服务器的debain没有自带mysql,所以还要安装mysql

sudo apt-get install mysql-server

安装的时候,就可以去准备Cardinal了。
Cardinal-Releases下载linux_amd64的压缩包。

下载完成后,用Xftp等工具(我用的finalshell)上传下载好的压缩包到服务器。然后在当前目录执行命令

tar -zxvf Cardinal_v0.7.3_linux_amd64.tar.gz

给Cardinal权限

chmod +x ./Cardinal

#在此处打个快照

创建数据库

下一步就是mysql

service mysql start
mysql -uroot -p

密码为空,进入之后,以下命令

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

输入show databases;查看是否创建成功

创建成功,输入exit退出数据库
接下来就是运行Cardinal

./Cardinal

根据引导来安装,在选择自行部署前端的时候选择false
结果这里报错了,发现mysql无法启动

本来是以为,因为我root(mysql)当时是空密码登录,然后设置Cardinal的时候不能空密码,随便设置的密码导致无法登录,结果修改了conf/Cardinal.toml里的password还是报这个错误
但是当前root可能还是空密码或者直接跳过了登录,所以还是要去修改一下root(mysql)的密码的

mysql -uroot -puse mysql;update user set authentication_string=password("123456") where user="root";flush privileges;quit

如果没有warning说明修改成功,然后去修改conf/Cardinal.toml

结果再次输入./Cardinal还是报之前的错。此时在怀疑是否开启了外部链接(感谢V3?的提醒),如果没有开启则只能mysql服务器自己登入,而开启了之后才能让其他应用也进行登录。
我百度之后发现大家的配置文件都直接在/etc/mysql/my.conf,而我装的mysql连接地址并不在/etc/mysql/my.conf里。跟进查看了之后发现/etc/mysql/my.cnf下是include了下图的配置文件

而我是在mariabd.conf.d下的50-server.cnf找到了bind-address,将原来的127.0.0.1改成了0.0.0.0,然后再重启mysql服务

service mysqld restart

尝试再次运行./Caradinal发现运行成功


此时访问网站已搭建成功
http://ip:19999 是选手界面
http://ip:19999/manager 是管理员界面
(图中的调试信息是当时已经全部搭建完而产生的,你们搭建完应该只有最下面两行信息)

搭建Cardinal平台

添加队伍

添加题目 web_1

可在配置管理设置flag格式

靶机搭建

接下来就是添加题目,这里我使用的是赵总的靶机环境
首先是在服务器中安装git

sudo apt-get install git

然后git clone

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


对该文件夹进行重命名

mv 20190511_awd_docker web1_1

进入文件夹后,修改docker-compose.yml文件如下图所示(注意version从3改成2),这里就开一道题就好了。

然后运行docker

docker-compose up -d --build

结果又报错了

它说要去他那里安装docker,然后我是debain,所以按https://docs.docker.com/engine/install/debian/来装

1.sudo apt-get remove docker docker-engine docker.io containerd runc2.sudo apt-get install /    ca-certificates /    curl /    gnupg /lsb-release3.curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg4.echo /  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian /  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null5.sudo apt-get update6.sudo apt-get install docker-ce docker-ce-cli containerd.io

最后输入docker-compose ps验证是否安装成功

此时再运行docker-compose up -d --build就可以正常启动了


访问web端正常

接下来,获取docker的ssh账户 docker exec -it ??? passwd

用相同的方法去创建其他人的靶场
比如想给team2创建相同环境,只需要如下操作
先mv web1_1 web1_2,修改一下端口映射8802和2202,剩下方法步骤同上。

靶机部署

下一步,在Cardinal上部署靶机
首先创建题目

在靶机管理处添加靶机

这里是manager,所以ssh必须为root权限,否则无法修改flag
添加之后测试ssh链接即可

接下来,在flag管理处生成flag

用root权限ssh到team1查看一下

连接Asteroid大屏

此时,整个靶场就安装完成了,但是没有精美的大屏显示怎么行,所以这里用我用了Asteroid
下载链接
选择windows64版本,下载下来后找到/Asteroid_Data/StreamingAssets/asteroid.ini
修改成自己的配置,我的配置如下图

保存之后打开exe文件即可(图中比赛未开始,team2未分配)

至此,整个awd搭建完成

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/123883.html

相关文章

  • 基于 Swoole 构建的 CTF AWD 比赛环境搭建与实践

    摘要:出题思路本次题目来自于我的一个外包项目实践。回合制比赛以分钟为一回合。选手在比赛过程中需要盗取到对手的密钥,以窃听他方内容,并修改己方密钥以放泄露动态该部分同样由中心服务器与完成。 Author: RytiaDate: 20190427Blog: www.zzfly.net本人才学疏浅,望君不吝赐教 背景 受学校老师邀请,为学弟学妹举办分享会介绍 AWD 相关经验,本人一时头脑风暴采用...

    GitCafe 评论0 收藏0
  • 前端之从零开始系列

    摘要:只有动手,你才能真的理解作者的构思的巧妙只有动手,你才能真正掌握一门技术持续更新中项目地址求求求源码系列跟一起学如何写函数库中高级前端面试手写代码无敌秘籍如何用不到行代码写一款属于自己的类库原理讲解实现一个对象遵循规范实战手摸手,带你用撸 Do it yourself!!! 只有动手,你才能真的理解作者的构思的巧妙 只有动手,你才能真正掌握一门技术 持续更新中…… 项目地址 https...

    Youngdze 评论0 收藏0
  • 训练神经网络的最快方法:Adam优化算法+超级收敛

    摘要:在实践中,几乎总是通过向梯度增加来实现算法,而不是真正改变损失函数。显然这是两种不同的方法。那么,权重衰减是不是总比的正则化更好呢我们还没发现明显更糟的情况,但无论是迁移学习问题例如斯坦福汽车数据集上的的微调还是 跌宕起伏的 Adam纵观 Adam 优化器的发展历程,就像过山车一样。它于 2014 年在论文 Adam: A Method for Stochastic Optimization...

    kohoh_ 评论0 收藏0
  • fir.im Weekly - 从零开始搭建理想的直播平台

    摘要:年苹果发布会如期而至,新一代的,同时亮相,可惜大家期待的产品并未出现。现在框架有很多,原理大同小异,基本上是基于空间这篇文章或者微信的方案。 2016年苹果发布会如期而至,新一代的 iPhone 7, Apple Watch 同时亮相,可惜大家期待的 MacBookPro、AR、VR产品并未出现。不论大家对新产品是买买买还是黑黑黑,苹果是否保有创新活力,每个人心里都有自己的答案。 本期...

    KnewOne 评论0 收藏0
  • fir.im Weekly - 从零开始搭建理想的直播平台

    摘要:年苹果发布会如期而至,新一代的,同时亮相,可惜大家期待的产品并未出现。现在框架有很多,原理大同小异,基本上是基于空间这篇文章或者微信的方案。 2016年苹果发布会如期而至,新一代的 iPhone 7, Apple Watch 同时亮相,可惜大家期待的 MacBookPro、AR、VR产品并未出现。不论大家对新产品是买买买还是黑黑黑,苹果是否保有创新活力,每个人心里都有自己的答案。 本期...

    Darkgel 评论0 收藏0

发表评论

0条评论

fuchenxuan

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<