目錄
- docker簡介
- docker的安裝
- docker、centos7、windows10(博主宿主機系統)之間相互通信
-docker容器中下載weblogic12c(可以略過不看)- docker容器中下載vulhub漏洞環境
- 驗證Weblogic T3反序列化漏洞(CVE-2017-10271)
- 用wireshark抓滲透過程的包
docker簡介
- Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然后發布到任何流行的 Linux或Windows 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
docker的優點
- 硬件成本低,虛擬化硬件損耗也較低,性能好;
- 可以做到運行環境快速部署,啟動極快,伸縮有彈性;
- 支持打包管理,保證一致性;
- 動態調度遷移成本低。
ps:博主用docker主要是為了,下載有漏洞的框架,來進行滲透測試,提高自己的滲透能力。(例如:weblogc 反序列化漏洞、strust2漏洞)
docker的安裝
前期准備
- 在虛擬機上已經搭建好centos7系統
- Docker 要求 CentOS 系統的內核版本高於 3.10 ,查看本頁面的前提條件來驗證你的CentOS 版本是否支持 Docker 。
- 配好yum源
docker正式安裝
- 確保 yum 包更新到最新
yum update
- 卸載舊版本(如果安裝過舊版本的話)
yum remove docker docker-common docker-selinux docker-engine
- 安裝需要的軟件包, yum-util 提供yum-config-manager功能,另外兩個是devicemapper驅動依賴的
yum install -y yum-utils device-mapper-persistent-data lvm2
- 設置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 可以查看所有倉庫中所有docker版本,並選擇特定版本安裝
yum list docker-ce --showduplicates | sort -r
- 下載並安裝container-selinux
下載
wget http://mirrors.atosworldline.com/public/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm
安裝
rpm -ivh container-selinux-2.68-1.el7.noarch.rpm --nodeps --force
- 安裝docker
yum install docker-ce #由於repo中默認只開啟stable倉庫,故這里安裝的是最新穩定版17.12.0
執行上面的命令是默認安裝,下面這條命令就不用執行了
yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce
- 啟動並加入開機啟動
systemctl start docker
systemctl enable docker
- 驗證安裝是否成功(有client和service兩部分表示docker安裝啟動都成功了)
docker version
docker、centos7、windows10(博主宿主機系統)之間相互通信
- VM中centos7的網絡連接方式為nat,並將網卡配置成dhcp模式
- docker默認是docker 0網卡,保持默認配置
讓windows10和虛擬機通訊
NAT模式,centos7可以ping通windows10,windows10卻不能ping通centos7
- 問題在於主機的適配器設置中,NAT相關的適配器變成了自動獲取IP地址。
- 右擊電腦右下角網絡的符號,點擊“打開網絡和共享中心” -> “更改適配器設置”,就可以看到虛擬機的幾個適配器配置,NAT模式的配置一般是VMnet8。
- 右鍵 -> 屬性 -> IPv4 -> 屬性。
- 設置ip地址和centos7在同一網段,即可。
讓windows10和docker通訊
- Windows10連接centos7中的Docker容器的
- 拓撲圖
宿主機(windows10)--------->虛擬機(192.168.2.131)---------->docker容器 (172.17.0.1)
-
如果此時在宿主機中ping Docker容器是ping不同的,因為在宿主機上沒有通往172.18.0.2網絡的路由,宿主機會將發往172.18.0.2網絡的數據發往默認路由,這樣就無法到達容器。
-
解決方法:
(1)首先要保證centos7和Docker容器,用ping測試是否通暢
(2)關閉虛擬中的防火牆: systemctl stop firewalld.service
(3)打開windows10的cmd,在其中添加通往 172.17.0.21網絡的路由。
(4)通往 172.17.0.1網絡的數據包由192.168.2.131來轉發 -
具體操作
-
cmd(管理員模式)下
route add -p 172.17.0.0 mask 255.255.0.0 192.168.2.131 //-p表示永久添加
- 查看添加的路由:
route print
172.17.0.0 255.255.0.0 192.168.2.131 192.168.2.200 36
docker容器中下載weblogic12c(可略過不看)
- 獲取鏡像
docker pull ismaleiva90/weblogic12
//docker pull #獲取鏡像
//ismaleiva90/weblogic #weblogic的鏡像,后面沒有指定鏡像版本就會獲取默認的 latest版本
- 生成並啟動容器
docker run -d -p 49163:7001 -p 49164:7002 -p 49165:5556 ismaleiva90/weblogic12:latest
//docker run #啟動
//-d #使得容器后台運行
//-p #指定端口號
//ismaleiva90/weblogic:latest #鏡像的詳細信息
//2018/3/6 啟動命令: docker run -d -p 7001:7001 -p 7002:7002 --restart=always //ismaleiva90/weblogic12:latest
//啟動命令更改之后,訪問端口變為 7001, http://172.17.0.1:7001/console
docker run -d -p 7001:7001 -p 7002:7002 --restart=always ismaleiva90/weblogic12:latest
- 在瀏覽器中訪問weblogic
http://172.17.0.1:49163/console
172.150.19.40 #當前主機的ip地址
49163 #訪問端口號
訪問結果,出現登錄頁面
- 登錄賬號和密碼:
用戶名: weblogic
密碼: welcome1
docker容器中下載vulhub漏洞環境
docker-compose 的安裝及使用
-
Docker Compose 是一個用來定義和運行復雜應用的 Docker 工具。使用 Docker Compose 不再需要使用 shell 腳本來啟動容器。(通過 docker-compose.yml 配置)
-
安裝
-
可以通過修改 URL 中的版本,自定義您需要的版本。
sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
- 卸載
sudo rm /usr/local/bin/docker-compose
正式下載漏洞環境Vulhub
- 下載docker漏洞環境:Vulhub
Vulhub是一個面向大眾的開源漏洞靶場,無需docker知識,簡單執行兩條命令即可編譯、運行一個完整的漏洞靶場鏡像。旨在讓漏洞復現變得更加簡單,讓安全研究者更加專注於漏洞原理本身。
- 搭建漏洞環境
git clone https://github.com/vulhub/vulhub.git
https://github.com/vulhub/vulhub/archive/master.zip //直接下載地址
-
進入vulhub-master/weblogic/CVE-2017-10271目錄
-
運行命令
docker-compose up -d //安裝此漏洞環境
docker ps //查看運行服務端口
- 訪問ip:port即可看到web網頁

docker-compose down //測試完畢之后,使用此命令即可結束服務,使環境變為初始狀態。
驗證Weblogic xml反序列化漏洞(CVE-2017-10271)
- 用工具查看是否存在weblogic xml反序列化漏洞,檢測工具請自行百度下載

- 利用反序列化漏洞,執行系統命令

用wireshark抓滲透過程的包
- 執行whoami命令的抓包

- 抓到響應體的包

常見docker漏洞復現靶場
擴展鏈接
聲明
嚴禁讀者利用以上介紹知識點對網站進行非法操作 , 本文僅用於技術交流和學習 , 如果您利用文章中介紹的知識對他人造成損失 , 后果由您自行承擔 , 如果您不能同意該約定 , 請您務必不要閱讀該文章 , 感謝您的配合 !
