AWD平台搭建——Cardinal

1 篇文章 0 订阅

目录

一. 介绍

二. 环境介绍

本次我使用的环境是

靶机使用的是

使用的Cardina版本

三. 开始配置AWD

1.可以先创建一个文件夹

2.启动mysql,创建数据库

3.搭建Cardinal平台

4.登入管理后台

添加队伍并保存密码

添加题目,设置可见

配置文件

四. 搭建靶场

上传文件并编制

启动docker

访问靶机

获取docker容器的SSH root用户密码

五. 在cardinal上部署靶机

测试ssh连接

生成flag

查看选手登入账号和密码

测试连接

更改数据库密码、比赛开始和结束的时间

六. 连接Asteroid大屏 

加油各位( •̀ ω •́ )y 期待与君再相逢


 先来个效果图展示,吸引吸引你们眼球 哈哈哈

正文开始

一. 介绍

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

Cardinal 这个名字来源于作品《刀剑神域》中的 Cardinal System 游戏系统,小说中描述为可在无需任何人工外界输入就可以独立完成对玩家的监控、维护游戏数据平衡、自动产生新的游戏任务、进行自我修复与完善......

这也是我们对于 AWD 比赛平台的愿景,我们希望能有一个监测管理选手靶机动态,准确计算得分,自动更新靶机状态,并在发生异常时能及时反馈甚至自我调节修复的平台。因此,我将这个项目命名为 Cardinal。

文档指南

https://cardinal.ink/

二. 环境介绍

  • 操作系统:Windows / Linux / macOS
  • 内存:512Mb 及以上可用
  • 磁盘空间:2Gb 及以上可用

本次我使用的环境是

  • kali-linux-2022.3-installer-everything-amd64
  • docker
  • docker-compose
  • mysql   用的是kali自带的mysql,需要自己启动​​​​​​​

靶机使用的是

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

使用的Cardina版本

使用的Cardina版本icon-default.png?t=M7J4http://​ https://github.com/vidar-team/Cardinal/releases ​

 要将Cardina和靶场提前下载到本地

再传到Linux kali上

三. 开始配置AWD

1.可以先创建一个文件夹

mkdir AWD

然后进入文件夹

cd AWD

上传并解压刚刚下载的Cardina

tar -zxvf Cardinal_v0.7.3_linux_amd64.tar.gz

给Cardinal增加权限

chmod +X Cardinal
                     

2.启动mysql,创建数据库

启动mysql

service mysql start  启动mysql

输入密码登入msql

mysql -u root -p   输入密码登入msql

 

 创建2个数据库:

GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
CREATE DATABASE  `cardinal` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

 

 查看是否成功:

show databases;

出现这个,就代表搭建数据库成功了

3.搭建Cardinal平台

运行Cardinal

./Cardinal
┌──(root㉿kali)-[~/AWD]
└─# ./Cardinal                                  
1 - en-US
2 - zh-CN

> type 1, 2... to select
2022/08/23 22:05:37 [ INFO] Please select a preferred language for the installation guide:                                                                
2
> 请输入比赛开始时间(格式 2020-02-17 12:00:00)
2022/08/23 22:05:40 [ INFO] Cardinal.toml 配置文件不存在,安装向导将带领您进行配置。                                                                     
2022-08-23 22:10:00
> 请输入比赛结束时间(格式 2020-02-17 12:00:00)
2022-08-23 24:10:00
> 请输入比赛结束时间(格式 2020-02-17 12:00:00)
2022-08-23 23:10:00
> 请输入每轮长度(单位:分钟,默认值:2)

> 请输入后端服务器端口号(默认值:19999)

> 请输入每次 Checkdown 扣分(默认值:50)

> 请输入每次攻击得分(默认值:50)

> 是否自行另外部署前端?(true / false,默认值:false)

> 发送您的统计数据,帮助我们使 Cardinal 变得更好?(true / false,默认值:true)

> 请输入数据库地址(默认值:localhost:3306)

> 请输入数据库账号:
user
> 请输入数据库密码:
password
> 请输入数据库表名(默认值:cardinal)

2022/08/23 22:07:46 [ INFO] 创建 Cardinal.toml 配置文件成功!
2022/08/23 22:07:46 [TRACE] 加载配置文件成功
> 请输入管理员账号:
root
> 请输入管理员密码:
kali
2022/08/23 22:08:32 [ INFO] 添加管理员账号成功,请妥善保管您的账号密码信息!
2022/08/23 22:08:32 [TRACE] 比赛总轮数:30
2022/08/23 22:08:32 [TRACE] 比赛总时长:60  分钟
2022/08/23 22:10:01 [TRACE] New round: 1

