现象:服务器cpu占用100%,但是使用top命令又找不出具体的进程,top中显示出来的进程都很正常,如下:
根据经验,很大概率是中病毒了,可能是有挖矿进程入侵服务器了,一般这种病毒的进程会隐藏,可以学习一下常见隐藏进程的办法。所以我们现在的目的主要是找出隐藏的进程。
解决办法如下:
1.挖矿程序一般会有socket链接,所以使用netstat -natp命令查看一下:
果然有异常的socket,进程id是隐藏的,并且ip比较特殊,一查ip,如下:
竟然是荷兰的,肯定是病毒创建的socket。
2.找出隐藏的进程:(参考:https://www.sohu.com/a/237795183_354899)
查看cat /etc/ld.so.preload文件内容,刚好最近有被修改过,大概率是病毒程序修改的,备份改文件,然后删除改文件rm ld.so.preload。这时候再使用top命令,隐藏的病毒进程显形了,如下:
直接kill -9即可,不过根据经验,kill了进程之后,很快又会自动启动,这种病毒一般是会通过crontab创建定时任务,定时启动的,所以,要把定时任务也关闭才行,否则没用,执行crontab -l如下:
果然有一个异常的定时任务,不知道这个kworkers程序在哪里,尝试使用ps找一下:
原来是在/root/.git/目录下(crontab定时任务执行文件的默认位置是当前目录的根目录),来到/root/.git目录看一下:
根据经验,一般会在/root目录下面创建一些文件和程序,如下:
根据时间过滤,看到果然有好几个非法文件,并且病毒进程文件dbus也在该目录下。
看了一下hideproc.sh文件的内容:
从这个文件里面也能看到一些逻辑。
3.开始处理:
(1)使用kill -9杀掉进程
cpu立马就降下来了。
(2)删除crontab定时任务
(3)删除一些相关的文件
标签:文件,cpu100%,crontab,进程,服务器,定时,隐藏,挖矿 From: https://www.cnblogs.com/ismallboy/p/17092386.html