2022年3月31日 星期四

安全 | 找出惡意挖礦程式並移除

最近很巧的遇到兩台電腦都被埋挖礦程式,而且還是不同的程式,這邊簡單說明與紀錄如何找查。


步驟一:查看哪隻程式占最高GPU使用率

其實這一個步驟有點廢話,因為一定是發現了被埋挖礦程式才會找解決方法XD,總之這邊可以用htop指令去找查,但找到後殺掉程序即可(誤),其實殺掉後沒多久就會立即重啟,而且你會發現這個程序找不到該路徑,或是路徑是正確的但找不到檔案,如下圖,可以看到有一隻/usr/bin/7721ac7a72的程式在執行,但你去看這隻程式的路徑卻會發現不存在。


去/proc/{pid}/exe去察看還會發現這檔案是被刪掉(deleted)的狀態,如下圖。


所以這一步你會發現無法刪除找到的挖礦程式,而且kill process之後,它還會重啟,這時候就可以進行到下一步驟。


步驟二:打開系統日誌LOG觀察後,找到挖礦程式實際路徑

由於挖礦程式都是被包了好幾層,要讓混淆真實的路徑,所以找到如何被啟動該服務才是最關鍵的地方,這邊我是Ubuntu的OS,所以就是輸入tail來觀察日誌,如下

# tail -f /var/log/syslog #Ubuntu的系統log所在# tail -f /var/log/messages #CentOS & RHEL的系統log所在

接著殺掉在步驟一發現的挖礦程式,這時候觀察系統日誌,過沒多久後應該會有服務被啟動,如下,這邊發現一個derous.service被啟動,google了一下發現還google不到

Mar 21 15:26:48  systemd[1]: derous.service: Service hold-off time over, scheduling restart.
Mar 21 15:26:48  systemd[1]: derous.service: Scheduled restart job, restart counter is at 3804.


如下圖,查看該隻程式狀態就可以找到挖礦程式真實路徑,這時候你就可以好好處理它



/root/.cfg/.systemc blackmn挖礦程式

這隻挖礦程式可以在google搜尋到,也比較好找,因為它在crontab排程就可以發現,以下就簡單記錄這隻的狀況。

用htop可以看出這隻執行的狀況


用步驟二的方法可以找到是哪個服務啟動,如下圖


Crontab裡面被執行了很多

如果一直找會發現它偽裝成sshd


查看日誌找出最早的執行時間




總結


這次被挖礦主要還是由於Log4j這個漏洞造成,找出挖礦程是絕對不是甚麼有效的解決方法,如下圖,我在處理步驟一的那隻挖礦程式後,惡意人士又連進來刪掉所有log並更改挖礦路徑,這次居然偽裝成Xorg,所以釐清整個系統與環境哪邊是造成漏洞的可能並改善修補漏洞才是最重要的工作。




沒有留言: