早期乌云等各大安全平台暴出,Docker虚拟化端口远程利用漏洞。通过实践发现确实可以。以下记录为过程

0x00 还原

通过扫描,我们找到了一些主机,下面是其中一台运行了docker 主机的服务器,并且开了ssh 端口。
QQ截图20190220145742.jpg

知道了22端口后,我们后面会利用此端口来使用root免密码登陆该主机。

0x00 远程利用

扫描目标地址是否打开2375端口。

利用命令:

docker -H 192.168.1.1:2375 ps -a
790056-20160525132413897-1436695408.jpg
看到上面的信息后,我们就知道,可以管理该主机上的docker 容器了,启动、停止、创建、下载镜像、甚至删除上面的容器。
可对容器进行操控。

0x02 获取root权限

容器都是和物理机隔离的,那怎么利用它来进入到真实机呢?

我们先在自己的linux 机器中生成一个密钥对,将此公钥注入到远程docker server 主机的 文件中,进行免密码登陆的。

123.jpg

公钥里的内容

[[email protected] ~]# cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1SVCT50t/2GG6tdRb39dyH+Dng9pfOif1AZNaluEaRfiy9SHCnwKhSFRGSVOdpY1rdeR6lDl9r/VCr028IW+UH019O8oEaPE1q0oEK7+sUXNBlRk54deFhlUGszisY0x2XcDwskQIzc3NwivoZeUOsboDRhuC6Rd4W/6a3usUtLWBkhuyzJnanGzMVEyS3KWCD4EHlALb7nW9Tb3p2WfDf9tgtanJ6kJiVz7tMMsAdethtEmkEuoTFdnQ/FVGjgePUuIIOxbFRP077scu3fFfeKr3wthmeuR/Mnb6J85EychO8Fg+JY48V6P0PLwCleImJ5BNDr4mEdnKNsHOWuE1 [email protected]

下面进入到docker 容器中,并复制刚刚生成的公钥文件到剪贴板中,追加到文件中,如下

456.jpg

现在也许你知道,后面是什么了,没错,这台运行着docker 服务的物理主机已经沦陷了。我们尝试登陆下

789.jpg

三、后记

  关于端口漏洞的,类似的还有前段时间的redis,现在是docker。端口无故的对外开放,本身就是一种风险。而且是无关的端口。此次的2375是有 docker swarm 远程api 开放的。完全可以对外禁止访问该端口。如此简单的就被我这样的小白给利用了,而且还拿到了root 权限。

  本文章旨在提示各大公司的领导,运维人员,及公司开发人员。注重服务器的安全,不重要的端口尽量对内网开放。快去检查你们的docker 服务器吧(放在公网的,内网的就算了)。

  几大提示:

  1.利用系统iptables 禁止任务主机访问2375,或者只允许公司内部访问.

  2.检查系统有没有其它无关业务的端口,禁止

  3.系统禁止root 直接登陆。可以利用普通用户登录后,用su切换。

  4.东西虽然新,但是不安全因素也会增加。所以还需要多测试呀。

  5.关注系统登录日志安全。进去了很多台主机,这么长时间了,现在还可以登陆,说明了什么?

本文转载于 cnblog 昵称:飞走不可

标签: none

添加新评论