AWD练习的平台搭建

发布时间:2026/7/19 10:21:04
AWD练习的平台搭建 ubuntu虚拟机搭建前提资源准备进行AWD我们需要在一个独立的虚拟机现在就来搭建一个ubuntu的这里我们使用的VMware是17的然后下载镜像的地址Ubuntu最全的国内镜像下载地址 - 哔哩哔哩我下载的是中科大的这里需要准备的前提资源就有了。创建Ubuntu虚拟机这里其实和我们创建kali机差不多首先在主页里面点击创建新的虚拟机选择自定义选择硬件兼容性然后下一步然后稍后安装下一步然后选择linux系统和ubuntu版本默认下一步最好更改位置处理器的内核为4内存选择4GB默认选择下一步默认选择默认选择创建新的磁盘磁盘大小为40为单个文件默认就行下一步直接选择完成。搭建Ubuntu靶机首先开启虚拟机然后选择try or install ubuntu在左侧选择语言中文简体点击安装ubuntu键盘选择chinese选择最小安装选择清除整个磁盘并安装ubuntu然后点击现在安装选择继续默认选择上海然后继续然后自己设置用户名和密码然后点击继续这里就慢慢等着安装就好安装完成现在重启但是后面看到文章说是语言还是选择英文方便后续报错的时候去找资料重启的时候要注意一下下面的英文要移除安装介质就是设置中CD/DVD中的ISO映像文件将连接改为“使用物理驱动器”然后确定就好。接下来就进入桌面了。附上几个链接修改终端语言Ubuntu修改终端下的语言 - W_K_L - 博客园然后ubuntu有一个bug就是每次都要手动挂载共享文件夹手动启用共享文件夹只有当次有效VMware共享文件夹设置ubuntu22.04_ubuntu vmware共享文件夹-CSDN博客这个bug我们在sudo gedit /etc/fstab 添加上下面的话就可以实现开机 自动挂载永久挂载.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0换源如果不清楚自己的虚拟机的信息就用下面的命令查看lsb_release -a然后找到与自己版本符合的源[ubuntu]ubuntu22.04默认源和国内源_ubuntu22.04源-CSDN博客保险起见备份一个# 备份源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak然后我们先将自己要换的国内源复制下来再在终端中输入sudo vim /etc/apt/sources.list但是我使用这个命令不成功如果你也显示那么就需要安装vim使用命令sudo apt install vim然后再使用那个命令就能成功了打开后把所有内容删掉再将新源粘贴上我使用的是阿里云的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 multiverse deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb 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 multiverse deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse粘贴完后用输入:wq命令退出然后再进行更新sudo apt update然后进行软件更新过程有点慢且不是必须的sudo apt upgrade安装VMware Toolssudo apt-get update sudo apt-get install open-vm-tools-desktop但是其实也可能本身就已经有了到这里虚拟机的配置完全够了搭建AWD平台可以通过git命令下载awd-platform需要先安装git命令sudo apt-get install git安装好之后进行克隆git clone https://gitee.com/jikemofan/awd-platform.git再安装一个python2sudo apt-get install python2接下来需要下载docker 安装好docker之后下载比赛docker镜像sudo apt install docker.io docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/zhl2008/web_14.04:latest#拉取镜像 docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/zhl2008/web_14.04:latest web_14.04#将镜像另命名最开始用的其他的命令都报错说不是最新的然后就改了一下命令成功了。这样我们的AWD平台就搭建好了。AWD的使用普通用户先进入刚才的awd-platform然后输入下面的命令创建了两个队伍python2 batch.py web_yunnan_simple 2然后再切换到root用户输入下面的命令启用环境python2 start.py ./ 2通过docker ps可以查看启用docker的情况从最右侧的那栏的names可以看到每一个端口的作用我们试着访问一下看看0.0.0.0是linux的本地网址相当于Windows的127.0.0.1team1的地址0.0.0.0:8801team2的0.0.0.0:8802再看一下观战平台在这里可以提交flag各个靶机的ssh密码可以在项目的文件夹下的pass.txt文件中team1的默认端口为2201以此类推根据赛题修改check.pyawd-platform/check_server/目录下文件找到check类class check(): def __init__(self): print checking host: host def index_check(self): res http(get,host,port,/,,headers) if Home in res: return True if debug: print [fail!] index_fail return False def test_check(self): res http(get,host,port,/about.php?fileheader.php,,headers) if About in res: return True if debug: print [fail!] test_fail return False def test_check_2(self): headers[Cookie] data key1 res http(get,host,port,/services.php,data,headers) if Services in res: return True if debug: print [fail!] test_2_fail return False修改flag刷新时间同样是check.py文件中默认120s2分钟ssh连接格式ssh -p port usernameip 或者换一种命令也是可以连接的 ssh usernameip -p port这里我们需要先去开启ssh后才能进行ssh连接先进行安装apt update apt install openssh-server -y安装好后进入其中一个队伍的目录然后输入命令进行开启ssh连接systemctl start sshd然后我们再输入命令 来查看是否开启systemctl status sshd这里注意一下就是首先是物理机能不能ping到虚拟机能的话就可以进行了如果不行结合ai解决问题大致就是虚拟机连网、VMtools没有在运行、物理机和虚拟机不是同一域名具体解决问ai然后就是docker开着了吗其次是ssh开着没这里由于我的物理机尝试了各种办法也还没解决连接虚拟机的问题所以我就直接在虚拟机本地展开接下来的动作了ssh连接我们前面已经cat pass.txt知道了密码然后现在是在本地那么ip就是127.0.0.1而port就是2201一切都好了就输入命令吧然后按照要求回答再输入密码后就ssh连接成功了模拟team2去打team1首先是进入他们的网站可以看到最下面的输入框里显示着ls有所怀疑那就输入ls看什么情况就直接给了我们目录下的文件既然如此就输入ls /看到了flagcat他输入cat /flaghttp://ip:8080/flag_file.php?tokenteam_nameflag这就找到了一个那我们就去作为team2交一个flag地址栏格式http://ip:8080/flag_file.php?tokenteam_nameflag关于AWD这里引用一下别人的文章学习一下AWD比赛技术流丨AWD比赛攻防详解 | CN-SEC 中文网