Weblogic 常規滲透測試環境
測試環境
本環境模擬了一個真實的weblogic環境,其后臺存在一個弱口令,并且前臺存在任意文件讀取漏洞。分別通過這兩種漏洞,模擬對weblogic場景的滲透。
Weblogic版本:10.3.6(11g)
Java版本:1.6
啟動本環境:
docker-compose up -d
弱口令
環境啟動后,訪問http://your-ip:7001/console,即為weblogic后臺。
本環境存在弱口令:
- weblogic
- Oracle@123
weblogic常用弱口令: http://cirt.net/passwords?criteria=weblogic
任意文件讀取漏洞的利用
假設不存在弱口令,如何對weblogic進行滲透?
本環境前臺模擬了一個任意文件下載漏洞,訪問http://your-ip: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>的值,即為加密后的管理員密碼,不要找錯了:

解密密文
然后使用本環境的decrypt目錄下的weblogic_decrypt.jar,解密密文(或者參考這篇文章:http://cb.drops.wiki/drops/tips-349.html ,自己編譯一個解密的工具):

可見,解密后和我預設的密碼一致,說明成功。
后臺上傳webshell
獲取到管理員密碼后,登錄后臺。點擊左側的部署,可見一個應用列表:

點擊安裝,選擇“上載文件”:

上傳war包。值得注意的是,我們平時tomcat用的war包不一定能夠成功,你可以將你的webshell放到本項目的web/hello.war這個壓縮包中,再上傳。上傳成功后點下一步。
填寫應用名稱:

繼續一直下一步,最后點完成。
應用目錄在war包中WEB-INF/weblogic.xml里指定(因為本測試環境已經使用了/hello這個目錄,所以你要在本測試環境下部署shell,需要修改這個目錄,比如修改成/jspspy):

成功獲取webshell:

Vulhub 文檔
推薦文章: