一、AWD相关介绍
AWD(Attack With Defence)是 CTF 线下赛中最接近真实攻防场景、观赏性和对抗性最强的赛制之一。
赛制本质
人人对抗:所有战队互为攻击者与防守者。
零和记分:你拿到的每一分都是别人的失分,总积分恒定。
轮次刷新:每 1~10 分钟一轮,Flag 自动更新,防止“一洞吃全场”。
赛前组委会发布的信息
项目 | 常见形式 | 说明 |
靶机 GameBox | 2~3台Linux虚拟机 | 已预装 Web / Pwn / 中间件服务,内含 1 个或 N 个漏洞 |
初始账号 | 低权限ssh用户 | 通常非root,需要自己提权 |
拓扑图 | CIDR 网段列表 | 告诉你哪些 IP 是别人的靶机,可扫描 |
检验脚本 | check service | 裁判脚本定期访问你的服务,宕机就扣分 |
计分规则(常见版本)
起始分1000/5000分;
攻击:提交一次正确 Flag +50 分,被攻击方 −50 分;
防守:裁判脚本访问失败 −50 分,且扣分平分给 check 正常的队伍;
服务离线超过 2 轮直接判负出局。
时间线(典型4~8小时比赛)
0:00 发放靶机 → 0:15 网络连通测试 → 0:30 正式开始 → 每 5 min 一轮 → 结束 30 min 前停止 Flag 更新 → 颁奖 / 复盘。
作战分工
角色 | 核心任务 | 常用工具 |
---|---|---|
攻击手 | 挖洞、批量打靶、维护攻击脚本 | sqlmap、nmap、Burp、自写 Python 脚本 |
防御手 | 修洞、写 WAF、监控告警 | D 盾、Seay、自写 iptables/WAF、auditd |
机动 | 流量取证、逆向、二进制补丁 | IDA、Ghidra、patch 工具 |
指挥 | 看大屏记分、分配优先级、盯 check 脚本 | 纸质白板 + 微信/飞书群 |
高频漏洞清单
Web-AWD:SQL 注入、文件上传、任意文件下载、反序列化、SSTI、RCE 。
PWN-AWD:栈溢出、格式化字符串、UAF、整数溢出,配合 NX/ASLR/Canary 绕过
典型犯规/扣分红线
打宕对方服务(扣分甚至判负);
用 DoS、ARP 欺骗等影响网络层;
私自修改 check 脚本或与裁判机通信。
赛后复盘3步走
1、把流量 pcap、源码、补丁、exp 打包备份
2、对比官方 writeup,列出“发现-未利用”漏洞
3、进行总结:失分点、得分点、工具链改进,下次赛前 10 分钟可重温
二、平台搭建
ubuntu虚拟机搭建
进行AWD时需要一台独立虚拟机,这里搭建ubuntu
在VMware来进行安装Ubuntu虚拟机
Index of /ubuntu-releases/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
选择了20.04的版本
下载到自己的目录然后在VMware里面安装就好了。
具体的安装过程我就不写了,和安装kali那些一样,照着博客来就行,这里有一篇比较详细:
VMware虚拟机安装Ubuntu20.04详细教程(配图)_vmware安装ubuntu20.04-CSDN博客
然后我这里安装好以后 ctrl+alt+T 打开终端
可以查看虚拟机信息
然后进行换源
在这之前先备份一下
可以看到 sources.list.bak 文件就是备份好的
然后 sudo vim /etc/apt/sources.list进入换源
如果 vim 命令无效安装vim 即可
sudo apt install vim
再执行就可以进入
但是我的还是显示 vim 不可用
检查一下是不是网络问题
网络没问题,能连上
ping -c 4 8.8.8.8
在ubuntu终端中执行这个命令
能收到 4 个 64 bytes from … icmp_seq=... 就说明有网;
出现 Network is unreachable
/ 100 % packet loss 就说明没网
既然能上网那就说明系统被精简成了Docker / 最小化 Ubuntu 镜像
这样大多数 缺 apt、缺 vim,甚至连 sudo 都没有。
那就用自带的 microdnf / dnf / apt-get
某些最小镜像里把 apt
软链接删了,但底层 apt-get
还在;试试:
which apt-get //确认 apt-get 存不存在
这个命令还是需要 sudo su 提权
然后 更新并安装
apt-get update
apt-get install -y vim
如果你的容器用的是 Ubuntu 22.04 Minimal,默认包管理器其实是 snap,那就
snap install vim --classic
结果发现还是不行
只能用终极办法进去了
vi /etc/apt/sources.list
然后终于是进去了
gg跳到开头,再dG删除所有文件
再按 i 进入编辑模式粘贴镜像源
这里有一些可供选择:[ubuntu]ubuntu22.04默认源和国内源_ubuntu22.04源-CSDN博客
用阿里的吧
ubuntu 22.04 LTS(jammy)
deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse# deb https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
粘贴好镜像源后按Esc键再 :wq 保存退出