130
人物
Linux主機肉雞木馬minerd導致CPU跑滿
Linux主機肉雞木馬minerd導致CPU跑滿
【問題現象】
Linux主機CPU跑滿,或者使用服務器越來越慢,以及收到報警信息提示服務器有對外惡意掃描。
【問題原因】
這種狀況在出現時通過top命令可以看到有一個minerd進程占用CPU較高。
經定位,該進程是一個挖礦程序,通過上述截圖可以看到進程對應的PID為1170,根據進程ID查詢一下產生進程的程序路徑
執行ll /proc/$PID/exe,其中$PID為查詢到的進程ID
異常程序在/opt目錄下
此程序一般是由計劃任務產生的,Linux係統中默認創建了計劃任務後會在/var/spool/cron目錄下創建對應用戶的計劃任務腳本,執行ls /var/spool/cron 查詢一下係統中是否有異常的計劃任務腳本程序。
可以看到,在此目錄下有1個root的計劃任務腳本和一個異常的目錄crontabs(默認情況下不會有此目錄,用戶創建計劃任務也不會產生此目錄)
查看腳本內容,有一個每隔10分鍾便會通過curl下載執行的腳本程序(crontabs目錄下為同樣內容的計劃任務)
分析此腳本,主要進行了如下修改
1、創建了上述查看到的兩個計劃任務腳本
2、創建了密鑰認證文件,導入到了/root/.ssh目錄下(當前腳本的密鑰文件名是KHK75NEOiq,此名稱可能會有所變化,要根據具體情況進行核實)
3、修改ssh配置文件允許了root遠程登錄,允許了密鑰認證,修改默認的密鑰認證文件名
4、重啟了sshd服務使配置生效
5、創建了偽裝程序ntp,並運行了ntp程序
6、查詢係統中是否有正常運行的計劃任務,殺死正在運行的計劃任務進程。
【處理方法】
根據以上分析,提供以下處理方法
1、刪除計劃任務腳本中異常配置項,如果當前係統之前並未配置過計劃任務,可以直接執行rm -rf /var/spool/cron/* 情況計劃腳本目錄即可。
2、刪除黑客創建的密鑰認證文件,如果當前係統之前並未配置過密鑰認證,可以直接執行rm -rf /root/.ssh/* 清空認證存放目錄即可。如果有配置過密鑰認證,需要刪除指定的黑客創建的認證文件即可,當前腳本的密鑰文件名是KHK75NEOiq,此名稱可能會有所變化,要根據具體情況進行核實。
3、修複ssh配置項,根據個人需求進行修改,一般默認腳本中進行修改的PermitRootLogin、RSAAuthentication、PubkeyAuthentication為開啟狀態,需要修改的是密鑰認證文件名,建議修改成默認值AuthorizedKeysFile .ssh/authorized_keys即可。修改完成後重啟sshd服務,使配置生效即可。
4、刪除黑客創建的偽裝程序ntp
執行ls /etc/init.d/可以看到係統中是由對應的偽裝程序的
通過chkconfig --list ntp 可以看到此程序默認設置的是開機自動啟動
如果此程序不進行清除,即使刪除了minerd程序並且殺死了對應的進程,過一會係統還會重新創建minerd程序,並產生新的進程
查詢一下當前係統中是否有ntp進程,可以看到ntp進程是通過/usr/sbin/ntp程序產生,因此需要把對應的執行程序也進行刪除
總結一下刪除偽裝程序的操作步驟
kill -9 $PID 殺死查詢到的ntp進程
rm -rf /etc/init.d/ntp
rm -rf /usr/sbin/ntp (此路徑要根據具體的查詢數據確定,實際情況可能會有所變化)
5、根據之前的查詢minerd程序所在路徑為/opt,在執行的腳本中同時也在/opt目錄下創建了一個KHK75NEOiq33的程序文件,因此要刪除這兩個文件,執行rm -rf KHK75NEOiq33 minerd 即可
6、使用kill命令殺死minerd進程
通過ps命令查詢一下minerd對應的進程詳細情況
kill -9 $PID 殺死對應的進程ID
備注:根據ps查詢結果顯示minerd有向域名xmr.crypto-pool.fr進行數據通信,通過ping測試域名解析核實此域名對應的IP地址,然後在ip.taobao.com進行查詢顯示IP為法國的IP,然後通過iftop -i eth1 -PB命令對流量進行了監控,確實存在向法國的IP發送數據的情況,為了避免再次被入侵,可以通過iptables屏蔽對應的異常IP(具體的IP和域名要根據實際查詢的情況而定,可能會有所不同)
以上修複完成後可以等待一會再次進行一下觀察,看看是否還會在/opt目錄下創建新的minerd程序,以及是否還有新的minerd進程產生。
最後,建議平時增強服務器的安全維護,優化代碼,以避免因程序漏洞等導致服務器被入侵。
最後更新:2017-06-21 14:01:52