一、Docker簡(jiǎn)述
Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎趾代,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中贯底,然后發(fā)布到任何流行的Linux機(jī)器上,也可以實(shí)現(xiàn)虛擬化撒强,容器是完全使用沙箱機(jī)制禽捆,相互之間不會(huì)有任何接口。通過(guò)對(duì)應(yīng)用組件的封裝飘哨、分發(fā)胚想、部署、運(yùn)行等生命周期的管理芽隆,達(dá)到應(yīng)用組件級(jí)別的“一次封裝浊服,到處運(yùn)行”。這里應(yīng)用組件胚吁,即可以是Web應(yīng)用牙躺,也可以是一套數(shù)據(jù)庫(kù)服務(wù),甚至是一個(gè)操作系統(tǒng)或編譯器腕扶。
Docker由鏡像(Image)孽拷、容器(Container)、倉(cāng)庫(kù)(Repository) 三大核心組成蕉毯。
優(yōu)點(diǎn):
更快速的交付和部署(使用docker乓搬,開(kāi)發(fā)人員可以用鏡像來(lái)快速構(gòu)建一套標(biāo)準(zhǔn)的開(kāi)發(fā)環(huán)境;開(kāi)發(fā)完成之后,測(cè)試和運(yùn)維人員可以直接使用相同環(huán)境來(lái)部署代碼代虾。)
更輕松的遷移和擴(kuò)展(docker容器幾乎可以在任意平臺(tái)上運(yùn)行进肯,包括物理機(jī)、虛擬機(jī)棉磨、公有云江掩、私有云、個(gè)人電腦、服務(wù)器等环形〔咂可以在不同的平臺(tái)輕松地遷移應(yīng)用)
更簡(jiǎn)單的更新管理(使用Dockerfile,只需要修改小小的配置抬吟,就可以替代以往大量的更新工作)
二萨咕、環(huán)境搭建
1、安裝docker
配置環(huán)境:Kali 2.0
查看Linux系統(tǒng)內(nèi)核信息:
uname -a
我本次安裝的系統(tǒng)如下:
下面開(kāi)始安裝:
添加更新源:
vim /etc/apt/sources.list.d/backports.list
deb http://http.debian.net/debian wheezy-backports main
更新APT軟件包索引:
apt-get update
如果之前有安裝過(guò)docker火本,則先刪除舊版本:
apt-get purge lxc-docker*
apt-get purge docker.io*
apt-get update
確認(rèn)APT添加了https協(xié)議和CA證書(shū):
apt-get install apt-transport-https ca-certificates
添加一個(gè)新的GPG密鑰:
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
因?yàn)镵ali2.0是基于Debian Wheezy版本危队,添加更新源,增加相關(guān)內(nèi)容:
vim /etc/apt/sources.list.d/docker.list
#Debian Wheezy
deb https://apt.dockerproject.org/repo debian-wheezy main
保存后钙畔,再次更新APT軟件包索引:
apt-get update
確認(rèn)APT能從正確的repository倉(cāng)庫(kù)拉取內(nèi)容:
apt-cache policy docker-engine
正式安裝docker:
apt-get update
apt-get install docker-engine
啟動(dòng)docker服務(wù):
service docker start
安裝compose:
pip3 install docker-compose
驗(yàn)證安裝茫陆,運(yùn)行測(cè)試:
docker run hello-world
界面顯示如下,表示成功安裝:
查看版本:
root@kali:~# docker version
Client:
Version: 17.05.0-ce
API version: 1.29
Go version: go1.7.5
Git commit: 89658be
Built: Thu May 4 22:13:40 2017
OS/Arch: linux/amd64
Server:
Version: 17.05.0-ce
API version: 1.29 (minimum version 1.12)
Go version: go1.7.5
Git commit: 89658be
Built: Thu May 4 22:13:40 2017
OS/Arch: linux/amd64
Experimental: false
接下來(lái),開(kāi)啟 docker 的折騰之路擎析!
2簿盅、下載環(huán)境**
Vulhub是一個(gè)面向大眾的開(kāi)源漏洞靶場(chǎng),無(wú)需docker知識(shí)揍魂,簡(jiǎn)單執(zhí)行兩條命令即可編譯辐宾、運(yùn)行一個(gè)完整的漏洞靶場(chǎng)鏡像夹孔。旨在讓漏洞復(fù)現(xiàn)變得更加簡(jiǎn)單稠鼻,讓安全研究者更加專注于漏洞原理本身皮钠。
vulhub網(wǎng)站:http://vulhub.org/
倉(cāng)庫(kù)地址:git clone https://github.com/vulhub/vulhub.git
直接下載地址:https://github.com/vulhub/vulhub/archive/master.zip
root@kali:~# git clone https://github.com/phith0n/vulhub.git
3围辙、啟動(dòng)docker并設(shè)置開(kāi)機(jī)自啟動(dòng)**
root@kali:~# service docker start
root@kali:~# update-rc.d docker enable
三溢谤、使用vulhub靶場(chǎng)
1拔疚、查看Vulhub
現(xiàn)在進(jìn)入vulhub目錄鹅搪,可以看到很多測(cè)試環(huán)境目錄禀苦,每個(gè)環(huán)境目錄下都有相應(yīng)的說(shuō)明文件蔓肯。
2、 選定測(cè)試目錄
進(jìn)入測(cè)試靶場(chǎng)目錄振乏,這里我們想測(cè)試struts2-016漏洞蔗包,可以先看下struts2目錄下現(xiàn)有的漏洞測(cè)試環(huán)境。隨后進(jìn)入s2-016 目錄慧邮。
3调限、編譯靶場(chǎng)環(huán)境
root@kali:~/vulhub/struts2/s2-016# docker-compose build
備注:這里最好掛上小飛機(jī),不然會(huì)讓你懷疑人生
4误澳、啟動(dòng)整個(gè)環(huán)境
root@kali:~/vulhub/struts2/s2-016# docker-compose up -d
5耻矮、測(cè)試環(huán)境
完成后,我們測(cè)試下訪問(wèn)web頁(yè)面,這說(shuō)明測(cè)試環(huán)境正常忆谓。這里的IP地址為kali虛擬機(jī)的IP地址:
6裆装、刪除環(huán)境
測(cè)試完畢之后,使用docker-compose down 即可結(jié)束服務(wù),使環(huán)境變?yōu)槌跏紶顟B(tài)哨免。
docker-compose down