一次遠(yuǎn)程命令執(zhí)行引發(fā)的應(yīng)急響應(yīng)
本文轉(zhuǎn)載自微信公眾號(hào)「 Bypass」,作者Bypass。轉(zhuǎn)載本文請(qǐng)聯(lián)系Bypass公眾號(hào)。
在發(fā)現(xiàn)入侵事件時(shí),基于入侵現(xiàn)象進(jìn)行排查,結(jié)合日志進(jìn)行關(guān)聯(lián)分析,對(duì)未知情況作合理的猜測(cè),還原攻擊場(chǎng)景,找到漏洞根源,這是很重要的任務(wù)。
01、事件起因
入侵檢測(cè)出現(xiàn)安全預(yù)警,發(fā)現(xiàn)內(nèi)網(wǎng)服務(wù)器的java進(jìn)程發(fā)現(xiàn)異常執(zhí)行行為,存在Dnslog探測(cè)和Bash反彈的行為。
02、事件分析
(1)排查異常端口
通過(guò)查看端口情況,在網(wǎng)絡(luò)連接中發(fā)現(xiàn)shell反彈到外網(wǎng)ip,存在明顯的入侵的跡象。
(2)排查異常進(jìn)程
查看進(jìn)程情況,在進(jìn)程信息中找到了反彈shell命令的特征,base64解碼后的通訊ip,與上面發(fā)現(xiàn)的一致。執(zhí)行shell反彈的父進(jìn)程位60753,該進(jìn)程為java進(jìn)程。
(3)查詢歷史命令
在history里發(fā)現(xiàn)了異常操作行為,攻擊者查看了當(dāng)前服務(wù)器ip,當(dāng)前用戶權(quán)限,用戶在線情況等操作。
(4)web日志分析
java進(jìn)程所對(duì)應(yīng)的是web應(yīng)用程序,基于異常命令執(zhí)行的時(shí)間節(jié)點(diǎn),對(duì)相關(guān)web日志進(jìn)行分析,確認(rèn)入侵時(shí)間范圍內(nèi)是否存在可疑的行為。
未發(fā)現(xiàn)異常的web訪問(wèn)行為,都只有訪問(wèn)網(wǎng)站首頁(yè)的記錄,那么它到底是如何入侵的呢?
合理的猜測(cè):結(jié)合前面發(fā)現(xiàn)Java進(jìn)程執(zhí)行dnslog探測(cè)等行為,猜測(cè)可能存在框架組件存在遠(yuǎn)程命令執(zhí)行漏洞。
(5)web框架組件
在web框架組件中,發(fā)現(xiàn)低版本的shiro組件,存在明顯的遠(yuǎn)程命令執(zhí)行漏洞。
框架/組件 | 版本 |
---|---|
spring | 4.3.5 RELEASE |
shiro | 1.4.0-RC2 |
(6)漏洞復(fù)現(xiàn)
通過(guò)Shiro遠(yuǎn)程命令執(zhí)行漏洞成功獲取到了服務(wù)器權(quán)限,存在dnslog探測(cè)和命令執(zhí)行情況,與發(fā)現(xiàn)入侵時(shí)的跡象一致。
03、事件總結(jié)
通過(guò)以上的分析,可以判斷出攻擊者通過(guò)shiro 遠(yuǎn)程命令執(zhí)行漏洞入侵,并在反彈shell執(zhí)行了一些操作,需要升級(jí)shiro至最新版本并生成新的密鑰替換。