能氐吨
2025-11-11 15:40:00
AWD平台搭建与使用完整教程
一、AWD赛事规则
1. 赛事基础信息
(1)赛事定位
本赛事为 CTF 攻防对抗(AWD)模式,核心考察参赛队伍的实战攻防综合能力:参赛队伍需同步完成两项核心任务——自身靶机服务加固(防御端) 与 其他队伍靶机漏洞利用(攻击端),最终以攻防表现综合计分排名。
(2)环境配置
配置项详细说明靶机部署基于 Docker 容器化部署,采用官方稳定基础镜像(如 Ubuntu 20.04 LTS);每队分配 1-3 台靶机,以 Linux 系统为主,预装 Web 服务(Apache/Nginx)、中间件(Tomcat/PHP-FPM)、数据库(MySQL/MongoDB)等,初始环境完全一致。访问权限仅提供低权限账户(如 ctf 用户),通过 SSH(默认 22 端口)或 VNC 连接;禁止通过提权工具(如 sudo 滥用、内核漏洞提权)获取 root 权限,一经检测视为违规。辅助环境可选配流量分析虚拟机(预装 Wireshark、tcpdump 等工具),提供实时流量日志下载(路径由主办方赛前告知),仅用于本队攻防分析,禁止用于攻击其他队伍。平台限制赛事提交平台(含 API 接口)、裁判系统、网关/DNS 服务器均为 非攻击目标,禁止对其发起任何网络请求(含扫描、访问、攻击)。2. 赛事流程
阶段时长核心任务及限制赛前准备10 分钟1. 领取本队靶机 IP、账户密码、唯一身份 token 凭证;
2. 确认赛事提交平台 API 地址及测试提交有效性;
3. 禁止提前扫描任何网段或尝试连接其他队伍靶机。服务发现 & 加固30 分钟1. 仅允许操作本队靶机:扫描端口(如 nmap)、审计源码、备份数据、修复漏洞;
2. 此阶段 不计分,且禁止对其他队伍靶机发起任何网络连接。攻防对抗180 分钟1. 攻击端:利用漏洞获取其他队伍 Flag 并提交;
2. 防御端:维护自身服务可用性,拦截攻击并修复新漏洞;
3. 实时计分,每 2 分钟为 1 轮计分周期。结果公示10 分钟1. 公布最终排名、总分及扣分详情;
2. 参赛队伍可现场提出分数异议,裁判需在 5 分钟内核查并答复。3. 核心环节规则
(1)服务发现规范
允许操作
- 端口扫描:使用 nmap 等工具扫描 本队靶机及赛事指定 C 段(如 nmap -sn 192.168.10.0/24),探测存活主机及开放端口;
- 服务探测:通过 httpscan、dirsearch、gobuster 等工具,检测 Web 服务路径、备份文件(如 .sql、.bak)、敏感目录(如 admin/);
- 配置排查:查找靶机内服务配置文件(如 Nginx 的 nginx.conf、PHP 的 php.ini、MySQL 的 my.cnf),定位服务根目录及关键参数。
禁止行为
- 提前攻击:在“服务发现 & 加固”阶段结束前,对其他队伍靶机发起漏洞利用、连接测试等攻击行为;
- 跨网段扫描:禁止扫描非赛事指定的网段(如主办方办公网络、公网地址);
- 攻击辅助环境:禁止扫描、访问或攻击流量分析虚拟机、赛事提交平台、裁判系统等非靶机设备。
(2)防御操作规则
基础加固要求
- 数据备份:必须备份 Web 源码(如 /var/www/html)及数据库(通过 mysqldump 等工具);允许 3 次一键恢复(因自身配置失误导致服务故障时使用),每次恢复扣 5 分,超过 3 次恢复不计分且需自行排查故障。
- 弱口令修复:修改所有默认账户密码(如 MySQL 默认 root/root、PHPStudy 默认 123456、Web 后台默认 admin/admin),密码需满足“8 位以上 + 字母大小写 + 数字 + 特殊符号”复杂度。
- 权限控制:禁用无用账户(如 guest、test);限制数据库仅本地登录(修改 my.cnf 中 bind-address=127.0.0.1);设置 Web 目录权限为 755(文件为 644),禁止 www-data 等服务账户拥有执行权限。
漏洞修复原则
- 允许通过代码审计工具(如 Seay 代码审计系统、Burp Suite)定位漏洞,采用“过滤危险函数(如 PHP 的 eval()、exec())、注释危险代码、添加输入验证”等方式修复;
- 可部署自定义 WAF(Web 应用防火墙):通过 PHP 的 auto_prepend_file 加载 WAF 脚本,或在 Nginx 配置中添加拦截规则,需确保 WAF 不影响服务正常访问(如 HTTP 200 响应),且需记录攻击日志(供裁判核查)。
服务器停止工作处理
- 自身原因宕机:因误删系统文件、配置错误(如 Nginx 配置语法错误)、加固过度(如关闭核心服务)导致靶机宕机,可联系技术支持重启靶机,每重启 1 次扣 10 分,且该轮服务可用分记为 0;
- 他人违规攻击宕机:若因其他队伍发起 DoS/DDoS、删除关键文件等违规行为导致宕机,需在 5 分钟内提交流量日志、进程记录等证据,经裁判核实后:
- 违规队伍按“恶意破坏服务”条款处罚;
- 本队不扣除服务可用分,且恢复该轮应得分数。
禁止操作
- 关闭核心服务:禁止停止 Apache、Nginx、MySQL、Docker Daemon 等赛事指定核心服务,导致主办方 Check 失败;
- 删除必要文件:禁止删除赛事标记文件(如 /etc/ctf-marker)、靶机系统文件(如 /bin/bash)或服务依赖文件;
- 过度防御:禁止部署“一刀切”拦截规则(如拦截所有 HTTP POST 请求),导致服务无法正常提供(主办方 Check 返回非 200 状态码)。
(3)攻击操作规则
Flag 机制
- 生成规则:Flag 每 2 分钟刷新 1 轮,存放于靶机 固定指定路径(如 /tmp/flag、/var/www/flag.txt),格式为 flag{随机 32 位字符串}(如 flag{8a3f2d7c9e1b4567890a1b2c3d4e5f6g});
- 提交要求:通过赛事平台 API 提交(格式:https://[平台域名]/submit?token=[本队 token]&flag=[获取的 Flag]),重复提交无效(仅首次有效提交计分),提交虚假 Flag(非靶机生成)视为违规。
允许攻击手段
- 漏洞利用:通过 SQL 注入、XSS、文件上传、反序列化、命令注入、PWN(缓冲区溢出)等漏洞,获取靶机低权限或读取 Flag;
- 权限维持:可在靶机内种植“不死马”(如循环生成隐藏脚本、定时任务反弹 Shell),但需确保 不破坏服务可用性(如不占用 80% 以上 CPU/内存、不删除 Web 源码);
- 信息收集:通过攻击获取的低权限,收集其他队伍靶机内的服务配置、漏洞信息,用于后续攻击。
严格禁止行为(含 DDoS 细化禁止)
- 任何形式的 DoS/DDoS 攻击:
- 流量压制:通过 TCP/UDP 洪水、ICMP ping 风暴、SYN Flood 等方式,占用靶机带宽(如每秒发包超 1000 个);
- 资源耗尽:高频访问靶机服务(如每秒请求超 10 次)、运行挖矿脚本、创建大量空文件,导致 CPU/内存/磁盘占用超 90%;
- 进程破坏:杀死靶机核心进程(如 apache2、mysqld、docker)、停止服务(如 systemctl stop nginx);
- 暴力破解:禁止使用工具(如 Hydra、Medusa)对其他队伍靶机的 SSH、MySQL、Web 后台等账户进行暴力破解(仅允许利用已知弱口令登录);
- 恶意破坏:篡改其他队伍 Web 源码(如删除 index.php、替换为恶意页面)、格式化靶机磁盘、删除 Docker 容器,导致服务 永久宕机且无法快速恢复;
- 攻击非靶机目标:禁止对赛事提交平台、裁判系统、其他队伍的流量分析虚拟机发起任何攻击(含扫描、访问、漏洞利用)。
4. 计分与排名规则
(1)基础计分(每 2 分钟 1 轮,实时累计)
计分项目分值详细说明服务可用+1 分主办方通过脚本 Check 本队靶机核心服务(如 Web 服务返回 HTTP 200、MySQL 可正常连接),响应正常则得分。服务不可用-1 分服务宕机、无响应或 Check 返回非指定状态码(如 404、502);该扣分由 本轮所有服务正常的队伍均分(例:本轮 10 队中 2 队不可用,8 队正常,每正常队均分 2×1/8=0.25 分)。提交有效 Flag+2 分每成功提交 1 个其他队伍的有效 Flag 得 2 分,同一 Flag 重复提交不累计(仅首次有效提交计分)。自身 Flag 被获取-2 分本队 Flag 被其他队伍获取并成功提交;该扣分由 所有获取该 Flag 的队伍均分(例:本队 Flag 被 3 队获取,每获取队均分 2/3≈0.67 分)。(2)排名规则
- 优先按 总分降序 排名;
- 若总分相同,比较 有效 Flag 获取总数(获取越多排名越靠前);
- 若总分与 Flag 数量均相同,比较 服务可用率(服务可用轮数 / 总攻防轮数,可用率越高排名越靠前);
- 若上述三项均相同,比较 最后一轮得分(得分高者排名靠前)。
5. 违规处罚
违规行为处罚措施首次实施 DoS/DDoS 攻击、恶意破坏服务扣除当前总分的 50%,在赛事群内通报批评,记录违规一次。二次违规(含重复 DoS、攻击平台)直接取消赛事资格,清空所有分数,禁止参与本次赛事后续环节。提交虚假 Flag 干扰裁判每提交 1 次扣 10 分;累计 3 次提交虚假 Flag,取消赛事资格。攻击赛事平台/辅助环境/非靶机目标视为严重违规,直接取消资格,通报所有参赛队伍,并禁止参与主办方后续赛事。提权获取 root 权限/使用未授权工具(如木马)取消赛事资格,清空分数,且需配合裁判核查工具来源。导致靶机永久无法恢复(如格式化磁盘)取消资格,通报批评,并需承担靶机重建的技术成本(视情况追偿)。6. 附则
- 赛事技术支持仅协助解决 环境故障(如 Docker 容器崩溃、靶机无法连接),不提供漏洞提示、加固建议等技术指导;
- 参赛队伍需自行记录攻防操作日志(如攻击脚本执行记录、防御配置修改记录),裁判有权要求提交日志核查,拒绝提交视为违规;
- 主办方拥有规则最终解释权,可根据现场情况(如大规模环境故障、违规行为频发)调整计分权重、攻防时长,调整后将第一时间通知所有队伍;
- 赛事期间禁止抄袭其他队伍的攻防方案(如复制攻击脚本、抄袭 WAF 规则),一经发现,扣除当前总分的 30%,抄袭累计 2 次取消资格。
二、AWD平台搭建步骤
1. 克隆AWD平台资源
执行以下命令克隆官方仓库到本地:- sudo git clone https://github.com/zhl2008/awd-platform.git
复制代码 2. 安装Docker与Docker Compose
通过 APT 包管理器安装基础依赖工具:- apt install docker && apt install docker-compose
复制代码 3. Docker换源(提升镜像下载速度)
使用 LinuxMirrors 提供的脚本一键换源,命令如下:
[code]bash |
|
|
|
|
|
相关推荐
|
|
|