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 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
粘貼完后用輸入
:wq
命令退出?
然后再進行更新
sudo apt update
然后進行軟件更新(過程有點慢,且不是必須的)
sudo apt upgrade
?安裝VMware Tools
sudo 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
再安裝一個python2?
sudo 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.1)
team1的地址:0.0.0.0:8801
team2的:0.0.0.0:8802
再看一下觀戰平臺,在這里可以提交flag
各個靶機的ssh密碼可以在項目的文件夾下的pass.txt文件中
team1的默認端口為2201,以此類推
根據賽題修改check.py(awd-platform/check_server/目錄下)文件,找到check類
class check():def __init__(self):print "checking host: "+hostdef index_check(self):res = http('get',host,port,'/','',headers)if 'Home' in res:return Trueif debug:print "[fail!] index_fail"return Falsedef test_check(self):res = http('get',host,port,'/about.php?file=header.php','',headers)if 'About' in res:return Trueif debug:print "[fail!] test_fail"return Falsedef test_check_2(self):headers['Cookie'] = ''data = 'key=1'res = http('get',host,port,'/services.php',data,headers)if 'Services' in res:return Trueif debug:print "[fail!] test_2_fail"return False
?修改flag刷新時間,同樣是check.py文件中,默認120s,2分鐘
ssh連接格式
ssh -p <port> <username>@<ip>
或者換一種命令也是可以連接的
ssh <username>@<ip> -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 /?看到了flag,cat他,輸入cat /flag
http://ip:8080/flag_file.php?token=team_name&flag=
這就找到了一個,那我們就去作為team2交一個flag
地址欄格式:
http://ip:8080/flag_file.php?token=team_name&flag=
關于AWD
這里引用一下別人的文章,學習一下AWD比賽:技術流丨AWD比賽攻防詳解 | CN-SEC 中文網?