Appleex
Appleex
Published on 2023-02-13 / 118 Visits
0
1

运维 | 如何快速解决恶意进程导致CPU飙升问题

如何快速解决恶意进程导致 CPU 飙升问题

系统:CentOS 7

介绍

服务器明明没运行多少东西,却发现 CPU 已经被占满了。查看后台服务发现有未知的程序在运行,不管是重启或者手动杀死程序,隔一段时间又盘活。于是怀疑被注入了挖矿程序或脏程序,开始上网查找各种资料来解决这问题。

一些常见脏程序:xmrigdhpcdvTtHH1 等等。

使用教程

下面以 xmrig 为例

查看进程资源情况

top
# 或
top -c

可以看到名为 xmrig 进程,进程号为 2266348,CPU 飙升到 99.7%,所属用户为 test

检查端口的状态(按需)

netstat -aulntp

检查开机启动项(按需)

  • 检查 /etc/init.d/ 目录下是否有可疑程序
ll /etc/init.d/
  • 检查 /etc/rc.d/rc.local

因为 /etc/rc.local 文件是 /etc/rc.d/rc.local 文件的软链接,所以只要检查 /etc/rc.d/rc.local 文件

cat /etc/rc.d/rc.local

检查定时任务(按需)

# 查看任务
crontab -l
cat /etc/crontab

# 进入计划任务服务配置
crontab -e

使用 dd 删除计划任务,输入命令 wq! 保存并退出

查看服务进程号

若知道服务进程号,可以跳过

ps -ef | grep xmrig
ps -aux | grep xmrig # 查看进程号和位置

查看服务位置

若知道服务位置,可以跳过

ls -l /proc/2266348/exe

杀死服务进程

使用 kill 结束掉该服务

kill -9 2266348

删除服务文件

rm -rf /var/tmp/.mint-xmr/xmrig

删除服务所属用户

为避免下次在通过 test 植入挖矿、病毒、木马等程序,将 test 用户删除

userdel -r test

FAQ

若上述无法解决或反复出现,可尝试以下方式

如何按照上述方式处理后,又反复出现,这时候可以考虑是有另外的捆绑程序,我们可以先杀死进程后再查看网络情况,看看是否其它使用情况

# 查看网络
iftop -PB

# 通过PID查看进程
lsof -i :[pid]

# 定位程序目录
cd /proc/[pid]

# 比对路径
ll

按照以上操作后,再重新 kill 该服务进程

参考文献


Comment