一.准备环境:
docker
docker-compose
mysql
因为这边用的ubuntu
如果没有的docker这些的话可以
sudo apt -y install docker
sudo apt -y install docker-compose
二.搭建步骤
1.下载Cardinal
前面环境准备好了就可以准备搭建了先去下面的链接下载适合自己版本的CardinalReleases · 05sec/Cardinal (github.com)https://github.com/05sec/Cardinal/releases我这边下的是这个
然后下好了拖进你要装的目录中解压
tar -zxvf Cardinal_v0.7.3_linux_amd64.tar.gz
给Cardinal权限
chmod +x ./Cardinal
2.配置数据库
进入数据库
mysql -uroot -p
如果服务没开的话输入
service mysql start //开启服务
如果报错就说明你没有装mysql 或者是普通用户登陆不了mysql的可以参考我另一篇文章
要注意的是通过我的文章修改了以后如果已经设置了密码则需要重新设置mysql密码 默认为空密码
创建一个数据库
CREATE DATABASE `cardinal` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
注意mysql要设置密码不然会报错
3.运行安装
./Cardinal 运行 记得第一个选项选中文
依次回车安装就可以了
这样就是安装成功了
http://ip:19999 是选手界面
http://ip:19999/manager 是管理员界面
4.配置大屏
开始使用 | Cardinal 参考这个链接就好非常简单
5.创建队伍
直接进入管理员界面添加队伍就可以了
6.添加题目
7.靶机配置
添加靶机,这边我用的靶机是大学生网络安全邀请赛 AWD 靶机题目地址如下
首先拖到虚拟机里面解压改名为[ awd_1_1 ] 这个名字自己改不改都可以我是为了方便
特别注意!!! 这边我踩了一个大坑 就是你执行上面的命令必定会报错
Error:Service 'XXX' failed to build:mainfest for docker.io/phusion/baseimage:latest not found
因为这个项目没有指定版本这边问题解决参考这个文章docker-compose命令出现Error:Service 'XXX' failed to build:mainfest for docker.io/phusion/baseimage:latest not found错误解决方式 - 追得上的梦想 - 博客园 (cnblogs.com)
分别改b1,b2,b3,b4里面的文件夹哦
然后进去docker-compose up -d --build启动 需要注意的是因为第二个靶机是复制的所以我们需要去改一下docker-compose.yml配置如图
就改了一下端口 将1 改成了2方便记忆 如18888 改成 28888
然后ddocker-compose up -d --build启动两台靶机 //要分别去两个目录里面执行这个命令哟
然后就是添加靶机了
依次填写内容这边唯一要注意的是填写的ssh密码是要root的密码的
docker容器的密码可以通过
docker exec -it 容器id passwd
修改
三.关于一些使用经验
1.http://ip:19999/manager 管理员账号密码就是一开始设置的 admin 123456 设置的简单主要为了演示方便实际使用一定要设置复杂的密码
2.添加完靶机之后记得去flag界面生成flag
3.题目管理 添加题目绑定靶机后记得把题目设置为可见这样选手页面才能看得见题目
4.每一轮攻击的分数会在该轮结束后结算
5.比赛启动
每次启动比赛只需要改配置文件里的时间然后重新执行.Cardinal就可以了
配置文件在conf目录下的Cardinal.toml文件里