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

现象描述

今天通过密钥以普通用户tung的身份登录远程Cent OS服务器时,连接出现非常严重的卡顿,进入后发现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>杀死之后就正常了,但下次再启动仍会执行。

这说明这一病毒的启动与用户的登录行为相关,查看/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 病毒,当时还很单纯,服务器采用密码登录,估计密码被暴力破解了。在那之后改用仅限密钥登录了,服务器安稳过了一个月。但不知道为什么仍然遭到了病毒的攻击,可能是一些开放端口存在漏洞吧。

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

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

  1. linux服务器怎么查看cpu配置信息,linux服务器cpu信息查看详解

    在linux系统中,提供了/proc目录下文件,显示系统的软硬件信息.如果想了解系统中CPU的提供商和相关配置信息,则可以查/proc/cpuinfo.但是此文件输出项较多,不易理解.例如我们想获取, ...

  2. tomcat服务器cpu占用率居高不下的原因分析及解决

    tomcat服务器cpu占用率居高不下的原因分析及解决 偶遇服务器cpu飙升,过段时间后正常,反反复复 获取cpu占用高的java进程运行中的堆栈信息 偶遇服务器cpu飙升,过段时间后正常,反反复复 ...

  3. linux服务器中病毒后的清除处理

    linux服务器中病毒后的清除处理 之前看到公司同事在部署服务器的时候,发现中了挖矿病毒,很是恼火.因为我平时很少接触服务器,一般都是部署项目,配置域名就完事.所以遇到这种情况,只能在一旁看着干着急. ...

  4. linux服务器time wait,Linux服务器TIME_WAIT进程的解决与原因

    linux服务器上tcp有大量time_wait状态的解决方法和原因解释 毫无疑问,TCP中有关网络编程最不容易理解的是它的TIME_WAIT状态,TIME_WAIT状态存在于主动关闭socket连接 ...

  5. python自定义包或模块在Linux服务器导入错误的解决办法

    python自定义包或模块在Linux服务器导入错误的解决办法 在本地机器上跑python代码,自己定义的文件进行导包运行是没有问题,但是放到linux服务器上的时候就会提示 ImportError: ...

  6. Redis导致Linux服务器中病毒、成肉鸡了。

    前段时间,我们Linux服务器中病毒了,变成别人的肉鸡,不停的在攻击其他服务器. 根据我的调查发现,这台服务器不停的在攻击同网段的其他服务器. 根据判断,得出应该有个进程或者JOB在执行,后来发现是l ...

  7. 记几次被恶意挖矿程序占满linux服务器cpu的经历

    过程一: 1. 发现cup爆满 当我部署项目时启动不了,tomcat启动不了,然后我发现cup爆满,然后查看用top查看进程 然后我再查看pstree进程树 2.杀死进程 kill -9  pid 杀 ...

  8. Linux环境下程序的多核CPU占用率高的问题分析和解决

    1.项目问题 前端PDC双目倾斜相机客流统计项目中排查平台服务程序延时大的问题时,平台demo程序测试发现多核cpu中的某个核的占用率达到100%,导致组件中的目标检测线程和客流统计线程的单帧耗时达不 ...

  9. linux cpu负载巡检,linux服务器巡检报告.doc

    Linux服务器巡检 设备 Power Edge 硬件配置信息 机型号 Power Edge R710 CPU 4颗 Intel? Xeon? CPU E5520 @ 2.27GHz 内存 16G 硬 ...

最新文章

  1. WebWorker与WebSocket实现前端消息总线
  2. 【转】匈牙利命名法(Hungarian Notation)
  3. 2020\Simulation_2\3.单词重排
  4. 将社交登录添加到Spring MVC Web应用程序:注册和登录
  5. object中的toString方法
  6. 15 —— npm —— package.json 与 package-lock.json 的作用
  7. 解决mysql5数据库连接超时问题
  8. 从日志中截取某个时间段的日志分析
  9. 1.自编码器(keras+mnist)
  10. 高等数学解题常用公式笔记总结
  11. 网易有道java面试题,网易有道研发类笔试题
  12. matlab误差平方和
  13. 从外包测试到阿里巴巴,一位三本女生逆袭之路
  14. win10改win7 bios设置方法
  15. 统计参数语音合成中的声学模型建模方法研究
  16. 丽台显卡测试软件,领先A卡62% 丽台7系显卡对比测试
  17. SpringBoot的热布署和多环境配置(四)
  18. linux 儒略日时间计算,儒略日(儒略日 在线计算器)
  19. 美的智能家电搭载华为鸿蒙系统产品将大批量上市;蔡天乐将出任麦德龙中国总裁 | 美通企业日报...
  20. 哈夫曼树 (100分)哈夫曼树

热门文章

  1. 华为回应俄罗斯公司测试鸿蒙系统;​小米辞退不能胜任工作员工终审败诉;Ubuntu有了滚动发行版|极客头条
  2. 操作系统期末总复习(4)——分析题【常考8道】
  3. 计算机网络实验-实验四 无线网络的设计
  4. 全明星助阵 CGU2017七彩虹游戏联盟盛典看点大揭秘!
  5. 经典的设计模式14——命令模式
  6. Ubuntu linux 手动编译安装 Realtek 8852 无线网卡驱动 非常简单 添加Manjaro教程
  7. DoS攻击和DDoS攻击
  8. python listnode(0)_Python,XML AttributeError:’NodeList’对象没有属性’firstChild’
  9. 在线图像扫描技术解决方法
  10. c# 模拟 网页实现12306登陆、自动刷票、自动抢票完全篇(转)