当前位置: 首页 > news >正文

AWD的攻击和防御手段

一、AWD相关介绍

AWD(Attack With Defence)是 CTF 线下赛中最接近真实攻防场景、观赏性和对抗性最强的赛制之一。

赛制本质

人人对抗:所有战队互为攻击者与防守者。

零和记分:你拿到的每一分都是别人的失分,总积分恒定。

轮次刷新:每 1~10 分钟一轮,Flag 自动更新,防止“一洞吃全场”。

赛前组委会发布的信息

项目常见形式说明
靶机 GameBox2~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 保存退出

http://www.dtcms.com/a/299523.html

相关文章:

  • 在 C# 中,问号 ? 的一些作用
  • 0.深度学习环境配置步骤
  • 前端开发 Vue 结合Sentry 实现性能监控
  • GitHub的免费账户的存储空间有多少?
  • 明辨 JS 中 prototype 与 __proto__
  • 学习嵌入式的第三十天-数据结构-(2025.7.21)网络编程
  • Netty中AbstractChannelHandlerContext源码分析
  • Springboot+MongoDB简单使用示例
  • Java 大视界 -- Java 大数据在智能安防视频监控系统中的视频语义理解与智能检索进阶(365)
  • MySQL 中 VARCHAR(50) 和 VARCHAR(500) 的区别
  • Python训练Day24
  • 机器学习入门:线性回归详解与实战
  • Javaweb————HTTP的九种请求方法介绍
  • VTK交互——CallData
  • MySQL操作进阶
  • setsockopt函数概念和使用案例
  • python---字典(dict)
  • 瑞吉外卖学习笔记
  • 基于FPGA的SPI控制FLASH读写
  • 【C++高效编程】STL queue深度剖析:从底层原理到高级应用
  • 什么是ICMP报文?有什么用?
  • 以实时语音转文字项目为例,介绍一下如何手动部署python应用到Linux服务器(附脚本)
  • 根据ip获取地址库
  • 【Git】Git下载全攻略:从入门到精通
  • 如何在 Git 中控制某些文件不被提交?
  • 图解网络-小林coding笔记(持续更新)
  • 【2025最新】浏览器插件开发选型建议:WXT、Plasmo、原生TS/JS
  • 融合为体,AI为用:数据库在智能时代的破局之道
  • Maven之依赖管理
  • 《Java 程序设计》第 6 章 - 字符串