ClamAV+Falco,助你高效检测挖矿Docker
2019-08-22 12:53:46 Author: www.secpulse.com(查看原文) 阅读量:206 收藏

近日,深信服安全团队接到客户反馈,发现虚拟机的连接session数突增,很不正常,担心造成网络的拥堵,需要进行排查。

图片1.png 

远程到问题主机上,发现进程中有许多xmrig进程,这就说明问题了:主机运行了挖矿进程,所以导致主机的session数过高。

图片2.png

那么按照惯例,接下来就是杀进程删文件排查有无定时任务之类的,但是,这些挖矿进程的父进程都是docker,这就奇怪了,难道这些docker有问题?

百度了一通,发现还真有利用docker挖矿的先例,有些黑客故意将挖矿程序打包成一个恶意镜像,上传到docker hub中,当用户pull下来运行使用时,挖矿进程就在背后偷偷的挖矿。

图片3.png

查看该主机的docker镜像,原来挖矿的镜像为patsissons/xmrig,且在8天前就在运行了。

图片4.png

进去这个docker里面,发现其中只有一个xmrig进程,那么可以推断该镜像就是单纯的一个xmrig挖矿镜像。

图片5.png 

看了下黑客的钱包地址,收益也不是挺可观,截至目前才获得1个门罗币。

图片6.png 

通过在github上搜索,得知这是一个开源的镜像,其目的就是方便大家使用docker进行挖矿,本身并没有恶意。问了客户,这些xmrig容器都不是他们自己启动的,

但是查看历史命令,也没发现启动容器的恶意命令,应该是黑客入侵主机创建完容器后,将历史命令给删除了。

图片7.png

本地试了下这个xmrig镜像,搭建及其简单方便。

图片8.png 

运行时带上钱包地址,就可以开始挖矿了。

图片9.png 

高效检测挖矿Docker

说了那么多,那么该怎么检测这些恶意的docker呢?恶意的文件被打包在镜像中,杀软并不能直接扫描其中的恶意文件。

接下来,就简单地从静态扫描和动态监控来讲解下如何检测docker下的恶意软件。

 clamscan静态扫描

静态扫描其实也很好实现,杀软不是不能直接扫描镜像中的文件吗?那只要每下载一个镜像,就将其解压出来再扫描不就行了,下面,就通过命令演示将镜像解压到xmrig文件夹。

图片10.png

然后再使用杀软clamscan扫描该文件夹,就能检测出其中的恶意文件啦!杀软检测出了layer.tar中存在一个Coinminer病毒,这个layer.tar其实对应的就是docker环境中的/usr/local/bin文件夹,xmrig就在这个路径下。

图片11.png

Falco动态监控

从以上步骤可见静态扫描还是挺繁琐的,下面就来介绍下动态监控的方法。

使用Falco工具实现动态监控,首先需要在falco_rules.local.yaml中添加两条规则,分别用来检测命令行有无”xmr”和检测有无挖矿的连接端口。当然,你也可以DIY自己的规则来监控挖矿类进程,比如定义CPU占用率之类的。

图片12.png

修改完后,在falco.yaml中注释掉其他官方的规则文件,保留刚刚编写的falco_rules.local.yaml。

图片13.png

运行falco,它就会一直挂着监控系统,一旦运行了恶意的docker(以上述xmrig为例),falco就会报警,发现了恶意挖矿进程,进程名为xmrig,连接的挖矿端口为5555,对应的容器id为57427e71f27f。

图片14.png 

写在后面

docker已经被广泛应用于生产环境中,docker hub也有提供第三方的镜像供,但是,在方便快捷的同时,也要小心你拖下来的镜像暗藏玄机。建议刚拖下来的镜像不要急着运行,先检测该镜像是否安全,避免受到安全威胁。


文章来源: https://www.secpulse.com/archives/111016.html
如有侵权请联系:admin#unsafe.sh