AWD平台搭建

这里采用github开源的AWD平台:
https://github.com/vidar-team/Cardinal

搭建平台

查看教程和官方文档
在这里插入图片描述
https://cloud.tencent.com/developer/article/1744139
发现需要下载Cardina版本,查看官方文档下载
https://cardinal.ink/guide/install.html#release-%E5%AE%89%E8%A3%85-%E6%8E%A8%E8%8D%90
在这里插入图片描述
在这里插入图片描述
https://github.com/vidar-team/Cardinal/releases
在这里插入图片描述

根据教程下载对应版本到本地

在这里插入图片描述

通过xshell上传到kali里面

可以先创建一个新文件夹,把压缩包放进去。

mkdir AWD

在这里插入图片描述
在这里插入图片描述

上传并解压

上传:rz 
解压:tar -zxvf Cardinal_v0.7.3_linux_amd64.tar.gz

在这里插入图片描述

给Cardinal权限
chmod +x Cardinal

启动mysql,创建数据库

启动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

https://blog.csdn.net/qq_42880719/article/details/121385891
https://blog.csdn.net/m0_53008479/article/details/119784440

./Cardinal

在这里插入图片描述
在这里插入图片描述

登入管理员后台

http://192.168.183.128:19999/manager/#/

添加队伍并保存密码

在这里插入图片描述
在这里插入图片描述
team1:yKkRvuAiua6tXt4v
team2:31t64imEsXx39Ye7
team3:mSYst7BcTeX4ejPg

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加题目,设置自动更新flag

在这里插入图片描述
在这里插入图片描述
更新Flag Shell:
echo {{FLAG}} > /flag
在根目录创建flag文件,并写入东西。
根据需要更改比赛名称,flag标识

在这里插入图片描述

选手登入

http://192.168.183.128:19999/#/
在这里插入图片描述
在这里插入图片描述

靶机搭建

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

下载并解压

本地下载文件,传到kali
在这里插入图片描述

unzip 20190511_awd_docker-master.zip

在这里插入图片描述

修改文件

进入20190511_awd_docker-master web1_1,修改docker-compose.yml文件内容

cd 20190511_awd_docker-master 
vim docker-compose.yml   

在这里插入图片描述
在这里插入图片描述

启动

docker-compose up -d --build

在这里插入图片描述

如果源有问题,先更新源

apt-get upgrade
或者
apt-get updata

查看容器是否搭建

docker images
docker ps

在这里插入图片描述
在这里插入图片描述

访问页面

在这里插入图片描述

修改docker容器的SSH root用户密码(我把密码修改和队伍密码一样)

 docker exec -it 容器id passwd

在这里插入图片描述

批量添加靶机

把靶机所在文件复制,在修改docker-compose.yml文件

 cp -r 20190511_awd_docker-master e2
 cp -r 20190511_awd_docker-master e3
 cp -r 20190511_awd_docker-master e4

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

生成靶机

在这里插入图片描述
在这里插入图片描述

修改密码

docker exec -it 容器id passwd

在这里插入图片描述
team1:yKkRvuAiua6tXt4v
team2:31t64imEsXx39Ye7
team3:mSYst7BcTeX4ejPg

在cardinal上部署靶机

设置题目(勾选自动更新flag)

添加靶机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试ssh连接并更新所有flag

在这里插入图片描述

生成flag

在这里插入图片描述

管理员登入

 docker exec -it 容器id /bin/bash

在这里插入图片描述
在这里插入图片描述

选手登入后台

用xshell连接

用户密码是ssh连接的密码就是队伍的登入密码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

连接Asteroid大屏

文档说明
https://cardinal.ink/asteroid/
下载连接
https://github.com/wuhan005/Asteroid/releases
我选择的是windows64
在这里插入图片描述
\Asteroid_Data\StreamingAssets
进入此目录,找到 asteroid.ini
修改为如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
一个awd攻防比赛的裁判平台。 版本:beta v2.0 开发语言:python3 + django 平台分为两个部分 裁判机 靶机 通过特定接口,来实现靶机flag与服务器的通信 搭建流程 裁判机 安装所需环境 裁判机:python3+django 全局搜索woshiguanliyuan,并修改为随机字符串,此处为管理平台地址 /untitled/urls.py path('woshiguanliyuan/',views.admin,name='admin'), path('woshiguanliyuan/table/',views.admin_table,name='admin_table'), /app/views.py if 'woshiguanliyuan' not in request.META['HTTP_REFERER']: 第31和47换为你的目录 列:("/var/www/awd_platform/app/qwe.txt","a") 修改app/management/commands/init.py,添加用户 #['用户名','用户靶机token','用户靶机token'] user=[ ['123456','FF9C92C7SDFABB71566F73422C','FF9C92C7SDFABB71566F73422C'], ['aaabbb','311F8A54SV9K6B5FF4EAB20536','311F8A54SV9K6B5FF4EAB20536'] ] 修改/app/views.py第行d89f33b18ba2a74cd38499e587cb9dcd为靶机中设置的admin_token值的md5 if('d89f33b18ba2a74cd38499e587cb9dcd'==hl.hexdigest()): 运行 python3 manage.py init python3 manage.py manage.py runserver --insecure 靶机 安装所需环境 靶机:python+requests 修改send_flag.py参数,并将其放入靶机,设权限700。 靶机 sudo python send_flag.py。 靶机生成flag脚本,send_flag.py import requests import time import random import string import hashlib token='woshiwuxudong' # 红队 baji='311F8A54SV9K6B5FF4EAB20536' def getFlag(): #return ''.join(random.sample(string.ascii_letters + string.digits, 48)) m = hashlib.md5(''.join(random.sample(string.ascii_letters + string.digits, 48)).encode(encoding="utf-8")).hexdigest() return m while(1): f=open('/flag','w') flag=getFlag() f.write(flag) data={ 'flag':flag, 'token':token, 'baji':baji, } r=requests.post('http://127.0.0.1/caipanflag/',data=data) print(r.text) f.close() time.sleep(300) 重要须知 更新作者基础上: 1.增加flag验证一次性失效性,使得每个用户都并且仅可以提交一次flag 2.增加排名情况 3.flag改为MD5 4.增加丢失flag一轮扣100分
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值