MinaMiGo
永遠の夏
Koizumi's Blog

记一次服务器被植入挖矿病毒的经历(弃坑)

一、前言

养成良好习惯,ssh端口不轻易对外开放,使用防火墙只放行需要的IP。使用非标端口,使用强口令并定期更换,最好是使用密钥。

二、正文

0.环境

系统:CentOS 7

1.发现问题

我自己使用的是Finalshell(不是打广告,请Finalshell作者看到后立马给我打钱(((

在连接主机后能清晰地看到机器的大况

https://blog.minamigo.moe/wp-content/uploads/2020/06/截屏2020-06-09-09.38.31.png

可以看到cpu是一直被吃满的,然后有名为supervisorctl的进程吃满了cpu。

我们不能排出可能是显示的错误,那我们使用top命令看一下用户进程概况,再按shift+p以cpu占用率进行排序。

https://blog.minamigo.moe/wp-content/uploads/2020/06/截屏2020-06-09-09.42.30.png

实锤了,确定是这几个进程吃满了cpu。

那么我们怎么定位

2.定位文件

我们可以使用这个命令定位文件

但是很快我就发现这样子行不通,为什么呢?因为top命令会实时刷新,我发现这几个进程不仅会不断变换PID还会换名

https://blog.minamigo.moe/wp-content/uploads/2020/06/截屏2020-06-09-09.49.11.png

到这个地方,我们基本可以确认这是一个病毒,还极有可能是挖矿病毒。

3.检查crontab

既然我们无法按照不同方法定位到文件,那我们何不换一种思路?通常情况下这种挖矿病毒都会有守护进程,以及防杀,那就需要定时执行一个任务来判断病毒是否被杀,如果被杀就生成新的病毒。那我们就考虑从守护进程上下手,以及定时任务crontab。

使用这个命令,修改crontab

https://blog.minamigo.moe/wp-content/uploads/2020/06/截屏2020-06-09-09.56.36.png

4.杀病毒脚本

可以百分之114514确定这是一个病毒了,因为在这台机器上我并没有装过mysql。我们把这两个文件弄下来,用www.virustotal.com查杀病毒。

https://blog.minamigo.moe/wp-content/uploads/2020/06/截屏2020-06-09-09.59.50.png

我们可以看到这个sh文件是一个挖矿病毒,挖比特币的。0202年了,怎么还有人在挖比特币啊。反正不是自己的机器,所以就随便挖(

那我们cd到这个路径,先把这两个文件都删掉。然后提示以下错误。

老问题了,无非就是chattr更改了文件属性,我们看看改了什么属性

这病毒还把我的chattr和lsattr给弄没了,不过这也问题不大,我们装回来就是了

我们再看看改了什么属性

然后我们再次执行命令,把i属性去掉就可以删除了

这次我们就成功把这两个文件干掉了。

WARNING:在这里我查杀mysql文件时没有发现病毒,但是我没有安装过mysql,而且定时任务执行的就是这个文件,就也当病毒处理了,如果你的机器安装了mysql,请谨慎操作!建议先提前备份数据库然后再进行操作!

5.恢复crontab

我们再把crontab给清除干净。

不允许修改/var/spool/cron/root,应该也是文件属性的问题,我们cd到/var/spool/cron/,再看看改了什么属性

我们可以看到这个病毒给cron文件添加了i和a属性,只去掉任意一个属性都会无法修改,那我们把这两个属性都去掉就好了

然后我们再crontab -e,这时就能正常修改了

6.查杀守护进程和病毒

我这边有两台机器都中了同一个病毒,在另一台机器上使用Finalshell的进程查看功能,看到了一个python进程正在运行supervisord,我们使用ps命令再grep过滤一下

基本可以确认这个是病毒的守护进程了。因为我没对病毒样本进行逆向,只能大概猜到这个病毒的工作流程是:crontab定时执行任务,拉起守护进程,守护进程再拉起挖矿进程。

我们看看/etc/.supervisor/supervisord.conf里面有什么内容

可以看到这里又指向了另一个配置文件,在/etc/.supervisor/conf.d/下发现了一个123.conf,然后打开来看到以下内容

到这里就实锤了,我们把几个配置删了(也有i属性,需要先去除i属性),进程杀了,再到/usr/lib/python2.7/site-packages下把supervisor删了。

然后ps -aux看到一直在调用/usr/bin/supervisorctrl和/usr/bin/supervisord,也删了。

6.查找后门

在/root/.ssh下发现了来源不明的密钥,病毒作者确保自己能连上服务器添加的,删。

7.弃坑

不反编译就这么无厘头找一个病毒真的挺难的,到了后面找不到占用cpu高的程序了,等有时间了反编译一下再看看是什么回事。暂且先把系统重装了恢复了服务程序。

本篇文章链接:https://blog.minamigo.moe/archives/146
转载请注明出处!日常分类下的文章禁止转载。
没有标签
首页      编程      linux      记一次服务器被植入挖矿病毒的经历(弃坑)

MinaMiGo

文章作者

发表回复

textsms
account_circle
email

  • 陈小生

    “上一篇: Ubuntu 启用root用户并允许远程登录”

    5 年前 回复

Koizumi's Blog

记一次服务器被植入挖矿病毒的经历(弃坑)
一、前言 养成良好习惯,ssh端口不轻易对外开放,使用防火墙只放行需要的IP。使用非标端口,使用强口令并定期更换,最好是使用密钥。 二、正文 0.环境 系统:CentOS 7 1.发现问题 …
扫描二维码继续阅读
2020-06-09