AWD平台搭建--Cardinal

Posted 墨子辰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWD平台搭建--Cardinal相关的知识,希望对你有一定的参考价值。

AWD搭建步骤

先看一个成品炫酷图

一、前提摘要

Cardinal由Vidar-Team团队开发,接受并允许各大高校、安全团队、技术爱好者使用 Cardinal 作为比赛训练平台或举办内部训练赛。

但不允许在未经许可授权的情况下,使用 Cardinal 的代码、文档、相关软件等开展商业培训、商业比赛、产品销售等任何营利性行为。禁止恶意更换、去除 Cardinal 及其相关软件、文档版权信息。

文档指南
https://cardinal.ink/

二、环境准备

我本次使用的环境是:
Linux kali 5.3.0-kali2-amd64 #1 SMP Debian 5.3.9-3kali1 (2019-11-20) x86_64 GNU/Linux
docker
docker-compose
mysql #kali自带的mysql,需要自己启动

注:docker docker-compose必须要有,不然后面搭建靶机不成功。

靶机使用的是:
https://github.com/glzjin/20190511_awd_docker


我选择的Cardina版本如下所示。

下载到本地,通过xshell等工具上传到宿主机

解压.tar.gz
tar -zxvf Cardinal_v0.7.1_linux_amd64.tar.gz

给Cardinal权限
chmod +x Cardinal

三、启动mysql,创建数据库

service mysql start  启动mysql

mysql -u root -p  //登入msql


输入密码

创建一个数据库:

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

查看是否成功:

show databases;


如上图所示,表名数据库创建成功。

四、搭建Cardinal平台

运行Cardinal
./Cardinal

根据提示选择安装即可

是否自行另外部署前端?(true / false,默认值:false)
这里必须选择false,不然后面会出错。看个人需求来把,建议选择默认

注:如果使用的是服务器,必须保证需要使用的端口是在控制台打开的,不然无法访问。(虚拟机kali不用管)

IP:19999端口是选手登入页面
IP:19999/manager 是管理员页面

登入后台

添加队伍并保存密码


添加题目,设置位可见

点击自动更新flag

更新Flag Shell:
echo FLAG > /flag
在根目录创建flag文件,并写入东西。

根据需要更改比赛名称,flag标识

到了这里,平台算是搭建完成。

五、靶机搭建

https://github.com/glzjin/20190511_awd_docker
本地下载文件

传到宿主机(kali)上

解压
unzip 20190511_awd_docker-master.zip

重命名 mv20190511_awd_docker-master web1_1

进入web1_1
修改docker-compose.yml文件如下图所示

docker-compose up -d --build


查看docker 启动完成。

访问web页面,发现环境部署成功。

接下里,我们需要获取docker容器的SSH root用户

回车后,修改密码即可。

接着我们创建web1的第二个容器

首先还是先改文件名
mv web1_1 web1_2

然后修改docker-compose.yml文件

我们只需要修改一下映射端口就OK

docker-compose up -d --build

访问8802端口检查,是否搭建完成

OK,没问题。
继续修改SSH root密码

doccker exec -it ea294fdf8152 passwd


回车输入密码即可

根据需求,自己确定需要多少环境。

六、Cardinal上部署靶机

访问管理页面

根据自己设定,填写端口、IP

注意的是这里的Flag SSH 就是我们设定的容器root的账户密码,必须要有足够的权限,因为这里需要写入flag进容器。如果权限不够,无法写入Flag

连接完成,可以测试一下是否连接成功。


生成Flag


一个动态的flag,如果不是后台被拿下,选手是不可能提前知道flag的

通过xshell等工具,连接一个靶机,进去看看flag文件有没有正常写入

文件正常,这就可以正常打靶了

七、连接Asteroid大屏

文档说明
https://cardinal.ink/asteroid/

下载连接
https://github.com/wuhan005/Asteroid/releases
我选择的是windows64

下载下来后,找到文件


\\Asteroid_Data\\StreamingAssets
进入此目录,找到 asteroid.ini
修改为如下:

[connect]
url = ws://192.168.200.128:19999/api/asteroid
image_url = http://192.168.200.128:19999/api/uploads


[scene]
size = 5
radius = 10
speed = 5


炫酷的画面就整成功了

在选手提交flag的时候还能有攻击特效和音效

更多的玩法,就请大家自己研究把。

靶机最重要一点,SSH必须要有足够的权限,最起码要有写入的权限,要不然无法更新flag

以上是关于AWD平台搭建--Cardinal的主要内容,如果未能解决你的问题,请参考以下文章

国赛分区赛awd赛后总结-安心做awd混子

国赛分区赛awd赛后总结-安心做awd混子

Spark项目之电商用户行为分析大数据平台之IDEA项目搭建及工具类介绍

快速搭建产品的数据分析平台——思路篇

Cardinal 到 OleVariant 的错误转换。 UInt64 没问题

Delphi XE4 E2010 不兼容的类型:“Cardinal”和“Pointer”