【Cardinal的AWD攻防平台搭建】

AWD-platform平时练习还行,但攻击页面太low了 。在网上找了找,Cardinal不错。
现记录下下载:

安装Cardinal

Releases · 05sec/Cardinal (github.com)
在这里插入图片描述
我用的kali,所以选择linux_amd64.tar.gz下载。创建Cardinal目录(良好习惯,不然解压一堆),执行:chmod +x Cardinal
然后进入Cardinal目录解压。

tar -zxvf Cardinal.tar.gz

然后./Cardinal
第一次执行会提示用中文还是英文,比赛开始的起始时间等。需要注意的是,数据库账号、密码、表名要记住。生成的配置文件在conf下的Cardinal.toml,是这个样子:
在这里插入图片描述
kali的mysql数据库默认不启动。要启动service mysql restart

然后添加账号、密码、数据库
进入数据库
mysql -u root -p
创建test用户和密码

CREATE 
一个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分
<think>好的,我现在需要帮助用户找到如何搭建AWD平台的指南或教程。根据用户提供的引用内容,首先应该整理出搭建的主要步骤。引用1提到给Cardinal权限、启动MySQL和创建数据库,引用2强调了安全措施,比如备份文件、修改密码、关闭端口等,引用3则涉及Docker部署和权限管理。需要把这些步骤系统地组织起来,确保流程清晰。 首先,要确认用户的环境是否已经安装了必要的软件,比如Docker和MySQL。然后按照引用1中的步骤,给Cardinal执行权限,启动数据库服务。接下来,参考引用3,可能需要配置Docker环境,部署题目,并设置正确的权限,确保选手只能访问指定目录。同时,引用2中的安全措施也很重要,比如修改默认密码、检查后门等,这些都需要在搭建过程中完成。需要分步骤说明,从环境准备到平台配置,再到安全加固,每个环节都要详细但简洁。另外,用户可能需要具体的命令示例,比如如何启动MySQL,如何设置权限,这些在引用里都有提到,应该整合到回答中。最后,生成的相关问题要围绕用户可能遇到的后续问题,比如安全优化、功能扩展等,确保覆盖用户潜在的需求。</think>### 分步骤搭建AWD平台的指南 #### 一、环境准备 1. **安装基础组件** - 安装Docker用于部署题目容器(引用3): ```bash apt-get install docker.io ``` - 安装MySQL数据库服务(引用1): ```bash apt-get install mysql-server ``` 2. **配置数据库** - 启动MySQL并设置开机自启: ```bash service mysql start systemctl enable mysql ``` - 创建专用数据库账户(引用1): ```sql CREATE DATABASE awd_db; GRANT ALL PRIVILEGES ON awd_db.* TO 'awd_user'@'localhost' IDENTIFIED BY '强密码'; FLUSH PRIVILEGES; ``` #### 二、部署AWD平台核心 1. **配置Cardinal攻防平台**(引用1、3) - 下载Cardinal并赋予执行权限: ```bash chmod +x Cardinal ``` - 启动平台服务(需预先配置`config.yml`文件): ```bash ./Cardinal -c config.yml ``` 2. **Docker题目环境部署**(引用3) - 编写Dockerfile定义题目环境 - 构建镜像并启动容器: ```bash docker build -t awd_challenge . docker run -d -p 8000:80 --name challenge1 awd_challenge ``` #### 三、权限与安全加固 1. **文件系统防护** - 限制选手账户权限(引用3): ```bash useradd player -d /home/player -s /bin/bash chown -R player:player /var/www/html chmod 755 /var/www/html ``` 2. **网络防护措施**(引用2) - 关闭非必要端口: ```bash ufw deny 22/tcp # 示例:禁用SSH远程端口 ufw enable ``` - 检查异常进程: ```bash ps aux | grep '可疑进程名' ``` #### 四、赛前检查清单 1. **备份与验证** - 全量备份网站文件(引用2): ```bash tar -czvf web_backup.tar.gz /var/www/html ``` - 使用工具扫描后门: ```bash find /var/www/html -name "*.php" | xargs grep -E 'eval\(|base64_decode' ``` 2. **平台测试** - 验证SSH访问隔离: ```bash ssh player@靶机IP # 应仅能访问/var/www/html ``` - 测试分数同步功能是否正常
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值