因為我在工作的時候被各種挖礦病毒搞過幾次,所以在這里整理下我遇到的病毒以及大神們的解決方案。
服務器中挖礦病毒后,最基本的一個特征就是CPU使用率瞬間飆升,此時可以通過top命令進行查看,確認是否有異常進程,當然有一些挖礦病毒稍微高級一些,比如pamdicks,它的進程是隱藏的,通過unhide命令或者使用sysdig命令可以查看。
挖礦病毒的特點:
1、文件/定時任務刪除失敗-------------------文件只讀屬性保護
2、文件/定時任務刪完又出現-----------------系統文件替換/下載進程殘留
3、病毒進程剛剛刪完又被拉起---------------惡意進程守護
4、主機嚴重卡頓但找不到挖礦進程-----------系統命令劫持
5、主機殺干凈后一段時間又出現病毒---------ssh&漏洞再次入侵
當服務器中挖礦病毒后,很有可能系統命令被黑客替換,導致執行某系統命令時,有可能執行被黑客注入到服務器的惡意程序,所以服務器上最好提前安裝個busybox。
1、 pnscan
比較有名的挖礦蠕蟲病毒,攻擊手段為通過redis感染服務器,如果redis的端口為默認的6379且暴露在公網上,且沒有設置客戶端連接密碼認證,很容易感染,這個病毒是分級別的,好在我遇到的是比較簡單的,解決方法如下
(1)首先通過busybox top查看pnscan的路徑,
(2)刪除pnscan,可能文件是只讀的,不能被刪除,需要通過busybox lsattr 文件名查看文件的屬性,一般屬性是-a或者-i,然后執行busybox chattr –a/-i 文件名更改文件屬性后即可刪除
(3)殺掉pnscan相關進程
2、rshim
挖礦病毒的一種,常見於以root用戶啟動redis服務,並且redis使用默認端口,導致6379端口被攻擊。解決方法跟pnscan差不多,在查找文件和進程的時候,發現由hilde用戶執行,在home目錄下多了個hilde目錄,里面創建了免密登錄的公鑰,需要hilde整個目錄刪除,之后執行userdel –r hilde刪除該用戶
圖片沒截全,簡單看看就行
3、[scan]
這個具體不清楚是什么病毒,看網上說也是通過redis進行攻擊的,本次cpu占滿也是因為這個進程,解決方案跟上面相似,也是先查路徑,再刪文件,再殺進程。通過查看它的文件,我們可以看到如下圖所示的代碼。
通過它的腳本看到redis-cli –h….相關的代碼,查看進程發現果然多了一個redis-cli的進程。具體是什么作用,這里不做研究,只知道要把腳本刪掉,把這個進程殺掉就可以了。
然后我在查看磁盤空間的時候,發現根目錄磁盤使用情況不太正常,推測應該是被腳本惡意生成了隱藏文件,我進入到根目錄下ls –a查看,發現多出了很多如下圖所示的文件。
都是.r.*這種格式的文件,查了一下發現這種文件有四萬多個,果斷刪掉,把這些文件刪掉后,再查看磁盤使用情況,已經正常了。
4、pamdicks
這是我之前工作就遇到過的挖礦木馬,也是第一個遇到的,當時沒什么經驗,弄到很晚,這里有朋友圈為證
可以看出來啊,這個木馬特別的猛啊,8核的cpu瞬間干滿,不斷啟動pamdicks進程,服務器不斷重啟,操作起來特別卡。解決方案就是刪除原文件,並創建一個頂包空文件,然后使用系統chattr對其進行鎖定禁止修改。命令如下。
rm -rf /usr/bin/pamdicks /bin/pamdicks
touch /usr/bin/pamdicks /bin/pamdicks
chattr +i /usr/bin/pamdicks /bin/pamdicks
然后再殺進程就可以了。
本次服務器被入侵,被人植入了密鑰文件,導致入侵者可以免密登錄服務器,在redis中看到了一個很奇怪的key,它的value的意思是一個定時任務通過curl下載某個sh腳本,並執行,看到網上的一位博主,總結的很好,它總結的原因如下。
1.redis沒有做任何安全措施,直接暴露在公網,任何redis客戶端都可以直接連接。
2.被惡意的連接連接上后,在他的機器上生成ssh秘鑰,然后set到redis中,最后使用redis的config命令,將默認RDB方式出來的dump.rdb文件修改為authorized_keys,然后把文件的目錄設置到/root/.ssh下。
3.這樣一來,就非常危險了,攻擊者可以直接ssh到你的linux主機,接下來,root賬戶,為所欲為。被挖礦也就不稀奇了。
建議:redis一定要設強密碼,改端口,端口盡量不要對外開放。
不要以為在外網redis的端口不通就沒有事情。只要內網里有機器感染了病毒,就可以繼續感染。