如何使用Gorsair入侵遠(yuǎn)程Docker容器并暴露API
關(guān)于Gorsair
Gorsair是一款功能強大的針對Docker容器的滲透測試工具,可以幫助廣大研究人員入侵易受攻擊的Docker容器,并發(fā)現(xiàn)和訪問目標(biāo)Docker容器的API。一旦它訪問了目標(biāo)Docker守護(hù)進(jìn)程,就可以使用Gorsair直接在遠(yuǎn)程容器上執(zhí)行命令。
眾所周知,在外網(wǎng)上暴露或公開Docker API是一種非常危險的行為,因為這樣可以允許惡意代理獲取所有其他容器、映像和系統(tǒng)的信息。如果映像使用的是root用戶,還可能允許攻擊者獲得針對整個系統(tǒng)的高級訪問權(quán)限。
工具安裝
(1) 發(fā)布版本安裝
首先,我們需要設(shè)置好需要安裝的Gorsair發(fā)行版的“GORSAIR_VERSION”版本號信息。
接下來,設(shè)置對應(yīng)操作系統(tǒng)的“OS”操作系統(tǒng)信息(linux、windows或darwin)。
組后,設(shè)置對應(yīng)的系統(tǒng)架構(gòu)“ARCH”(amd64、arm或ppc64le)。
配置好上述內(nèi)容之后,我們就可以運行下列命令來安裝Gorsair:
- curl -sS https://github.com/Ullaakut/Gorsair/releases/download/$GORSAIR_VERSION/gorsair_$OS_$ARCH --output /usr/local/bin/gorsair && chmod +x /usr/local/bin/gorsair
(2) 從代碼源安裝
首先,確保已經(jīng)安裝好了支持所有工具模塊的Go版本(v1.11及以上版本)。
其次,確保系統(tǒng)環(huán)境變量中已經(jīng)將“GO111MODULE”變量設(shè)置為了“on”。
接下來,使用下列命令將該項目源碼克隆至本地,并在項目根目錄下運行構(gòu)建語句:
- git clone https://github.com/Ullaakut/Gorsair.git
- go build -o /usr/local/bin/gorsair cmd/*.go
命令行參數(shù)
- -t, --targets: 根據(jù)nmap目標(biāo)格式設(shè)置目標(biāo),樣例:--targets="192.168.1.72,192.168.1.74";
- -p, --ports: (默認(rèn): 2375,2376) 設(shè)置自定義端口;
- -s, --speed: (默認(rèn): 4) 設(shè)置自定義nmap查找預(yù)設(shè)以提高速度或準(zhǔn)確性。如果你試圖掃描一個不穩(wěn)定且速度緩慢的網(wǎng)絡(luò),建議降低該值;如果在一個性能非常好且可靠的網(wǎng)絡(luò)上,建議增加該值;
- -D, --decoys: 要使用的誘餌IP地址列表
- -e, --interface: 需要使用的網(wǎng)絡(luò)接口
- --proxies:需要使用的HTTP/SOCKS4代理列表
- -S, --spoof-ip: IP地址欺騙所使用的IP地址;
- --spoof-mac: MAC地址欺騙所使用的MAC地址;
- -v, --verbose: 啟用Verbose日志模式;
- -h, --help: 顯示工具實使用信息;
工具使用演示
如何保護(hù)自己的容器免受此類攻擊
- 避免將可訪問Docker套接字的容器暴露在外網(wǎng)中。
- 避免在Docker容器中使用root賬號。
項目地址
Gorsair:【GitHub傳送門】