利用全流量分析技術發現0Day漏洞事件
前言
任何軟件0Day的出現都是遲早的事,這已是不爭的事實,但可怕的不是漏洞存在的先天性,而是0Day的不可預知性。于是,越來越多的破解者、黑客們以及商業間諜或情報人員,尋找并利用這些漏洞來得到某種利益。本案例描述了某大型企業部署網絡全流量分析設備后,完整記錄了其OA辦公系統遭受惡意攻擊的全過程。在這起惡性事件中,工程師在進行網絡安全分析的過程中發現系統0Day漏洞的過程。
4.1 案例價值
網絡全流量分析技術能夠幫助用戶:
1、“看的全”——不僅僅能夠發現常見的異常攻擊,同樣能夠發現新型的未知威脅;
2、“看的清”——幫助用戶完整還原攻擊行為,分析攻擊線索,評估置效果;
3、“看的準”——為后續安全評估及取證提供全量原始數據包取證;
這將賦能網絡的全方位安全感知能力,實現網絡監測無死角。
4.2 分析過程
分析首次攻擊行為
09:00左右
攻擊者對OA系統進行爆破攻擊,并不停變換互聯網地址進行用戶名、密碼爆破;
09:16:52
發現IP X.X.X.7
鏈接URL/seeyon/htmlofficeservle進行POST上傳操作并成功,如下圖:
此時,工程師已經可以確認這是系統存在的一個漏洞,并立即與軟件廠商進行溝通,雙方對該漏洞看法達成一致后不久,工程師便得到了相應的補丁。
【隨后,該軟件廠商對外公布了軟件存在的一個漏洞,描述如下:“某某OA系統的一些版本存在任意文件寫入漏洞,遠程攻擊者在無需登錄的情況下可通過向URL/seeyon/htmlofficeservlet POST精心構造的數據即刻向目標服務器寫入任意文件,寫入成功后可執行任意系統命令進而控制目標服務器。”】
工程師所發現的“鏈接URL/seeyon/htmlofficeservlet進行POST上傳操作并成功”正是0Day的位置,這是一個典型的0Day漏洞。
當然,這是后話,我們繼續看工程師接下來的分析和操作~
通過還原會話流,發現X.X.X.7上傳Webshell,并使用變異base64方式加密:
09:17:17及09:17:24
發現X.X.X.7成功連接test123456.jsp,之后執行查看當前用戶名的指令,服務器成功返回;
09:19:17
攻擊者棄用攻擊X.X.X.7,并使用多個IP進行連接Webshell,每個IP僅連接2-4次。經過一系列列目錄操作后,將test123456.jsp復制到login-ref1.jsp:
攻擊者利用login-ref1.jsp執行命令,將上傳的Webshell(test123456.jsp)刪除,如圖:
執行ShellCode:
通過對上傳到服務器的Powershell樣本進行分析,確認這是MSF框架生成的payload,cs和msf都能用,cc回連IP是:X.X.X.X:X。由于X.X.X.X/X網段已經被封禁,未能成功回連。
分析第二次攻擊行為
18:31
X.X.X.X嘗試繞過防護訪問/htmlofficeservlet目錄,未成功。第二次攻擊以/seeyon/js/../htmlofficeservlet進行嘗試繞過成功,并再次成功上傳相同Webshell,test123456.jsp,如下圖:
隨即,攻擊者不停變換攻擊IP,連接Webshell,并且成功進行遠程命令執行,通過查看網卡信息、HOST名、列目錄等查詢當前用戶等一系列操作,向互聯網對X.X.X.X進行PING操作、Telnet X.X.X.X TCP80端口。
攻擊方并試圖從X.X.X.X上下載惡意程序,嘗試失敗后又嘗試連接X.X.X.X的Tcp443、8443等端口,由于服務器配置了嚴格的策略,所有主動外聯嘗試均未成功。攻擊方成功上傳she.jsp、shell1.jsp等木馬,但是均被發現。
4.3 事件回顧
系統先后經歷兩次進攻,第一次攻擊行為發生后,工程師重啟服務器并禁止訪問Webshell路徑及/seeyon/htmlofficeservlet路徑,隨后修復補丁;第二次發現攻擊行為后,將所有繞過路徑進行攔截,清除惡意Webshell,完全修復漏洞及惡意程序。