1.漏洞簡介
2020年1月15日,Oracle發布了一系列的安全補丁,其中Oracle WebLogic Server產品有高危漏洞,漏洞編號CVE-2020-2551,CVSS評分9.8分,漏洞利用難度低,可基於IIOP協議執行遠程代碼。從Oracle 官方的公告中看出該漏洞存在於Weblogic核心組件,影響的協議為IIOP協議。該漏洞依然是由於調用遠程對象的實現存在缺陷,導致序列化對象可以任意構造,在使用之前未經安全檢查,導致惡意代碼被執行。
影響版本:
10.3.6.0.0, 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0
ps:
1.公布的 POC 代碼只針對直連(內網)網絡有效,Docker、NAT 網絡全部無效。
2.公布的 POC 代碼只支持單獨一個版本(10.3.6),無法適應多個 Weblogic 版本。
CVE-2020-2551漏洞在不同Weblogic版本的利用有些不同,因為IIOP的相關流程有所變動,以10.3.6.0.0 和 12.1.3.0.0 為一個版本(低版本),12.2.1.3.0 和 12.2.1.4.0 為另外一個版本(高版本)。
2.漏洞利用
-
編譯exp
使用公開的exp exp.java,利用漏洞執行powershell代碼反彈shell
然后編譯exp.java (ps:盡量使用和weblogic相同的jdk版本和依賴庫(wlfullclient.jar)編譯
)
javac exp.java
編譯完成后,使用python 啟用web服務,將編譯后的exp.class和反彈shell的powershell文件放入web服務的根目錄
python2 啟http服務 python -m SimpleHTTPServer 8000
-
監聽RMI服務
隨后使用marshalsec 監聽RMI服務,指向利用腳本exp.class
-
攻擊
運行jar包,開始攻擊
攻擊成功后,可以看到HTTP服務有請求信息,受害機會從本地搭建的http服務中請求exp.class和powershell文件
shell反彈成功
3.漏洞修復
1.使用 Oracle 官方安全補丁進行更新修復
Oracle Critical Patch Update Advisory – January 2020
2.如果不依賴T3協議進行JVM通信,用戶可通過控制T3協議的訪問來臨時阻斷針對該漏洞的攻擊。
Weblogic Server 提供了名為
weblogic.security.net.ConnectionFilterImpl 的默認連接篩選器,此連接篩選器接受所有傳入連接,可通過此連接篩選器配置規則,對t3及t3s協議進行訪問控制,詳細操作步驟如下:
進入Weblogic控制台,在base_domain的配置頁面中,進入“安全”選項卡頁面,點擊“篩選器”,進入連接篩選器配置;
在連接篩選器中輸入:
security.net.ConnectionFilterImpl,在連接篩選器規則中配置符合實際情況的規則;
保存后若規則未生效,建議重新啟動Weblogic服務(重啟Weblogic服務會導致業務中斷,建議相關人員評估風險后,再進行操作)。
