dbused把我的CPU占满了!linux服务器挖矿病毒的解决历程

dbused把我的CPU占满了!linux服务器挖矿病毒的解决历程

现象描述

今天通过密钥以普通用户tung的身份登录远程Cent OS服务器时,连接出现非常严重的卡顿,进入后发现CPU被名为dbused的进程占满了
CPU被名为dbused的进程占满了
reboot重启服务器之后,以root身份登录服务器,发现cpu是正常的。使用top命令查看,dbused并没有运行,但是时不时出现tung用户的bash进程和wget命令会运行。并没有登录tung用户,该用户的命令却时不时运行,这让我感到很奇怪。

此时登录tung用户后,dbused便立即执行并将整个CPU占满。看来dbused这个进程的启动跟用户tung的登录活动也是息息相关的

解决历程

1)解决未登录用户却有该用户的bash和wget进程执行的问题

时不时出现tung用户使用bash命令和wget命令,怀疑存在定时任务,于是通过systemctl disable crond命令,禁止开机自动启动crond,reboot重启服务器,登录root用户,此时不再会有tung用户下的进程和命令出现。

crond是定时任务服务,有关命令补充如下:
systemctl start   crond    #启动服务
systemctl stop    crond    #关闭服务
systemctl restart crond    #重启服务
systemctl reload  crond    #重新载入配置
systemctl status  crond    #查看crontab服务状态
systemctl enable  crond    #开启开机自动启动
systemctl disable crond    #禁止开机自动启动

进入到定时任务的文件夹/var/spool/cron/下,发现确实存在一个tung用户的定时任务,于是乎将其删除。
在这里插入图片描述

2)解决一登录特定用户就会启动dbused并占满CPU的问题

只要一登陆tung用户,就会自动执行dbused,并把cpu占满,使用kill -9 <病毒PID>杀死之后就正常了,但下次再启动仍会执行。
CPU被名为dbused的进程占满了
这说明这一病毒的启动与用户的登录行为相关,查看/home/tung/.bash_profile文件发现了下面这一行异常代码:
在这里插入图片描述
在我之前的尝试中,曾定位到该进程的文件位置/tmp/dbused,但我却没有在/tmp/里找到它,现在清楚了原因:这一行命令首先将/tmp/.pwn/bprofr复制到/tmp/dbused,然后执行并将其删除掉了。也就是说,源头其实在这个隐藏文件夹下。

于是我将/tmp/.pwn/bprofr文件下载下来,并上传到 virustotal 上。嗯,是病毒软件实锤了。
在这里插入图片描述
将其删除并修改.bash_profile文件后,再重新登录该用户后就没有异常了。

现在又重新开启定时任务服务systemctl enable crond ,reboot重启之后也没有什么异常出现了。

总结

  1. 出现一些进程不该启动时却时不时启动,应当怀疑可能存在异常的定时任务,检查/var/spool/cron/目录。
  2. 特定用户登录时就自动执行的病毒,可以检查一下该用户目录下的.bash_profile文件是否异常。
  3. 通过各种方法定位到病毒文件的位置后,将其删除。

疑惑

这已经是服务器第二次遭遇挖矿病毒了,第一次遭遇的是kdevtmpfsi 病毒,当时还很单纯,服务器采用密码登录,估计密码被暴力破解了。在那之后改用仅限密钥登录了,服务器安稳过了一个月。但不知道为什么仍然遭到了病毒的攻击,可能是一些开放端口存在漏洞吧。

清理该病毒的过程中查阅了很多资料,这篇文章给我提供了比较大的帮助: 阿里云服务器挖矿程序解决流程

猜你喜欢

转载自blog.csdn.net/gitTung/article/details/114147445