AWD平台搭建–Cardinal
本次使用的环境Linux kali 5.3.0-kali2-amd64 #1 SMP Debian 5.3.9-3kali1 (2019-11-20) x86_64 GNU/Linuxdockerdocker-composemysql #kali自带的mysql,需要自己启动注:docker docker-compose必须要有,不然后面搭建靶机不成功。使用的Cardina版本https://gi
本次使用的环境
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必须要有,不然后面搭建靶机不成功。
使用的Cardina版本
https://github.com/vidar-team/Cardinal/releases
使用的靶机
https://github.com/glzjin/20190511_awd_docker
先将文件下载到本地,然后通过Xshell上传到kali上
用Xshell连接kali,可以先创建一个文件夹,
mkdir AWD
然后进入文件夹
cd AWD
上传并解压刚刚下载的Cardina
上传:rz
解压:tar -zxvf Cardinal_v0.7.3_linux_amd64.tar.gz
给Cardinal权限:chmod +x Cardinal
启动MySQL,创建数据库
启动数据库service mysql start
登入数据库mysql -u root -p
如果密码忘了或者没有密码的话,可以先改个密码
alter user ‘root’@‘localhost’ identified by ‘newpassword’;
newpassword是要设的新密码。
如果提示设置成功,则输入: flush privileges; 。完成后Ctrl+Z退出mysql,使用新密码重新登录即可。
创建数据库:
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 是管理员页面
登入后台
IP:19999端口是选手登入页面
IP:19999/manager 是管理员页面
eg:192.168.137.133:19999/manager(kali的IP)
管理后台
添加队伍并保存密码
添加题目,设置可见
更新Flag Shell:
echo {{FLAG}} > /flag
在根目录创建flag文件,并写入东西。
根据需要更改比赛名称,flag标识
靶机搭建
https://github.com/glzjin/20190511_awd_docker
下载并解压
像之前一样把文件下载到本地然后上传到虚拟机
解压:unzip 20190511_awd_docker-master.zip
文件名太长,那就把文件名重新命名一下
mv 20190511_awd_docker-master web1_1
容器搭建
进入 web1_1
修改 docker-compose.yml 文件
修改前:
修改后:
启动docker
docker-compose up -d --build
ps:如果出现以下报错,原因可能是因为端口被占用所以导致容器无法启动,可能是被正在运行的容器占用了端口,可以通过修改端口或者停止正在运行的容器的方法解决。
查看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的
查看选手登入账号和密码
账号是glzjin 密码是123456
测试连接
用Xshell连接靶机
切换为root用户之后,可以看到flag。
本文借鉴:
https://cloud.tencent.com/developer/article/1744139
https://www.yuque.com/docs/share/b5d53ae0-08dd-45bc-bfb0-3b7c446c87b5?#%20%E3%80%8AAWD%E5%B9%B3%E5%8F%B0%E6%90%AD%E5%BB%BA%E3%80%8B
https://www.yuque.com/docs/share/8a945ec3-3126-4bd0-ad05-9a5acddb8ed6?#kLE8Y
后续
1.忘记后台管理员密码的解决方法
假如不小心忘记了Cardinal的管理员密码,或者登入不了,可以删除创建的cardinal数据库,然后重新建立一个cardinal数据库,这样就可以重新设置管理员账号。
2.更改数据库密码、比赛开始和结束的时间
3.未开启数据库导致报错
更多推荐
所有评论(0)