记阿里云ECS挖矿木马Macron的排查解决过程
记阿里云ECS挖矿木马Macron的排查解决过程
0. 现象
早上朋友找到我说,他们放在阿里云上的站点无法访问了,页面提示nginx 502 Gateway错误,让我帮忙看看。
1. 排查过程
定位问题
第一反应是不是nginx哪里除了问题,因为自己本身对nginx这一块也不大熟,就先网上查了下502的原因,有说一些配置导致的、日志写满磁盘的等。
看着原因比较多,不是很清楚,于是决定先登录服务器再说。
使用finalshell登录后,很快看到CPU一直是100%的状态,于是top命令查看是那个进程一直占着CPU。
这时候就能定位到Macron这个进程了,第一反应先kill了,CPU马上降下来了。但是以作为一个程序员对病毒的粗浅理解,事情肯定不会这么简单的,果不其然,很快这个Macron进程就又冒出来了。
寻找木马Macron相关的资料
网上搜索之后,找到不多的几篇介绍,大多都是说这种类型的挖矿木马一般都是绑在一个crontab的定时任务上自定进行重启的。
在top命令中看到这个进程是由root用户启动的,于是,在root下,执行
crontab -l
看到几个定时配置,但是细看之后都排除了。
寻求帮助
自己试了较久没搞定之后,开始在平时的一些群里需求帮助,发现一说有人反映说他们也曾遇到过,问题的解决办法基本上都是crontab挂的定时,还提示我使用crontab -e来编辑root用户的配置文件,但是居然提示我权限不够,不知道是不是阿里云服务器的原因,root居然不是最高权限?(这一块我也不是很懂)
再又折腾了一阵子,在一篇文章中提到可以查看对于/usr/bin等几个文件夹下的修改日期进行查看,其命令是:
find /etc/ /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ -type f -mtime -T | xargs ls -la
把上面的T换成你要看的最近多少天的修改,这个时候才想起阿里云的风险提示,看了下时间是2月29日,于是查看进几天的修改记录,列出了一堆文件,但因为这个站点很久没有更改过了,便很容易区分当前的修改,这时候又去细看了提示信息,其实上面提到了两个文件:
到这里基本上已经确定了这两个进程就是木马文件了。
2. 解决方案
结束进程,删除文件
首先将rggizc、macron及相关的进程kill掉,然后将文件删掉,果然macron进程不会再自动起来了,说明已经OK了
3.随想
遇到这种木马文件,首先想到的是未知进程,如何定位到这个进程的方法可能比较直接的是看进程列表,然后结合文件的修改记录来确定。 想我这里用的是阿里云服务器,所以它的风险提示信息刚好给了我帮助。
另外这种木马一般是挂在定时crontab上的,大家可以注意下。
防范
一般来说这种是要么是用户密码较为简单,被SSH暴力破解导致;另外的一种就是通过服务器上的应用漏洞进行的攻击,可以考虑将无关的端口关闭,启用防火墙等措施;
删除Macron root都没权限,你有权限删除吗
可以先找到其根进程,我碰到的macron是可以删除的。
之前有网友跟我提到过可能命令被hook了,试试下过busybox,在下面进行操作。 不过我当时解决了就没有弄这一步了。