docker 利用特權(quán)模式逃逸并拿下主機(jī)
在溯源反制過程中,會經(jīng)常遇到一些有趣的玩法,這里給大家分享一種docker在特權(quán)模式下逃逸,并拿下主機(jī)權(quán)限的玩法。
前言
在一次溯源反制過程中,發(fā)現(xiàn)了一個主機(jī),經(jīng)過資產(chǎn)收集之后,發(fā)現(xiàn)有如下幾個資產(chǎn)。

其中9000是一個Web服務(wù),于是我訪問查看了一下。
發(fā)現(xiàn)其為Portainer后臺,且存在弱口令登錄。

一般看到這種登錄頁面,習(xí)慣性的輸入admin/admin,admin/password,admin/123456。然后就試出來一個進(jìn)去了。
Portainer
Portainer是Docker的圖形化管理工具,提供狀態(tài)顯示面板、應(yīng)用模板快速部署、容器鏡像網(wǎng)絡(luò)數(shù)據(jù)卷的基本操作(包括上傳下載鏡像,創(chuàng)建容器等操作)、事件日志顯示、容器控制臺操作、Swarm集群和服務(wù)等集中管理和操作、登錄用戶管理和控制等功能。功能十分全面,基本能滿足中小型單位對容器管理的全部需求。
這是我在溯源過程中第一次碰到這個后臺,我簡單瀏覽了一下
打開后臺就是這樣

這里有很多創(chuàng)建好的docker容器。還可以自定義下載鏡像,并構(gòu)建容器。
利用
我想到如果在docker容器啟動中加上--privileged參數(shù)即特權(quán)模式,就可以磁盤掛載利用了。進(jìn)行掛載后,可以進(jìn)行對本地宿主機(jī)的文件替換比如寫入公鑰getshell, 想到這一點(diǎn),我點(diǎn)擊新建容器。選擇了nignx:latest 鏡像

注意, 開啟特權(quán)模式一定要勾選下面的選項(xiàng)

將此選項(xiàng)勾選之后,就會開啟特權(quán)模式了。

創(chuàng)建好容器之后,點(diǎn)擊這里,進(jìn)入容器控制臺。
現(xiàn)在我們需要掛載磁盤到容器的目錄上。這一點(diǎn)和容器數(shù)據(jù)卷設(shè)置不同,這一步是真實(shí)的掛載磁盤。
通過df -h 命令查看磁盤,新建文件夾/abcd,然后將宿主機(jī)的文件系統(tǒng)掛載到docker容器中的/abcd 目錄。

然后/abcd目錄就是宿主機(jī)的真實(shí)主機(jī)文件了,我們正常在root下寫入公鑰文件。

最后可以直接用ssh登錄鏈接了

總結(jié)
這篇是我在溯源反制中真實(shí)遇到的一個情況,舉一反三,如果是自己部署docker環(huán)境的話,切記不要使用特權(quán)模式!

