Linux 遭入侵,挖礦進程被隱藏排查記錄
今天來給大家分享下這兩天遇到的一個問題,服務器被挖礦了,把我的排查記錄分享下,希望能幫到有需要的同學。
問題原因
多臺服務器持續告警CPU過高,服務器為K8s的應用節點,正常情況下CPU使用率都挺低的,通過排查是原因是被挖礦了,下面為定位過程
定位過程
登陸問題主機10.92.0.X,通過執行top命令查看資源使用情況如下
cpu使用率基本跑滿(用戶態),沒有發現可疑的進程,初步懷疑可能是進程在哪裏隱藏了
執行命令ps -aux --sort=-pcpu|head -10
嗯哼,藏得夠深的,可還是被揪出來啦
這個eta可能是起的一個守護進程,用於喚起上面圈起來的python進程,
這個腳本的用途是,鏈接遠程服務"http://g.upxmr.com:999/version.txt",並下載 寫入到本地隱藏文件/tmp/.x,然後執行
註意:這個執行文件會修改服務器的一些配置,如dns,hosts,定時任務,創建可執行文件
查看dns
果然dns被修改了
查看定時任務
一般情況使用crontab -l是看不到的,需要查看/etc/crontab,
發現定時任務被加入了一條
0 /8 * * root /usr/lib/libiacpkmn.so.3
根據定時任務中的可疑文件所在路徑/usr/lib/libiacpkmn.so.3,
排查中發現/etc/rc.d/init.d/,/usr/bin/存在可執行文件nfstruncate,
在rc0.d-rc6.d目錄下都存在S01nfstruncate文件,可能是自啟動文件
現在排查的很明朗了,接下來著手清理工作
1. 阻斷挖礦程序鏈接外網服務(很重要)
在/etc/hosts裏增加一條
127.0.0.1?g.upxmr.com
阻斷挖礦程序鏈接外網下載可執行文件,不加了的話幹掉服務又會起來(除非把服務器網斷了)
2. 幹掉可疑程序“ata”進程
[root@dtdream-common-prod-nginx-03 ~]# kill -9 70497
再次查看發現cpu使用率降下來了,挖礦程序也沒啟動了。
3. 刪除定時任務及文件
根據上面定時任務截圖,需要徹底刪除該腳本文件 /usr/lib/libiacpkmn.so.3 。
執行
[root@dtdream-common-prod-nginx-03 ~]#rm -rf /usr/lib/libiacpkmn.so.3
結果顯示刪除文件沒權限,很奇怪,使用
[root@dtdream-common-prod-nginx-03 ~]#lsattr /usr/lib/libiacpkmn.so.3
發現文件被鎖住了,很好解決,解鎖再刪就行了。
[root@dtdream-common-prod-nginx-03 ~]#chattr -i /usr/lib/libiacpkmn.so.3[root@dtdream-common-prod-nginx-03 ~]#rm -rf /usr/lib/libiacpkmn.so.3
刪除nfstruncate
[root@dtdream-common-prod-nginx-03 ~]#chattr -i /usr/bin/nfstruncate[root@dtdream-common-prod-nginx-03 ~]#rm -rf /usr/bin/nfstruncate[root@dtdream-common-prod-nginx-03 ~]#chattr -i /etc/init.d/nfstruncate[root@dtdream-common-prod-nginx-03 ~]#rm -rf /etc/init.d/nfstruncate
刪除軟連
[root@dtdream-common-prod-nginx-03?~]# find / -name "S01nfs*"/etc/rc.d/rc1.d/S01nfstruncate/etc/rc.d/rc2.d/S01nfstruncate/etc/rc.d/rc4.d/S01nfstruncate/etc/rc.d/rc3.d/S01nfstruncate/etc/rc.d/rc6.d/S01nfstruncate/etc/rc.d/rc5.d/S01nfstruncate/etc/rc.d/rc0.d/S01nfstruncate[root@dtdream-common-prod-nginx-03?~]#find / -name "S01nfs*"|xargs rm -f
操作完之後, 長時間觀察CPU無再升高
結論:問題是初步解決了,但是根源還沒找到,因為我們的服務都是部署在內網的,挖礦程序是從哪個入口侵入的還有待排查
這次分享希望對也中挖礦程序的同學,?提供一些排查思路
往期文章一覽
1、Kubernetes集群搭建之系統初始化配置篇
2、Kubernetes集群搭建之企業級環境中基於Harbor搭建自己的私有倉庫
3、Kubernetes集群搭建之Etcd集群配置篇
4、Kubernetes集群搭建之CNI-Flanneld部署篇
5、Kubernetes集群搭建之Master配置篇
6、Kubernetes系列之Coredns and Dashboard介紹篇
END
如果您覺得不錯,請別忘了轉發、分享、點贊讓更多的人去學習, 您的舉手之勞,就是對小編最好的支持,非常感謝!
Linux 遭入侵,挖礦進程被隱藏排查記錄