摘要: Linux主機肉雞木馬minerd致使CPU跑滿 【問題現象】 Linux主機CPU跑滿,或者使用服務器愈來愈慢,以及收到報警信息提示服務器有對外惡意掃描。 【問題緣由】 這種情況在出現時經過top命令能夠看到有一個minerd進程佔用CPU較高。安全
Linux主機肉雞木馬minerd致使CPU跑滿服務器
【問題現象】
Linux主機CPU跑滿,或者使用服務器愈來愈慢,以及收到報警信息提示服務器有對外惡意掃描。ssh
【問題緣由】
這種情況在出現時經過top命令能夠看到有一個minerd進程佔用CPU較高。
curl
經定位,該進程是一個挖礦程序,經過上述截圖能夠看到進程對應的PID爲1170,根據進程ID查詢一下產生進程的程序路徑測試
執行ll /proc/$PID/exe,其中$PID爲查詢到的進程ID
異常程序在/opt目錄下
優化
此程序通常是由計劃任務產生的,Linux系統中默認建立了計劃任務後會在/var/spool/cron目錄下建立對應用戶的計劃任務腳本,執行ls /var/spool/cron 查詢一下系統中是否有異常的計劃任務腳本程序。
能夠看到,在此目錄下有1個root的計劃任務腳本和一個異常的目錄crontabs(默認狀況下不會有此目錄,用戶建立計劃任務也不會產生此目錄)
url
查看腳本內容,有一個每隔10分鐘便會經過curl下載執行的腳本程序(crontabs目錄下爲一樣內容的計劃任務)
spa
分析此腳本,主要進行了以下修改
一、建立了上述查看到的兩個計劃任務腳本
二、建立了密鑰認證文件,導入到了/root/.ssh目錄下(當前腳本的密鑰文件名是KHK75NEOiq,此名稱可能會有所變化,要根據具體狀況進行覈實)
三、修改ssh配置文件容許了root遠程登陸,容許了密鑰認證,修改默認的密鑰認證文件名
四、重啓了sshd服務使配置生效
五、建立了假裝程序ntp,並運行了ntp程序
六、查詢系統中是否有正常運行的計劃任務,殺死正在運行的計劃任務進程。blog
【處理方法】
根據以上分析,提供如下處理方法
一、刪除計劃任務腳本中異常配置項,若是當前系統以前並未配置過計劃任務,能夠直接執行rm -rf /var/spool/cron/* 狀況計劃腳本目錄便可。
二、刪除黑客建立的密鑰認證文件,若是當前系統以前並未配置過密鑰認證,能夠直接執行rm -rf /root/.ssh/* 清空認證存放目錄便可。若是有配置過密鑰認證,須要刪除指定的黑客建立的認證文件便可,當前腳本的密鑰文件名是KHK75NEOiq,此名稱可能會有所變化,要根據具體狀況進行覈實。
三、修復ssh配置項,根據我的需求進行修改,通常默認腳本中進行修改的PermitRootLogin、RSAAuthentication、PubkeyAuthentication爲開啓狀態,須要修改的是密鑰認證文件名,建議修改爲默認值AuthorizedKeysFile .ssh/authorized_keys便可。修改完成後重啓sshd服務,使配置生效便可。
四、刪除黑客建立的假裝程序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 (此路徑要根據具體的查詢數據肯定,實際狀況可能會有所變化)
五、根據以前的查詢minerd程序所在路徑爲/opt,在執行的腳本中同時也在/opt目錄下建立了一個KHK75NEOiq33的程序文件,所以要刪除這兩個文件,執行rm -rf KHK75NEOiq33 minerd 便可
六、使用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進程產生。
最後,建議平時加強服務器的安全維護,優化代碼,以免因程序漏洞等致使服務器被入侵。