Docker Remote API 未授权访问导致挖矿病毒入侵

编程入门 行业动态 更新时间:2024-10-28 17:23:23

Docker Remote API 未授权访问导致<a href=https://www.elefans.com/category/jswz/34/1739651.html style=挖矿病毒入侵"/>

Docker Remote API 未授权访问导致挖矿病毒入侵

运维同事反映一台阿里云测试机,反映很慢,除了跑一些docker容器,没有其他服务。

ps -ef查看当前进程,发现存在多个cryptonight加密货币的挖矿进程,分别为proc, thisxxs, xmrig:

对这些进程的所在路径进行排查,使用lsof工具查看它们打开的文件:进程所使用的文件都已经找不到,初步判断是被删除。

换个思路(中间尝试过各种假设)扫描该服务器,发现开放了2375端口,说明开放了Docker swarm编排工具WEB接口服务。外网尝试通过浏览器直接访问 API ,查看容器信息,表明存在未授权访问漏洞。

Docker Remote API未授权访问漏洞 :使用 docker swarm管理的  docker 节点上开放一个 TCP端口 2375 ,绑定 IP 为: 0.0.0.0, 且暴露在公网上。导致可以远程管理该主机的 docker 容器,启动、停止创建下载 镜像甚至删除上面的容器。

未授权查看所有容器:

通过 API 拉取镜像、开启一个容器后,虽然 docker 执行命令只能在container内部, 与宿主机是隔离的。但 docker 运行 container的时候,可以将宿主机文件或目录作为 volume olumeolume挂载到 container内,并且在 container内部对这些文件进行修改。比如 /tmp/. ssh , 然后修改 /tmp/. ssh /authorized_keys 文件,把自己的 public key写进去,修改权限为 600 。

后面就可以通过 ssh 直借连接宿主机:

确认第二条key是恶意添加的:

挖矿容器:

查看挖矿容器内容:

这是一个简单的xmrig矿机和相关的运行工具。查看bash历史记录相关内容:

注意到其中有很多看上去像是手工的删除清理docker容器的操作,具有明显的恶意特征,询问同事得知这些操作不是内部人员所为。由monero-miner容器可以推断docker存在API允许未授权使用且暴露在公网。以下是docker远程代码执行漏洞的exploit代码节选(),使用了暴露在公网的docker api,http 2375端口

总结:

1、挖矿容器可以直接删除,但不保证宿主机还存在其他恶意文件,由于是测试机所以直接重装了系统。

2、未正确使用 swarm,使Docker Remote API暴露在外网(2375端口)。禁止外访问或者设置白名单。如果只在内网访问,对于已经渗透进内网的攻击者,端口仍然处可以直接访问的状态,因此内网使用需设置严格的访问规则(白名单),甚至配TLSTLS 。

3、利用漏洞部署挖矿程序或DDoS木马,其中有挖矿木马未尝试逃出docker容器,而是直接在新建容器里挖矿。

关于Docker Remote API未授权访问漏洞可访问绿盟的公告:

/

更多推荐

Docker Remote API 未授权访问导致挖矿病毒入侵

本文发布于:2024-03-23 15:14:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1739649.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:挖矿   病毒   Docker   Remote   API

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!