作者:liugh_develop 來源:https://my.oschina.net/liughDevelop/blog/1786631
線上服務器用的是某訊云的,歡快的完美運行著Tomcat,MySQL,MongoDB,ActiveMQ等程序。突然一則噩耗從前線傳來:網站不能訪問了!
此項目是我負責,我以150+的手速立即打開了服務器,看到Tomcat掛了,然后順其自然的重啟,啟動過程中直接被killed,再試試數據庫,同樣沒成功,多次嘗試甚至重啟機器無果。機制的我打了個top,出現以下內容:

這是誰運行的程序?不管三七二十一先殺掉再說,因為它就是Tomcat等程序啟動不了的元兇。然而并沒有什么卵用,過一會再看那個東西又跑出來占cpu。懷疑是個定時任務:

什么鬼,是個圖片?立即訪問了一下:

好尷尬,但是心思細膩的我早知道沒這么簡單,肯定只是偽裝,crul過去是下面的腳本,過程就是在挖礦:

有興趣的同學想查看以上完整源代碼,命令行運行下面指令(不分操作系統,方便安全無污染):

既然知道它是個定時任務,那就先取消了它,并且看看它是誰在運行:

殺掉,找到存放目錄:

進入臨時目錄:

被我發現配置文件了,先來看看內容:

虎軀一震,發現了不少信息啊,user是他的server的登錄用戶,下面是密碼,只可惜加密過,應該找不到對方。算了,大度的我先不和你計較。干掉這兩個文件后再查看top:

解決辦法
找到寄生的目錄,一般都會在tmp里,我這個是在/var/tmp/。首先把crontab干掉,殺掉進程,再刪除產生的文件。啟動Tomcat等程序,大功告成!
等等,這遠遠不夠,考慮到能被拿去挖礦的前提下你的服務器都已經被黑客入侵了,修復漏洞才對,不然你殺掉進程刪掉文件后,黑客后門進來history一敲,都知道你做了啥修復手段。
所以上面辦法治標不治本,我后續做了以下工作:
1.把所有軟件升級到新版本
2.修改所有軟件默認端口號
3.打開ssh/authorized_keys, 刪除不認識的密鑰
4.刪除用戶列表中陌生的帳號
5.封了他的ip
6.SSH使用密鑰登錄并禁止口令登錄(這個一般是加運維一個人的秘鑰)
對了,本次遭受攻擊是低版本ActiveMP開放端口61616有漏洞,大家記得做優化。滔哥給提供了最好的方式:將主機鏡像、找出病毒木馬、分析入侵原因、檢查業務程序、重裝系統、修復漏洞、再重新部署系統。
寫在最后
網友提供的一勞永逸終極解決辦法:
把你自己的挖礦腳本掛上去運行,這樣別人就算掛腳本也跑不起來了。