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