Docker Remote API 越权漏洞
前些日子,由于公司安全检测,扫出了我一台虚机有高危漏洞。
但是,这个目标机器吧,被我改了SSH
配置(/etc/ssh/sshd_config),已经无法登录:
UsePAM no # 默认配置为 yes,表示是否允许 PAM 验证,关闭后,ssh无法登录
所以说,漏洞基本无法修复。那这个漏洞是什么呢,公司内部叫做 Docker Remote API 未验证
。
究竟要说些什么?
我发现通过这个漏洞,可以越权获取 Docker 所在宿主机的 Docker 拥有的最高权限。
简单来说,如果 Docker
的启动用户组为 root
, 则我可以获取 root
权限。
远程 RemoteAPI 端口
Docker 启动后可以指定除了本地 unix.socket
以外,还可以指定监听 IP:端口
。该端口可以认为完全等效于 unix.socket
。
我们都知道,Docker cli
本质上是通过本地网络请求实现与 Dockerd
通信的,因此借助该端口,我们可以在宿主机之外调用 Docker
。
怎么使用 RemoteAPI 端口
加入目标 Docker 宿主