利用docker環境模擬了一個真實的weblogic環境,其后台存在一個弱口令,並且前台存在任意文件讀取漏洞。
分別通過這兩種漏洞,模擬對weblogic場景的滲透。
Weblogic版本:10.3.6(11g)
Java版本:1.6
弱口令
環境啟動后,訪問 http://192.168.0.132:7001/console 即可跳轉到Weblogic后台登陸頁面:
本環境存在弱口令:
用戶名:weblogic
密碼:Oracle@123
weblogic常用弱口令: http://cirt.net/passwords?criteria=weblogic
任意文件讀取漏洞的利用
假設不存在弱口令,如何對weblogic進行滲透?
本環境前台模擬了一個任意文件下載漏洞,訪問 http://192.168.0.132:7001/hello/file.jsp?path=/etc/passwd
可見成功讀取passwd文件。那么,該漏洞如何利用?
讀取后台用戶密文與密鑰文件
weblogic密碼使用AES(老版本3DES)加密,對稱加密可解密,只需要找到用戶的密文與加密
時的密鑰即可。這兩個文件均位於base_domain下,名為SerializedSystemIni.dat和config.xml,
在本環境中為./security/SerializedSystemIni.dat和./config/config.xml(基於當前目錄/root/Oracle/Middleware/user_projects/domains/base_domain)。
SerializedSystemIni.dat是一個二進制文件,所以一定要用burpsuite來讀取,
用瀏覽器直接下載可能引入一些干擾字符。在burp里選中讀取到的那一串亂碼,右鍵copy to file就可以保存成一個文件:
config.xml是base_domain的全局配置文件,所以亂七八糟的內容比較多,找到其中的
<node-manager-password-encrypted>的值,即為加密后的管理員密碼,不要找錯了:
解密密文
然后使用大佬們寫的解密工具:
可見,解密后和我預設的密碼一致,說明成功。
這里貼出工具鏈接:鏈接:https://pan.baidu.com/s/1fHdJSJMJ6qHGhvEoITMpVA
提取碼:yoy2
后台上傳webshell
獲取到管理員密碼后,登錄后台。點擊左側的部署,可見一個應用列表:
點擊安裝,選擇“上載文件”,上傳war包。值得注意的是,我們平時tomcat用的war包不一定能夠成功,
你可以將你的webshell放到本項目的 web/hello.war這個壓縮包中,再上傳。上傳成功后點下一步。
填寫應用名稱:
繼續一直下一步,最后點完成。
應用目錄在war包中WEB-INF/weblogic.xml里指定(因為本測試環境已經使用了/hello這個目錄,所以你要在本測試
環境下部署shell,需要修改這個目錄,比如修改成/bmjoker):
上傳部署war包成功后即可訪問大馬
成功獲取webshell
提示與技巧:
1.通過上述步驟上傳的木馬默認是保存在/root/Oracle/Middleware/user_projects/domains/weblogic/servers/AdminServer/upload
2.war包制作方法jar -cvf test.war ./test/*
3.本次使用的jsp馬來自:https://www.webshell.cc/4422.html