Docker容器挖矿应急实例
创始人
2025-07-01 00:30:53
0

01、概述

很多开源组件封装成容器镜像进行容器化部署在提高应用部署效率和管理便捷性的同时,也带来了一些安全挑战。一旦开源系统出现安全漏洞,基于资产测绘就很容易关联到开源组件,可能导致被批量利用。

在本文中,我们将分享一个真实的Docker容器应急实例,涉及到基于开源组件漏洞披露的前后时间段内,容器遭遇挖矿程序植入的情况。我们将深入分析排查过程,还原入侵的步骤和手段,帮助读者了解应对挖矿程序入侵的实际应急操作。

02、分析排查

(1)使用top命令查看,发现kdevtmpfsi进程异常,CPU占用率199%。

图片图片

(2)通过进程PID和USER查看进程信息,通过进程链定位到进程所在容器的进程PID。

图片图片

(3)通过进程PID查找对应容器名称,容器名:metabase。

图片

(4)使用docker top 查看容器中的进程信息,找到到容器内异常进程。如下图:异常进程kdevtmpfsi(PID:5613)对应的父进程为JAVA进程(PID:2301)。据此,可初步判断,java应用被入侵,导致容器被植入挖矿木马。

图片图片

03、溯源分析

(1)使用docker logs查看容器日志,并通过异常信息定义到漏洞触发的位置。如下图:通过POST提交请求,使用wget和curl命令下载挖矿脚本并执行。

docker logs metabase

图片

(2)查看运行的容器对应的镜像版本,对应的镜像为:metabase:v0.46.4

图片

(3)通过日志信息和镜像版本,可进一步关联近段时间的威胁情报:开源BI分析工具 Metabase 中存在远程代码执行漏洞。

图片图片

(4)漏洞复现,通过exp成功执行命令,确认当前使用镜像存在远程命令执行漏洞。

图片图片

综上,攻击者通过利用metabase 远程命令执行漏洞对暴露在外网上的服务进行攻击并下载并执行挖矿程序。

04、解决问题

(1)保留入侵痕迹,使用docker commit保存为镜像,可作为demo,用于检测容器安全产品的能力或其他用途。

docker commit -m "CoinMiner"  -a "bypass"  b4536a12a341  bypass007/miner:1.0

图片

(2)使用docker diff命令查看容器内文件状态变化,通过容器内文件的变化,可以简单地窥探攻击者入侵容器的蛛丝马迹,做了什么操作,改了哪些系统文件。

docker diff metabase

图片图片

(3)通过对shell脚本文件和挖矿样本进行分析,可以了解到更详细的行为。部分截图如下:

图片图片

(4)在容器环境里,容器被入侵的清理比较简单,不用着急去清理容器内的挖矿或是后门,直接删除容器即可。比较重要的是,根据定位的漏洞问题进行修复,重构容器镜像。在这里,我们可以将metabase镜像升级到官方提供的最新修复版本,就可以完成本次容器应用漏洞应急的处置。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...