很多人在搭建Vulhub靶場的時候,可能也搜到過許多的文章,但是大多數的文章只是有一個流程,對其中的原理,步驟沒有進行詳細的說明,這也就導致了很多人在安裝過程中出現了問題也不知道該如何解決,或者稀裡糊塗就安裝好了。我想這種應該不是網安人該有的一個學習態度,下面我對Vulhub靶場的搭建進行一個詳細的講解。
因為我們都是Windows作業系統,而且大多數人都是安裝的是Centos7,所以本篇圍繞的是centos7對VUlhub靶場的搭建,準備的環境當然也是centos7的虛擬機器器
yum是一個shell前端軟體包管理器,基於rpm包管理,能夠從指定的伺服器自動下載rpm包並且可以自動處理依賴關係,並且一次安裝所有的依賴的軟體包。Linux中的yum是國外的,存取速度以及穩定性都不是很好,所以我們要重新設定yum的源為阿里雲的yum.當然你不設定也是可以的,就是容易出現錯誤:Could not……,最好還是設定一下,也不是很麻煩。
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
cat /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum makecache
sudo yum -y update
先說Docker是用來幹什麼的?因為現在物理伺服器是很強大的,我們如果在一臺物理伺服器上只跑一個服務就浪費了,而同時飽很多服務他們又與相影響,比如說一個服務出了記憶體漏失把整個伺服器的記憶體都佔滿了,其他服務都跟著倒黴,所以要把每個服務都隔離起來,讓它們只使用自己那部分有限的cpu,記憶體和磁碟,以及自己依賴的軟體包。這個早先是用虛擬機器器來實現隔離的,但是每個虛擬機器器都要裝自己的作業系統核心,這是對資源有點浪費,幹是就有了Docker一個機器上口以裝十個到幾十個docker,他們共用作業系統核心,佔用資源少,啟動速度快。但又能提供了資源(cpu記憶體,磁碟等)的一定程度的隔離。
Docker 的使用可以理解為:軟體是帶環境安裝的,也就是說,安裝的時候把原始環境一模一樣的複製過來一份。這樣也就消除了不同機器執行結果不同的問題。
因為我們的Vulhub靶場上面有很多的環境,比如Nginx、Apache等等,要滿足這些,就必須要搭建docker
docker或 yum list docker-ce --showduplicates | sort -r
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
yum install -y yum-utils device-mapper-persistent-data lvm2
yum install docker-ce -y
yum list docker-ce --showduplicates | sort -r
yum install docker-ce-18.06.3.ce-3.el7 -y
docker version
sytemctl start docker
systemctl enable docker
{"registry-mirrors":["https://reg-mirror.qiniu.com/"]}
sudo systemctl daemon-reload
sudo systemctl restart docker
docker compose是一個命令列工具,是用於定義和執行多容器Docker應用程式的工具;通過Compose,開發者可以使用YML檔案來設定應用程式需要的所有服務,是一個編排工具。curl是一個利用URL規則在命令列下工作的檔案傳輸工具,可以說是一款很強大的http命令列工具。它支援檔案的上傳和下載,是綜合傳輸工具,但按傳統,習慣稱url為下載工具
curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
cd /usr/local/bin/
ls
chmod +x docker-compose
docker-compose -version
mkdir -p /var/local/soft/
cd /var/local/soft/
yum -y install git
git clone https://github.com/vulhub/vulhub.git
git是一個開源的分散式版本控制系統,用於敏捷高效地處理任何或大或小的專案,是Linus Torvalds為了幫助管理Linux核心開發而開發的一個開放原始碼的版本控制軟體,常用的版本控制工具CVS、Subversion等不同,它採用了分散式版本庫的方式,不用伺服器端軟體支援。
cd vulhub
ls
cd nginx
ls
cd CVE-2013-4547
docker-compose build
docker-compose up -d
ifconfig
docker-compose ps
docker ps
docker-compose down