除了圈过的 其他没有特殊情况默认就行 

根据提示选择安装即可

是否自行另外部署前端?(true / false,默认值:false)

这一项最好按默认 不然后面可能会出错  除非有特殊需要

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

4.登入管理后台

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

192.168.2.249:19999/manager (前面是kali的ip,19999是你在前面配置文件写的端口号)

打开网站 输入之前的管理员账号密码

这是数据大屏 

但在之前需要先配置一下啊队伍题目信息

添加队伍并保存密码​​​​​​​

添加题目,设置可见

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

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

配置文件

四. 搭建靶场

​​​​​​​靶场文件搭建https://github.com/glzjin/20190511_awd_docker

上传文件并编制

创建一个新的文件用于搭建靶场

将下载后的文件传到文件里

然后解压20190511_awd_docker-master.zip

unzip 20190511_awd_docker-master.zip 

 因为名字太长了  为了后面方便操作我们把文件名字改一下

 mv 20190511_awd_docker-master web1_1

查看文件

 

 编译其中的 docker-compose.yml 文件 

 vim docker-compose.yml
                            

改之前的 

 改之后的

 编制完后 wq 保存退出

启动docker

(如果之前没有安装请先安装 docker,在这里我就不严实了)

docker-compose up -d --build

 如果你docker没有问题 正常情况是如上图所示

查看镜像:docker images
查看正在运行的容器:docker ps

 

 如图所示说明没有问题

访问靶机

访问靶机
IP:8801

访问靶机 如下图说明没有问题 环境部署成功。

获取docker容器的SSH root用户密码

docker exec -it 容器id passwd

 此密码也是该靶机的root用户密码

温馨提醒:到这里容器算配完了,但这只是一个,后面配置靶机,是一个靶机一个容器

所以你们根据自己需求添加

五. 在cardinal上部署靶机

打开管理页面 按图操作

 

 注意:选择题目和队伍,IP为靶机IP,端口为靶机端口,密码为刚刚设置的靶机密码。
注意的是这里的Flag SSH 就是我们设定的容器root的账户密码,必须要有足够的权限,因为这里需要写入flag进容器。如果权限不够,无法写入Flag

测试ssh连接

生成flag

 

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

查看选手登入账号和密码

at Dockerfile

 账号是glzjin 密码是123456

测试连接

用Xshell或者其他工具连接靶机

 输入账号和密码

 如图测试即为测试成功

更改数据库密码、比赛开始和结束的时间

在AWD页面找到conf文件

里面有个Cardinal.toml配置文件 使用vim编辑

 

 

 就可以在这里面更改数据库密码、比赛开始和结束的时间

六. 连接Asteroid大屏 

下载连接https://github.com/wuhan005/Asteroid/releases

 解压

 StandaloneWindows64\Asteroid_Data\StreamingAssets  进入到这个目录

 将IP改成自己kali的就可以了

 

运行程序即可

 就会有炫酷的页面

还有更多玩法,各位就自己去摸索吧

加油各位( •̀ ω •́ )y 期待与君再相逢

  • 7
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
利用 mvc 框架,显示和功能分离, 每次比赛的数据都放在到 games 里 ## 目录结构 ├── data # 框架运行所需要的持久化文件 ├── games ├── library │ ├── controller │ │ ├── common │ │ ├── defense │ │ └── exploit │ ├── models │ └── views │ │ ├── common │ │ ├── defense │ │ └── exploit │ ├── common │ ├── defense │ └── exploit ├── config.py ├── README.md └── requirements.txt ## 数据表结构 (语雀完善中) ### poc | 字段名称 | 类型 | 说明 | | :------: | :----------: | :----------------------------------: | | id | int | 索引(自增 id | | name | varchar(30) | 名称 | | type | int(2) | 类型 0 flag 1 webshell 2 systemshell | | os | int | 系统类别 0 php1 python | ### target | 字段名称 | 类型 | 说明 | | :--------------: | :----------: | --------------- | | id | int | 索引(自增 id) | | ip | varchar(30) | 名称 | | is_reach | | 类型 | | is_get_shell | | 系统类别 | | flag | | | | flag_create_time | | | ### 流量 | 字段名称 | 类型 | 说明 | | ---------- | ------------ | --------------- | | id | int | 索引(自增 id) | | message | varchar(30) | 名称 | | type | | 类型 (get post) | | host | | 系统类别 | | source_ip | | | | create_ime | | | -------- 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路baby

你的鼓励将是我创作的最大动力✌

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值