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