2022 年 3 月 30 日 18:30(GMT+8): 告警通知發佈 2022 年 3 月 31 日 更新: 新增 Proof Of Concept (POC) 及自我檢測方式 2022 年 4 月 6 日 更新:CVE 編號、官方 Patch 方式- 2022 年 3 月 31 日 更新: 新增 Proof Of Concept (POC) 及自我檢測方式 2022 年 4 月 6 日 更新:CVE 編號、官方 Patch 方式
重點摘要
2022 年 3 月 29 日,TeamT5 的網路情資團隊收到有關 Spring 框架的 RCE 零時漏洞告警通知。目前我們仍在持續調查該漏洞,依據現有的資訊來看,我們評估此漏洞的危險級別為極度嚴峻。
- 基於 Spring 框架在開發 Java 應用上的泛用程度,此漏洞恐會對於許多服務造成危害。
- Spring Core RCE 零日漏洞(或稱 SpringShell、Spring4Shell)存在於 JDK 9.0 或以上的版本。
- 截至分析當下,官方仍未釋出正式的修補程式,我們強烈建議所有的合作夥伴與客戶務必檢視自己的程式碼庫並採取以下緩解措施。
具體細節
面向 | 描述 |
---|---|
公共漏洞與暴露(CVE) | 截至撰寫當下,此漏洞仍未取得 CVE 編號 |
危險級別 | 極度嚴峻 |
影響版本 | JDK 9.0 或以上的版本以及有使用到衍生框架 spring-beans-*.jar ,或存在CachedIntrospectionResults.class |
概念驗證(PoC) | 概念驗證(PoC) 已有釋出 |
修補程式 | 截至撰寫當下,尚未有官方正式的修補程式 |
根據現有的資訊來觀察,我們評估此漏洞的衝擊程度將十分嚴重,而其危險級別很可能近似於 Log4j 漏洞。Spring 框架是 Java 平台上最廣受歡迎的輕量應用框架,許多公司和組織皆有在其網際網路對向服務(internet-facing service)中採用此框架。這意謂所有應用 Java 的產品或網頁服務都可能受此漏洞影響。
SpringShell 是一個遠端執行程式碼(RCE)漏洞。根據公開資訊指出,威脅行動者一旦成功利用該漏洞,便能取得任意上傳檔案的權限。
TeamT5 會持續為我們的合作夥伴與客戶更新此漏洞的相關資訊。我們的合作夥伴與客戶可以倚靠 TeamT5 的解決方案 ThreatVision 和 ThreatSonar 以抵禦潛在的攻擊。
PoC
網路上已有不少針對此漏洞利用方法釋出,實際執行結果如下:
Payload:
Payload:
實際執行結果圖:
在 Spring 的網站程式,對 Spring 對應的路徑(參考下圖),送入特定的 payload,能寫入任意路徑文件,可透過上傳 Webshell 來達到任意指令執行(RCE),上圖是執行 payload 後,確實產生檔案。
如何檢測我的服務是否受到影響?
在 Spring 的網站程式,對 Spring 對應的路徑,送入特定的 Query,能測試網站是否存在弱點。
檢測 Query 如下:
curl -v host:port/path?class.module.classLoader.URLs%5B0%5D=0
下圖為執行 Query 後,如果回應 HTTP Status 400,很可能是有弱點的。
緩解措施
1.確認 JDK 版本代號
如要確認 JDK 版本代號,請於貴組織系統的伺服器上執行 java -version 指令以確認運行中的版本代號。
- 如果版本代號低於或等於 8,將不會受此漏洞影響。
- 如果版本代號高於或等於 9,則漏洞存在。請參照以下臨時方案抵禦潛在的攻擊。
2. 臨時方案:WAF 阻擋
截至撰寫當下,官方並無發布正式的修補程式。我們強烈建議您採用臨時方案(WAF 防護)並留意官方修補程式釋出的通知。
WAF 阻擋
在網頁應用防火牆(WAF)中置入規則過濾以下字串
class.*
,Class.*
,*.class.*
,*.Class.*
Reference
- Critical Exploit Alert: Spring RCE 0day
漏洞情报 | Spring RCE 0day高危漏洞预警
https://www.freebuf.com/vuls/326627.html - SpringShell: Spring Core RCE 0-day Vulnerability
https://www.cyberkendra.com/2022/03/springshell-rce-0-day-vulnerability.html - Randori Attack Team on Twitter: "The following non-malicious request can be used to test susceptibility to the @springframework 0day RCE. https://twitter.com/RandoriAttack/status/1509298490106593283
關鍵字: Spring4Shell, SpringShell, Spring, zeroday vulnerability, 0-day vulnerability, remote control execution vulnerability, JAVA
Related Post
技術分析
2022.01.03
Apache HTTP Server(Windows) 2021高風險安全漏洞詳解
vulnerability research , cyber security, Apache HTTP Server, IoC, cyber threat intelligence, threat hunting
資安警訊
2022.05.31
【TeamT5 資安即時快訊】Office 惡意變種再現: CVE-2022-30190 Follina 詳解
threat hunting, cyber threat intelligence