1. 程式人生 > >12.Weblogic 檔案讀取漏洞復現

12.Weblogic 檔案讀取漏洞復現

利用docker環境模擬了一個真實的weblogic環境,其後臺存在一個弱口令,並且前臺存在任意檔案讀取漏洞。

分別通過這兩種漏洞,模擬對weblogic場景的滲透。

Weblogic版本:10.3.6(11g)

Java版本:1.6

 

弱口令

環境啟動後,訪問 http://192.168.0.132:7001/console 即可跳轉到Weblogic後臺登陸頁面:

本環境存在弱口令:

使用者名稱:weblogic

密碼:[email protected]

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.datconfig.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,需要修改這個目錄,比如修改成/bmjoker):

成功獲取webshell: